{"version":3,"sources":["../../../../../../packages/animations/src/animation_builder.ts","../../../../../../packages/animations/src/animation_metadata.ts","../../../../../../packages/animations/src/util.ts","../../../../../../packages/animations/src/players/animation_player.ts","../../../../../../packages/animations/src/players/animation_group_player.ts","../../../../../../packages/animations/src/private_export.ts","../../../../../../packages/animations/src/animations.ts","../../../../../../packages/animations/public_api.ts","../../../../../../packages/animations/index.ts","../../../../../../packages/animations/animations.ts","../../../../../../packages/animations/browser/src/render/shared.ts","../../../../../../packages/animations/browser/src/render/animation_driver.ts","../../../../../../packages/animations/browser/src/util.ts","../../../../../../packages/animations/browser/src/dsl/animation_transition_expr.ts","../../../../../../packages/animations/browser/src/dsl/animation_ast_builder.ts","../../../../../../packages/animations/browser/src/dsl/animation_timeline_instruction.ts","../../../../../../packages/animations/browser/src/dsl/element_instruction_map.ts","../../../../../../packages/animations/browser/src/dsl/animation_timeline_builder.ts","../../../../../../packages/animations/browser/src/dsl/animation.ts","../../../../../../packages/animations/browser/src/dsl/style_normalization/animation_style_normalizer.ts","../../../../../../packages/animations/browser/src/dsl/style_normalization/web_animations_style_normalizer.ts","../../../../../../packages/animations/browser/src/dsl/animation_transition_instruction.ts","../../../../../../packages/animations/browser/src/dsl/animation_transition_factory.ts","../../../../../../packages/animations/browser/src/dsl/animation_trigger.ts","../../../../../../packages/animations/browser/src/render/timeline_animation_engine.ts","../../../../../../packages/animations/browser/src/render/transition_animation_engine.ts","../../../../../../packages/animations/browser/src/render/animation_engine_next.ts","../../../../../../packages/animations/browser/src/render/special_cased_styles.ts","../../../../../../packages/animations/browser/src/render/css_keyframes/element_animation_style_handler.ts","../../../../../../packages/animations/browser/src/render/css_keyframes/css_keyframes_player.ts","../../../../../../packages/animations/browser/src/render/css_keyframes/direct_style_player.ts","../../../../../../packages/animations/browser/src/render/css_keyframes/css_keyframes_driver.ts","../../../../../../packages/animations/browser/src/render/web_animations/web_animations_player.ts","../../../../../../packages/animations/browser/src/render/web_animations/web_animations_driver.ts","../../../../../../packages/animations/browser/src/private_export.ts","../../../../../../packages/animations/browser/src/browser.ts","../../../../../../packages/animations/browser/public_api.ts","../../../../../../packages/animations/browser/index.ts","../../../../../../packages/animations/browser/browser.ts","../../../../../../src/cdk/a11y/aria-describer/aria-reference.ts","../../../../../../src/cdk/a11y/aria-describer/aria-describer.ts","../../../../../../src/cdk/a11y/key-manager/list-key-manager.ts","../../../../../../src/cdk/a11y/key-manager/activedescendant-key-manager.ts","../../../../../../src/cdk/a11y/key-manager/focus-key-manager.ts","../../../../../../src/cdk/a11y/interactivity-checker/interactivity-checker.ts","../../../../../../src/cdk/a11y/focus-trap/focus-trap.ts","../../../../../../src/cdk/a11y/focus-trap/configurable-focus-trap.ts","../../../../../../src/cdk/a11y/focus-trap/polyfill.ts","../../../../../../src/cdk/a11y/focus-trap/event-listener-inert-strategy.ts","../../../../../../src/cdk/a11y/focus-trap/configurable-focus-trap-config.ts","../../../../../../src/cdk/a11y/focus-trap/focus-trap-inert-strategy.ts","../../../../../../src/cdk/a11y/focus-trap/focus-trap-manager.ts","../../../../../../src/cdk/a11y/focus-trap/configurable-focus-trap-factory.ts","../../../../../../src/cdk/a11y/live-announcer/live-announcer-tokens.ts","../../../../../../src/cdk/a11y/live-announcer/live-announcer.ts","../../../../../../src/cdk/a11y/fake-mousedown.ts","../../../../../../src/cdk/a11y/focus-monitor/focus-monitor.ts","../../../../../../src/cdk/a11y/high-contrast-mode/high-contrast-mode-detector.ts","../../../../../../src/cdk/a11y/a11y-module.ts","../../../../../../src/cdk/a11y/public-api.ts","../../../../../../src/cdk/a11y/index.ts","../../../../../../src/cdk/accordion/accordion.ts","../../../../../../src/cdk/accordion/accordion-item.ts","../../../../../../src/cdk/accordion/accordion-module.ts","../../../../../../src/cdk/accordion/public-api.ts","../../../../../../src/cdk/accordion/index.ts","../../../../../../src/cdk/bidi/dir-document-token.ts","../../../../../../src/cdk/bidi/directionality.ts","../../../../../../src/cdk/bidi/dir.ts","../../../../../../src/cdk/bidi/bidi-module.ts","../../../../../../src/cdk/bidi/public-api.ts","../../../../../../src/cdk/bidi/index.ts","../../../../../../src/cdk/collections/data-source.ts","../../../../../../src/cdk/collections/array-data-source.ts","../../../../../../src/cdk/collections/collection-viewer.ts","../../../../../../src/cdk/collections/dispose-view-repeater-strategy.ts","../../../../../../src/cdk/collections/recycle-view-repeater-strategy.ts","../../../../../../src/cdk/collections/selection-model.ts","../../../../../../src/cdk/collections/unique-selection-dispatcher.ts","../../../../../../src/cdk/collections/tree-adapter.ts","../../../../../../src/cdk/collections/view-repeater.ts","../../../../../../src/cdk/collections/public-api.ts","../../../../../../src/cdk/collections/index.ts","../../../../../../src/cdk/keycodes/keycodes.ts","../../../../../../src/cdk/keycodes/modifiers.ts","../../../../../../src/cdk/keycodes/public-api.ts","../../../../../../src/cdk/keycodes/index.ts","../../../../../../src/cdk/observers/observe-content.ts","../../../../../../src/cdk/observers/public-api.ts","../../../../../../src/cdk/observers/index.ts","../../../../../../src/cdk/overlay/scroll/block-scroll-strategy.ts","../../../../../../src/cdk/overlay/scroll/scroll-strategy.ts","../../../../../../src/cdk/overlay/scroll/close-scroll-strategy.ts","../../../../../../src/cdk/overlay/scroll/noop-scroll-strategy.ts","../../../../../../src/cdk/overlay/position/scroll-clip.ts","../../../../../../src/cdk/overlay/scroll/reposition-scroll-strategy.ts","../../../../../../src/cdk/overlay/scroll/scroll-strategy-options.ts","../../../../../../src/cdk/overlay/scroll/index.ts","../../../../../../src/cdk/overlay/overlay-config.ts","../../../../../../src/cdk/overlay/position/connected-position.ts","../../../../../../src/cdk/overlay/dispatchers/base-overlay-dispatcher.ts","../../../../../../src/cdk/overlay/dispatchers/overlay-keyboard-dispatcher.ts","../../../../../../src/cdk/overlay/dispatchers/overlay-outside-click-dispatcher.ts","../../../../../../src/cdk/overlay/overlay-container.ts","../../../../../../src/cdk/overlay/overlay-ref.ts","../../../../../../src/cdk/overlay/position/flexible-connected-position-strategy.ts","../../../../../../src/cdk/overlay/position/connected-position-strategy.ts","../../../../../../src/cdk/overlay/position/global-position-strategy.ts","../../../../../../src/cdk/overlay/position/overlay-position-builder.ts","../../../../../../src/cdk/overlay/overlay.ts","../../../../../../src/cdk/overlay/overlay-directives.ts","../../../../../../src/cdk/overlay/overlay-module.ts","../../../../../../src/cdk/overlay/dispatchers/index.ts","../../../../../../src/cdk/overlay/fullscreen-overlay-container.ts","../../../../../../src/cdk/overlay/public-api.ts","../../../../../../src/cdk/overlay/index.ts","../../../../../../src/cdk/platform/platform.ts","../../../../../../src/cdk/platform/platform-module.ts","../../../../../../src/cdk/platform/features/input-types.ts","../../../../../../src/cdk/platform/features/passive-listeners.ts","../../../../../../src/cdk/platform/features/scrolling.ts","../../../../../../src/cdk/platform/features/shadow-dom.ts","../../../../../../src/cdk/platform/public-api.ts","../../../../../../src/cdk/platform/index.ts","../../../../../../src/cdk/portal/portal-errors.ts","../../../../../../src/cdk/portal/portal.ts","../../../../../../src/cdk/portal/dom-portal-outlet.ts","../../../../../../src/cdk/portal/portal-directives.ts","../../../../../../src/cdk/portal/portal-injector.ts","../../../../../../src/cdk/portal/public-api.ts","../../../../../../src/cdk/portal/index.ts","../../../../../../src/cdk/scrolling/virtual-scroll-strategy.ts","../../../../../../src/cdk/scrolling/fixed-size-virtual-scroll.ts","../../../../../../src/cdk/scrolling/scroll-dispatcher.ts","../../../../../../src/cdk/scrolling/scrollable.ts","../../../../../../src/cdk/scrolling/viewport-ruler.ts","../../../../../../src/cdk/scrolling/virtual-scroll-viewport.ts","../../../../../../src/cdk/scrolling/virtual-for-of.ts","../../../../../../src/cdk/scrolling/scrolling-module.ts","../../../../../../src/cdk/scrolling/virtual-scroll-repeater.ts","../../../../../../src/cdk/scrolling/public-api.ts","../../../../../../src/cdk/scrolling/index.ts","../../../../../../src/cdk/stepper/step-header.ts","../../../../../../src/cdk/stepper/step-label.ts","../../../../../../src/cdk/stepper/stepper.ts","../../../../../../src/cdk/stepper/stepper-button.ts","../../../../../../src/cdk/stepper/stepper-module.ts","../../../../../../src/cdk/stepper/public-api.ts","../../../../../../src/cdk/stepper/index.ts","../../../../../../src/cdk/text-field/autofill.ts","../../../../../../src/cdk/text-field/autosize.ts","../../../../../../src/cdk/text-field/text-field-module.ts","../../../../../../src/cdk/text-field/public-api.ts","../../../../../../src/cdk/text-field/index.ts","../../../../../../src/cdk/version.ts","../../../../../../src/cdk/public-api.ts","../../../../../../src/cdk/index.ts","../../../../../../src/cdk/coercion/boolean-property.ts","../../../../../../src/cdk/coercion/number-property.ts","../../../../../../src/cdk/coercion/array.ts","../../../../../../src/cdk/coercion/css-pixel-value.ts","../../../../../../src/cdk/coercion/element.ts","../../../../../../src/cdk/coercion/public-api.ts","../../../../../../src/cdk/coercion/index.ts","../../../../../../packages/common/src/dom_adapter.ts","../../../../../../packages/common/src/dom_tokens.ts","../../../../../../packages/common/src/location/platform_location.ts","../../../../../../packages/common/src/private_export.ts","../../../../../../packages/common/src/location/util.ts","../../../../../../packages/common/src/location/location_strategy.ts","../../../../../../packages/common/src/location/hash_location_strategy.ts","../../../../../../packages/common/src/location/location.ts","../../../../../../packages/common/src/location/index.ts","../../../../../../packages/common/src/i18n/currencies.ts","../../../../../../packages/common/src/i18n/locale_data_api.ts","../../../../../../packages/common/src/i18n/format_date.ts","../../../../../../packages/common/src/i18n/format_number.ts","../../../../../../packages/common/src/i18n/localization.ts","../../../../../../packages/common/src/i18n/locale_data.ts","../../../../../../packages/common/src/cookie.ts","../../../../../../packages/common/src/directives/ng_class.ts","../../../../../../packages/common/src/directives/ng_component_outlet.ts","../../../../../../packages/common/src/directives/ng_for_of.ts","../../../../../../packages/common/src/directives/ng_if.ts","../../../../../../packages/common/src/directives/ng_switch.ts","../../../../../../packages/common/src/directives/ng_plural.ts","../../../../../../packages/common/src/directives/ng_style.ts","../../../../../../packages/common/src/directives/ng_template_outlet.ts","../../../../../../packages/common/src/directives/index.ts","../../../../../../packages/common/src/pipes/invalid_pipe_argument_error.ts","../../../../../../packages/common/src/pipes/async_pipe.ts","../../../../../../packages/common/src/pipes/case_conversion_pipes.ts","../../../../../../packages/common/src/pipes/date_pipe.ts","../../../../../../packages/common/src/pipes/i18n_plural_pipe.ts","../../../../../../packages/common/src/pipes/i18n_select_pipe.ts","../../../../../../packages/common/src/pipes/json_pipe.ts","../../../../../../packages/common/src/pipes/keyvalue_pipe.ts","../../../../../../packages/common/src/pipes/number_pipe.ts","../../../../../../packages/common/src/pipes/slice_pipe.ts","../../../../../../packages/common/src/pipes/index.ts","../../../../../../packages/common/src/common_module.ts","../../../../../../packages/common/src/platform_id.ts","../../../../../../packages/common/src/version.ts","../../../../../../packages/common/src/viewport_scroller.ts","../../../../../../packages/common/src/common.ts","../../../../../../packages/common/public_api.ts","../../../../../../packages/common/index.ts","../../../../../../packages/common/common.ts","../../../../../../packages/common/http/src/backend.ts","../../../../../../packages/common/http/src/headers.ts","../../../../../../packages/common/http/src/params.ts","../../../../../../packages/common/http/src/request.ts","../../../../../../packages/common/http/src/response.ts","../../../../../../packages/common/http/src/client.ts","../../../../../../packages/common/http/src/interceptor.ts","../../../../../../packages/common/http/src/jsonp.ts","../../../../../../packages/common/http/src/xhr.ts","../../../../../../packages/common/http/src/xsrf.ts","../../../../../../packages/common/http/src/module.ts","../../../../../../packages/common/http/public_api.ts","../../../../../../packages/common/http/index.ts","../../../../../../packages/common/http/http.ts","./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js","../../../../../../packages/forms/src/directives/control_value_accessor.ts","../../../../../../packages/forms/src/directives/checkbox_value_accessor.ts","../../../../../../packages/forms/src/directives/default_value_accessor.ts","../../../../../../packages/forms/src/directives/abstract_control_directive.ts","../../../../../../packages/forms/src/directives/control_container.ts","../../../../../../packages/forms/src/directives/ng_control.ts","../../../../../../packages/forms/src/directives/ng_control_status.ts","../../../../../../packages/forms/src/validators.ts","../../../../../../packages/forms/src/directives/number_value_accessor.ts","../../../../../../packages/forms/src/directives/radio_control_value_accessor.ts","../../../../../../packages/forms/src/directives/range_value_accessor.ts","../../../../../../packages/forms/src/directives/error_examples.ts","../../../../../../packages/forms/src/directives/reactive_errors.ts","../../../../../../packages/forms/src/directives/select_control_value_accessor.ts","../../../../../../packages/forms/src/directives/select_multiple_control_value_accessor.ts","../../../../../../packages/forms/src/directives/shared.ts","../../../../../../packages/forms/src/model.ts","../../../../../../packages/forms/src/directives/ng_form.ts","../../../../../../packages/forms/src/directives/abstract_form_group_directive.ts","../../../../../../packages/forms/src/directives/template_driven_errors.ts","../../../../../../packages/forms/src/directives/ng_model_group.ts","../../../../../../packages/forms/src/directives/ng_model.ts","../../../../../../packages/forms/src/directives/ng_no_validate_directive.ts","../../../../../../packages/forms/src/directives/reactive_directives/form_control_directive.ts","../../../../../../packages/forms/src/directives/reactive_directives/form_group_directive.ts","../../../../../../packages/forms/src/directives/reactive_directives/form_group_name.ts","../../../../../../packages/forms/src/directives/reactive_directives/form_control_name.ts","../../../../../../packages/forms/src/directives/validators.ts","../../../../../../packages/forms/src/directives.ts","../../../../../../packages/forms/src/form_builder.ts","../../../../../../packages/forms/src/version.ts","../../../../../../packages/forms/src/form_providers.ts","../../../../../../packages/forms/src/forms.ts","../../../../../../packages/forms/public_api.ts","../../../../../../packages/forms/index.ts","../../../../../../packages/forms/forms.ts","../../../../../../src/material/button/button.ts","../../../../../../src/material/button/button-module.ts","../../../../../../src/material/button/public-api.ts","../../../../../../src/material/button/index.ts","../../../../../../src/material/core/version.ts","../../../../../../src/material/core/animation/animation.ts","../../../../../../src/material/core/common-behaviors/common-module.ts","../../../../../../src/material/core/common-behaviors/disabled.ts","../../../../../../src/material/core/common-behaviors/color.ts","../../../../../../src/material/core/common-behaviors/disable-ripple.ts","../../../../../../src/material/core/common-behaviors/tabindex.ts","../../../../../../src/material/core/common-behaviors/error-state.ts","../../../../../../src/material/core/common-behaviors/initialized.ts","../../../../../../src/material/core/common-behaviors/index.ts","../../../../../../src/material/core/datetime/date-adapter.ts","../../../../../../src/material/core/datetime/date-formats.ts","../../../../../../src/material/core/datetime/native-date-adapter.ts","../../../../../../src/material/core/datetime/native-date-formats.ts","../../../../../../src/material/core/datetime/index.ts","../../../../../../src/material/core/error/error-options.ts","../../../../../../src/material/core/line/line.ts","../../../../../../src/material/core/ripple/ripple-ref.ts","../../../../../../src/material/core/ripple/ripple-renderer.ts","../../../../../../src/material/core/ripple/ripple.ts","../../../../../../src/material/core/ripple/index.ts","../../../../../../src/material/core/selection/pseudo-checkbox/pseudo-checkbox.ts","../../../../../../src/material/core/selection/index.ts","../../../../../../src/material/core/option/optgroup.ts","../../../../../../src/material/core/option/option.ts","../../../../../../src/material/core/option/index.ts","../../../../../../src/material/core/label/label-options.ts","../../../../../../src/material/core/month-constants.ts","../../../../../../src/material/core/public-api.ts","../../../../../../src/material/core/index.ts","../../../../../../src/material/datepicker/datepicker-errors.ts","../../../../../../src/material/datepicker/datepicker-intl.ts","../../../../../../src/material/datepicker/calendar-body.ts","../../../../../../src/material/datepicker/date-selection-model.ts","../../../../../../src/material/datepicker/date-range-selection-strategy.ts","../../../../../../src/material/datepicker/month-view.ts","../../../../../../src/material/datepicker/multi-year-view.ts","../../../../../../src/material/datepicker/year-view.ts","../../../../../../src/material/datepicker/calendar.ts","../../../../../../src/material/datepicker/datepicker-animations.ts","../../../../../../src/material/datepicker/datepicker-base.ts","../../../../../../src/material/datepicker/datepicker.ts","../../../../../../src/material/datepicker/datepicker-input-base.ts","../../../../../../src/material/datepicker/datepicker-input.ts","../../../../../../src/material/datepicker/datepicker-toggle.ts","../../../../../../src/material/datepicker/date-range-input-parts.ts","../../../../../../src/material/datepicker/date-range-picker.ts","../../../../../../src/material/datepicker/date-range-input.ts","../../../../../../src/material/datepicker/datepicker-module.ts","../../../../../../src/material/datepicker/public-api.ts","../../../../../../src/material/datepicker/index.ts","../../../../../../src/material/dialog/dialog-config.ts","../../../../../../src/material/dialog/dialog-animations.ts","../../../../../../src/material/dialog/dialog-container.ts","../../../../../../src/material/dialog/dialog-ref.ts","../../../../../../src/material/dialog/dialog.ts","../../../../../../src/material/dialog/dialog-content-directives.ts","../../../../../../src/material/dialog/dialog-module.ts","../../../../../../src/material/dialog/public-api.ts","../../../../../../src/material/dialog/index.ts","../../../../../../src/material/expansion/accordion-base.ts","../../../../../../src/material/expansion/expansion-animations.ts","../../../../../../src/material/expansion/expansion-panel-content.ts","../../../../../../src/material/expansion/expansion-panel.ts","../../../../../../src/material/expansion/expansion-panel-header.ts","../../../../../../src/material/expansion/accordion.ts","../../../../../../src/material/expansion/expansion-module.ts","../../../../../../src/material/expansion/public-api.ts","../../../../../../src/material/expansion/index.ts","../../../../../../src/material/form-field/error.ts","../../../../../../src/material/form-field/form-field-animations.ts","../../../../../../src/material/form-field/form-field-control.ts","../../../../../../src/material/form-field/form-field-errors.ts","../../../../../../src/material/form-field/hint.ts","../../../../../../src/material/form-field/label.ts","../../../../../../src/material/form-field/placeholder.ts","../../../../../../src/material/form-field/prefix.ts","../../../../../../src/material/form-field/suffix.ts","../../../../../../src/material/form-field/form-field.ts","../../../../../../src/material/form-field/form-field-module.ts","../../../../../../src/material/form-field/public-api.ts","../../../../../../src/material/form-field/index.ts","../../../../../../src/material/icon/icon-registry.ts","../../../../../../src/material/icon/icon.ts","../../../../../../src/material/icon/icon-module.ts","../../../../../../src/material/icon/public-api.ts","../../../../../../src/material/icon/index.ts","../../../../../../src/material/input/autosize.ts","../../../../../../src/material/input/input-errors.ts","../../../../../../src/material/input/input-value-accessor.ts","../../../../../../src/material/input/input.ts","../../../../../../src/material/input/input-module.ts","../../../../../../src/material/input/public-api.ts","../../../../../../src/material/input/index.ts","../../../../../../src/material/progress-bar/progress-bar.ts","../../../../../../src/material/progress-bar/progress-bar-module.ts","../../../../../../src/material/progress-bar/public-api.ts","../../../../../../src/material/progress-bar/index.ts","../../../../../../src/material/select/select-animations.ts","../../../../../../src/material/select/select-errors.ts","../../../../../../src/material/select/select.ts","../../../../../../src/material/select/select-module.ts","../../../../../../src/material/select/public-api.ts","../../../../../../src/material/select/index.ts","../../../../../../src/material/sort/sort-errors.ts","../../../../../../src/material/sort/sort.ts","../../../../../../src/material/sort/sort-animations.ts","../../../../../../src/material/sort/sort-header-intl.ts","../../../../../../src/material/sort/sort-header.ts","../../../../../../src/material/sort/sort-module.ts","../../../../../../src/material/sort/sort-direction.ts","../../../../../../src/material/sort/public-api.ts","../../../../../../src/material/sort/index.ts","../../../../../../src/material/stepper/step-label.ts","../../../../../../src/material/stepper/stepper-intl.ts","../../../../../../src/material/stepper/step-header.ts","../../../../../../src/material/stepper/stepper-animations.ts","../../../../../../src/material/stepper/stepper-icon.ts","../../../../../../src/material/stepper/stepper.ts","../../../../../../src/material/stepper/stepper-button.ts","../../../../../../src/material/stepper/stepper-module.ts","../../../../../../src/material/stepper/public-api.ts","../../../../../../src/material/stepper/index.ts","../../../../../../packages/platform-browser/animations/src/animation_builder.ts","../../../../../../packages/platform-browser/animations/src/animation_renderer.ts","../../../../../../packages/platform-browser/animations/src/providers.ts","../../../../../../packages/platform-browser/animations/src/module.ts","../../../../../../packages/platform-browser/animations/src/private_export.ts","../../../../../../packages/platform-browser/animations/src/animations.ts","../../../../../../packages/platform-browser/animations/public_api.ts","../../../../../../packages/platform-browser/animations/index.ts","../../../../../../packages/platform-browser/animations/animations.ts","../../../../../../packages/platform-browser/src/browser/generic_browser_adapter.ts","../../../../../../packages/platform-browser/src/browser/browser_adapter.ts","../../../../../../packages/platform-browser/src/browser/server-transition.ts","../../../../../../packages/platform-browser/src/browser/testability.ts","../../../../../../packages/platform-browser/src/dom/util.ts","../../../../../../packages/platform-browser/src/dom/debug/ng_probe.ts","../../../../../../packages/platform-browser/src/dom/events/event_manager.ts","../../../../../../packages/platform-browser/src/dom/shared_styles_host.ts","../../../../../../packages/platform-browser/src/dom/dom_renderer.ts","../../../../../../packages/platform-browser/src/dom/events/dom_events.ts","../../../../../../packages/platform-browser/src/dom/events/hammer_gestures.ts","../../../../../../packages/platform-browser/src/dom/events/key_events.ts","../../../../../../packages/platform-browser/src/security/dom_sanitization_service.ts","../../../../../../packages/platform-browser/src/browser.ts","../../../../../../packages/platform-browser/src/browser/meta.ts","../../../../../../packages/platform-browser/src/browser/title.ts","../../../../../../packages/platform-browser/src/browser/tools/browser.ts","../../../../../../packages/platform-browser/src/browser/tools/common_tools.ts","../../../../../../packages/platform-browser/src/browser/tools/tools.ts","../../../../../../packages/platform-browser/src/browser/transfer_state.ts","../../../../../../packages/platform-browser/src/dom/debug/by.ts","../../../../../../packages/platform-browser/src/private_export.ts","../../../../../../packages/platform-browser/src/version.ts","../../../../../../packages/platform-browser/public_api.ts","../../../../../../packages/platform-browser/index.ts","../../../../../../packages/platform-browser/platform-browser.ts","../../../../../../packages/router/src/events.ts","../../../../../../packages/router/src/shared.ts","../../../../../../packages/router/src/utils/collection.ts","../../../../../../packages/router/src/url_tree.ts","../../../../../../packages/router/src/utils/tree.ts","../../../../../../packages/router/src/router_state.ts","../../../../../../packages/router/src/create_router_state.ts","../../../../../../packages/router/src/create_url_tree.ts","../../../../../../packages/router/src/operators/activate_routes.ts","../../../../../../packages/router/src/config.ts","../../../../../../packages/router/src/utils/type_guards.ts","../../../../../../packages/router/src/apply_redirects.ts","../../../../../../packages/router/src/operators/apply_redirects.ts","../../../../../../packages/router/src/utils/preactivation.ts","../../../../../../packages/router/src/operators/prioritized_guard_value.ts","../../../../../../packages/router/src/operators/check_guards.ts","../../../../../../packages/router/src/recognize.ts","../../../../../../packages/router/src/operators/recognize.ts","../../../../../../packages/router/src/operators/resolve_data.ts","../../../../../../packages/router/src/operators/switch_tap.ts","../../../../../../packages/router/src/route_reuse_strategy.ts","../../../../../../packages/router/src/components/empty_outlet.ts","../../../../../../packages/router/src/utils/config.ts","../../../../../../packages/router/src/router_config_loader.ts","../../../../../../packages/router/src/router_outlet_context.ts","../../../../../../packages/router/src/url_handling_strategy.ts","../../../../../../packages/router/src/router.ts","../../../../../../packages/router/src/directives/router_link.ts","../../../../../../packages/router/src/directives/router_link_active.ts","../../../../../../packages/router/src/directives/router_outlet.ts","../../../../../../packages/router/src/router_preloader.ts","../../../../../../packages/router/src/router_scroller.ts","../../../../../../packages/router/src/router_module.ts","../../../../../../packages/router/src/version.ts","../../../../../../packages/router/src/index.ts","../../../../../../packages/router/public_api.ts","../../../../../../packages/router/index.ts","../../../../../../packages/router/router.ts","./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","./node_modules/@babel/runtime/helpers/esm/construct.js","./node_modules/@babel/runtime/helpers/esm/createClass.js","./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","./node_modules/@babel/runtime/helpers/esm/createSuper.js","./node_modules/@babel/runtime/helpers/esm/defineProperty.js","./node_modules/@babel/runtime/helpers/esm/get.js","./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","./node_modules/@babel/runtime/helpers/esm/inherits.js","./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","./node_modules/@babel/runtime/helpers/esm/superPropBase.js","./node_modules/@babel/runtime/helpers/esm/toArray.js","./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","./node_modules/@babel/runtime/helpers/esm/typeof.js","./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","ng:/@dabeng/ng-orgchart/lib/components/orgchart/shared/services/node-select.service.ts","ng:/@dabeng/ng-orgchart/lib/components/orgchart/chart-container/chart-container.component.ts","ng:/@dabeng/ng-orgchart/lib/components/orgchart/shared/models/node.model.ts","ng:/@dabeng/ng-orgchart/lib/components/orgchart/chart-node/chart-node.component.ts","ng:/@dabeng/ng-orgchart/lib/components/orgchart/orgchart.module.ts","../../../../projects/ngx-translate/core/src/lib/translate.loader.ts","../../../../projects/ngx-translate/core/src/lib/missing-translation-handler.ts","../../../../projects/ngx-translate/core/src/lib/util.ts","../../../../projects/ngx-translate/core/src/lib/translate.parser.ts","../../../../projects/ngx-translate/core/src/lib/translate.compiler.ts","../../../../projects/ngx-translate/core/src/lib/translate.store.ts","../../../../projects/ngx-translate/core/src/lib/translate.service.ts","../../../../projects/ngx-translate/core/src/lib/translate.directive.ts","../../../../projects/ngx-translate/core/src/lib/translate.pipe.ts","../../../../projects/ngx-translate/core/src/public_api.ts","../../../../projects/ngx-translate/http-loader/src/lib/http-loader.ts","../../../../projects/ngx-translate/http-loader/src/ngx-translate-http-loader.ts","../../../../packages/common/collections.ts","../../../../packages/common/index.ts","../../../../packages/common/libconfig.ts","../../../../packages/common/net.ts","../../../../packages/common/safe-global.ts","../../../../packages/common/storage.ts","../../../../packages/common/util.ts","../../../../packages/logging/index.ts","../../../../packages/logging/listeners.ts","../../../../packages/logging/logger.ts","../../../../packages/odata/add-prop.ts","../../../../packages/odata/batch.ts","../../../../packages/odata/caching.ts","../../../../packages/odata/index.ts","../../../../packages/odata/invokable-binder.ts","../../../../packages/odata/invokable-extensions.ts","../../../../packages/odata/parsers.ts","../../../../packages/odata/pipeline-binder.ts","../../../../packages/odata/pipeline.ts","../../../../packages/odata/queryable.ts","../../../../packages/odata/request-builders.ts","../../../../../packages/sp/appcatalog/index.ts","../../../../../packages/sp/appcatalog/types.ts","../../../../../packages/sp/appcatalog/web.ts","../../../../../packages/sp/attachments/index.ts","../../../../../packages/sp/attachments/item.ts","../../../../../packages/sp/attachments/types.ts","../../../../packages/sp/batch.ts","../../../../../packages/sp/clientside-pages/funcs.ts","../../../../../packages/sp/clientside-pages/index.ts","../../../../../packages/sp/clientside-pages/types.ts","../../../../../packages/sp/clientside-pages/web.ts","../../../../../packages/sp/column-defaults/folder.ts","../../../../../packages/sp/column-defaults/index.ts","../../../../../packages/sp/column-defaults/list.ts","../../../../../packages/sp/comments/index.ts","../../../../../packages/sp/comments/item.ts","../../../../../packages/sp/comments/types.ts","../../../../../packages/sp/content-types/index.ts","../../../../../packages/sp/content-types/item.ts","../../../../../packages/sp/content-types/list.ts","../../../../../packages/sp/content-types/types.ts","../../../../../packages/sp/content-types/web.ts","../../../../packages/sp/decorators.ts","../../../../../packages/sp/features/index.ts","../../../../../packages/sp/features/site.ts","../../../../../packages/sp/features/types.ts","../../../../../packages/sp/features/web.ts","../../../../../packages/sp/fields/index.ts","../../../../../packages/sp/fields/list.ts","../../../../../packages/sp/fields/types.ts","../../../../../packages/sp/fields/web.ts","../../../../../packages/sp/files/folder.ts","../../../../../packages/sp/files/index.ts","../../../../../packages/sp/files/item.ts","../../../../../packages/sp/files/types.ts","../../../../../packages/sp/files/web.ts","../../../../../packages/sp/folders/index.ts","../../../../../packages/sp/folders/item.ts","../../../../../packages/sp/folders/list.ts","../../../../../packages/sp/folders/types.ts","../../../../../packages/sp/folders/web.ts","../../../../../packages/sp/forms/index.ts","../../../../../packages/sp/forms/list.ts","../../../../../packages/sp/forms/types.ts","../../../../../packages/sp/hubsites/index.ts","../../../../../packages/sp/hubsites/site.ts","../../../../../packages/sp/hubsites/types.ts","../../../../../packages/sp/hubsites/web.ts","../../../../packages/sp/index.ts","../../../../../packages/sp/items/index.ts","../../../../../packages/sp/items/list.ts","../../../../../packages/sp/items/types.ts","../../../../../packages/sp/lists/index.ts","../../../../../packages/sp/lists/types.ts","../../../../../packages/sp/lists/web.ts","../../../../../packages/sp/navigation/index.ts","../../../../../packages/sp/navigation/types.ts","../../../../../packages/sp/navigation/web.ts","./node_modules/@pnp/sp/node_modules/tslib/tslib.es6.js","../../../../packages/sp/odata.ts","../../../../packages/sp/operations.ts","../../../../../packages/sp/presets/all.ts","../../../../../packages/sp/profiles/index.ts","../../../../../packages/sp/profiles/types.ts","../../../../../packages/sp/regional-settings/content-type.ts","../../../../../packages/sp/regional-settings/field.ts","../../../../../packages/sp/regional-settings/funcs.ts","../../../../../packages/sp/regional-settings/index.ts","../../../../../packages/sp/regional-settings/list.ts","../../../../../packages/sp/regional-settings/types.ts","../../../../../packages/sp/regional-settings/user-custom-actions.ts","../../../../../packages/sp/regional-settings/web.ts","../../../../../packages/sp/related-items/index.ts","../../../../../packages/sp/related-items/types.ts","../../../../packages/sp/rest.ts","../../../../../packages/sp/search/index.ts","../../../../../packages/sp/search/query.ts","../../../../../packages/sp/search/suggest.ts","../../../../../packages/sp/search/types.ts","../../../../../packages/sp/security/funcs.ts","../../../../../packages/sp/security/index.ts","../../../../../packages/sp/security/item.ts","../../../../../packages/sp/security/list.ts","../../../../../packages/sp/security/types.ts","../../../../../packages/sp/security/web.ts","../../../../packages/sp/sharepointqueryable.ts","../../../../../packages/sp/sharing/file.ts","../../../../../packages/sp/sharing/folder.ts","../../../../../packages/sp/sharing/funcs.ts","../../../../../packages/sp/sharing/index.ts","../../../../../packages/sp/sharing/item.ts","../../../../../packages/sp/sharing/types.ts","../../../../../packages/sp/sharing/web.ts","../../../../../packages/sp/site-designs/index.ts","../../../../../packages/sp/site-designs/types.ts","../../../../../packages/sp/site-designs/web.ts","../../../../../packages/sp/site-groups/index.ts","../../../../../packages/sp/site-groups/types.ts","../../../../../packages/sp/site-groups/web.ts","../../../../../packages/sp/site-scripts/index.ts","../../../../../packages/sp/site-scripts/list.ts","../../../../../packages/sp/site-scripts/types.ts","../../../../../packages/sp/site-scripts/web.ts","../../../../../packages/sp/site-users/index.ts","../../../../../packages/sp/site-users/types.ts","../../../../../packages/sp/site-users/web.ts","../../../../../packages/sp/sites/index.ts","../../../../../packages/sp/sites/types.ts","../../../../../packages/sp/social/index.ts","../../../../../packages/sp/social/types.ts","../../../../packages/sp/sphttpclient.ts","../../../../packages/sp/splibconfig.ts","../../../../../packages/sp/sputilities/index.ts","../../../../../packages/sp/sputilities/types.ts","../../../../../packages/sp/subscriptions/index.ts","../../../../../packages/sp/subscriptions/list.ts","../../../../../packages/sp/subscriptions/types.ts","../../../../../packages/sp/taxonomy/index.ts","../../../../../packages/sp/taxonomy/types.ts","../../../../packages/sp/telemetry.ts","../../../../packages/sp/types.ts","../../../../../packages/sp/user-custom-actions/index.ts","../../../../../packages/sp/user-custom-actions/list.ts","../../../../../packages/sp/user-custom-actions/site.ts","../../../../../packages/sp/user-custom-actions/types.ts","../../../../../packages/sp/user-custom-actions/web.ts","../../../../../packages/sp/utils/escapeQueryStrValue.ts","../../../../../packages/sp/utils/extractweburl.ts","../../../../../packages/sp/utils/file-names.ts","../../../../../packages/sp/utils/metadata.ts","../../../../../packages/sp/utils/objectToSPKeyValueCollection.ts","../../../../../packages/sp/utils/toResourcePath.ts","../../../../../packages/sp/utils/toabsoluteurl.ts","../../../../../packages/sp/views/index.ts","../../../../../packages/sp/views/list.ts","../../../../../packages/sp/views/types.ts","../../../../../packages/sp/webparts/file.ts","../../../../../packages/sp/webparts/index.ts","../../../../../packages/sp/webparts/types.ts","../../../../../packages/sp/webs/index.ts","../../../../../packages/sp/webs/types.ts","./node_modules/base64-js/index.js","./node_modules/buffer/index.js","./node_modules/events/events.js","../src/lib/highcharts-chart.component.ts","../src/lib/highcharts-chart.module.ts","../../../highcharts-angular/src/public_api.ts","../../../highcharts-angular/src/highcharts-angular.ts","highcharts.src.js","./node_modules/ieee754/index.js","./node_modules/isarray/index.js","./node_modules/lodash/lodash.js","../src/index.ts","../../src/internal/AsyncSubject.ts","../../src/internal/BehaviorSubject.ts","../../src/internal/InnerSubscriber.ts","../../src/internal/Notification.ts","../../src/internal/Observable.ts","../../src/internal/Observer.ts","../../src/internal/OuterSubscriber.ts","../../src/internal/ReplaySubject.ts","../../src/internal/Scheduler.ts","../../src/internal/Subject.ts","../../src/internal/SubjectSubscription.ts","../../src/internal/Subscriber.ts","../../src/internal/Subscription.ts","../../src/internal/config.ts","../../../src/internal/observable/ConnectableObservable.ts","../../../src/internal/observable/SubscribeOnObservable.ts","../../../src/internal/observable/bindCallback.ts","../../../src/internal/observable/bindNodeCallback.ts","../../../src/internal/observable/combineLatest.ts","../../../src/internal/observable/concat.ts","../../../src/internal/observable/defer.ts","../../../src/internal/observable/empty.ts","../../../src/internal/observable/forkJoin.ts","../../../src/internal/observable/from.ts","../../../src/internal/observable/fromArray.ts","../../../src/internal/observable/fromEvent.ts","../../../src/internal/observable/fromEventPattern.ts","../../../src/internal/observable/generate.ts","../../../src/internal/observable/iif.ts","../../../src/internal/observable/interval.ts","../../../src/internal/observable/merge.ts","../../../src/internal/observable/never.ts","../../../src/internal/observable/of.ts","../../../src/internal/observable/onErrorResumeNext.ts","../../../src/internal/observable/pairs.ts","../../../src/internal/observable/partition.ts","../../../src/internal/observable/race.ts","../../../src/internal/observable/range.ts","../../../src/internal/observable/throwError.ts","../../../src/internal/observable/timer.ts","../../../src/internal/observable/using.ts","../../../src/internal/observable/zip.ts","../../../src/internal/operators/audit.ts","../../../src/internal/operators/auditTime.ts","../../../src/internal/operators/buffer.ts","../../../src/internal/operators/bufferCount.ts","../../../src/internal/operators/bufferTime.ts","../../../src/internal/operators/bufferToggle.ts","../../../src/internal/operators/bufferWhen.ts","../../../src/internal/operators/catchError.ts","../../../src/internal/operators/combineAll.ts","../../../src/internal/operators/combineLatest.ts","../../../src/internal/operators/concat.ts","../../../src/internal/operators/concatAll.ts","../../../src/internal/operators/concatMap.ts","../../../src/internal/operators/concatMapTo.ts","../../../src/internal/operators/count.ts","../../../src/internal/operators/debounce.ts","../../../src/internal/operators/debounceTime.ts","../../../src/internal/operators/defaultIfEmpty.ts","../../../src/internal/operators/delay.ts","../../../src/internal/operators/delayWhen.ts","../../../src/internal/operators/dematerialize.ts","../../../src/internal/operators/distinct.ts","../../../src/internal/operators/distinctUntilChanged.ts","../../../src/internal/operators/distinctUntilKeyChanged.ts","../../../src/internal/operators/elementAt.ts","../../../src/internal/operators/endWith.ts","../../../src/internal/operators/every.ts","../../../src/internal/operators/exhaust.ts","../../../src/internal/operators/exhaustMap.ts","../../../src/internal/operators/expand.ts","../../../src/internal/operators/filter.ts","../../../src/internal/operators/finalize.ts","../../../src/internal/operators/find.ts","../../../src/internal/operators/findIndex.ts","../../../src/internal/operators/first.ts","../../../src/internal/operators/groupBy.ts","../../../src/internal/operators/ignoreElements.ts","../../../src/internal/operators/isEmpty.ts","../../../src/internal/operators/last.ts","../../../src/internal/operators/map.ts","../../../src/internal/operators/mapTo.ts","../../../src/internal/operators/materialize.ts","../../../src/internal/operators/max.ts","../../../src/internal/operators/merge.ts","../../../src/internal/operators/mergeAll.ts","../../../src/internal/operators/mergeMap.ts","../../../src/internal/operators/mergeMapTo.ts","../../../src/internal/operators/mergeScan.ts","../../../src/internal/operators/min.ts","../../../src/internal/operators/multicast.ts","../../../src/internal/operators/observeOn.ts","../../../src/internal/operators/onErrorResumeNext.ts","../../../src/internal/operators/pairwise.ts","../../../src/internal/operators/partition.ts","../../../src/internal/operators/pluck.ts","../../../src/internal/operators/publish.ts","../../../src/internal/operators/publishBehavior.ts","../../../src/internal/operators/publishLast.ts","../../../src/internal/operators/publishReplay.ts","../../../src/internal/operators/race.ts","../../../src/internal/operators/reduce.ts","../../../src/internal/operators/refCount.ts","../../../src/internal/operators/repeat.ts","../../../src/internal/operators/repeatWhen.ts","../../../src/internal/operators/retry.ts","../../../src/internal/operators/retryWhen.ts","../../../src/internal/operators/sample.ts","../../../src/internal/operators/sampleTime.ts","../../../src/internal/operators/scan.ts","../../../src/internal/operators/sequenceEqual.ts","../../../src/internal/operators/share.ts","../../../src/internal/operators/shareReplay.ts","../../../src/internal/operators/single.ts","../../../src/internal/operators/skip.ts","../../../src/internal/operators/skipLast.ts","../../../src/internal/operators/skipUntil.ts","../../../src/internal/operators/skipWhile.ts","../../../src/internal/operators/startWith.ts","../../../src/internal/operators/subscribeOn.ts","../../../src/internal/operators/switchAll.ts","../../../src/internal/operators/switchMap.ts","../../../src/internal/operators/switchMapTo.ts","../../../src/internal/operators/take.ts","../../../src/internal/operators/takeLast.ts","../../../src/internal/operators/takeUntil.ts","../../../src/internal/operators/takeWhile.ts","../../../src/internal/operators/tap.ts","../../../src/internal/operators/throttle.ts","../../../src/internal/operators/throttleTime.ts","../../../src/internal/operators/throwIfEmpty.ts","../../../src/internal/operators/timeInterval.ts","../../../src/internal/operators/timeout.ts","../../../src/internal/operators/timeoutWith.ts","../../../src/internal/operators/timestamp.ts","../../../src/internal/operators/toArray.ts","../../../src/internal/operators/window.ts","../../../src/internal/operators/windowCount.ts","../../../src/internal/operators/windowTime.ts","../../../src/internal/operators/windowToggle.ts","../../../src/internal/operators/windowWhen.ts","../../../src/internal/operators/withLatestFrom.ts","../../../src/internal/operators/zip.ts","../../../src/internal/operators/zipAll.ts","../../../src/internal/scheduled/scheduleArray.ts","../../../src/internal/scheduled/scheduleIterable.ts","../../../src/internal/scheduled/scheduleObservable.ts","../../../src/internal/scheduled/schedulePromise.ts","../../../src/internal/scheduled/scheduled.ts","../../../src/internal/scheduler/Action.ts","../../../src/internal/scheduler/AnimationFrameAction.ts","../../../src/internal/scheduler/AnimationFrameScheduler.ts","../../../src/internal/scheduler/AsapAction.ts","../../../src/internal/scheduler/AsapScheduler.ts","../../../src/internal/scheduler/AsyncAction.ts","../../../src/internal/scheduler/AsyncScheduler.ts","../../../src/internal/scheduler/QueueAction.ts","../../../src/internal/scheduler/QueueScheduler.ts","../../../src/internal/scheduler/VirtualTimeScheduler.ts","../../../src/internal/scheduler/animationFrame.ts","../../../src/internal/scheduler/asap.ts","../../../src/internal/scheduler/async.ts","../../../src/internal/scheduler/queue.ts","../../../src/internal/symbol/iterator.ts","../../../src/internal/symbol/observable.ts","../../../src/internal/symbol/rxSubscriber.ts","../../../src/internal/util/ArgumentOutOfRangeError.ts","../../../src/internal/util/EmptyError.ts","../../../src/internal/util/Immediate.ts","../../../src/internal/util/ObjectUnsubscribedError.ts","../../../src/internal/util/TimeoutError.ts","../../../src/internal/util/UnsubscriptionError.ts","../../../src/internal/util/canReportError.ts","../../../src/internal/util/hostReportError.ts","../../../src/internal/util/identity.ts","../../../src/internal/util/isArray.ts","../../../src/internal/util/isArrayLike.ts","../../../src/internal/util/isDate.ts","../../../src/internal/util/isFunction.ts","../../../src/internal/util/isInteropObservable.ts","../../../src/internal/util/isIterable.ts","../../../src/internal/util/isNumeric.ts","../../../src/internal/util/isObject.ts","../../../src/internal/util/isObservable.ts","../../../src/internal/util/isPromise.ts","../../../src/internal/util/isScheduler.ts","../../../src/internal/util/noop.ts","../../../src/internal/util/not.ts","../../../src/internal/util/pipe.ts","../../../src/internal/util/subscribeTo.ts","../../../src/internal/util/subscribeToArray.ts","../../../src/internal/util/subscribeToIterable.ts","../../../src/internal/util/subscribeToObservable.ts","../../../src/internal/util/subscribeToPromise.ts","../../../src/internal/util/subscribeToResult.ts","../../../src/internal/util/toSubscriber.ts","../../src/operators/index.ts","./node_modules/safe-buffer/index.js","./node_modules/sax/lib/sax.js","./node_modules/string_decoder/lib/string_decoder.js","./node_modules/timers/index.js","./node_modules/tslib/tslib.es6.js","(webpack)/buildin/module.js","./node_modules/xml2js/lib/bom.js","./node_modules/xml2js/lib/builder.js","./node_modules/xml2js/lib/defaults.js","./node_modules/xml2js/lib/parser.js","./node_modules/xml2js/lib/processors.js","./node_modules/xml2js/lib/xml2js.js","./node_modules/xmlbuilder/lib/DocumentPosition.js","./node_modules/xmlbuilder/lib/NodeType.js","./node_modules/xmlbuilder/lib/Utility.js","./node_modules/xmlbuilder/lib/WriterState.js","./node_modules/xmlbuilder/lib/XMLAttribute.js","./node_modules/xmlbuilder/lib/XMLCData.js","./node_modules/xmlbuilder/lib/XMLCharacterData.js","./node_modules/xmlbuilder/lib/XMLComment.js","./node_modules/xmlbuilder/lib/XMLDOMConfiguration.js","./node_modules/xmlbuilder/lib/XMLDOMErrorHandler.js","./node_modules/xmlbuilder/lib/XMLDOMImplementation.js","./node_modules/xmlbuilder/lib/XMLDOMStringList.js","./node_modules/xmlbuilder/lib/XMLDTDAttList.js","./node_modules/xmlbuilder/lib/XMLDTDElement.js","./node_modules/xmlbuilder/lib/XMLDTDEntity.js","./node_modules/xmlbuilder/lib/XMLDTDNotation.js","./node_modules/xmlbuilder/lib/XMLDeclaration.js","./node_modules/xmlbuilder/lib/XMLDocType.js","./node_modules/xmlbuilder/lib/XMLDocument.js","./node_modules/xmlbuilder/lib/XMLDocumentCB.js","./node_modules/xmlbuilder/lib/XMLDummy.js","./node_modules/xmlbuilder/lib/XMLElement.js","./node_modules/xmlbuilder/lib/XMLNamedNodeMap.js","./node_modules/xmlbuilder/lib/XMLNode.js","./node_modules/xmlbuilder/lib/XMLNodeList.js","./node_modules/xmlbuilder/lib/XMLProcessingInstruction.js","./node_modules/xmlbuilder/lib/XMLRaw.js","./node_modules/xmlbuilder/lib/XMLStreamWriter.js","./node_modules/xmlbuilder/lib/XMLStringWriter.js","./node_modules/xmlbuilder/lib/XMLStringifier.js","./node_modules/xmlbuilder/lib/XMLText.js","./node_modules/xmlbuilder/lib/XMLWriterBase.js","./node_modules/xmlbuilder/lib/index.js"],"names":["PRE_STYLE","AnimationGroupPlayer","ONE_SECOND","observableOf","nextId","stringify","isListLikeIterable","parseCookieValue","noSideEffects","fn","toString","ANNOTATIONS","PARAMETERS","PROP_METADATA","makeDecorator","name","props","parentClass","additionalProcessing","typeFn","metaCtor","makeMetadataCtor","DecoratorFactory","args","call","annotationInstance","TypeDecorator","cls","annotations","hasOwnProperty","Object","defineProperty","value","push","prototype","create","ngMetadataName","annotationCls","ctor","values","propName","makeParamDecorator","ParamDecoratorFactory","apply","ParamDecorator","annotation","unusedKey","index","parameters","length","makePropDecorator","PropDecoratorFactory","decoratorInstance","PropDecorator","target","constructor","meta","unshift","ɵ0","token","Inject","Optional","Self","SkipSelf","Host","ɵ1","attributeName","Attribute","InjectFlags","getClosureSafeProperty","objWithPropertyToExtract","key","Error","fillProperties","source","ɵɵdefineInjectable","opts","providedIn","factory","undefined","defineInjectable","ɵɵdefineInjector","options","providers","imports","getInjectableDef","type","getOwnDefinition","NG_PROV_DEF","NG_INJECTABLE_DEF","def","getInheritedInjectableDef","NG_PROV_DEF_FALLBACK","typeName","getTypeName","console","warn","match","getInjectorDef","NG_INJ_DEF","NG_INJECTOR_DEF","ɵprov","ɵinj","ɵprovFallback","ngInjectableDef","ngInjectorDef","Array","isArray","map","join","overriddenName","res","newLineIndex","indexOf","substring","concatStringsWithSpace","before","after","__forward_ref__","forwardRef","forwardRefFn","resolveForwardRef","isForwardRef","__globalThis","globalThis","__window","window","__self","self","WorkerGlobalScope","__global","global","_global","R3ResolvedDependencyType","R3FactoryTarget","ViewEncapsulation","getCompilerFacade","globalNg","ɵcompilerFacade","NG_COMP_DEF","ɵcmp","NG_DIR_DEF","ɵdir","NG_PIPE_DEF","ɵpipe","NG_MOD_DEF","ɵmod","NG_LOC_ID_DEF","ɵloc","NG_FACTORY_DEF","ɵfac","NG_ELEMENT_ID","__NG_ELEMENT_ID__","ngDevModeResetPerfCounters","locationString","location","newCounters","namedConstructors","firstCreatePass","tNode","tView","rendererCreateTextNode","rendererSetText","rendererCreateElement","rendererAddEventListener","rendererSetAttribute","rendererRemoveAttribute","rendererSetProperty","rendererSetClassName","rendererAddClass","rendererRemoveClass","rendererSetStyle","rendererRemoveStyle","rendererDestroy","rendererDestroyNode","rendererMoveNode","rendererRemoveNode","rendererAppendChild","rendererInsertBefore","rendererCreateComment","allowNgDevModeTrue","initNgDevMode","ngDevMode","InjectionToken","_desc","INJECTOR","_THROW_IF_NOT_FOUND","THROW_IF_NOT_FOUND","NG_TEMP_TOKEN_PATH","NG_TOKEN_PATH","NEW_LINE","NO_NEW_LINE","SOURCE","ɵ0$1","USE_VALUE","provide","String","useValue","_currentInjector","setCurrentInjector","injector","former","_injectImplementation","setInjectImplementation","impl","previous","injectInjectorOnly","flags","Default","injectRootLimpMode","get","ɵɵinject","ɵɵinvalidFactoryDep","msg","inject","notFoundValue","injectableDef","injectArgs","types","i","arg","j","NullInjector","error","catchInjectorError","e","injectorErrorName","tokenPath","message","formatError","text","obj","charAt","substr","context","parts","JSON","replace","angularCoreDiEnv","getFactoryOf","typeAny","NgModuleRef","NgModuleFactory","assertNumber","actual","throwError","assertNumberInRange","minInclusive","maxInclusive","assertLessThanOrEqual","assertGreaterThanOrEqual","assertString","assertEqual","expected","assertNotEqual","assertSame","assertNotSame","assertLessThan","assertGreaterThan","assertNotDefined","assertDefined","comparison","assertDomNode","node","Node","assertIndexInRange","arr","maxLen","addAllToArray","items","flatten","list","dst","item","slice","deepForEach","input","forEach","addToArray","splice","removeFromArray","pop","newArray","size","arraySplice","array","count","arrayInsert","end","previousEnd","arrayInsert2","value1","value2","arrayInsertSorted","arrayIndexOfSorted","arrayRemoveSorted","_arrayIndexOfSorted","keyValueArraySet","keyValueArray","keyValueArrayIndexOf","keyValueArrayGet","keyValueArrayDelete","shift","start","middle","current","ChangeDetectionStrategy","ChangeDetectorStatus","isDefaultChangeDetectionStrategy","changeDetectionStrategy","ViewEncapsulation$1","EMPTY_OBJ","EMPTY_ARRAY","freeze","_renderCompCount","ɵɵdefineComponent","componentDefinition","typePrototype","declaredInputs","providersResolver","decls","vars","template","consts","ngContentSelectors","hostBindings","hostVars","hostAttrs","contentQueries","inputs","outputs","exportAs","onPush","changeDetection","OnPush","directiveDefs","pipeDefs","selectors","viewQuery","features","data","encapsulation","Emulated","id","styles","_","setInput","schemas","directiveTypes","directives","feature","pipeTypes","pipes","invertObject","extractDirectiveDef","extractPipeDef","ɵɵsetComponentScope","getComponentDef","getDirectiveDef","getPipeDef","autoRegisterModuleById","ɵɵdefineNgModule","bootstrap","declarations","exports","transitiveCompileScopes","ɵɵsetNgModuleScope","scope","ngModuleDef","getNgModuleDef","secondary","newLookup","minifiedKey","publicName","declaredName","ɵɵdefineDirective","ɵɵdefinePipe","pipeDef","pure","onDestroy","ngOnDestroy","getFactoryDef","throwNotFound","hasFactoryDef","getNgLocaleIdDef","HOST","TVIEW","FLAGS","PARENT","NEXT","TRANSPLANTED_VIEWS_TO_REFRESH","T_HOST","CLEANUP","CONTEXT","INJECTOR$1","RENDERER_FACTORY","RENDERER","SANITIZER","CHILD_HEAD","CHILD_TAIL","DECLARATION_VIEW","DECLARATION_COMPONENT_VIEW","DECLARATION_LCONTAINER","PREORDER_HOOK_FLAGS","QUERIES","HEADER_OFFSET","unusedValueExportToPlacateAjd","TYPE","HAS_TRANSPLANTED_VIEWS","NATIVE","VIEW_REFS","MOVED_VIEWS","CONTAINER_HEADER_OFFSET","unusedValueExportToPlacateAjd$1","isLView","isLContainer","isContentQueryHost","isComponentHost","isDirectiveHost","isComponentDef","isRootView","assertTNodeForLView","lView","tView_","assertComponentType","assertNgModuleType","assertPreviousIsParent","isParent","assertHasParent","parent","assertDataNext","assertLContainer","assertLViewOrUndefined","assertLView","assertFirstCreatePass","errMessage","assertFirstUpdatePass","firstUpdatePass","assertDirectiveDef","SimpleChange","previousValue","currentValue","firstChange","ɵɵNgOnChangesFeature","NgOnChangesFeatureImpl","definition","ngOnChanges","ngOnChangesSetInput","rememberChangeHistoryAndInvokeOnChangesHook","ngInherit","simpleChangesStore","getSimpleChangesStore","instance","privateName","setSimpleChangesStore","previousChange","SIMPLE_CHANGES_STORE","store","SVG_NAMESPACE","MATH_ML_NAMESPACE","MONKEY_PATCH_KEY_NAME","DOCUMENT","setDocument","document","getDocument","RendererStyleFlags3","isProceduralRenderer","renderer","listen","ɵ0$2","hostElement","rendererType","domRendererFactory3","createRenderer","unusedValueExportToPlacateAjd$2","unwrapRNode","unwrapLView","unwrapLContainer","getNativeByIndex","getNativeByTNode","getNativeByTNodeOrNull","getTNode","load","view","getComponentLViewByIndex","nodeIndex","hostView","slotValue","readPatchedData","readPatchedLView","isCreationMode","viewAttachedToChangeDetector","viewAttachedToContainer","getConstant","resetPreOrderHookFlags","updateTransplantedViewCount","lContainer","amount","viewOrContainer","instructionState","lFrame","createLFrame","bindingsEnabled","checkNoChangesMode","getElementDepthCount","elementDepthCount","increaseElementDepthCount","decreaseElementDepthCount","getBindingsEnabled","ɵɵenableBindings","ɵɵdisableBindings","getLView","getTView","ɵɵrestoreView","viewToRestore","contextLView","getPreviousOrParentTNode","previousOrParentTNode","setPreviousOrParentTNode","getIsParent","setIsNotParent","setIsParent","getContextLView","getCheckNoChangesMode","setCheckNoChangesMode","mode","getBindingRoot","bindingRootIndex","bindingStartIndex","getBindingIndex","bindingIndex","setBindingIndex","nextBindingIndex","incrementBindingIndex","setBindingRootForHostBindings","currentDirectiveIndex","setCurrentDirectiveIndex","getCurrentDirectiveIndex","getCurrentDirectiveDef","tData","getCurrentQueryIndex","currentQueryIndex","setCurrentQueryIndex","enterDI","newView","newLFrame","allocLFrame","enterView","selectedIndex","currentNamespace","currentLFrame","childLFrame","child","leaveViewLight","oldLFrame","leaveDI","leaveView","nextContextImpl","level","walkUpViews","nestingLevel","currentView","getSelectedIndex","setSelectedIndex","getSelectedTNode","ɵɵnamespaceSVG","ɵɵnamespaceMathML","ɵɵnamespaceHTML","namespaceHTMLInternal","getNamespace","registerPreOrderHooks","directiveIndex","directiveDef","ngOnInit","ngDoCheck","wrappedOnChanges","preOrderHooks","preOrderCheckHooks","registerPostOrderHooks","directiveStart","directiveEnd","lifecycleHooks","ngAfterContentInit","ngAfterContentChecked","ngAfterViewInit","ngAfterViewChecked","contentHooks","contentCheckHooks","viewHooks","viewCheckHooks","destroyHooks","executeCheckHooks","hooks","callHooks","executeInitAndCheckHooks","initPhase","incrementInitPhaseFlags","currentNodeIndex","startIndex","nodeIndexLimit","lastNodeIndexFound","hook","isInitHook","callHook","directive","indexWithintInitPhase","TNODE","PARENT_INJECTOR","INJECTOR_BLOOM_PARENT_SIZE","NO_PARENT_INJECTOR","NodeInjectorFactory","isViewProvider","injectImplementation","resolving","canSeeViewProviders","injectImpl","isFactory","unusedValueExportToPlacateAjd$3","assertNodeType","assertNodeOfPossibleTypes","found","some","assertNodeNotOfTypes","setUpAttributes","native","attrs","isProc","namespaceURI","attrName","attrVal","setAttribute","setAttributeNS","isAnimationProp","setProperty","isNameOnlyAttributeMarker","marker","charCodeAt","mergeHostAttrs","src","srcMarker","mergeHostAttribute","key1","key2","markerInsertPosition","dstValue","hasParentInjector","parentLocation","getParentInjectorIndex","getParentInjectorViewOffset","getParentInjectorView","startView","viewOffset","parentView","renderStringify","stringifyForError","ɵ0$3","requestAnimationFrame","setTimeout","bind","defaultScheduler","ɵɵresolveWindow","element","ownerDocument","defaultView","ɵɵresolveDocument","ɵɵresolveBody","body","INTERPOLATION_DELIMITER","maybeUnwrapFn","Function","includeViewProviders","setIncludeViewProviders","v","oldValue","BLOOM_SIZE","BLOOM_MASK","nextNgElementId","bloomAdd","injectorIndex","bloomBit","mask","b7","b6","b5","getOrCreateNodeInjectorForNode","existingInjectorIndex","getInjectorIndex","insertBloom","blueprint","parentLoc","getParentInjectorLocation","parentIndex","parentLView","parentData","footer","hostTNode","diPublicInInjector","injectAttributeImpl","attrNameToInject","classes","attrsLength","getOrCreateInjectable","bloomHash","bloomHashBitOrFactory","NodeInjector","previousTView","hostTElementNode","shouldSearchParent","bloomHasToken","searchTokensOnInjector","NOT_FOUND","moduleInjector","previousInjectImplementation","currentTView","canAccessViewProviders","isHostSpecialCase","injectableIdx","locateDirectiveOrProvider","getNodeInjectable","nodeProviderIndexes","providerIndexes","tInjectables","injectablesStart","directivesStart","cptViewProvidersCount","startingIndex","endIndex","providerTokenOrDef","dirDef","previousIncludeViewProviders","tokenId","injectorView","isFirstHostTNode","_tNode","_lView","ɵɵgetFactoryOf","injectorDef","ɵɵgetInheritedFactory","ownConstructor","ownFactory","objectPrototype","getPrototypeOf","t","ERROR_TYPE","ERROR_DEBUG_CONTEXT","ERROR_ORIGINAL_ERROR","ERROR_LOGGER","wrappedError","originalError","getType","getDebugContext","getOriginalError","getErrorLogger","defaultErrorLogger","ErrorHandler","_console","_findOriginalError","_findContext","errorLogger","CUSTOM_ELEMENTS_SCHEMA","NO_ERRORS_SCHEMA","SafeValueImpl","changingThisBreaksApplicationSecurity","SafeHtmlImpl","SafeStyleImpl","SafeScriptImpl","SafeUrlImpl","SafeResourceUrlImpl","unwrapSafeValue","allowSanitizationBypassAndThrow","actualType","getSanitizationBypassType","bypassSanitizationTrustHtml","trustedHtml","bypassSanitizationTrustStyle","trustedStyle","bypassSanitizationTrustScript","trustedScript","bypassSanitizationTrustUrl","trustedUrl","bypassSanitizationTrustResourceUrl","trustedResourceUrl","_devMode","_runModeLocked","isDevMode","enableProdMode","getInertBodyHelper","defaultDoc","isDOMParserAvailable","DOMParserHelper","InertDocumentHelper","html","DOMParser","parseFromString","removeChild","firstChild","_a","inertDocument","implementation","createHTMLDocument","inertHtml","createElement","appendChild","inertBodyElement","templateEl","innerHTML","inertBody","documentMode","stripCustomNsAttrs","el","elAttrs","attributes","attrib","removeAttribute","childNode","nodeType","ELEMENT_NODE","nextSibling","SAFE_URL_PATTERN","SAFE_SRCSET_PATTERN","DATA_URL_PATTERN","_sanitizeUrl","url","sanitizeSrcset","srcset","split","trim","tagSet","tags","merge","sets","s","VOID_ELEMENTS","OPTIONAL_END_TAG_BLOCK_ELEMENTS","OPTIONAL_END_TAG_INLINE_ELEMENTS","OPTIONAL_END_TAG_ELEMENTS","BLOCK_ELEMENTS","INLINE_ELEMENTS","VALID_ELEMENTS","URI_ATTRS","SRCSET_ATTRS","HTML_ATTRS","ARIA_ATTRS","VALID_ATTRS","SKIP_TRAVERSING_CONTENT_IF_INVALID_ELEMENTS","SanitizingHtmlSerializer","sanitizedSomething","buf","traverseContent","startElement","TEXT_NODE","chars","nodeValue","endElement","next","checkClobberedElement","parentNode","tagName","nodeName","toLowerCase","elAttr","lower","encodeEntities","nextNode","compareDocumentPosition","DOCUMENT_POSITION_CONTAINED_BY","outerHTML","SURROGATE_PAIR_REGEXP","NON_ALPHANUMERIC_REGEXP","hi","low","inertBodyHelper","_sanitizeHtml","unsafeHtmlInput","unsafeHtml","getInertBodyElement","mXSSAttempts","parsedHtml","sanitizer","safeHtml","sanitizeChildren","getTemplateContent","isTemplateElement","content","SecurityContext","ɵɵsanitizeHtml","getSanitizer","sanitize","HTML","ɵɵsanitizeStyle","unsafeStyle","STYLE","ɵɵsanitizeUrl","unsafeUrl","URL","ɵɵsanitizeResourceUrl","unsafeResourceUrl","RESOURCE_URL","ɵɵsanitizeScript","unsafeScript","SCRIPT","getUrlSanitizer","tag","prop","ɵɵsanitizeUrlOrResourceUrl","validateAgainstEventProperties","startsWith","validateAgainstEventAttributes","createNamedArrayType","FunctionConstructor","normalizeDebugBindingName","camelCaseToDashCase","CAMEL_CASE_REGEXP","m","normalizeDebugBindingValue","getLContext","mpValue","component","isComponentInstance","findViaComponent","isDirectiveInstance","findViaDirective","getDirectivesAtNodeIndex","findViaNativeElement","existingCtx","createLContext","attachPatchData","rElement","parentContext","localRefs","getComponentViewByInstance","componentInstance","traverseNextElement","componentIndices","components","elementComponentIndex","componentView","rootComponentView","rootComponent","directiveInstance","directiveIndexStart","directiveIndexEnd","includeComponents","directiveStartIndex","directiveEndIndex","getComponentAtNodeIndex","discoverLocalRefs","localNames","result","localIndex","throwCyclicDependencyError","throwMultipleComponentError","throwMixedMultiProviderError","throwInvalidProviderError","ngModuleType","provider","ngModuleDetail","providerDetail","throwErrorIfNoChangesMode","creationMode","currValue","field","constructDetailsForInterpolation","rootIndex","expressionIndex","changedValue","prefix","chunks","newValue","slotIdx","getExpressionChangedErrorDetails","metadata","idx","matches","RegExp","TNodeTypeAsString","unusedValueExportToPlacateAjd$4","hasClassInput","hasStyleInput","unusedValueExportToPlacateAjd$5","classIndexOf","className","classToSearch","foundIndex","unusedValueToPlacateAjd","NG_TEMPLATE_SELECTOR","isCssClassMatching","cssClassToMatch","isProjectionMode","isInlineTemplate","hasTagAndTypeMatch","currentSelector","tagNameToCompare","isNodeMatchingSelector","selector","nodeAttrs","nameOnlyMarkerIdx","getNameOnlyMarkerIndex","skipToNextSelector","isPositive","selectorAttrValue","attrIndexInNode","findAttrIndexInNode","nodeAttrValue","compareAgainstClassName","bindingsMode","maybeAttrName","matchTemplateAttribute","isNodeMatchingSelectorList","getProjectAsAttrValue","ngProjectAsAttrIdx","nodeAttr","attr","isSelectorInSelectorList","selectorListLoop","currentSelectorInList","maybeWrapInNotSelector","isNegativeMode","chunk","stringifyCSSSelector","currentChunk","valueOrMarker","attrValue","stringifyCSSSelectorList","selectorList","extractAttrsAndClassesFromSelector","NO_CHANGE","__brand__","getLViewParent","getRootView","componentOrLView","getRootContext","viewOrComponent","rootView","getFirstLContainer","getNearestLContainer","getNextLContainer","container","ɵɵadvance","delta","selectIndexInternal","ɵɵselect","hooksInitPhaseCompleted","toTStylingRange","prev","getTStylingRangePrev","tStylingRange","getTStylingRangePrevDuplicate","setTStylingRangePrev","setTStylingRangePrevDuplicate","getTStylingRangeNext","setTStylingRangeNext","getTStylingRangeNextDuplicate","setTStylingRangeNextDuplicate","getTStylingRangeTail","attachDebugObject","debug","enumerable","attachDebugGetter","debugGetter","NG_DEV_MODE","LVIEW_COMPONENT_CACHE","LVIEW_EMBEDDED_CACHE","LVIEW_ROOT","cloneToLViewFromTViewBlueprint","debugTView","getLViewToClone","concat","Map","componentArray","nameSuffix","set","embeddedArray","lastIndexOf","TViewConstructor","queries","expandoStartIndex","expandoInstructions","staticViewQueries","staticContentQueries","cleanup","directiveRegistry","pipeRegistry","incompleteFirstPass","_decls","_vars","processTNodeChildren","TNode","directiveStylingLast","propertyBindings","mergedAttrs","initialInputs","tViews","projectionNext","projection","stylesWithoutHost","residualStyles","classesWithoutHost","residualClasses","classBindings","styleBindings","type_","toDebugStyleBinding","TNodeDebug","isClassBased","bindings","range","isTemplate","cursor","itemKey","itemRange","prevDuplicate","nextDuplicate","nextIndex","prevIndex","template_","TViewData","TVIEWDATA_EMPTY","cloneToTViewData","LViewBlueprint","MatchesArray","TViewComponents","TNodeLocalNames","TNodeInitialInputs","TNodeInitialData","LCleanup","TCleanup","attachLViewDebug","LViewDebug","attachLContainerDebug","LContainerDebug","toDebug","toHtml","includeChildren","textContent","COMMENT_NODE","_raw_lView","__raw__flags__","initPhaseState","firstViewPass","checkAlways","dirty","attached","destroyed","isRoot","indexWithinInitPhase","nodes","toDebugNodes","toLViewRange","childViews","childHead","l","debugNodes","tNodeCursor","buildDebugNode","rawValue","children","_raw_lContainer","readLViewValue","ɵ0$4","Promise","resolve","_CLEAN_PROMISE","setHostBindingsByExecutingExpandoInstructions","currentElementIndex","instruction","providerCount","hostCtx","refreshContentQueries","queryStartIdx","directiveDefIdx","refreshChildComponents","hostLView","refreshComponent","renderChildComponents","renderComponent","elementCreate","namespace","createElementNS","createLView","host","tHostNode","rendererFactory","getOrCreateTNode","adjustedIndex","createTNodeAtIndex","parentInSameView","tParentNode","createTNode","assignTViewNodeToLView","allocExpando","numSlotsToAlloc","renderView","executeViewQueryFn","templateFn","executeTemplate","refreshView","markTransplantedViewsForRefresh","refreshEmbeddedViews","renderComponentOrTemplate","normalExecutionPath","creationModeIsActive","begin","rf","prevSelectedIndex","executeContentQueries","createDirectivesInstances","instantiateAllDirectives","invokeDirectivesHostBindings","saveResolvedLocalsInData","viewData","localRefExtractor","getOrCreateTComponentView","createTView","viewIndex","initialViewLength","createViewBlueprint","fill","seal","createError","assertHostNodeExists","elementOrSelector","locateHostElement","preserveContent","ShadowDom","selectRootElement","querySelector","storeCleanupWithContext","cleanupFn","lCleanup","getLCleanup","getTViewCleanup","tParent","generatePropertyAliases","inputAliasMap","propStore","internalName","initializeInputAndOutputAliases","defs","tNodeAttrs","inputsFromAttrs","inputsStore","outputsStore","directiveInputs","generateInitialInputs","mapPropName","elementPropertyInternal","nativeOnly","inputData","dataValue","setInputsForProperty","markDirtyIfOnPush","setNgReflectProperties","validateProperty","logUnknownPropertyError","matchingSchemas","childComponentLView","setNgReflectProperty","debugValue","setValue","schema","instantiateRootComponent","rootTNode","generateExpandoInstructionBlock","baseResolveDirective","resolveDirectives","hasDirectives","findDirectiveDefMatches","exportsMap","totalDirectiveHostVars","initTNodeFlags","preOrderHooksFound","preOrderCheckHooksFound","saveNameToExportMap","lifeCycleHooks","addHostBindingsToExpandoInstructions","growHostVarsSpace","cacheMatchingLocalNames","expando","isComponent","addComponentLogic","setInputsFromAttrs","elementIndex","dirIndex","invokeHostBindingsInCreationMode","directiveCount","providerStartIndex","registry","markAsComponentHost","numberOfDirectives","directiveFactory","nodeInjectorFactory","addToViewTree","elementAttributeInternal","strValue","initialInputData","nativeElement","inputsToStore","LContainerArray","createLContainer","hostNative","embeddedLView","embeddedTView","movedViews","movedLView","insertionLContainer","componentHostIdx","refreshContainsDirtyView","componentTView","syncViewWithBlueprint","lViewOrLContainer","markViewDirty","scheduleTick","rootContext","nothingScheduled","clean","r","scheduler","tickRootContext","playerHandler","flushPlayers","detectChangesInternal","handleError","detectChangesInRootView","checkNoChangesInternal","checkNoChangesInRootView","viewQueryFn","storePropertyBindingMetadata","propertyName","propBindingIdxs","bindingMetadata","interpolationParts","CLEAN_PROMISE","loadComponentRenderer","currentDef","errorHandler","textBindingInternal","unusedValueToPlacateAjd$1","getLContainer","embeddedView","getContainerRenderParent","tViewNode","nativeParentNode","applyToElementOrContainer","action","lNodeToHandle","beforeNode","rNode","nativeAppendChild","nativeInsertBefore","nativeRemoveNode","destroyNode","applyContainer","createTextNode","createText","addRemoveViewFromContainer","insertMode","renderParent","applyView","renderDetachView","destroyViewTree","cleanUpView","firstView","getParentState","insertView","indexInContainer","containerLength","declarationLContainer","trackMovedView","lQueries","declarationContainer","insertedLContainer","insertedComponentLView","declaredComponentLView","detachMovedView","declarationViewIndex","detachView","removeIndex","viewToDetach","removedLView","destroyLView","executeOnDestroys","removeListeners","destroy","tCleanup","idxOrTargetGetter","listener","useCaptureOrSubIdx","removeEventListener","unsubscribe","toCall","getRenderParent","parentTNode","isIcuCase","Native","insertBefore","nativeAppendOrInsertBefore","nativeRemoveChild","isHostElement","nativeNextSibling","getNativeAnchorNode","getBeforeNodeForView","childEl","childTNode","anchorNode","getFirstNativeNode","tNodeType","elIcuContainerChild","rNodeOrLContainer","componentHost","firstProjectedTNode","viewIndexInContainer","nextViewIndex","firstTNodeOfView","nativeParent","applyNodes","isProjection","rawSlotValue","applyProjectionRecursive","viewRootTNode","applyProjection","tProjectionNode","componentLView","componentNode","nodeToProjectOrRNodes","nodeToProject","projectedComponentLView","anchor","applyStyling","isProcedural","removeClass","classList","remove","addClass","add","removeStyle","style","removeProperty","setStyle","writeDirectStyle","cssText","writeDirectClass","getParentInjectorTNode","startTNode","ViewRef","_cdRefInjectingView","_appRef","_viewContainerRef","detach","callback","vcRef","appRef","hostTView","collectNativeNodes","RootViewRef","_view","lNode","lViewInAContainer","lViewFirstChildTNode","nodesInSlot","injectElementRef","ElementRefToken","createElementRef","R3ElementRef","R3TemplateRef","injectTemplateRef","TemplateRefToken","createTemplateRef","_declarationView","_declarationTContainer","elementRef","declarationViewLQueries","createEmbeddedView","R3ViewContainerRef","injectViewContainerRef","ViewContainerRefToken","previousTNode","createContainerRef","_lContainer","_hostTNode","_hostView","templateRef","viewRef","insert","componentFactory","projectableNodes","ngModuleRef","contextInjector","parentInjector","ngModule","componentRef","allocateContainerIfNeeded","prevIdx","prevLContainer","prevVCRef","adjustedIdx","_adjustIndex","attachToViewContainerRef","newIndex","viewRefsArr","detachedView","wasDetached","commentNode","createComment","parentOfHostNative","injectChangeDetectorRef","isPipe","createViewRef","isComponentView","hostComponentView","getOrCreateRenderer2","injectRenderer2","nodeAtIndex","ChangeDetectorRef","SWITCH_CHANGE_DETECTOR_REF_FACTORY","SWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__","SWITCH_CHANGE_DETECTOR_REF_FACTORY__PRE_R3__","ɵ0$5","Type","isType","ES5_DELEGATE_CTOR","ES2015_INHERITED_CLASS","ES2015_INHERITED_CLASS_WITH_CTOR","ES2015_INHERITED_CLASS_WITH_DELEGATE_CTOR","isDelegateCtor","typeStr","test","ReflectionCapabilities","reflect","_reflect","paramTypes","paramAnnotations","parentCtor","tsickleCtorParams","ctorParameters","ctorParam","convertTsickleDecoratorIntoMetadata","decorators","_zipTypesAndAnnotations","getOwnMetadata","getParentCtor","_ownParameters","typeOrFunc","ownAnnotations","_ownAnnotations","parentAnnotations","propMetadata","propDecorators","keys","parentPropMetadata","ownPropMetadata","_ownPropMetadata","lcProperty","functionBody","moduleUrl","members","runtime","enumIdentifier","decoratorInvocations","decoratorInvocation","decoratorType","annotationArgs","parentProto","getReflect","reflectDependencies","convertDependencies","deps","compiler","dep","reflectDependency","optional","resolved","Token","skipSelf","setTokenAndResolvedType","param","proto","Invalid","compileInjectable","srcMeta","ngFactoryDef","getInjectableMetadata","compileFactory","typeArgumentCount","injectFn","Injectable","configurable","ɵ0$6","USE_VALUE$1","isUseClassProvider","useClass","isUseValueProvider","isUseFactoryProvider","useFactory","isUseExistingProvider","useExisting","compilerMeta","userDeps","ɵ0$7","USE_VALUE$2","EMPTY_ARRAY$1","convertInjectableProviderToFactory","reflectionCapabilities","valueProvider","existingProvider","factoryProvider","classProvider","ɵ0$8","SWITCH_COMPILE_INJECTABLE","render2CompileInjectable","injectableType","SWITCH_COMPILE_INJECTABLE__POST_R3__","SWITCH_COMPILE_INJECTABLE__PRE_R3__","INJECTOR_SCOPE","NOT_YET","CIRCULAR","EMPTY_ARRAY$2","NULL_INJECTOR","getNullInjector","createInjector","defType","additionalProviders","createInjectorWithoutInjectorInstances","_resolveInjectorDefTypes","R3Injector","records","injectorDefTypes","Set","_destroyed","dedupStack","processProvider","processInjectorType","makeRecord","record","assertNotDestroyed","service","clear","previousInjector","couldBeInjectableType","injectableDefInScope","injectableDefOrInjectorDefFactory","hydrate","nextInjector","path","tokens","defOrWrappedDef","parents","defName","isDuplicate","importTypesWithProviders","imported","defProviders","injectorType","isTypeProvider","providerToRecord","multi","multiRecord","existing","hasOnDestroy","has","getUndecoratedInjectableFactory","paramLength","inheritedInjectableDef","isValueProvider","providerToFactory","unwrappedProvider","isFactoryProvider","isExistingProvider","classRef","hasDeps","isClassProvider","INJECTOR_IMPL__PRE_R3__","StaticInjector","INJECTOR_IMPL__POST_R3__","INJECTOR_IMPL","Injector","NULL","IDENT","ɵ0$9","EMPTY","CIRCULAR$1","MULTI_PROVIDER_FN","arguments","ɵ1$1","NO_NEW_LINE$1","_records","useNew","recursivelyProcessProviders","resolveProvider","lastInjector","tryResolveToken","computeDeps","staticError","multiProviderMixError","resolvedProvider","multiProvider","resolveToken","depRecords","depRecord","childRecord","providerDeps","findFirstClosedCycle","constructResolvingPath","reversed","reverse","tokenStrs","k","injectionError","constructResolvingMessage","errMsg","addKey","injectors","noProviderError","first","cyclicDependencyError","instantiationError","originalException","originalStack","invalidProviderError","noAnnotationError","params","signature","ii","parameter","outOfBoundsError","mixingMultiProvidersWithRegularProvidersError","provider1","provider2","ReflectiveKey","displayName","_globalKeyRegistry","numberOfKeys","KeyRegistry","_allKeys","newKey","Reflector","caps","hasLifecycleHook","getter","setter","method","importUri","resourceUri","resolveIdentifier","identifier","resolveEnum","reflector","ReflectiveDependency","visibility","_EMPTY_LIST","ResolvedReflectiveProvider_","resolvedFactories","resolvedFactory","ResolvedReflectiveFactory","dependencies","resolveReflectiveFactory","factoryFn","resolvedDeps","_dependenciesFor","aliasInstance","fromKey","constructDependencies","resolveReflectiveProvider","resolveReflectiveProviders","normalized","_normalizeProviders","resolvedProviderMap","mergeResolvedReflectiveProviders","from","normalizedProvidersMap","b","_extractToken","p","_createDependency","paramMetadata","UNDEFINED","ReflectiveInjector","ResolvedReflectiveProviders","fromResolvedProviders","ReflectiveInjector_","_providers","_parent","_constructionCounter","len","keyIds","objs","_getByKey","createChildFromResolved","inj","instantiateResolved","_instantiateProvider","_getMaxNumberOfObjects","_instantiate","_getByReflectiveDependency","stack","INJECTOR_KEY","_getByKeySelf","_getByKeyDefault","keyId","_new","_getObjByKeyId","_throwOrNull","inj_","_mapProviders","getProviderAtIndex","ANALYZE_FOR_ENTRY_COMPONENTS","Query","ɵ0$a","assign","isViewQuery","descendants","ContentChildren","ɵ1$2","ContentChild","ɵ2","ViewChildren","ɵ3","ViewChild","resolveComponentResources","resourceResolver","componentResolved","urlMap","cachedResourceResolve","promise","resp","then","unwrapResponse","componentResourceResolutionQueue","promises","templateUrl","styleUrls","styleOffset","styleUrl","fullyResolved","all","componentDefResolved","clearResolutionOfComponentResourcesQueue","componentDefPendingResolution","maybeQueueResolutionOfComponentResources","componentNeedsResolution","isComponentDefPendingResolution","old","restoreComponentResolutionQueue","queue","isComponentResourceResolutionQueueEmpty","response","delete","computeStaticStyling","writeToHost","styleValue","_symbolIterator","getSymbolIterator","Symbol","iterator","getOwnPropertyNames","devModeEqual","a","isListLikeIterableA","isListLikeIterableB","areIterablesEqual","isAObject","isBObject","is","WrappedValue","wrapped","isWrapped","isJsObject","comparator","iterator1","iterator2","item1","item2","done","iterateListLike","o","updateBinding","getBinding","bindingUpdated","oldValueToCompare","details","bindingUpdated2","exp1","exp2","different","bindingUpdated3","exp3","bindingUpdated4","exp4","ɵɵattribute","interpolationV","isBindingUpdated","interpolation1","v0","suffix","interpolation2","i0","v1","interpolation3","i1","v2","interpolation4","i2","v3","interpolation5","i3","v4","interpolation6","i4","v5","interpolation7","i5","v6","interpolation8","i6","v7","ɵɵattributeInterpolate1","interpolatedValue","ɵɵattributeInterpolate2","ɵɵattributeInterpolate3","ɵɵattributeInterpolate4","ɵɵattributeInterpolate5","ɵɵattributeInterpolate6","ɵɵattributeInterpolate7","ɵɵattributeInterpolate8","ɵɵattributeInterpolateV","interpolated","interpolationInBetween","detectChanges","markDirty","tick","templateFirstCreatePass","attrsIndex","localRefsIndex","tViewConsts","embeddedTViewNode","ɵɵtemplate","comment","ɵɵreference","ɵɵdirectiveInject","ɵɵinjectAttribute","ɵɵinvalidFactory","ɵɵproperty","setDirectiveInputsWhichShadowsStyling","property","elementStartFirstCreatePass","logUnknownElementError","elementStart","ɵɵelementStart","ɵɵelementEnd","elementEnd","ɵɵelement","isUnknown","HTMLUnknownElement","customElements","elementContainerStartFirstCreatePass","ɵɵelementContainerStart","ɵɵelementContainerEnd","ɵɵelementContainer","ɵɵgetCurrentView","isPromise","isObservable","subscribe","ɵɵlistener","eventName","listenerFn","useCapture","eventTargetResolver","listenerInternal","ɵɵsyntheticHostListener","findExistingListener","tNodeIdx","cleanupEventName","listenerIdxInLCleanup","isTNodeDirectiveHost","processOutputs","lCleanupIndex","existingListener","lastListenerFn","__ngLastListenerFn__","__ngNextListenerFn__","wrapListener","addEventListener","propsLength","minifiedName","output","subscription","executeListenerWithErrorHandling","wrapWithPreventDefault","wrapListenerIn_markDirtyAndPreventDefault","nextListenerFn","preventDefault","returnValue","ɵɵnextContext","matchingProjectionSlotIndex","projectionSlots","wildcardNgContentIndex","ngProjectAsAttrVal","ɵɵprojectionDef","numProjectionSlots","projectionHeads","tails","componentChild","slotIndex","delayProjection","setDelayProjection","ɵɵprojection","selectorIndex","ɵɵpropertyInterpolate","ɵɵpropertyInterpolate1","ɵɵpropertyInterpolate2","ɵɵpropertyInterpolate3","ɵɵpropertyInterpolate4","ɵɵpropertyInterpolate5","ɵɵpropertyInterpolate6","ɵɵpropertyInterpolate7","ɵɵpropertyInterpolate8","ɵɵpropertyInterpolateV","EMPTY_OBJ$1","EMPTY_ARRAY$3","__unused_const_as_closure_does_not_like_standalone_comment_blocks__","insertTStylingBinding","tStylingKeyWithStatic","isHostBinding","isClassBinding","tBindings","tmplHead","tmplTail","isKeyDuplicateOfStatic","tStylingKey","staticKeyValueArray","hasTemplateBindings","previousNode","markDuplicates","markDuplicateOfResidualStyling","residual","isPrevDir","tStylingAtIndex","isMap","foundDuplicate","tStylingValueAtCursor","tStyleRangeAtCursor","isStylingMatch","tStylingKeyCursor","parserState","textEnd","keyEnd","valueEnd","getLastParsedKey","getLastParsedValue","parseClassName","resetParserState","parseClassNameNext","consumeWhitespace","consumeClassToken","parseStyle","parseStyleNext","consumeStyleKey","consumeSeparator","consumeStyleValue","ch","separator","malformedStyleError","fromCharCode","ch1","ch2","ch3","lastChIndex","consumeQuotedText","quoteCharCode","expecting","ɵɵstyleProp","checkStylingProperty","ɵɵclassProp","ɵɵstyleMap","checkStylingMap","styleKeyValueArraySet","styleStringParser","ɵɵclassMap","classStringParser","stylingFirstUpdatePass","updateStyling","normalizeSuffix","stringParser","hasStylingInputShadow","isInHostBindings","staticPrefix","endsWith","updateStylingMap","toStylingKeyValueArray","isHostBindings","wrapInStaticStylingKey","stylingKey","hostDirectiveDef","isFirstStylingInstructionInTemplate","collectStylingFromDirectives","collectStylingFromTAttrs","isFirstStylingInstructionInHostBinding","templateStylingKey","getTemplateHeadTStylingKey","setTemplateHeadTStylingKey","collectResidual","currentDirective","desiredMarker","currentMarker","styleKeyValueArray","unwrappedValue","oldKeyValueArray","newKeyValueArray","oldIndex","oldKey","setKey","tRange","higherPriorityValue","findStylingValue","isStylingValuePresent","isPrevDirection","rawKey","containsStatics","isStylingMap","valueAtLViewIndex","ɵɵtext","textNative","ɵɵtextInterpolate","ɵɵtextInterpolate1","ɵɵtextInterpolate2","ɵɵtextInterpolate3","ɵɵtextInterpolate4","ɵɵtextInterpolate5","ɵɵtextInterpolate6","ɵɵtextInterpolate7","ɵɵtextInterpolate8","ɵɵtextInterpolateV","ɵɵclassMapInterpolate1","ɵɵclassMapInterpolate2","ɵɵclassMapInterpolate3","ɵɵclassMapInterpolate4","ɵɵclassMapInterpolate5","ɵɵclassMapInterpolate6","ɵɵclassMapInterpolate7","ɵɵclassMapInterpolate8","ɵɵclassMapInterpolateV","ɵɵstyleMapInterpolate1","ɵɵstyleMapInterpolate2","ɵɵstyleMapInterpolate3","ɵɵstyleMapInterpolate4","ɵɵstyleMapInterpolate5","ɵɵstyleMapInterpolate6","ɵɵstyleMapInterpolate7","ɵɵstyleMapInterpolate8","ɵɵstyleMapInterpolateV","ɵɵstylePropInterpolate1","valueSuffix","ɵɵstylePropInterpolate2","ɵɵstylePropInterpolate3","ɵɵstylePropInterpolate4","ɵɵstylePropInterpolate5","ɵɵstylePropInterpolate6","ɵɵstylePropInterpolate7","ɵɵstylePropInterpolate8","ɵɵstylePropInterpolateV","ɵɵhostProperty","ɵɵsyntheticHostProperty","getComponent","assertDomElement","loadLContext","getContext","getOwningComponent","elementOrDir","getRootComponents","getInjector","getInjectionTokens","providerTokens","isDirectiveDefHack","getDirectives","throwOnNotFound","getLocalRefs","getHostElement","componentOrDirective","getRenderedText","loadLContextFromNode","getListeners","lContext","listeners","firstParam","secondParam","listenerElement","useCaptureOrIndx","sort","sortListeners","getDebugNode","debugNode","valueInLView","getComponentLView","nodeIndx","Element","applyChanges","GLOBAL_PUBLISH_EXPANDO_KEY","_published","publishDefaultGlobalUtils","publishGlobalUtil","COMPILED","w","ɵ0$b","NULL_INJECTOR$1","renderComponent$1","componentType","componentDef","componentTag","hostRenderer","hostRNode","rootFlags","createRootContext","rootTView","createRootComponentView","createRootComponent","hostFeatures","viewRenderer","rootLView","LifecycleHooksFeature","whenRendered","getSuperType","ɵɵInheritDefinitionFeature","superType","shouldInheritFields","inheritanceChain","superDef","writeableDef","maybeUnwrapEmpty","superHostBindings","inheritHostBindings","superViewQuery","superContentQueries","inheritViewQuery","inheritContentQueries","animation","defData","mergeHostAttrsAcrossInheritance","prevViewQuery","ctx","prevContentQueries","prevHostBindings","COPY_DIRECTIVE_FIELDS","COPY_COMPONENT_FIELDS","ɵɵCopyDefinitionFeature","defAny","viewProviders","resolveProvider$1","lInjectablesBlueprint","providerFactory","beginIndex","existingFactoryIndex","registerDestroyHooksIfSupported","existingProvidersFactoryIndex","existingViewProvidersFactoryIndex","doesProvidersFactoryExist","doesViewProvidersFactoryExist","multiFactory","multiViewProvidersFactoryResolver","multiProvidersFactoryResolver","indexInFactory","multiFactoryAdd","componentProviders","contextIndex","providerIsTypeProvider","existingCallbacksIndex","isComponentProvider","lData","multiResolve","factories","componentCount","multiProviders","f","ɵɵProvidersFeature","processProvidersFn","ComponentRef","ComponentFactory","noComponentFactoryError","ERROR_COMPONENT","getComponent$1","_NullComponentFactoryResolver","ComponentFactoryResolver","CodegenComponentFactoryResolver","_ngModule","_factories","resolveComponentFactory","ComponentFactoryBoundToModule","rootSelectorOrNode","noop","ElementRef","SWITCH_ELEMENT_REF_FACTORY","SWITCH_ELEMENT_REF_FACTORY__POST_R3__","SWITCH_ELEMENT_REF_FACTORY__PRE_R3__","Renderer2Interceptor","RendererFactory2","RendererStyleFlags2","Renderer2","SWITCH_RENDERER2_FACTORY","SWITCH_RENDERER2_FACTORY__POST_R3__","SWITCH_RENDERER2_FACTORY__PRE_R3__","Sanitizer","Version","full","major","minor","patch","VERSION","DefaultIterableDifferFactory","trackByFn","DefaultIterableDiffer","trackByIdentity","ɵ0$c","_linkedRecords","_unlinkedRecords","_previousItHead","_itHead","_itTail","_additionsHead","_additionsTail","_movesHead","_movesTail","_removalsHead","_removalsTail","_identityChangesHead","_identityChangesTail","_trackByFn","_next","nextIt","nextRemove","addRemoveOffset","moveOffsets","currentIndex","getPreviousIndex","adjPreviousIndex","_nextRemoved","previousIndex","localMovePreviousIndex","localCurrentIndex","offset","_nextPrevious","_nextAdded","_nextMoved","_nextIdentityChange","collection","check","_reset","mayBeDirty","itemTrackBy","trackById","_mismatch","_verifyReinsertion","_addIdentityChange","_truncate","isDirty","nextRecord","previousRecord","_prev","_remove","_moveAfter","_reinsertAfter","_addAfter","IterableChangeRecord_","reinsertRecord","_addToMoves","_addToRemovals","_unlink","prevRecord","_prevRemoved","_insertAfter","_DuplicateMap","put","toIndex","_prevDup","_nextDup","_DuplicateItemRecordList","_head","_tail","atOrAfterIndex","duplicates","recordList","moveOffset","DefaultKeyValueDifferFactory","DefaultKeyValueDiffer","_mapHead","_appendAfter","_previousMapHead","_changesHead","_changesTail","_nextChanged","_forEach","_maybeAddToChanges","_getOrCreateRecordForKey","_insertBeforeOrAppend","KeyValueChangeRecord_","_addToAdditions","_addToChanges","IterableDiffers","iterable","find","supports","getTypeNameForDebugging","copied","KeyValueDiffers","kv","keyValDiff","iterableDiff","defaultIterableDiffers","defaultKeyValueDiffers","TemplateRef","SWITCH_TEMPLATE_REF_FACTORY","SWITCH_TEMPLATE_REF_FACTORY__POST_R3__","SWITCH_TEMPLATE_REF_FACTORY__PRE_R3__","ViewContainerRef","SWITCH_VIEW_CONTAINER_REF_FACTORY","SWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__","SWITCH_VIEW_CONTAINER_REF_FACTORY__PRE_R3__","expressionChangedAfterItHasBeenCheckedError","isFirstCheck","viewDebugError","viewWrappedDebugError","err","_addDebugContext","logError","isViewDebugError","viewDestroyedError","shiftInitState","priorInitState","newInitState","state","initState","initIndex","shouldCallLifecycleInitHook","NodeData","asTextData","asElementData","asProviderData","asPureExpressionData","asQueryList","DebugContext","Services","setCurrentNode","createRootView","createComponentView","createNgModuleRef","overrideProvider","overrideComponentView","clearOverrides","checkAndUpdateView","checkNoChangesView","destroyView","resolveDep","createDebugContext","handleEvent","updateDirectives","updateRenderer","dirtyParentQueries","NOOP","_tokenKeyCache","tokenKey","unwrapValue","nodeIdx","bindingIdx","unwrap","globalBindingIdx","oldValues","UNDEFINED_RENDERER_TYPE_ID","EMPTY_RENDERER_TYPE_ID","createRendererType2","_renderCompCount$1","resolveRendererType2","isFilled","None","checkBinding","checkAndUpdateBinding","checkBindingNoChanges","bindingName","markParentViewsForCheck","currView","viewContainerParent","markParentViewsForCheckProjectedViews","endView","dispatchEvent","event","nodeDef","root","declaredViewContainer","parentNodeDef","viewParentEl","renderNode","renderElement","renderText","elementEventFullName","isEmbeddedView","filterQueryId","queryId","splitMatchedQueriesDsl","matchedQueriesDsl","matchedQueries","matchedQueryIds","references","valueType","splitDepsDsl","sourceName","getParentRenderElement","renderHost","componentRendererType","DEFINITION_CACHE","WeakMap","resolveDefinition","rootRenderNodes","renderNodes","visitRootRenderNodes","lastRenderRootNode","visitSiblingRenderNodes","visitRenderNode","childCount","visitProjectedRenderNodes","ngContentIndex","compView","hostElDef","projectedNodes","execRenderNodeAction","ngContent","rn","bindingFlags","embeddedViews","viewContainer","_embeddedViews","NS_PREFIX_RE","splitNamespace","calcBindingFlags","interpolate","valueCount","constAndInterp","_toStringWithNull","inlineInterpolate","c0","a1","c1","a2","c2","a3","c3","a4","c4","a5","c5","a6","c6","a7","c7","a8","c8","a9","c9","EMPTY_ARRAY$4","EMPTY_MAP","UNDEFINED_VALUE","InjectorRefTokenKey","INJECTORRefTokenKey","NgModuleRefTokenKey","moduleProvideDef","depDefs","moduleDef","providersByKey","modules","initNgModule","_def","provDef","_createProviderInstance","resolveNgModuleDep","depDef","providerDef","providerInstance","targetsModule","moduleTransitivelyPresent","injectable","_createClass","_callFactory","depValues","callNgModuleLifecycle","lifecycles","attachEmbeddedView","elementData","attachProjectedView","prevView","renderAttachEmbeddedView","vcElementData","dvcElementData","projectedViews","_projectedViews","markNodeAsProjectedTemplate","viewDef","nodeFlags","childFlags","detachEmbeddedView","renderDetachView$1","detachProjectedView","moveEmbeddedView","oldViewIndex","newViewIndex","prevRenderNode","EMPTY_CONTEXT","createComponentFactory","viewDefFactory","ComponentFactory_","getComponentViewDefinitionFactory","_inputs","_outputs","componentNodeIndex","componentProvider","ComponentRef_","ViewRef_","inputsArr","templateName","outputsArr","_viewRef","_component","_elDef","changeDetectorRef","Injector_","createViewContainerData","elDef","elData","ViewContainerRef_","_data","ref","viewRef_","createChangeDetectorRef","fs","disposables","createTemplateData","TemplateRef_","_parentView","createInjector$1","allowPrivateServices","moduleType","bootstrapComponents","NgModuleRef_","_moduleType","_bootstrapComponents","_destroyListeners","injectFlags","Renderer2TokenKey","ElementRefTokenKey","ViewContainerRefTokenKey","TemplateRefTokenKey","ChangeDetectorRefTokenKey","InjectorRefTokenKey$1","INJECTORRefTokenKey$1","checkIndex","nonMinifiedName","ns","securityContext","outputDefs","outputIndex","directChildFlags","childMatchedQueries","query","createProviderInstance","_createProviderInstance$1","createPipeInstance","createClass","createDirectiveInstance","outputObservable","eventHandlerClosure","checkAndUpdateDirectiveInline","v8","v9","providerData","changed","changes","bindLen","updateProp","checkAndUpdateDirectiveDynamic","callFactory","NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR","searchView","findCompView","cdView","allProviders","publicProviders","binding","callLifecycleHooksChildrenFirst","callProviderLifecycles","callElementProvidersLifecycles","ComponentFactoryResolver$1","ComponentFactory$1","toRefArray","nonMinified","minified","getNamespace$1","elementName","SCHEDULER","createChainedInjector","rootViewInjector","isBoundToModule","tElementNode","nodesforSlot","ComponentRef$1","componentFactoryResolver","injectComponentFactoryResolver","_rootLView","destroyCbs","u","plural","n","Math","floor","abs","localeEn","LOCALE_DATA","registerLocaleData","localeId","extraData","LocaleDataIndex","LocaleId","ExtraData","findLocaleData","locale","normalizedLocale","normalizeLocale","getLocaleData","parentLocale","getLocaleCurrencyCode","CurrencyCode","getLocalePluralCase","PluralCase","ng","common","locales","unregisterAllLocaleData","pluralMapping","getPluralCase","parseInt","DEFAULT_LOCALE_ID","USD_CURRENCY_CODE","LOCALE_ID","setLocaleId","getLocaleId","ngI18nClosureMode","goog","getMsg","getParentFromI18nMutateOpCode","mergedCode","getRefFromI18nMutateOpCode","getInstructionFromI18nMutateOpCode","ELEMENT_MARKER","COMMENT_MARKER","unusedValueExportToPlacateAjd$6","i18nIndexStack","i18nIndexStackPointer","popI18nIndex","pushI18nIndex","changeMask","shiftsCounter","setMaskBit","bit","applyI18n","tI18n","updateOpCodes","tIcus","update","icus","bindingsStartIndex","applyUpdateOpCodes","applyCreateOpCodes","rootindex","createOpCodes","currentTNode","visitedNodes","opCode","textRNode","textNodeIndex","createDynamicNodeAtIndex","destinationNodeIndex","destinationTNode","appendI18nNode","elementNodeIndex","commentValue","commentNodeIndex","commentRNode","tagNameValue","elementRNode","caseCreated","checkBit","skipCodes","sanitizeFn","applyIcuSwitchCase","applyIcuUpdateCase","tIcuIndex","tIcu","currentCaseLViewIndex","activeCaseIndex","tICuIndex","applyIcuSwitchCaseRemove","caseIndex","getCaseIndex","removeCodes","removeOpCode","nodeOrIcuIndex","removeNode","i18nEndFirstPass","lastCreatedNode","markAsDetached","removedPhTNode","removedPhRNode","icuExpression","bindingValue","cases","resolvedCase","i18nUpdateOpCodesToString","opcodes","parser","OpCodeParser","lines","consumeOpCode","consumeString","sanitizationFn","consumeFunction","consumeNumber","hasMore","statements","statement","consumeNumberOrString","opCodeText","i18nMutateOpCodesToString","lastRef","consumeNumberStringOrMarker","line","codes","BINDING_REGEXP","ICU_REGEXP","NESTED_ICU","ICU_BLOCK_REGEXP","i18nVarsCount","parentIndexStack","MARKER","SUBTEMPLATE_REGEXP","PH_REGEXP","NGSP_UNICODE_REGEXP","replaceNgsp","i18nStartFirstPass","subTemplateIndex","parentIndexPointer","previousTNodeIndex","icuExpressions","isRootTemplateMessage","allocNodeIndex","templateTranslation","getTranslationForTemplate","msgParts","phIndex","isElement","extractParts","icuNodeIndex","getBindingMask","icuStart","toMaskBit","mainBinding","hasBinding","generateBindingUpdateOpCodes","i18nAttributesFirstPass","previousElement","previousElementIndex","str","destinationNode","textParts","textValue","valueArr","exec","min","removeInnerTemplateTranslation","inTemplate","tagMatched","search","createCodes","updateCodes","childIcus","nestedIcus","icuIndex","icuCase","parseIcuCase","max","parseICUBlock","pattern","icuType","pos","blocks","wrapper","opCodes","parseNodes","prevPos","braceStack","results","braces","lastIndex","block","currentNode","nestedIcusToCreate","lowerAttrName","nestedIcuIndex","newLocal","nestedIcu","nestedIcuNodeIndex","nestTIcuIndex","ROOT_TEMPLATE_ID","PP_MULTI_VALUE_PLACEHOLDERS_REGEXP","PP_PLACEHOLDERS_REGEXP","PP_ICU_VARS_REGEXP","PP_ICU_PLACEHOLDERS_REGEXP","PP_ICUS_REGEXP","PP_CLOSE_TEMPLATE_REGEXP","PP_TEMPLATE_ID_REGEXP","i18nPostprocess","replacements","templateIdsStack","phs","tmpl","placeholders","placeholder","templateId","isCloseTemplateTag","currentTemplateId","_type","_idx","ɵɵi18nStart","ɵɵi18nEnd","ɵɵi18n","ɵɵi18nAttributes","ɵɵi18nExp","ɵɵi18nApply","ɵɵi18nPostprocess","setClassMetadata","clazz","parentPrototype","parentConstructor","registerModuleFactory","assertSameOrNotExisting","incoming","registerNgModuleType","clearModulesForTest","getRegisteredNgModuleType","NgModuleRef$1","ngLocaleIdDef","_r3Injector","NgModuleFactory$1","ɵɵpureFunction0","slotOffset","pureFn","thisArg","ɵɵpureFunction1","exp","pureFunction1Internal","ɵɵpureFunction2","pureFunction2Internal","ɵɵpureFunction3","pureFunction3Internal","ɵɵpureFunction4","pureFunction4Internal","ɵɵpureFunction5","exp5","ɵɵpureFunction6","exp6","ɵɵpureFunction7","exp7","ɵɵpureFunction8","exp8","ɵɵpureFunctionV","exps","pureFunctionVInternal","getPureFunctionReturnValue","returnValueIndex","lastReturnValue","bindingRoot","ɵɵpipe","pipeName","getPipeDef$1","pipeFactory","pipeInstance","ɵɵpipeBind1","unwrapValue$1","isPure","transform","ɵɵpipeBind2","ɵɵpipeBind3","ɵɵpipeBind4","ɵɵpipeBindV","bindingToInvalidateIdx","EventEmitter_","isAsync","__isAsync","generatorOrNext","complete","schedulerFn","errorFn","completeFn","sink","Subscription","Subject","EventEmitter","symbolIterator","_results","QueryList","symbol","filter","init","reduce","resultsTree","last","emit","unusedValueExportToPlacateAjd$7","unusedValueExportToPlacateAjd$8","unusedValueToPlacateAjd$2","LQuery_","queryList","setDirty","LQueries_","tQueries","noOfInheritedQueries","viewLQueries","tQuery","getByIndex","parentLQuery","indexInDeclarationView","clone","dirtyQueriesWithMatches","getTQuery","TQueryMetadata_","predicate","isStatic","read","TQueries_","queriesForTemplateRef","childQueryIndex","tqueryClone","tquery","TQuery_","crossesNgTemplate","_appliesToNextNode","_declarationNodeIndex","isApplyingToNode","matchTNode","addMatch","declarationNodeIdx","matchTNodeWithReadOption","getIdxOfMatchingSelector","nodeMatchIdx","directiveOrProviderIdx","matchIdx","createResultByTNodeType","createResultForNode","matchingIdx","createSpecialToken","materializeViewResults","queryIndex","lQuery","tViewData","tQueryMatches","matchedNodeIdx","collectQueryResults","lViewResults","embeddedLViews","ɵɵqueryRefresh","reset","notifyOnChanges","ɵɵstaticViewQuery","descend","viewQueryInternal","ɵɵviewQuery","createTQuery","createLQuery","ɵɵcontentQuery","contentQueryInternal","ɵɵstaticContentQuery","saveContentQueryAndDirectiveIndex","ɵɵloadQuery","loadQueryInternal","track","tViewContentQueries","lastSavedDirectiveIndex","ɵɵtemplateRefExtractor","ɵɵinjectPipeChangeDetectorRef","ɵ0$d","angularCoreEnv","jitOptions","setJitOptions","defaultEncapsulation","preserveWhitespaces","getJitOptions","resetJitOptions","EMPTY_ARRAY$5","moduleQueue","enqueueModuleForDelayedScoping","flushingModuleQueue","flushModuleScopingQueueAsMuchAsPossible","every","isResolvedDeclaration","setScopeOnDeclaredComponents","declaration","compileNgModule","compileNgModuleDefs","allowDuplicateDeclarationsInRoot","expandModuleWithProviders","verifySemanticsOfNgModuleDef","compileInjector","importingModule","verifiedNgModule","errors","unwrapModuleWithProvidersImports","mod","verifySemanticsOfNgModuleImport","verifyDeclarationsHaveDefinitions","verifyDirectivesHaveSelector","combinedDeclarations","computeCombinedExports","verifyExportsAreDeclaredOrReExported","decl","verifyDeclarationIsUnique","verifyComponentEntryComponentsIsPartOfNgModule","getAnnotation","verifyCorrectBootstrapType","verifyComponentIsPartOfNgModule","entryComponents","kind","suppressErrors","existingModule","ownerNgModule","typeOrWithProviders","collect","__annotations__","readAnnotation","decorator","resetCompiledComponents","transitiveScopes","transitiveScopesFor","patchComponentDefWithScope","ngSelectorScope","compilation","dir","pipe","isNgModule","scopes","exported","importedType","importedScope","entry","declared","declaredWithDefs","exportedType","exportedScope","isModuleWithProviders","compilationDepth","compileComponent","ngComponentDef","addDirectiveFactoryDef","directiveMetadata","typeSourceSpan","createParseSourceSpan","animations","interpolation","usesInheritance","addDirectiveDefToUndecoratedParents","hasSelectorScope","compileDirective","ngDirectiveDef","getDirectiveMetadata","sourceMapUrl","facade","Directive","extendsDirectlyFromObject","extractQueriesMetadata","isContentQuery","lifecycle","usesOnChanges","extractExportAs","viewQueries","objPrototype","shouldAddAbstractDirective","convertToR3QueryPredicate","splitByComma","convertToR3QueryMetadata","ann","static","isQueryAnn","queriesMeta","isInputAnnotation","piece","LIFECYCLE_HOOKS","hookName","metadataName","compilePipe","ngPipeDef","getPipeMetadata","Pipe","ɵ0$e","ɵ1$3","SWITCH_COMPILE_DIRECTIVE","ɵ2$1","c","ɵ3$1","SWITCH_COMPILE_COMPONENT","Component","ɵ4","ɵ5","SWITCH_COMPILE_PIPE","ɵ6","bindingPropertyName","Input","ɵ7","Output","ɵ8","hostPropertyName","HostBinding","ɵ9","HostListener","SWITCH_COMPILE_COMPONENT__POST_R3__","SWITCH_COMPILE_DIRECTIVE__POST_R3__","SWITCH_COMPILE_PIPE__POST_R3__","SWITCH_COMPILE_COMPONENT__PRE_R3__","SWITCH_COMPILE_DIRECTIVE__PRE_R3__","SWITCH_COMPILE_PIPE__PRE_R3__","ɵ0$f","ɵ1$4","SWITCH_COMPILE_NGMODULE","NgModule","preR3NgModuleCompile","SWITCH_COMPILE_NGMODULE__POST_R3__","SWITCH_COMPILE_NGMODULE__PRE_R3__","APP_INITIALIZER","ApplicationInitStatus","appInits","initialized","donePromise","rej","reject","asyncInitPromises","initResult","catch","ApplicationInitStatus_Factory","APP_ID","_appIdRandomProviderFactory","_randomChar","APP_ID_RANDOM_PROVIDER","random","PLATFORM_INITIALIZER","PLATFORM_ID","APP_BOOTSTRAP_LISTENER","PACKAGE_ROOT_URL","Console","log","Console_Factory","LOCALE_ID$1","DEFAULT_CURRENCY_CODE","TRANSLATIONS","TRANSLATIONS_FORMAT","MissingTranslationStrategy","SWITCH_IVY_ENABLED__POST_R3__","SWITCH_IVY_ENABLED__PRE_R3__","ivyEnabled","ModuleWithComponentFactories","ngModuleFactory","componentFactories","_throwError","Compiler_compileModuleSync__PRE_R3__","Compiler_compileModuleSync__POST_R3__","Compiler_compileModuleSync","Compiler_compileModuleAsync__PRE_R3__","Compiler_compileModuleAsync__POST_R3__","Compiler_compileModuleAsync","Compiler_compileModuleAndAllComponentsSync__PRE_R3__","Compiler_compileModuleAndAllComponentsSync__POST_R3__","Compiler_compileModuleAndAllComponentsSync","Compiler_compileModuleAndAllComponentsAsync__PRE_R3__","Compiler_compileModuleAndAllComponentsAsync__POST_R3__","Compiler_compileModuleAndAllComponentsAsync","Compiler","compileModuleSync","compileModuleAsync","compileModuleAndAllComponentsSync","compileModuleAndAllComponentsAsync","Compiler_Factory","COMPILER_OPTIONS","CompilerFactory","scheduleMicroTask","Zone","getNativeRequestAnimationFrame","nativeRequestAnimationFrame","nativeCancelAnimationFrame","unpatchedRequestAnimationFrame","__symbol__","unpatchedCancelAnimationFrame","NgZone","enableLongStackTrace","shouldCoalesceEventChangeDetection","hasPendingMacrotasks","hasPendingMicrotasks","isStable","onUnstable","onMicrotaskEmpty","onStable","onError","assertZonePatched","_nesting","_outer","_inner","fork","lastRequestAnimationFrameId","forkInnerZoneWithAngularBehavior","applyThis","applyArgs","run","zone","task","scheduleEventTask","EMPTY_PAYLOAD","noop$1","runTask","cancelTask","runGuarded","isInAngularZone","checkStable","runOutsideAngular","delayChangeDetectionForEvents","fakeTopEventTask","updateMicroTaskStatus","invoke","delayChangeDetectionForEventsDelegate","maybeDelayChangeDetection","properties","onInvokeTask","delegate","onEnter","invokeTask","onLeave","onInvoke","onHasTask","hasTaskState","hasTask","change","_hasPendingMicrotasks","microTask","macroTask","onHandleError","NoopNgZone","Testability","_ngZone","_pendingCount","_isZoneStable","_didWork","_callbacks","taskTrackingZone","_watchAngularEvents","assertNotInAngularZone","_runCallbacksIfReady","cb","clearTimeout","timeoutId","doneCb","pending","getPendingTasks","updateCb","macroTasks","creationLocation","timeout","addCallback","using","exactMatch","Testability_Factory","TestabilityRegistry","_applications","_testabilityGetter","addToWindow","testability","elem","findInAncestors","findTestabilityInTree","TestabilityRegistry_Factory","_NoopGetTestability","setTestabilityGetter","_platform","compileNgModuleFactory","compileNgModuleFactory__POST_R3__","compileNgModuleFactory__PRE_R3__","compilerFactory","createCompiler","moduleFactory","ngJitMode","compilerOptions","_lastDefined","compilerProviders","_mergeArrays","compilerInjector","resourceLoader","ResourceLoader","publishDefaultGlobalUtils__PRE_R3__","publishDefaultGlobalUtils__POST_R3__","publishDefaultGlobalUtils$1","isBoundToModule__POST_R3__","isBoundToModule__PRE_R3__","cf","ALLOW_MULTIPLE_PLATFORMS","NgProbeToken","createPlatform","PlatformRef","inits","createPlatformFactory","parentPlatformFactory","desc","extraProviders","platform","getPlatform","injectedProviders","assertPlatform","requiredToken","destroyPlatform","_injector","_modules","ngZoneOption","ngZone","ngZoneEventCoalescing","getNgZone","ngZoneInjector","moduleRef","exceptionHandler","_callAndReportToErrorHandler","initStatus","runInitializers","_moduleDoBootstrap","optionsReducer","bootstrapModuleFactory","ApplicationRef","ngDoBootstrap","module","PlatformRef_Factory","_zone","_exceptionHandler","_componentFactoryResolver","_initStatus","_bootstrapListeners","_views","_runningTick","_enforceNoNewChanges","_stable","componentTypes","isCurrentlyStable","Observable","observer","stableSub","unstableSub","assertInAngularZone","merge$1","share","componentOrFactory","selectorOrNode","compRef","_unloadComponent","registerApplication","_loadComponent","checkNoChanges","attachToAppRef","detachFromAppRef","attachView","ApplicationRef_Factory","part","NgModuleFactoryLoader","getModuleFactory__PRE_R3__","noModuleError","getModuleFactory__POST_R3__","getModuleFactory","_SEPARATOR","FACTORY_CLASS_SUFFIX","SystemJsNgModuleLoaderConfig","DEFAULT_CONFIG","factoryPathPrefix","factoryPathSuffix","SystemJsNgModuleLoader","_compiler","config","_config","legacyOfflineMode","loadFactory","loadAndCompile","exportName","System","checkNotEmpty","factoryClassSuffix","SystemJsNgModuleLoader_Factory","modulePath","ViewRef$1","EmbeddedViewRef","DebugEventListener","DebugNode__PRE_R3__","nativeNode","_debugContext","DebugElement__PRE_R3__","addChild","childNodes","childIndex","newChildren","siblingIndex","refChild","newChild","refIndex","queryAll","_queryElementChildren","_queryNodeChildren","eventObj","asNativeElements","debugEls","DebugNode__POST_R3__","DebugElement__POST_R3__","_queryAllR3","invokedListeners","eventListeners","unwrappedListener","copyDomProperties","collectPropertyBindings","lowercaseTNodeAttrs","eAttrs","lowercaseName","baseVal","getDebugNode__POST_R3__","NodePrototype","descriptors","getOwnPropertyDescriptors","isPrimitiveValue","parentElement","elementsOnly","_queryNodeChildrenR3","_queryNativeNodeDescendants","rootNativeNode","_addQueryMatchR3","nodeOrContainer","_queryNodeChildrenInContainerR3","head","nextLView","nextTNode","childView","getDebugNode$1","bindingIndexes","metadataParts","_nativeNodeToDebugNode","getDebugNode__PRE_R3__","NG_DEBUG_PROPERTY","getDebugNodeR2__PRE_R3__","getDebugNodeR2__POST_R3__","_nativeNode","getDebugNodeR2","getAllDebugNodes","indexDebugNode","removeDebugNodeFromIndex","DebugNode","DebugElement","_CORE_PLATFORM_PROVIDERS","platformCore","_iterableDiffersFactory","_keyValueDiffersFactory","_localeFactory","getGlobalLocale","LOCALE","$localize","ɵ0$g","APPLICATION_MODULE_PROVIDERS","zoneSchedulerFactory","ApplicationModule","ApplicationModule_Factory","anchorDef","templateFactory","elementDef","namespaceAndName","fixedAttrs","bindingDefs","suffixOrSecurityContext","parentEl","listenToElementOutputs","handleEventClosure","renderEventHandlerClosure","listenTarget","listenerView","disposable","checkAndUpdateElementInline","checkAndUpdateElementValue","checkAndUpdateElementDynamic","setElementAttribute","setElementClass","setElementStyle","bindView","setElementProperty","renderValue","unit","queryDef","bindingType","filterId","createQuery","queryIds","nodeMatchedQueries","tplDef","checkAndUpdateQuery","newValues","calcQueryValues","notify","boundValue","getQueryValue","dvc","projectedView","queryValueType","ngContentDef","appendNgContent","purePipeDef","argCount","_pureExpressionDef","pureArrayDef","pureObjectDef","propToIndex","nbKeys","propertyNames","createPureExpression","checkAndUpdatePureExpressionInline","checkAndUpdatePureExpressionDynamic","textDef","staticText","checkAndUpdateTextInline","_addInterpolationPart","checkAndUpdateTextDynamic","valueStr","viewBindingCount","viewDisposableCount","viewNodeFlags","viewRootNodeFlags","viewMatchedQueries","currentParent","currentRenderParent","currentElementHasPublicProviders","currentElementHasPrivateProviders","validateNode","isPrivateService","isNgContainer","newParent","rootNodeFlags","bindingCount","outputCount","nodeCount","parentFlags","parentEnd","createView","initView","createViewNodes","compRenderer","hostDef","nodeData","compViewDef","execComponentViewsAction","ViewAction","CreateViewNodes","execQueriesAction","markProjectedViewsForCheck","execEmbeddedViewsAction","CheckNoChanges","CheckAndUpdate","callInit","checkAndUpdateNode","argStyle","checkAndUpdateNodeInline","checkAndUpdateNodeDynamic","checkNoChangesNode","checkNoChangesNodeInline","checkNoChangesNodeDynamic","checkNoChangesQuery","Destroy","destroyViewNodes","callViewAction","viewState","execProjectedViewsAction","CheckNoChangesProjectedViews","CheckAndUpdateProjectedViews","queryFlags","staticDynamicQueryFlag","checkType","initServicesIfNeeded","services","createDebugServices","createProdServices","createProdRootView","DebugContext_","prodCheckAndUpdateNode","prodCheckNoChangesNode","debugSetCurrentNode","debugCreateRootView","debugCreateEmbeddedView","debugCreateComponentView","debugCreateNgModuleRef","debugOverrideProvider","debugOverrideComponentView","debugClearOverrides","debugCheckAndUpdateView","debugCheckNoChangesView","debugDestroyView","debugHandleEvent","debugUpdateDirectives","debugUpdateRenderer","elInjector","createRootData","DebugRendererFactory2","defWithOverride","applyProviderOverridesToView","callWithDebugContext","DebugAction","viewDefOverrides","applyProviderOverridesToNgModule","providerOverrides","providerOverridesWithScope","override","comp","compFactory","hostViewDef","elementIndicesWithOverwrittenProviders","findElementIndicesWithOverwrittenProviders","applyProviderOverridesToElement","elIndicesWithOverwrittenProviders","lastElementDef","elIndex","calcHasOverrides","hasOverrides","hasDeprecatedOverrides","applyProviderOverrides","deprecatedBehavior","moduleSet","_currentAction","_currentView","_currentNodeIndex","nextDirectiveWithBinding","debugCheckDirectivesFn","debugCheckAndUpdateNode","debugCheckNoChangesNode","nextRenderNodeWithBinding","debugCheckRenderNodeFn","givenValues","bindingValues","elView","logViewDef","logNodeIndex","renderNodeIndex","getRenderNodeIndex","currRenderNodeIndex","nodeLogger","elOrCompView","childDef","collectReferences","findHostElement","refName","oldAction","oldView","oldNodeIndex","getCurrentDebugContext","renderData","DebugRenderer2","whenRenderingDone","debugContextFactory","debugCtx","debugEl","debugChildEl","debugRefEl","oldChild","fullName","createNgModuleFactory","defFactory","NgModuleFactory_","cloneNgModuleDefinition","_ngModuleDefFactory","getDOM","Examples","_buildValueString","_extractId","resolvedPromise","formControlBinding","formDirectiveProvider","NgNoValidate","NgSelectMultipleOption","InternalFormsSharedModule","CDK_VERSION","nextUniqueId","observableThrow","AnimationEngine","AnimationStyleNormalizer","supportsWebAnimations","WebAnimationsDriver","CssKeyframesDriver","WebAnimationsStyleNormalizer","DomRendererFactory2","NoopAnimationDriver","DomAdapter","setRootDomAdapter","allowSanitizationBypassOrThrow","PLATFORM_BROWSER_ID","lastValue","applyRedirects","applyRedirectsFn","NoMatch","getOutlet","recognize","recognizeFn","EmptyOutletComponent","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","Uint8Array","code","getLens","b64","validLen","placeHoldersLen","lens","_byteLength","tmp","curByte","tripletToBase64","num","encodeChunk","uint8","extraBytes","maxChunkLength","len2","base64","require","ieee754","Buffer","SlowBuffer","INSPECT_MAX_BYTES","TYPED_ARRAY_SUPPORT","typedArraySupport","kMaxLength","__proto__","foo","subarray","createBuffer","that","RangeError","encodingOrOffset","allocUnsafe","poolSize","_augment","TypeError","ArrayBuffer","fromArrayBuffer","fromString","fromObject","species","assertSize","alloc","encoding","checked","allocUnsafeSlow","string","isEncoding","write","fromArrayLike","byteOffset","isBuffer","copy","buffer","isnan","_isBuffer","compare","x","y","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","bidirectionalIndexOf","val","isNaN","arrayIndexOf","indexSize","arrLength","valLength","readUInt16BE","includes","hexWrite","Number","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","isFinite","toJSON","_arr","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","decodeCodePointsArray","MAX_ARGUMENTS_LENGTH","codePoints","ret","out","toHex","bytes","newBuf","sliceLen","checkOffset","ext","readUIntLE","noAssert","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","checkInt","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","objectWriteUInt16","littleEndian","writeUInt16LE","writeUInt16BE","objectWriteUInt32","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","checkIEEE754","writeFloat","writeFloatLE","writeFloatBE","writeDouble","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","base64clean","stringtrim","units","Infinity","leadSurrogate","byteArray","lo","R","Reflect","ReflectApply","receiver","ReflectOwnKeys","ownKeys","getOwnPropertySymbols","ProcessEmitWarning","warning","NumberIsNaN","once","_events","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","setMaxListeners","_getMaxListeners","getMaxListeners","doError","events","er","handler","arrayClone","_addListener","prepend","newListener","warned","emitter","addListener","on","prependListener","onceWrapper","fired","removeListener","wrapFn","_onceWrap","prependOnceListener","position","originalListener","spliceOne","off","removeAllListeners","_listeners","evlistener","unwrapListeners","rawListeners","listenerCount","eventNames","eventListener","errorListener","define","_registerModule","glob","doc","userAgent","svg","SVG_NS","isMS","isFirefox","isChrome","hasBidiBug","H","product","version","deg2rad","hasTouch","isWebKit","isSafari","isTouchDevice","chartCount","seriesTypes","symbolSizes","win","marginNames","charts","dateFormats","severity","stop","isCode","isNumber","defaultHandler","additionalMessages_1","objectEach","encodeURI","chart","fireEvent","doCopy","isClass","isDOMElement","original","isObject","isString","defined","pick","getNestedProperty","pathElements","subProperty","pathElement","messages","pInt","H.pInt","mag","H.isString","H.isArray","H.isDOMElement","H.isClass","H.isNumber","erase","H.erase","H.defined","splat","H.splat","syncTimeout","H.syncTimeout","internalClearTimeout","H.clearTimeout","extend","H.extend","css","H.css","H.createElement","attribs","nopad","padding","border","margin","extendClass","H.extendClass","pad","H.pad","padder","relativeLength","H.relativeLength","base","parseFloat","wrap","H.wrap","proceed","outerArgs","ctx.proceed","func","format","H.format","splitter","isInside","floatRegex","decRegex","lang","time","numberFormatter","numberFormat","valueAndFormat","segment","decimals","getMagnitude","H.getMagnitude","normalizeTickInterval","H.normalizeTickInterval","retInterval","interval","magnitude","multiples","hasTickAmount","correctFloat","stableSort","H.stableSort","sortValue","sortFunction","arrayMin","H.arrayMin","arrayMax","H.arrayMax","destroyObjectProperties","H.destroyObjectProperties","discardElement","H.discardElement","garbageBin","H.correctFloat","prec","timeUnits","millisecond","second","minute","hour","day","week","month","year","H.numberFormat","number","origDec","exponent","toExponential","toFixed","strinteger","thousands","decimalPoint","roundedNumber","Math.easeInOutSine","getStyle","H.getStyle","offsetWidth","boundingClientRectWidth","inArray","H.inArray","H.keys","H.offset","docElem","box","top","left","H.objectEach","each","grep","addEvent","H.addEvent","eventObject","order","removeEvent","H.removeEvent","removeOneEvent","removeAllEvents","eventCollection","eventElem","H.fireEvent","eventArguments","fireInOrder","protoEvents","hcEvents","iA","iB","defaultFunction","uniqueKey","hash","serialMode","useSerialIds","H.useSerialIds","isFunction","H.isFunction","getOptions","H.getOptions","setOptions","H.setOptions","win.jQuery.fn.highcharts","utilitiesModule","clamp","U","Color","regex","parse","Color.parse","Color.prototype.init","rgba","Color.prototype.get","Color.prototype.brighten","Color.prototype.setOpacity","alpha","Color.prototype.tweenTo","fromRgba","toRgba","to","hasAlpha","white","black","Fx","NaN","Fx.prototype.dSetter","paths","now","startSeg","endSeg","tweenSeg","startItem","endItem","Fx.prototype.update","step","Fx.prototype.run","timer","Date","Fx.prototype.step","duration","curAnim","gotoEnd","Fx.prototype.initPath","moveSegment","otherSegment","other","fullLength","isArea","append","segmentToAdd","lowerSegmentToAdd","startX","endX","fromD","toD","positionFactor","Fx.prototype.fillSetter","Fx.prototype.strokeSetter","setAnimation","H.setAnimation","animObject","H.animObject","defer","getDeferredAnimation","H.getDeferredAnimation","labelAnimation","series","seriesAnim","anim","animate","H.animate","fx","opt","easing","H.stop","animationExports","A","SVGElement","SVGElement.prototype._defaultGetter","SVGElement.prototype._defaultSetter","SVGElement.prototype.add","inserted","SVGElement.prototype.addClass","currentClassName","newClassName","SVGElement.prototype.afterSetters","SVGElement.prototype.align","alignedObjects","vAlignFactor","alignOptions","alignByTranslate","alignTo","align","vAlign","alignFactor","SVGElement.prototype.alignSetter","convert","center","right","SVGElement.prototype.animate","_this","animOptions","deferTime","SVGElement.prototype.applyTextOutline","textOutline","strokeWidth","tspans","isRTL_1","tspan","stroke","whitespace","SVGElement.prototype.attr","symbolCustomAttribs","eachAttribute","skipAttr","continueAnimation","hasSetSymbolSize","rotation","SVGElement.prototype.clip","clipRect","SVGElement.prototype.crisp","rect","normalizer","SVGElement.prototype.complexColor","colorOptions","gradName","gradAttr","gradients","stops","radialReference","x1","y1","x2","y2","gradientUnits","radAttr","gradientObject_1","colorObject","stopColor","stopObject","colorOptions.toString","SVGElement.prototype.css","oldStyles","newStyles","serializedCss","hasNew","svgPseudoProps","textWidth","hyphenate","SVGElement.prototype.dashstyleSetter","SVGElement.prototype.destroy","parentToClean","ownerSVGElement","clipPath_1","clipPath","grandParent","SVGElement.prototype.destroyShadows","shadows","SVGElement.prototype.destroyTextPath","textElement","SVGElement.prototype.dSetter","seg","acc","SVGElement.prototype.fadeOut","elemWrapper","opacity","SVGElement.prototype.fillSetter","SVGElement.prototype.getBBox","textStr","cache","cacheKeys","isSVG","cacheKey","bBox","toggleTextShadowShim","width","height","htmlGetBBox","rad","SVGElement.prototype.getStyle","SVGElement.prototype.hasClass","SVGElement.prototype.hide","hideByTranslation","SVGElement.prototype.htmlGetBBox","SVGElement.prototype.init","SVGElement.prototype.invert","inverted","updateTransform","SVGElement.prototype.on","svgElement","touchEventFired","element.ontouchstart","element.ontouchend","clientX","clientY","element.onclick","SVGElement.prototype.opacitySetter","SVGElement.prototype.removeClass","SVGElement.prototype.removeTextOutline","SVGElement.prototype.safeRemoveChild","SVGElement.prototype.setRadialReference","existingGradient","coordinates","SVGElement.prototype.setTextPath","attribsMap","textAnchor","adder","textPathWrapper","firstTime","textPathOptions","enabled","dy","startOffset","textPathId","textPathElement","SVGElement.prototype.shadow","oldShadowOptions","defaultShadowOptions","color","offsetX","offsetY","shadowOptions","shadowElementOpacity","shadow","cutOff","group","SVGElement.prototype.show","inherit","SVGElement.prototype.strokeSetter","SVGElement.prototype.strokeWidth","dummy","SVGElement.prototype.symbolAttr","d","SVGElement.prototype.textSetter","SVGElement.prototype.titleSetter","titleNode","SVGElement.prototype.toFront","SVGElement.prototype.translate","translateX","translateY","SVGElement.prototype.updateShadows","SVGElement.prototype.updateTransform","scaleX","scaleY","matrix","SVGElement.prototype.visibilitySetter","SVGElement.prototype.xGetter","SVGElement.prototype.zIndexSetter","parentGroup","svgParent","otherElement","otherZIndex","undefinedOtherZIndex","SVGElement.prototype.verticalAlignSetter","__extends","extendStatics","__","SVGLabel","_super","anchorX","anchorY","baseline","zIndex","hasBGImage","SVGLabel.prototype.alignSetter","SVGLabel.prototype.anchorXSetter","SVGLabel.prototype.anchorYSetter","SVGLabel.prototype.boxAttr","SVGLabel.prototype.css","textStyles","isFontStyle","SVGLabel.prototype.destroy","SVGLabel.prototype.fillSetter","SVGLabel.prototype.getBBox","SVGLabel.prototype.getCrispAdjust","SVGLabel.prototype.heightSetter","SVGLabel.prototype.on","label","span","selectiveHandler","SVGLabel.prototype.onAdd","SVGLabel.prototype.paddingSetter","SVGLabel.prototype.paddingLeftSetter","SVGLabel.prototype.rSetter","SVGLabel.prototype.shadow","SVGLabel.prototype.strokeSetter","SVGLabel.prototype.textSetter","SVGLabel.prototype.updateBoxSize","paddingLeft","textAlign","crispAdjust","SVGLabel.prototype.updateTextPadding","textY","textX","SVGLabel.prototype.widthSetter","SVGLabel.prototype.xSetter","SVGLabel.prototype.ySetter","SVGRenderer","SVGRenderer.prototype.init","styledMode","boxWrapper","allowHTML","forExport","imgCount","setSize","subPixelFix","SVGRenderer.prototype.definition","recurse","ren","SVGRenderer.prototype.getStyle","fontFamily","fontSize","SVGRenderer.prototype.setStyle","SVGRenderer.prototype.isHidden","SVGRenderer.prototype.destroy","rendererDefs","unSubPixelFix","SVGRenderer.prototype.createElement","SVGRenderer.prototype.getRadialAttr","cx","cy","SVGRenderer.prototype.truncate","minIndex","words","maxIndex","lengths","updateTSpan","getSubStringLength","concatenatedEnd","charEnd","startAt","getString","truncated","actualWidth","SVGRenderer.prototype.buildText","textNode","hasMarkup","parentX","textLineHeight","ellipsis","noWrap","tempParent","getLineHeight","fontSizeStyle","unescapeEntities","except","inputStr","parseAttribute","delimiter","regexMatchBreaks","textCache","spanNo","lineLength","spans","buildTextSpans","hrefAttribute","classAttribute","styleAttribute","lineNo","display","hasWhiteSpace","wrapLineNo","isSubsequentLine","SVGRenderer.prototype.getContrast","SVGRenderer.prototype.button","curState","userNormalStyle","normalState","fontWeight","hoverState","pressedState","disabledState","label.setState","SVGRenderer.prototype.crispLine","roundingFunction","points","SVGRenderer.prototype.path","SVGRenderer.prototype.circle","wrapper.ySetter","SVGRenderer.prototype.arc","innerR","arc","SVGRenderer.prototype.rect","wrapper.rSetter","rx","ry","wrapper.rGetter","SVGRenderer.prototype.setSize","viewBox","SVGRenderer.prototype.g","SVGRenderer.prototype.image","preserveAspectRatio","setSVGImageSource","onDummyLoad","onload","SVGRenderer.prototype.symbol","imageRegex","isImage","sym","symbolFn","symbolName","centerImage","imgSize","trans","SVGRenderer.prototype.clipRect","SVGRenderer.prototype.text","useHTML","wrapper.xSetter","parentVal","SVGRenderer.prototype.fontMetrics","getComputedStyle","lineHeight","h","SVGRenderer.prototype.rotCorr","SVGRenderer.prototype.pathToSegments","commandLength","C","L","M","Q","S","T","V","SVGRenderer.prototype.label","circle","open","square","triangle","triangle-down","diamond","fullCircle","proximity","innerRadius","cosStart","sinStart","cosEnd","sinEnd","longArc","callout","safeDistance","halfDistance","arrowLength","htmlCss","isSettingWidth","doTransform","htmlUpdateTransform","alignCorrection","whiteSpace","marginLeft","marginTop","currentTextTransform","oldTextWidth","oldRotation","oldAlign","setSpanRotation","cTT","rotationStyle","cssTransformKey","getSpanCorrection","yCorr","getTransformKey","addSetters","gWrapper","styleObject","wrapper.textSetter","wrapper.rotationSetter","wrapper.afterSetters","wrapper.add","svgGroupWrapper","translateSetter","htmlGroupStyle","htmlGroup","pointerEvents","classSetter","translateXSetter","translateYSetter","addedSetters","Tick","axis","Tick.prototype.addLabel","categories","names","labelOptions","tickPositions","isFirst","isLast","animateLabels","tickPositionInfo","dateTimeLabelFormats","dateTimeLabelFormat","tick.shortenLabel","Tick.prototype.createLabel","xy","Tick.prototype.destroy","Tick.prototype.getPosition","cHeight","horiz","tickPos","Tick.prototype.getLabelPosition","transA","staggerLines","rotCorr","yOffset","labelOffsetCorrection","tickmarkOffset","Tick.prototype.getLabelSize","Tick.prototype.getMarkPath","Tick.prototype.handleOverflow","pxPos","chartWidth","spacing","leftBound","rightBound","factor","labelWidth","slotWidth","modifiedSlotWidth","goRight","rightPos","textOverflow","Tick.prototype.moveLabel","moved","currentTick","xPos","labelPos","yPos","Tick.prototype.render","getPosition","reverseCrisp","isNew","Tick.prototype.renderGridLine","gridLine","gridPrefix","gridLineWidth","gridLineColor","dashStyle","gridLinePath","lineWidth","force","Tick.prototype.renderMark","tickPrefix","tickSize","mark","isNewMark","tickWidth","tickColor","getMarkPath","Tick.prototype.renderLabel","show","getLabelPosition","handleOverflow","isNewLabel","Tick.prototype.replaceMovedLabel","movedLabel","Highcharts","Time","Time.prototype.get","realMs","date","ms","Time.prototype.set","newOffset","Time.prototype.update","useUTC","getTimezoneOffset","timezone","Time.prototype.makeTime","getTime","Time.prototype.timezoneOffsetFunction","moment","timestamp","Time.prototype.dateFormat","defaultOptions","hours","dayOfMonth","fullYear","langWeekdays","shortWeekdays","B","Y","I","P","Time.prototype.resolveDTLFormat","main","Time.prototype.getTimeTicks","higherRanks","minDate","normalizedInterval","variableDayLength","startOfWeek","minYear","minDay","minMonth","minDateDate","minHours","totalRange","colors","symbols","loading","months","shortMonths","weekdays","numericSymbols","resetZoom","resetZoomTitle","thousandsSep","timezoneOffset","borderRadius","colorCount","defaultSeriesType","ignoreHiddenSeries","resetZoomButton","theme","borderColor","backgroundColor","plotBorderColor","title","widthAdjust","subtitle","caption","verticalAlign","plotOptions","labels","legend","alignColumns","layout","labelFormatter","navigation","activeColor","inactiveColor","itemStyle","itemHoverStyle","itemHiddenStyle","itemCheckboxStyle","squareSymbol","symbolPadding","labelStyle","tooltip","footerFormat","snap","headerFormat","pointFormat","borderWidth","credits","href","H.dateFormat","optionsModule","dateFormat","O","Axis","Axis.prototype.init","isXAxis","userOptions","Axis.prototype.setOptions","Axis.prototype.defaultLabelFormatter","numSymMagnitude","formatOption","numericSymbolDetector","Axis.prototype.getSeriesExtremes","xExtremes","seriesOptions","threshold","xData","seriesDataMin","dataExtremes","seriesDataMax","Axis.prototype.translate","sign","cvsOffset","localA","localMin","minPixelPadding","doPostTranslate","cvsCoord","backwards","Axis.prototype.toPixels","paneCoordinates","Axis.prototype.toValue","pixel","Axis.prototype.getPlotLinePath","between","skip","axisLeft","axisTop","translatedValue","cWidth","transB","evt","acrossPanes","Axis.prototype.getLinearTickPositions","roundedMin","roundedMax","precision","lastPos","Axis.prototype.getMinorTickInterval","Axis.prototype.getMinorTickPositions","minorTickInterval","minorTickPositions","pointRangePadding","logarithmic_1","logarithmic","paddedTicks","getTimeTicks","dateTime","trimTicks","Axis.prototype.adjustForMinRange","loopLength","distance","closestDataRange","minRange","minArgs","spaceAvailable","maxArgs","Axis.prototype.getClosest","seriesClosest","visible","Axis.prototype.nameToX","explicitCategories","nameX","point","Axis.prototype.updateNames","Axis.prototype.setAxisTranslation","pointRange","minPointOffset","linkedParent","hasCategories","seriesPointRange","pointPlacement","isPointPlacementAxis","ordinalCorrection","saveOld","Axis.prototype.minFromRange","Axis.prototype.setTickInterval","isLinked","maxPadding","minPadding","tickIntervalOption","tickPixelIntervalOption","softThreshold","linkedParentExtremes","thresholdMin","secondPass","hardMin","hardMax","minTickInterval","Axis.prototype.setTickPositions","tickPositionsOption","minorTickIntervalOption","tickPositioner","hasVerticalPanning","isColorAxis","startOnTick","endOnTick","ordinal","Axis.prototype.trimTicks","Axis.prototype.alignToOthers","others","otherOptions","hasOther","Axis.prototype.getTickAmount","tickAmount","tickPixelInterval","Axis.prototype.adjustTickAmount","axisOptions","tickInterval","finalTickAmt","currentTickAmount","Axis.prototype.setScale","isDirtyData","isXAxisDirty","oldMin","oldMax","oldAxisLength","setAxisSize","isDirtyAxisLength","stacking","forceRedraw","getSeriesExtremes","setTickInterval","oldUserMin","userMin","oldUserMax","userMax","panningState","Axis.prototype.setExtremes","redraw","serie","newMin","newMax","Axis.prototype.zoom","dataMin","dataMax","trigger","Axis.prototype.setAxisSize","offsets","Axis.prototype.getExtremes","Axis.prototype.getThreshold","realMin","realMax","translate","Axis.prototype.autoLabelAlign","angle","Axis.prototype.tickSize","tickLength","Axis.prototype.labelMetrics","Axis.prototype.unsquish","newTickInterval","slotSize","rotationOption","labelMetrics","bestScore","getStep","spaceNeeded","autoRotation","rot","score","Axis.prototype.getSlotWidth","slotCount","cssWidth","Axis.prototype.renderUnsquish","ticks","labelStyleOptions","innerWidth","textOverflowOption","maxLabelLength","commonWidth","commonTextOverflow","widthOption","Axis.prototype.hasData","Axis.prototype.addTitle","opposite","axisTitleOptions","axisTitle","high","Axis.prototype.generateTick","Axis.prototype.getOffset","side","invertedSide","titleOffset","titleMargin","labelOffset","axisOffset","clipOffset","directionFactor","axisParent","hasData","showAxis","lineHeightCorrection","labelOffsetPadded","clip","Axis.prototype.getLinePath","lineLeft","lineTop","Axis.prototype.renderLine","Axis.prototype.getTitlePosition","axisLength","xOption","yOption","fontMetrics","textHeightOvershoot","alongAxis","offAxis","titlePosition","Axis.prototype.renderMinorTick","slideInTicks","minorTicks","Axis.prototype.renderTick","Axis.prototype.render","alternateBands","stackLabelOptions","alternateGridColor","axisLine","forDestruction","delay","destroyInactiveItems","coll","titleXy","Axis.prototype.redraw","plotLine","Axis.prototype.getKeepProps","Axis.prototype.destroy","plotLinesAndBands","plotGroup","keepEvents","Axis.prototype.drawCrosshair","graphic","isCrosshair","chartX","chartY","categorized","dashstyle","cross","Axis.prototype.hideCrosshair","Axis.prototype.hasVerticalPanning","_b","Axis.prototype.validatePositiveValue","indentation","minorTickLength","minorTickPosition","showEmpty","tickmarkPlacement","tickPosition","minorGridLineColor","minorGridLineWidth","minorTickColor","lineColor","showLastLabel","stackLabels","allowOverlap","crop","overflow","formatter","DateTimeAxisAdditions","DateTimeAxisAdditions.prototype.normalizeTimeTickInterval","unitsOption","unitRange","unitName","DateTimeAxis","DateTimeAxis.compose","AxisClass","axisProto.getTimeTicks","LogarithmicAxisAdditions","LogarithmicAxisAdditions.prototype.getLogTickPositions","positions","break2","intermediate","log2lin","lin2log","filteredTickIntervalOption","LogarithmicAxisAdditions.prototype.lin2log","LogarithmicAxisAdditions.prototype.log2lin","LogarithmicAxis","LogarithmicAxis.compose","axisProto","logAxisProto","lin2val","axis.lin2val","axis.val2lin","PlotLineOrBand","PlotLineOrBand.prototype.render","optionsLabel","isBand","isLine","svgElem","groupAttribs","groupName","PlotLineOrBand.prototype.renderLabel","labelText","xBounds","yBounds","PlotLineOrBand.prototype.getLabelText","PlotLineOrBand.prototype.destroy","getPlotBandPath","toPath","plus","outside","pathStart","pathEnd","toPathStart","toPathEnd","addPlotBand","addPlotLine","addPlotBandOrLine","updatedOptions","removePlotBandOrLine","removePlotBand","removePlotLine","Tooltip","Tooltip.prototype.applyFilter","stdDeviation","dx","slope","Tooltip.prototype.bodyFormatter","tooltipOptions","Tooltip.prototype.cleanSplit","tt","Tooltip.prototype.defaultFormatter","Tooltip.prototype.destroy","Tooltip.prototype.getAnchor","pointer","plotTop","plotLeft","plotX","plotY","xAxis","mouseEvent","yAxis","Tooltip.prototype.getDateFormat","dateStr","strpos","lastN","blank","Tooltip.prototype.getLabel","onMouseEnter","onMouseLeave","label_1","xSetter_1","ySetter_1","label_1.xSetter","label_1.ySetter","Tooltip.prototype.getPosition","outerWidth","outerHeight","chartPosition","containerScaling","buildDimensionArray","isX","dim","preferFarSide","firstDimension","scaledDist","scaleDiff","innerSize","roomLeft","scaledInnerSize","roomRight","alignedLeft","alignedRight","secondDimension","retVal","outerSize","temp","swapped","Tooltip.prototype.getXDateFormat","closestPointRange","xDateFormat","Tooltip.prototype.hide","Tooltip.prototype.init","scrollablePixelsX","scrollablePixelsY","Tooltip.prototype.isStickyOnContact","stickOnContact","inContact","Tooltip.prototype.move","skipAnchor","Tooltip.prototype.refresh","textConfig","pointConfig","defaultFormatter","shared","followPointer","getAnchor","currentSeries","getLabel","negative","ttBelow","isHidden","Tooltip.prototype.renderSplit","defaultPositioner","isHeader","headerTop","adjustedPlotHeight","boxWidth","bounds","distributionBoxTop","plotHeight","_c","_d","scrollLeft","scrollTop","positioner","bottom","tooltipLabel","headerHeight","boxes","owner","colorClass","colorIndex","boxPosition","rank","_e","Tooltip.prototype.drawTracker","tracker","anchorPos","labelBBox","Tooltip.prototype.styledModeFormat","formatString","Tooltip.prototype.tooltipFooterHeaderFormatter","footOrHead","isFooter","labelConfig","isDateTime","Tooltip.prototype.update","Tooltip.prototype.updatePosition","Pointer","this.unbindContainerMouseLeave","this.unbindContainerMouseEnter","Pointer.prototype.applyInactiveState","activeSeries","inactiveSeries","Pointer.prototype.destroy","clearInterval","Pointer.prototype.drag","chartOptions","zoomHor","zoomVert","plotWidth","selectionMarker","mouseDownX","mouseDownY","panningEnabled","panKey","touch","clickedInside","Pointer.prototype.dragStart","Pointer.prototype.drop","hasPinched","selectionData","originalEvent","selectionBox","selectionLeft","selectionTop","selectionWidth","selectionHeight","runZoom","selectionMin","selectionMax","Pointer.prototype.findNearestKDPoint","hoverPoint","closest","compareX","isCloserX","distX","isCloser","dist","isAbove","Pointer.prototype.getChartCoordinatesFromPoint","shapeArgs","Pointer.prototype.getChartPosition","Pointer.prototype.getCoordinates","Pointer.prototype.getHoverData","hoverPoints","isDirectTouch","existingHoverPoint","notSticky","hoverSeries","eventArgs","searchSeries","directTouch","Pointer.prototype.getPointFromEvent","Pointer.prototype.onTrackerMouseOut","relatedTarget","Pointer.prototype.inClass","elemClassName","Pointer.prototype.init","Pointer.prototype.normalize","touches","ePos","Pointer.prototype.onContainerClick","pEvt","Pointer.prototype.onContainerMouseDown","isPrimaryButton","Pointer.prototype.onContainerMouseLeave","Pointer.prototype.onContainerMouseEnter","Pointer.prototype.onContainerMouseMove","Pointer.prototype.onDocumentTouchEnd","Pointer.prototype.onContainerTouchMove","Pointer.prototype.onContainerTouchStart","Pointer.prototype.onDocumentMouseMove","Pointer.prototype.onDocumentMouseUp","Pointer.prototype.pinch","pinchDown","touchesLength","lastValidTouch","hasZoom","fireClickEvent","absMax","Pointer.prototype.pinchTranslate","Pointer.prototype.pinchTranslateDirection","XY","sChartXY","wh","plotLeftTop","scale","forcedScale","singleTouch","touch0Start","touch0Now","touch1Start","touch1Now","setScale","clipXY","selectionWH","selectionXY","outOfBounds","transformScale","Pointer.prototype.reset","tooltipPoints","allowMove","hoverX","Pointer.prototype.runPointActions","hoverData","useSharedTooltip","applyInactiveState","drawAxisCrosshair","Pointer.prototype.scaleGroups","seriesAttribs","Pointer.prototype.setDOMEvents","ownerDoc","Pointer.prototype.setHoverChartIndex","hoverChart","Pointer.prototype.touch","Pointer.prototype.zoomOption","zoomType","zoomX","zoomY","getWebkitTouches","fake","fake.item","pageX","pageY","translateMSPointer","hasPointerEvent","PointerEvent","MSPointer","MSPointer.prototype.batchMSEvents","MSPointer.prototype.destroy","MSPointer.prototype.init","MSPointer.prototype.onContainerPointerDown","MSPointer.prototype.onContainerPointerMove","MSPointer.prototype.onDocumentPointerUp","MSPointer.prototype.setDOMEvents","Legend","Legend.prototype.init","Legend.prototype.setOptions","Legend.prototype.update","Legend.prototype.colorizeItem","legendItem","legendLine","legendSymbol","hiddenColor","textColor","symbolColor","markerOptions","symbolAttr","Legend.prototype.positionItems","Legend.prototype.positionItem","ltr","legendItemPos","itemX","itemY","checkbox","legendGroup","Legend.prototype.destroyItem","Legend.prototype.destroy","destroyItems","Legend.prototype.positionCheckboxes","alignAttr","clipHeight","titleHeight","Legend.prototype.renderTitle","titleOptions","Legend.prototype.setText","Legend.prototype.renderItem","symbolWidth","itemDistance","li","isSeries","showCheckbox","itemExtraWidth","itemClassName","itemMarginTop","symbolHeight","setItemEvents","createCheckboxForItem","setText","maxItemWidth","totalItemWidth","itemHeight","Legend.prototype.layoutItem","horizontal","itemMarginBottom","maxLegendWidth","itemWidth","Legend.prototype.getAllItems","allItems","Legend.prototype.getAlignment","Legend.prototype.adjustMargins","alignment","alignments","Legend.prototype.proximatePositions","alignLeft","lastPoint","useFirstPoint","Legend.prototype.render","lastItemY","getAlignment","allowedWidth","contentGroup","renderTitle","getAllItems","lastLineHeight","legendWidth","legendHeight","Legend.prototype.align","Legend.prototype.handleOverflow","optionsY","spaceHeight","maxHeight","navOptions","arrowSize","nav","pages","clipToHeight","addTracker","lastY","Legend.prototype.scroll","pageCount","currentPage","scrollBy","pager","runPositionItem","Point","Point.prototype.animateBeforeDestroy","animateParams","graphicalProps","isDataLabel","Point.prototype.applyOptions","pointValKey","dataLabels","formatPrefix","isNull","Point.prototype.destroy","destroyPoint","dataSorting","Point.prototype.destroyElements","Point.prototype.firePointEvent","Point.prototype.getClassName","selected","Point.prototype.getGraphicalProps","singular","kinds","dataLabel","Point.prototype.getLabelConfig","percentage","total","Point.prototype.getNestedProperty","Point.prototype.getZone","zones","zoneAxis","Point.prototype.hasNewShapeType","Point.prototype.init","Point.prototype.optionsToObject","pointArrayMap","firstItemType","Point.prototype.resolveColor","Point.prototype.setNestedProperty","Point.prototype.tooltipFormatter","seriesTooltipOptions","valueDecimals","valuePrefix","BaseSeries","mergedOptions","BaseSeries.addSeries","BaseSeries.cleanRecursively","toClean","reference","ob","BaseSeries.getSeries","optionsChart","Series","missingModuleFor","BaseSeries.seriesType","pointProto","BaseSeries.prototype.update","newOptions","newType","Chart","Chart.prototype.getArgs","Chart.prototype.init","userPlotOptions","typeOptions","chartEvents","Chart.prototype.initSeries","Constr","Chart.prototype.setSeriesData","enabledDataSorting","Chart.prototype.getSeriesOrderByLinks","Chart.prototype.orderSeries","fromIndex","Chart.prototype.isInsidePlot","isInsidePlot","Chart.prototype.redraw","axes","legendUserOptions","redrawLegend","hasCartesianSeries","isDirtyBox","isHiddenChart","afterRedraw","hasStackedSeries","Chart.prototype.get","itemById","Chart.prototype.getAxes","xAxisOptions","yAxisOptions","Chart.prototype.getSelectedPoints","Chart.prototype.getSelectedSeries","Chart.prototype.setTitle","Chart.prototype.applyDescription","elem.update","Chart.prototype.layOutTitles","spacingBox","titleSize","requiresDirtyBox","Chart.prototype.getChartSize","heightOption","renderTo","chartHeight","Chart.prototype.temporaryDisplay","tempStyle","Chart.prototype.setClassName","Chart.prototype.getContainer","containerId","indexAttrName","getChartSize","containerStyle","userSelect","_cursor","setClassName","Chart.prototype.getMargins","skipAxes","Chart.prototype.getAxisMargins","colorAxis","getOffset","Chart.prototype.reflow","hasUserSize","Chart.prototype.setReflow","Chart.prototype.setSize","globalAnimation","Chart.prototype.setChartSize","plotSizeX","plotSizeY","plotBorderWidth","plotBox","clipX","clipY","clipBox","Chart.prototype.resetMargins","splashArrays","Chart.prototype.drawChartBox","chartBackground","plotBackground","plotBorder","plotBGImage","chartBackgroundColor","plotBackgroundColor","plotBackgroundImage","verb","mgn","chartBorderWidth","bgAttr","Chart.prototype.propFromSeries","klass","Chart.prototype.linkSeries","chartSeries","linkedTo","Chart.prototype.renderSeries","Chart.prototype.renderLabels","Chart.prototype.render","correction","renderAxes","getMargins","setChartSize","tempWidth","getAxisMargins","tempHeight","redoHorizontal","hasRendered","Chart.prototype.addCredits","creds","this.credits.update","Chart.prototype.updateContainerScaling","bb","Chart.prototype.destroy","Chart.prototype.firstRender","isReadyToRender","MSPointerEvent","Chart.prototype.onload","scrollablePlotArea","scrollableMinWidth","scrollableMinHeight","corrections","axis.getPlotLinePath","marginName","Chart.prototype.setUpScrolling","WebkitOverflowScrolling","overflowX","overflowY","Chart.prototype.moveFixedElements","fixedRenderer","fixedSelectors","axisClass","Chart.prototype.applyFixed","scrollableOptions","scrollableWidth","scrollableHeight","maskTop","maskLeft","maskBottom","maskRight","maskPlotRight","maskPlotBottom","StackingAxisAdditions","StackingAxisAdditions.prototype.buildStacks","axisSeries","reversedStacks","usePercentage","actualSeries","setGroupedPoints","StackingAxisAdditions.prototype.cleanStacks","oldStacks","StackingAxisAdditions.prototype.resetStacks","stacks","StackingAxisAdditions.prototype.renderStackTotals","animationConfig","stackTotalGroup","StackingAxis","StackingAxis.compose","StackingAxis.onDestroy","StackingAxis.onInit","drawRectangle","drawLineMarker","generalRadius","legendItemGroup","verticalCenter","radius","CartesianSeries","allowPointSelect","crisp","enabledThreshold","states","normal","hover","radiusPlus","lineWidthPlus","select","fillColor","cropThreshold","halo","inactive","stickyTracking","turboThreshold","findNearestPointBy","axisTypes","colorCounter","cropShoulder","isCartesian","parallelArrays","pointClass","requireSorting","sorted","lastSeries","indexOption","bindAxes","updateParallelArrays","autoIncrement","xIncrement","pointIntervalUnit","pointInterval","setDataSortingOptions","allowDG","seriesUserOptions","negativeColor","negativeFillColor","getName","getCyclic","indexName","counterName","defaults","getColor","getPointsCollection","getSymbol","findPointIndex","optionsObject","oldData","matchingPoint","oldPoint","matchedById","pointIndex","drawLegendSymbol","LegendSymbolMixin","updateData","pointsToAdd","equalLength","succeeded","pointOptions","hasUpdatedByKey","setData","oldDataLength","firstPoint","yData","indexOfX","indexOfY","updatedData","dataLength","pt","sortData","sortKey","getPointOptionsObject","aValue","bValue","linkedSeries","seriesData","getProcessedData","processedXData","processedYData","cropStart","getExtremesFromAll","forceExtremesFromAll","val2lin","isLog","throwOnUnsorted","croppedData","cropped","processData","processedData","cropData","cropEnd","generatePoints","dataOptions","PointClass","processedDataLength","hasGroupedData","groupMap","getXExtremes","getExtremes","activeYData","activeCounter","xMin","xMax","shoulder","positiveValuesOnly","yDataLength","withinRange","validValue","applyExtremes","getFirstValidPoint","hasModifyValue","dynamicallyPlaced","stackThreshold","closestPointRangePx","xValue","yValue","yBottom","negStacks","getStackIndicator","pointStack","stackIndicator","stackValues","modifyValue","getValidPoints","isValidPoint","insideOnly","allowNull","getClipBox","scrollablePlotAreaOptions","finalBox","setClip","seriesClipBox","sharedClipKey","markerClipRect","afterAnimate","drawPoints","seriesMarkerOptions","markerGroup","globallyEnabled","pointMarkerOptions","markerAttribs","hasPointMarker","pointAttribs","seriesStateOptions","pointStateOptions","pointColorOption","pointColor","zoneColor","issue134","keepEventsForUpdate","getGraphPath","graphPath","xMap","gap","pathToPoint","drawGraph","graphKey","graph","getZonesGraphs","propset","applyZones","clips","area","chartSizeMax","ignoreZones","zoneGraph","translatedFrom","extremes","translatedTo","pxRange","pxPosMin","pxPosMax","clipAttr","zoneArea","invertGroups","setInvert","getPlotBox","removeEvents","eventsToUnbind","unbind","render","animDuration","chartSeriesGroup","wasDirty","kdAxisArray","searchPoint","buildKDTree","_kdtree","median","depth","dimensions","startRecursive","searchKDTree","_search","tree","tdist","sideA","sideB","nPoint1","nPoint2","kdX","kdY","kdComparer","kdDimensions","pointPlacementToXValue","isPointInside","StackItem","isNegative","stackOption","StackItem.prototype.destroy","StackItem.prototype.render","StackItem.prototype.setOffset","stackItem","boxTop","yZero","boxBottom","xOffset","stackBox","getStackBox","isJustify","boxOffsetX","boxOffsetY","StackItem.prototype.getStackBox","axisPos","neg","Chart.prototype.getStacks","Series.prototype.setGroupedPoints","Series.prototype.setStackedPoints","stackingParam","stackedYData","stackKey","negKey","pointKey","Series.prototype.modifyStacks","pointExtremes","Series.prototype.percentStacker","totalFactor","Series.prototype.getStackIndicator","H.cleanRecursively","newer","older","addSeries","isDirtyLegend","addAxis","addColorAxis","createAxis","showLoading","loadingDiv","loadingOptions","setLoadingSize","hideLoading","propsRequireDirtyBox","propsRequireReflow","propsRequireUpdateSeries","collectionsWithUpdate","adders","isResponsiveOptions","itemsForRemoval","updateAllAxes","updateAllSeries","runSetSize","indexMap","hasId","oneToOne","newWidth","newHeight","setSubtitle","setCaption","hasDummyGraphic","shouldDestroyGraphic","LineSeries","addPoint","isInTheMiddle","removePoint","oldOptions","initialType","keepPoints","initialSeriesProto","preserve","pointStart","groups","setName","hasOptionChanged","option","oldOption","newEvents","setTitle","setCategories","singleStacks","getStackPoints","pointMap","seriesIndex","yAxisSeries","seriesLength","upOrDown","stackX","stackedValues","nullName","cliff","otherStack","stackPoint","visibleSeries","cliffName","bottomPoints","graphPoints","translatedThreshold","connectNulls","addDummyPoints","nullVal","cliffVal","isCliff","doCurve","topPath","bottomPath","firstBottomPoint","areaPath","areaKey","getPointSpline","nextPoint","nextX","nextY","smoothing","denom","rightContX","rightContY","leftContY","areaProto","ColumnSeries","centerInCategory","groupPadding","pointPadding","minPointLength","brightness","startFromThreshold","trackerGroups","otherSeries","getColumnMetrics","reverseStacks","stackGroups","columnCount","otherYAxis","columnIndex","categoryWidth","pointOffsetWidth","pointWidth","paddedWidth","crispCol","xCrisp","yCrisp","fromTop","adjustForMissingColumns","metrics","indexInCategory_1","totalInCategory_1","pointValues","dense","seriesPointWidth","seriesBarW","seriesXOffset","barX","barW","barY","barH","up","p2o","strokeOption","strokeWidthOption","stateOptions","animationLimit","hasGraphic","translateProp","translateStart","jitter","noSharedTooltip","takeOrdinalPosition","applyJitter","plotProp","rand","getCenter","slicingRoom","centerOption","smallestSize","angular","handleSlicingRoom","getStartAndEndRadians","startAngle","endAngle","CenteredSeriesMixin","colorByPoint","connectorPadding","connectorShape","crookDistance","softConnector","ignoreHiddenPoint","inactiveOtherPoints","legendType","showInLegend","slicedOffset","startAngleRad","updateTotals","getX","cumulative","connectorOffset","radians","circ","endAngleRad","labelDistance","maxLabelDistance","finalConnectorOffset","natural","connectorPosition","breakAt","touchingSliceAt","drawEmpty","redrawPoints","animateTo","groupTranslation","shadowGroup","pointAttr","sortByAngle","toggleSlice","isValid","setVisible","vis","sliced","getTranslate","haloPath","connectorShapes","fixedOffset","labelPosition","straight","crookedLine","pieCenterX","crookX","segmentWithCrook","useCrook","getConnectorPath","predefinedShapes","H.distribute","sortByTarget","overlapping","origBoxes","restBoxes","reducedLen","targets","posInCompositeBox","CartesianSeries.prototype.drawDataLabels","applyFilter","op","mergeArrays","one","two","seriesDlOptions","dataLabelAnim","dataLabelsGroup","labelEnabled","connector","CartesianSeries.prototype.alignDataLabel","justify","setStartPos","normRotation","negRotation","CartesianSeries.prototype.setDataLabelStartPos","labelCenter","halfWidth","startXPos","startYPos","CartesianSeries.prototype.justifyDataLabel","justified","radialDistributionY","radialDistributionX","seriesCenter","alignToPlotEdges","dataLabelWidth","half","alignToConnectors","maxDataLabelWidth","seriesTypes.pie.prototype.drawDataLabels","maxWidth","centerY","halves","dataLabelPositioners","pointDataLabelsOptions","distributionLength","naturalY","labelHeight","sideOverflow","connectorWidth","seriesTypes.pie.prototype.placeDataLabels","_pos","seriesTypes.pie.prototype.verifyDataLabelOverflow","minSize","newSize","seriesTypes.column.prototype.alignDataLabel","dlBox","below","inside","overshoot","collectAndHide","collector","dlOptions","Chart.prototype.hideOverlappingLabels","isLabelAffected","getAbsoluteBox","alignValue","label1","label2","box1","box2","newOpacity","TrackerMixin","drawTrackerPoint","onMouseOver","drawTrackerGraph","trackByArea","trackerPath","TRACKER_FILL","isPoint","activeClass","inactiveItem","fnLegendItemClick","browserEvent","strLegendItemClick","defaultChecked","showResetZoom","zoomOut","btnOptions","resetSelection","zoom","displayButton","mouseDownPos","hasZoomed","axisData","axisStartPos","axisEndPos","isWithinPane","pan","hasMapNavigation","doRedraw","panningOptions","mousePos","mouseDown","startPos","halfPointRange","pointRangeDirection","panMin","panMax","flipped","startMin","startMax","paddedMax","spill","paddedMin","accumulate","loopSeries","loopPoint","onMouseOut","firePointEvent","importEvents","setState","previousState","normalDisabled","markerStateOptions","stateDisabled","stateMarkerGraphic","pointMarker","hasMarkers","newSymbol","move","haloOptions","markerVisibility","markerGraphic","setHoverChartIndex","stateAnimation","setAllPointsToState","oldVisibility","hide","drawTracker","Chart.prototype.setResponsive","ruleIds","currentResponsive","rule","undoOptions","Chart.prototype.matchResponsiveRule","condition","Chart.prototype.currentOptions","getCurrent","curr","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","rt","LN2","LARGE_ARRAY_SIZE","CORE_ERROR_TEXT","FUNC_ERROR_TEXT","HASH_UNDEFINED","MAX_MEMOIZE_SIZE","PLACEHOLDER","CLONE_DEEP_FLAG","CLONE_FLAT_FLAG","CLONE_SYMBOLS_FLAG","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","WRAP_BIND_FLAG","WRAP_BIND_KEY_FLAG","WRAP_CURRY_BOUND_FLAG","WRAP_CURRY_FLAG","WRAP_CURRY_RIGHT_FLAG","WRAP_PARTIAL_FLAG","WRAP_PARTIAL_RIGHT_FLAG","WRAP_ARY_FLAG","WRAP_REARG_FLAG","WRAP_FLIP_FLAG","DEFAULT_TRUNC_LENGTH","DEFAULT_TRUNC_OMISSION","HOT_COUNT","HOT_SPAN","LAZY_FILTER_FLAG","LAZY_MAP_FLAG","LAZY_WHILE_FLAG","INFINITY","MAX_SAFE_INTEGER","MAX_INTEGER","NAN","MAX_ARRAY_LENGTH","MAX_ARRAY_INDEX","HALF_MAX_ARRAY_LENGTH","wrapFlags","argsTag","arrayTag","asyncTag","boolTag","dateTag","domExcTag","errorTag","funcTag","genTag","mapTag","numberTag","nullTag","objectTag","promiseTag","proxyTag","regexpTag","setTag","stringTag","symbolTag","undefinedTag","weakMapTag","weakSetTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","reEmptyStringLeading","reEmptyStringMiddle","reEmptyStringTrailing","reEscapedHtml","reUnescapedHtml","reHasEscapedHtml","reHasUnescapedHtml","reEscape","reEvaluate","reInterpolate","reIsDeepProp","reIsPlainProp","rePropName","reRegExpChar","reHasRegExpChar","reTrim","reTrimStart","reTrimEnd","reWrapComment","reWrapDetails","reSplitDetails","reAsciiWord","reEscapeChar","reEsTemplate","reFlags","reIsBadHex","reIsBinary","reIsHostCtor","reIsOctal","reIsUint","reLatin","reNoMatch","reUnescapedString","rsAstralRange","rsComboMarksRange","reComboHalfMarksRange","rsComboSymbolsRange","rsComboRange","rsDingbatRange","rsLowerRange","rsMathOpRange","rsNonCharRange","rsPunctuationRange","rsSpaceRange","rsUpperRange","rsVarRange","rsBreakRange","rsApos","rsAstral","rsBreak","rsCombo","rsDigits","rsDingbat","rsLower","rsMisc","rsFitz","rsModifier","rsNonAstral","rsRegional","rsSurrPair","rsUpper","rsZWJ","rsMiscLower","rsMiscUpper","rsOptContrLower","rsOptContrUpper","reOptMod","rsOptVar","rsOptJoin","rsOrdLower","rsOrdUpper","rsSeq","rsEmoji","rsSymbol","reApos","reComboMark","reUnicode","reUnicodeWord","reHasUnicode","reHasUnicodeWord","contextProps","templateCounter","typedArrayTags","cloneableTags","deburredLetters","htmlEscapes","htmlUnescapes","stringEscapes","freeParseFloat","freeParseInt","freeGlobal","freeSelf","freeExports","freeModule","moduleExports","freeProcess","process","nodeUtil","nodeIsArrayBuffer","isArrayBuffer","nodeIsDate","isDate","nodeIsMap","nodeIsRegExp","isRegExp","nodeIsSet","isSet","nodeIsTypedArray","isTypedArray","arrayAggregator","iteratee","accumulator","arrayEach","arrayEachRight","arrayEvery","arrayFilter","resIndex","arrayIncludes","baseIndexOf","arrayIncludesWith","arrayMap","arrayPush","arrayReduce","initAccum","arrayReduceRight","arraySome","asciiSize","baseProperty","asciiToArray","asciiWords","baseFindKey","eachFunc","baseFindIndex","fromRight","strictIndexOf","baseIsNaN","baseIndexOfWith","baseMean","baseSum","object","basePropertyOf","baseReduce","baseSortBy","comparer","baseTimes","baseToPairs","baseUnary","baseValues","cacheHas","charsStartIndex","strSymbols","chrSymbols","charsEndIndex","countHolders","deburrLetter","escapeHtmlChar","escapeStringChar","chr","getValue","hasUnicode","hasUnicodeWord","iteratorToArray","mapToArray","overArg","replaceHolders","setToArray","setToPairs","strictLastIndexOf","stringSize","unicodeSize","stringToArray","unicodeToArray","unescapeHtmlChar","unicodeWords","runInContext","arrayProto","funcProto","objectProto","coreJsData","funcToString","idCounter","maskSrcKey","uid","IE_PROTO","nativeObjectToString","objectCtorString","oldDash","reIsNative","getPrototype","objectCreate","propertyIsEnumerable","spreadableSymbol","isConcatSpreadable","symIterator","symToStringTag","toStringTag","getNative","ctxClearTimeout","ctxNow","ctxSetTimeout","nativeCeil","ceil","nativeFloor","nativeGetSymbols","nativeIsBuffer","nativeIsFinite","nativeJoin","nativeKeys","nativeMax","nativeMin","nativeNow","nativeParseInt","nativeRandom","nativeReverse","DataView","nativeCreate","metaMap","realNames","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","valueOf","symbolToString","lodash","isObjectLike","LazyWrapper","LodashWrapper","wrapperClone","baseCreate","baseLodash","chainAll","__wrapped__","__actions__","__chain__","__index__","__values__","templateSettings","__dir__","__filtered__","__iteratees__","__takeCount__","__views__","lazyClone","copyArray","lazyReverse","lazyValue","isArr","isRight","getView","iteratees","iterLength","takeCount","baseWrapperValue","outer","iterIndex","computed","Hash","entries","hashClear","__data__","hashDelete","hashGet","hashHas","hashSet","ListCache","listCacheClear","listCacheDelete","assocIndexOf","listCacheGet","listCacheHas","listCacheSet","MapCache","mapCacheClear","mapCacheDelete","getMapData","mapCacheGet","mapCacheHas","mapCacheSet","SetCache","setCacheAdd","setCacheHas","Stack","stackClear","stackDelete","stackGet","stackHas","stackSet","pairs","arrayLikeKeys","inherited","isArg","isArguments","isBuff","skipIndexes","isIndex","arraySample","baseRandom","arraySampleSize","shuffleSelf","baseClamp","arrayShuffle","assignMergeValue","eq","baseAssignValue","assignValue","objValue","baseAggregator","baseEach","baseAssign","copyObject","baseAssignIn","keysIn","baseAt","upper","baseClone","bitmask","customizer","isDeep","isFlat","isFull","initCloneArray","getTag","isFunc","cloneBuffer","initCloneObject","copySymbolsIn","copySymbols","initCloneByTag","stacked","subValue","keysFunc","getAllKeysIn","getAllKeys","baseConforms","baseConformsTo","baseDelay","wait","baseDifference","isCommon","valuesLength","valuesIndex","createBaseEach","baseForOwn","baseEachRight","baseForOwnRight","baseEvery","baseExtremum","isSymbol","baseFill","toInteger","toLength","baseFilter","baseFlatten","isStrict","isFlattenable","baseFor","createBaseFor","baseForRight","baseFunctions","baseGet","castPath","toKey","baseGetAllKeys","symbolsFunc","baseGetTag","getRawTag","objectToString","baseGt","baseHas","baseHasIn","baseInRange","baseIntersection","arrays","othLength","othIndex","caches","maxLength","seen","baseInverter","baseInvoke","baseIsArguments","baseIsArrayBuffer","baseIsDate","baseIsEqual","baseIsEqualDeep","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","equalArrays","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","equalObjects","baseIsMap","baseIsMatch","matchData","noCustomizer","srcValue","baseIsNative","isMasked","baseIsRegExp","baseIsSet","baseIsTypedArray","isLength","baseIteratee","identity","baseMatchesProperty","baseMatches","baseKeys","isPrototype","baseKeysIn","nativeKeysIn","isProto","baseLt","baseMap","isArrayLike","getMatchData","matchesStrictComparable","isKey","isStrictComparable","hasIn","baseMerge","srcIndex","baseMergeDeep","safeGet","mergeFunc","isTyped","isArrayLikeObject","cloneTypedArray","isPlainObject","toPlainObject","baseNth","baseOrderBy","orders","getIteratee","criteria","compareMultiple","basePick","basePickBy","baseSet","basePropertyDeep","basePullAll","basePullAt","indexes","baseUnset","baseRange","baseRepeat","baseRest","setToString","overRest","baseSample","baseSampleSize","nested","baseSetData","baseSetToString","constant","baseShuffle","baseSlice","baseSome","baseSortedIndex","retHighest","mid","baseSortedIndexBy","valIsNaN","valIsNull","valIsSymbol","valIsUndefined","othIsDefined","othIsNull","othIsReflexive","othIsSymbol","setLow","baseSortedUniq","baseToNumber","baseToString","baseUniq","createSet","seenIndex","baseUpdate","updater","baseWhile","isDrop","actions","baseXor","baseZipObject","assignFunc","valsLength","castArrayLikeObject","castFunction","stringToPath","castRest","castSlice","cloneArrayBuffer","arrayBuffer","cloneDataView","dataView","cloneRegExp","regexp","cloneSymbol","typedArray","compareAscending","valIsDefined","valIsReflexive","objCriteria","othCriteria","ordersLength","composeArgs","partials","holders","isCurried","argsIndex","argsLength","holdersLength","leftIndex","leftLength","rangeLength","isUncurried","composeArgsRight","holdersIndex","rightIndex","rightLength","getSymbols","getSymbolsIn","createAggregator","initializer","createAssigner","assigner","sources","guard","isIterateeCall","createBind","isBind","Ctor","createCtor","createCaseFirst","methodName","trailing","createCompounder","deburr","thisBinding","createCurry","arity","getHolder","createRecurry","createHybrid","createFind","findIndexFunc","createFlow","flatRest","funcs","prereq","thru","getFuncName","funcName","getData","isLaziable","plant","partialsRight","holdersRight","argPos","ary","isAry","isBindKey","isFlip","holdersCount","newHolders","reorder","createInverter","toIteratee","createMathOperation","operator","defaultValue","createOver","arrayFunc","createPadding","charsLength","createPartial","createRange","toFinite","createRelationalOperation","toNumber","wrapFunc","isCurry","newHoldersRight","newPartials","newPartialsRight","newData","setWrapToString","createRound","pair","createToPairs","createWrap","mergeData","customDefaultsAssignIn","customDefaultsMerge","customOmitClone","isPartial","arrStacked","othStacked","arrValue","othValue","compared","objProps","objLength","othProps","objStacked","skipCtor","objCtor","othCtor","otherFunc","isKeyable","isOwn","unmasked","stubArray","ctorString","transforms","getWrapDetails","hasPath","hasFunc","insertWrapDetails","isMaskable","stubFalse","memoizeCapped","memoize","srcBitmask","newBitmask","isCombo","otherArgs","oldArray","shortOut","updateWrapDetails","lastCalled","stamp","quote","subString","compact","difference","differenceBy","differenceWith","drop","dropRight","dropRightWhile","dropWhile","findIndex","findLastIndex","flattenDeep","flattenDepth","fromPairs","initial","intersection","mapped","intersectionBy","intersectionWith","nth","pull","pullAll","pullAllBy","pullAllWith","pullAt","sortedIndex","sortedIndexBy","sortedIndexOf","sortedLastIndex","sortedLastIndexBy","sortedLastIndexOf","sortedUniq","sortedUniqBy","tail","take","takeRight","takeRightWhile","takeWhile","union","unionBy","unionWith","uniq","uniqBy","uniqWith","unzip","unzipWith","without","xor","xorBy","xorWith","zip","zipObject","zipObjectDeep","zipWith","chain","tap","interceptor","wrapperAt","wrapperChain","wrapperCommit","wrapperNext","toArray","wrapperToIterator","wrapperPlant","wrapperReverse","wrapperValue","countBy","findLast","flatMap","flatMapDeep","flatMapDepth","forEachRight","groupBy","invokeMap","keyBy","orderBy","partition","reduceRight","negate","sample","sampleSize","shuffle","sortBy","bindKey","curry","curryRight","debounce","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","invokeFunc","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","cancel","flush","debounced","isInvoking","flip","resolver","memoized","Cache","overArgs","funcsLength","partial","partialRight","rearg","rest","spread","throttle","unary","castArray","cloneWith","cloneDeep","cloneDeepWith","conformsTo","gt","gte","isBoolean","isEmpty","isEqual","isEqualWith","isError","isInteger","isMatch","isMatchWith","isNative","isNil","isSafeInteger","isUndefined","isWeakMap","isWeakSet","lt","lte","remainder","isBinary","toSafeInteger","assignIn","assignInWith","assignWith","at","propsIndex","defaultsDeep","mergeWith","findKey","findLastKey","forIn","forInRight","forOwn","forOwnRight","functions","functionsIn","invert","invertBy","mapKeys","mapValues","omit","omitBy","pickBy","setWith","toPairs","toPairsIn","isArrLike","unset","updateWith","valuesIn","inRange","floating","camelCase","word","capitalize","upperFirst","escape","escapeRegExp","kebabCase","lowerCase","lowerFirst","strLength","padEnd","padStart","radix","repeat","snakeCase","startCase","settings","importsKeys","importsValues","isEscaping","isEvaluating","reDelimiters","evaluate","sourceURL","escapeValue","interpolateValue","esTemplateValue","evaluateValue","variable","attempt","toLower","toUpper","toUpperCase","trimEnd","trimStart","truncate","omission","newEnd","unescape","upperCase","bindAll","methodNames","cond","conforms","defaultTo","flow","flowRight","matchesProperty","methodOf","mixin","noConflict","nthArg","over","overEvery","overSome","propertyOf","rangeRight","stubObject","stubString","stubTrue","times","uniqueId","augend","addend","divide","dividend","divisor","maxBy","mean","meanBy","minBy","multiply","multiplier","multiplicand","round","subtract","minuend","subtrahend","sum","sumBy","entriesIn","extendWith","eachRight","isFilter","takeName","dropName","checkIteratee","isTaker","lodashFunc","retUnwrapped","isLazy","useLazy","isHybrid","isUnwrapped","onlyLazy","chainName","commit","copyProps","SafeBuffer","sax","strict","SAXParser","SAXStream","createStream","MAX_BUFFER_LENGTH","buffers","EVENTS","clearBuffers","q","bufferCheckPosition","lowercase","lowercasetags","looseCase","closed","closedRoot","sawRoot","noscript","BEGIN","strictEntities","ENTITIES","XML_ENTITIES","attribList","xmlns","rootNS","trackPosition","column","F","newf","checkBufferLength","maxAllowed","maxActual","closeText","emitNode","cdata","script","flushBuffers","resume","close","Stream","ex","streamWraps","ev","_parser","writable","readable","me","onend","onerror","_decoder","SD","StringDecoder","CDATA","DOCTYPE","XML_NAMESPACE","XMLNS_NAMESPACE","xml","nameStart","nameBody","entityStart","entityBody","isWhitespace","isQuote","isAttribEnd","notMatch","STATE","BEGIN_WHITESPACE","TEXT","TEXT_ENTITY","OPEN_WAKA","SGML_DECL","SGML_DECL_QUOTED","DOCTYPE_QUOTED","DOCTYPE_DTD","DOCTYPE_DTD_QUOTED","COMMENT_STARTING","COMMENT","COMMENT_ENDING","COMMENT_ENDED","CDATA_ENDING","CDATA_ENDING_2","PROC_INST","PROC_INST_BODY","PROC_INST_ENDING","OPEN_TAG","OPEN_TAG_SLASH","ATTRIB","ATTRIB_NAME","ATTRIB_NAME_SAW_WHITE","ATTRIB_VALUE","ATTRIB_VALUE_QUOTED","ATTRIB_VALUE_CLOSED","ATTRIB_VALUE_UNQUOTED","ATTRIB_VALUE_ENTITY_Q","ATTRIB_VALUE_ENTITY_U","CLOSE_TAG","CLOSE_TAG_SAW_WHITE","SCRIPT_ENDING","textopts","normalize","strictFail","newTag","qname","attribute","qualName","local","attribName","attribValue","qn","openTag","selfClosing","uri","nv","isSelfClosing","closeTag","closeTo","parseEntity","entity","entityLC","numStr","fromCodePoint","beginWhiteSpace","startTagPosition","starti","sgmlDecl","procInstName","procInstBody","doctype","returnState","stringFromCharCode","MAX_SIZE","codeUnits","highSurrogate","lowSurrogate","_normalizeEncoding","enc","retried","normalizeEncoding","nenc","nb","utf16Text","utf16End","fillLast","utf8FillLast","base64Text","base64End","simpleWrite","simpleEnd","lastNeed","lastTotal","lastChar","utf8End","utf8Text","utf8CheckByte","byte","utf8CheckIncomplete","utf8CheckExtraBytes","Every","do","setInterval","reg","webpackPolyfill","deprecate","stripBOM","builder","escapeCDATA","requiresCDATA","wrapCDATA","hasProp","Builder","buildObject","rootObj","attrkey","charkey","rootElement","rootName","raw","txt","ele","att","xmldec","headless","allowSurrogateChars","renderOpts","explicitCharkey","normalizeTags","explicitArray","ignoreAttrs","mergeAttrs","explicitRoot","validator","explicitChildren","childkey","charsAsChildren","includeWhiteChars","async","attrNameProcessors","attrValueProcessors","tagNameProcessors","valueProcessors","emptyTag","preserveChildrenOrder","chunkSize","bom","processItem","processors","setImmediate","__super__","thing","Parser","superClass","parseStringPromise","parseString","assignOrPush","processAsync","xmlnskey","saxParser","error1","errThrown","ontext","ended","resultObject","EXPLICIT_CHARKEY","onopentag","processedKey","onclosetag","emptyStr","objClone","xpath","charChild","oncdata","prefixMatch","firstCharLowerCase","stripPrefix","parseNumbers","parseBooleans","ValidationError","Disconnected","Preceding","Following","Contains","ContainedBy","ImplementationSpecific","Text","CData","EntityReference","EntityDeclaration","ProcessingInstruction","Comment","Document","DocType","DocumentFragment","NotationDeclaration","Declaration","Raw","AttributeDeclaration","ElementDeclaration","Dummy","OpenTag","InsideTag","CloseTag","NodeType","XMLAttribute","XMLNode","debugInfo","attValue","isId","schemaTypeInfo","writer","filterOptions","isEqualNode","localName","XMLCData","XMLCharacterData","substringData","appendData","insertData","deleteData","replaceData","XMLComment","XMLDOMConfiguration","XMLDOMErrorHandler","XMLDOMStringList","clonedSelf","defaultParams","getParameter","canSetParameter","setParameter","XMLDOMImplementation","hasFeature","createDocumentType","qualifiedName","publicId","systemId","createDocument","getFeature","contains","XMLDTDAttList","attributeType","defaultValueType","dtdAttType","dtdAttDefault","dtdAttList","XMLDTDElement","dtdElementValue","dtdElement","XMLDTDEntity","pe","dtdEntityValue","internal","pubID","sysID","dtdPubID","dtdSysID","nData","dtdNData","dtdEntity","XMLDTDNotation","dtdNotation","XMLDeclaration","standalone","xmlVersion","xmlEncoding","xmlStandalone","XMLDocType","XMLNamedNodeMap","ref1","ref2","documentObject","attList","pEntity","notation","docType","ent","pent","not","XMLDocument","XMLStringWriter","XMLStringifier","documentURI","domConfig","rootObject","writerOptions","createDocumentFragment","createCDATASection","createProcessingInstruction","createAttribute","createEntityReference","getElementsByTagName","tagname","importNode","importedNode","deep","createAttributeNS","getElementsByTagNameNS","getElementById","elementId","adoptNode","normalizeDocument","renameNode","getElementsByClassName","classNames","createEvent","eventInterface","createNodeIterator","whatToShow","createTreeWalker","WriterState","XMLDocumentCB","XMLElement","XMLProcessingInstruction","XMLRaw","XMLText","onData","onEnd","onDataCallback","onEndCallback","currentLevel","openTags","documentStarted","documentCompleted","createChildNode","attName","openCurrent","oldValidationFlag","noValidation","keepNullAttributes","insTarget","insValue","processingInstruction","rootNodeName","closeNode","openNode","isOpen","indent","endline","isClosed","nod","dat","com","ins","dec","dtd","XMLDummy","attributeMap","clonedChild","getAttribute","getAttributeNode","setAttributeNode","newAttr","removeAttributeNode","oldAttr","getAttributeNS","removeAttributeNS","getAttributeNodeNS","setAttributeNodeNS","hasAttribute","hasAttributeNS","setIdAttribute","setIdAttributeNS","setIdAttributeNode","idAttr","getNamedItem","setNamedItem","oldNode","removeNamedItem","getNamedItemNS","setNamedItemNS","removeNamedItemNS","DocumentPosition","XMLNodeList","parent1","baseURI","childNodeList","setParent","lastChild","len1","ref3","ignoreDecorators","convertAttKey","separateArrayItems","keepNullNodes","convertTextKey","convertCDataKey","convertCommentKey","convertRawKey","convertPIKey","removed","insertAfter","commentBefore","commentAfter","instructionBefore","instructionAfter","importDocument","clonedRoot","importXMLBuilder","replaceChild","hasChildNodes","cloneNode","isSupported","hasAttributes","isAncestor","isDescendant","isPreceding","isSameNode","lookupPrefix","isDefaultNamespace","lookupNamespaceURI","setUserData","getUserData","isDescendantChild","nodePos","thisPos","treePosition","isFollowing","foreachTreeNode","XMLStreamWriter","XMLWriterBase","stream","isLastRootNode","writeChildNode","spaceBeforeSlash","childNodeCount","firstChildNode","prettySuppressed","allowEmpty","pretty","suppressPrettyCount","newline","assertLegalName","assertLegalChar","textEscape","attEscape","ampregex","noDoubleEncoding","previousSibling","splitText","replaceWholeText","filteredOptions","ref4","ref5","ref6","dontPrettyTextNodes","dontprettytextnodes","spacebeforeslash","user","indentLevel","openAttribute","closeAttribute","stringWriter","streamWriter","writerState"],"mappings":"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AAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;A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A;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACxGA;AACA,IAAI8vH,MAAM,GAAGpC,mBAAO,CAAC,8CAAD,CAApB;;AACA,IAAIE,MAAM,GAAGkC,MAAM,CAAClC,MAApB,C,CAEA;;AACA,SAAS87G,SAAT,CAAoBpjN,GAApB,EAAyB9W,GAAzB,EAA8B;AAC5B,OAAK,IAAIzM,GAAT,IAAgBujB,GAAhB,EAAqB;AACnB9W,OAAG,CAACzM,GAAD,CAAH,GAAWujB,GAAG,CAACvjB,GAAD,CAAd;AACD;AACF;;AACD,IAAI6qH,MAAM,CAAC5gE,IAAP,IAAe4gE,MAAM,CAACuB,KAAtB,IAA+BvB,MAAM,CAACa,WAAtC,IAAqDb,MAAM,CAAC0B,eAAhE,EAAiF;AAC/Eta,QAAM,CAAC5/F,OAAP,GAAiB06G,MAAjB;AACD,CAFD,MAEO;AACL;AACA45G,WAAS,CAAC55G,MAAD,EAAS16G,OAAT,CAAT;AACAA,SAAO,CAACw4G,MAAR,GAAiB+7G,UAAjB;AACD;;AAED,SAASA,UAAT,CAAqBv9N,GAArB,EAA0BoiH,gBAA1B,EAA4C/sH,MAA5C,EAAoD;AAClD,SAAOmsH,MAAM,CAACxhH,GAAD,EAAMoiH,gBAAN,EAAwB/sH,MAAxB,CAAb;AACD,C,CAED;;;AACAioO,SAAS,CAAC97G,MAAD,EAAS+7G,UAAT,CAAT;;AAEAA,UAAU,CAAC38K,IAAX,GAAkB,UAAU5gD,GAAV,EAAeoiH,gB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","file":"vendor.js","sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {AnimationMetadata, AnimationOptions} from './animation_metadata';\nimport {AnimationPlayer} from './players/animation_player';\n\n/**\n * An injectable service that produces an animation sequence programmatically within an\n * Angular component or directive.\n * Provided by the `BrowserAnimationsModule` or `NoopAnimationsModule`.\n *\n * @usageNotes\n *\n * To use this service, add it to your component or directive as a dependency.\n * The service is instantiated along with your component.\n *\n * Apps do not typically need to create their own animation players, but if you\n * do need to, follow these steps:\n *\n * 1. Use the `build()` method to create a programmatic animation using the\n * `animate()` function. The method returns an `AnimationFactory` instance.\n *\n * 2. Use the factory object to create an `AnimationPlayer` and attach it to a DOM element.\n *\n * 3. Use the player object to control the animation programmatically.\n *\n * For example:\n *\n * ```ts\n * // import the service from BrowserAnimationsModule\n * import {AnimationBuilder} from '@angular/animations';\n * // require the service as a dependency\n * class MyCmp {\n * constructor(private _builder: AnimationBuilder) {}\n *\n * makeAnimation(element: any) {\n * // first define a reusable animation\n * const myAnimation = this._builder.build([\n * style({ width: 0 }),\n * animate(1000, style({ width: '100px' }))\n * ]);\n *\n * // use the returned factory object to create a player\n * const player = myAnimation.create(element);\n *\n * player.play();\n * }\n * }\n * ```\n *\n * @publicApi\n */\nexport abstract class AnimationBuilder {\n /**\n * Builds a factory for producing a defined animation.\n * @param animation A reusable animation definition.\n * @returns A factory object that can create a player for the defined animation.\n * @see `animate()`\n */\n abstract build(animation: AnimationMetadata|AnimationMetadata[]): AnimationFactory;\n}\n\n/**\n * A factory object returned from the `AnimationBuilder`.`build()` method.\n *\n * @publicApi\n */\nexport abstract class AnimationFactory {\n /**\n * Creates an `AnimationPlayer` instance for the reusable animation defined by\n * the `AnimationBuilder`.`build()` method that created this factory.\n * Attaches the new player a DOM element.\n * @param element The DOM element to which to attach the animation.\n * @param options A set of options that can include a time delay and\n * additional developer-defined parameters.\n */\n abstract create(element: any, options?: AnimationOptions): AnimationPlayer;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Represents a set of CSS styles for use in an animation style.\n */\nexport interface ɵStyleData {\n [key: string]: string|number;\n}\n\n/**\n * Represents animation-step timing parameters for an animation step.\n * @see `animate()`\n *\n * @publicApi\n */\nexport declare type AnimateTimings = {\n /**\n * The full duration of an animation step. A number and optional time unit,\n * such as \"1s\" or \"10ms\" for one second and 10 milliseconds, respectively.\n * The default unit is milliseconds.\n */\n duration: number,\n /**\n * The delay in applying an animation step. A number and optional time unit.\n * The default unit is milliseconds.\n */\n delay: number,\n /**\n * An easing style that controls how an animations step accelerates\n * and decelerates during its run time. An easing function such as `cubic-bezier()`,\n * or one of the following constants:\n * - `ease-in`\n * - `ease-out`\n * - `ease-in-and-out`\n */\n easing: string | null\n};\n\n/**\n * @description Options that control animation styling and timing.\n *\n * The following animation functions accept `AnimationOptions` data:\n *\n * - `transition()`\n * - `sequence()`\n * - `{@link animations/group group()}`\n * - `query()`\n * - `animation()`\n * - `useAnimation()`\n * - `animateChild()`\n *\n * Programmatic animations built using the `AnimationBuilder` service also\n * make use of `AnimationOptions`.\n *\n * @publicApi\n */\nexport declare interface AnimationOptions {\n /**\n * Sets a time-delay for initiating an animation action.\n * A number and optional time unit, such as \"1s\" or \"10ms\" for one second\n * and 10 milliseconds, respectively.The default unit is milliseconds.\n * Default value is 0, meaning no delay.\n */\n delay?: number|string;\n /**\n * A set of developer-defined parameters that modify styling and timing\n * when an animation action starts. An array of key-value pairs, where the provided value\n * is used as a default.\n */\n params?: {[name: string]: any};\n}\n\n/**\n * Adds duration options to control animation styling and timing for a child animation.\n *\n * @see `animateChild()`\n *\n * @publicApi\n */\nexport declare interface AnimateChildOptions extends AnimationOptions {\n duration?: number|string;\n}\n\n/**\n * @description Constants for the categories of parameters that can be defined for animations.\n *\n * A corresponding function defines a set of parameters for each category, and\n * collects them into a corresponding `AnimationMetadata` object.\n *\n * @publicApi\n */\nexport const enum AnimationMetadataType {\n /**\n * Associates a named animation state with a set of CSS styles.\n * See `state()`\n */\n State = 0,\n /**\n * Data for a transition from one animation state to another.\n * See `transition()`\n */\n Transition = 1,\n /**\n * Contains a set of animation steps.\n * See `sequence()`\n */\n Sequence = 2,\n /**\n * Contains a set of animation steps.\n * See `{@link animations/group group()}`\n */\n Group = 3,\n /**\n * Contains an animation step.\n * See `animate()`\n */\n Animate = 4,\n /**\n * Contains a set of animation steps.\n * See `keyframes()`\n */\n Keyframes = 5,\n /**\n * Contains a set of CSS property-value pairs into a named style.\n * See `style()`\n */\n Style = 6,\n /**\n * Associates an animation with an entry trigger that can be attached to an element.\n * See `trigger()`\n */\n Trigger = 7,\n /**\n * Contains a re-usable animation.\n * See `animation()`\n */\n Reference = 8,\n /**\n * Contains data to use in executing child animations returned by a query.\n * See `animateChild()`\n */\n AnimateChild = 9,\n /**\n * Contains animation parameters for a re-usable animation.\n * See `useAnimation()`\n */\n AnimateRef = 10,\n /**\n * Contains child-animation query data.\n * See `query()`\n */\n Query = 11,\n /**\n * Contains data for staggering an animation sequence.\n * See `stagger()`\n */\n Stagger = 12\n}\n\n/**\n * Specifies automatic styling.\n *\n * @publicApi\n */\nexport const AUTO_STYLE = '*';\n\n/**\n * Base for animation data structures.\n *\n * @publicApi\n */\nexport interface AnimationMetadata {\n type: AnimationMetadataType;\n}\n\n/**\n * Contains an animation trigger. Instantiated and returned by the\n * `trigger()` function.\n *\n * @publicApi\n */\nexport interface AnimationTriggerMetadata extends AnimationMetadata {\n /**\n * The trigger name, used to associate it with an element. Unique within the component.\n */\n name: string;\n /**\n * An animation definition object, containing an array of state and transition declarations.\n */\n definitions: AnimationMetadata[];\n /**\n * An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation. Default delay is 0.\n */\n options: {params?: {[name: string]: any}}|null;\n}\n\n/**\n * Encapsulates an animation state by associating a state name with a set of CSS styles.\n * Instantiated and returned by the `state()` function.\n *\n * @publicApi\n */\nexport interface AnimationStateMetadata extends AnimationMetadata {\n /**\n * The state name, unique within the component.\n */\n name: string;\n /**\n * The CSS styles associated with this state.\n */\n styles: AnimationStyleMetadata;\n /**\n * An options object containing\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation.\n */\n options?: {params: {[name: string]: any}};\n}\n\n/**\n * Encapsulates an animation transition. Instantiated and returned by the\n * `transition()` function.\n *\n * @publicApi\n */\nexport interface AnimationTransitionMetadata extends AnimationMetadata {\n /**\n * An expression that describes a state change.\n */\n expr: string|\n ((fromState: string, toState: string, element?: any,\n params?: {[key: string]: any}) => boolean);\n /**\n * One or more animation objects to which this transition applies.\n */\n animation: AnimationMetadata|AnimationMetadata[];\n /**\n * An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation. Default delay is 0.\n */\n options: AnimationOptions|null;\n}\n\n/**\n * Encapsulates a reusable animation, which is a collection of individual animation steps.\n * Instantiated and returned by the `animation()` function, and\n * passed to the `useAnimation()` function.\n *\n * @publicApi\n */\nexport interface AnimationReferenceMetadata extends AnimationMetadata {\n /**\n * One or more animation step objects.\n */\n animation: AnimationMetadata|AnimationMetadata[];\n /**\n * An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation. Default delay is 0.\n */\n options: AnimationOptions|null;\n}\n\n/**\n * Encapsulates an animation query. Instantiated and returned by\n * the `query()` function.\n *\n * @publicApi\n */\nexport interface AnimationQueryMetadata extends AnimationMetadata {\n /**\n * The CSS selector for this query.\n */\n selector: string;\n /**\n * One or more animation step objects.\n */\n animation: AnimationMetadata|AnimationMetadata[];\n /**\n * A query options object.\n */\n options: AnimationQueryOptions|null;\n}\n\n/**\n * Encapsulates a keyframes sequence. Instantiated and returned by\n * the `keyframes()` function.\n *\n * @publicApi\n */\nexport interface AnimationKeyframesSequenceMetadata extends AnimationMetadata {\n /**\n * An array of animation styles.\n */\n steps: AnimationStyleMetadata[];\n}\n\n/**\n * Encapsulates an animation style. Instantiated and returned by\n * the `style()` function.\n *\n * @publicApi\n */\nexport interface AnimationStyleMetadata extends AnimationMetadata {\n /**\n * A set of CSS style properties.\n */\n styles: '*'|{[key: string]: string | number}|Array<{[key: string]: string | number}|'*'>;\n /**\n * A percentage of the total animate time at which the style is to be applied.\n */\n offset: number|null;\n}\n\n/**\n * Encapsulates an animation step. Instantiated and returned by\n * the `animate()` function.\n *\n * @publicApi\n */\nexport interface AnimationAnimateMetadata extends AnimationMetadata {\n /**\n * The timing data for the step.\n */\n timings: string|number|AnimateTimings;\n /**\n * A set of styles used in the step.\n */\n styles: AnimationStyleMetadata|AnimationKeyframesSequenceMetadata|null;\n}\n\n/**\n * Encapsulates a child animation, that can be run explicitly when the parent is run.\n * Instantiated and returned by the `animateChild` function.\n *\n * @publicApi\n */\nexport interface AnimationAnimateChildMetadata extends AnimationMetadata {\n /**\n * An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation. Default delay is 0.\n */\n options: AnimationOptions|null;\n}\n\n/**\n * Encapsulates a reusable animation.\n * Instantiated and returned by the `useAnimation()` function.\n *\n * @publicApi\n */\nexport interface AnimationAnimateRefMetadata extends AnimationMetadata {\n /**\n * An animation reference object.\n */\n animation: AnimationReferenceMetadata;\n /**\n * An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation. Default delay is 0.\n */\n options: AnimationOptions|null;\n}\n\n/**\n * Encapsulates an animation sequence.\n * Instantiated and returned by the `sequence()` function.\n *\n * @publicApi\n */\nexport interface AnimationSequenceMetadata extends AnimationMetadata {\n /**\n * An array of animation step objects.\n */\n steps: AnimationMetadata[];\n /**\n * An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation. Default delay is 0.\n */\n options: AnimationOptions|null;\n}\n\n/**\n * Encapsulates an animation group.\n * Instantiated and returned by the `{@link animations/group group()}` function.\n *\n * @publicApi\n */\nexport interface AnimationGroupMetadata extends AnimationMetadata {\n /**\n * One or more animation or style steps that form this group.\n */\n steps: AnimationMetadata[];\n /**\n * An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation. Default delay is 0.\n */\n options: AnimationOptions|null;\n}\n\n/**\n * Encapsulates animation query options.\n * Passed to the `query()` function.\n *\n * @publicApi\n */\nexport declare interface AnimationQueryOptions extends AnimationOptions {\n /**\n * True if this query is optional, false if it is required. Default is false.\n * A required query throws an error if no elements are retrieved when\n * the query is executed. An optional query does not.\n *\n */\n optional?: boolean;\n /**\n * A maximum total number of results to return from the query.\n * If negative, results are limited from the end of the query list towards the beginning.\n * By default, results are not limited.\n */\n limit?: number;\n}\n\n/**\n * Encapsulates parameters for staggering the start times of a set of animation steps.\n * Instantiated and returned by the `stagger()` function.\n *\n * @publicApi\n **/\nexport interface AnimationStaggerMetadata extends AnimationMetadata {\n /**\n * The timing data for the steps.\n */\n timings: string|number;\n /**\n * One or more animation steps.\n */\n animation: AnimationMetadata|AnimationMetadata[];\n}\n\n/**\n * Creates a named animation trigger, containing a list of `state()`\n * and `transition()` entries to be evaluated when the expression\n * bound to the trigger changes.\n *\n * @param name An identifying string.\n * @param definitions An animation definition object, containing an array of `state()`\n * and `transition()` declarations.\n *\n * @return An object that encapsulates the trigger data.\n *\n * @usageNotes\n * Define an animation trigger in the `animations` section of `@Component` metadata.\n * In the template, reference the trigger by name and bind it to a trigger expression that\n * evaluates to a defined animation state, using the following format:\n *\n * `[@triggerName]=\"expression\"`\n *\n * Animation trigger bindings convert all values to strings, and then match the\n * previous and current values against any linked transitions.\n * Booleans can be specified as `1` or `true` and `0` or `false`.\n *\n * ### Usage Example\n *\n * The following example creates an animation trigger reference based on the provided\n * name value.\n * The provided animation value is expected to be an array consisting of state and\n * transition declarations.\n *\n * ```typescript\n * @Component({\n * selector: \"my-component\",\n * templateUrl: \"my-component-tpl.html\",\n * animations: [\n * trigger(\"myAnimationTrigger\", [\n * state(...),\n * state(...),\n * transition(...),\n * transition(...)\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"something\";\n * }\n * ```\n *\n * The template associated with this component makes use of the defined trigger\n * by binding to an element within its template code.\n *\n * ```html\n * \n *
...
\n * ```\n *\n * ### Using an inline function\n * The `transition` animation method also supports reading an inline function which can decide\n * if its associated animation should be run.\n *\n * ```typescript\n * // this method is run each time the `myAnimationTrigger` trigger value changes.\n * function myInlineMatcherFn(fromState: string, toState: string, element: any, params: {[key:\n string]: any}): boolean {\n * // notice that `element` and `params` are also available here\n * return toState == 'yes-please-animate';\n * }\n *\n * @Component({\n * selector: 'my-component',\n * templateUrl: 'my-component-tpl.html',\n * animations: [\n * trigger('myAnimationTrigger', [\n * transition(myInlineMatcherFn, [\n * // the animation sequence code\n * ]),\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"yes-please-animate\";\n * }\n * ```\n *\n * ### Disabling Animations\n * When true, the special animation control binding `@.disabled` binding prevents\n * all animations from rendering.\n * Place the `@.disabled` binding on an element to disable\n * animations on the element itself, as well as any inner animation triggers\n * within the element.\n *\n * The following example shows how to use this feature:\n *\n * ```typescript\n * @Component({\n * selector: 'my-component',\n * template: `\n *
\n *
\n *
\n * `,\n * animations: [\n * trigger(\"childAnimation\", [\n * // ...\n * ])\n * ]\n * })\n * class MyComponent {\n * isDisabled = true;\n * exp = '...';\n * }\n * ```\n *\n * When `@.disabled` is true, it prevents the `@childAnimation` trigger from animating,\n * along with any inner animations.\n *\n * ### Disable animations application-wide\n * When an area of the template is set to have animations disabled,\n * **all** inner components have their animations disabled as well.\n * This means that you can disable all animations for an app\n * by placing a host binding set on `@.disabled` on the topmost Angular component.\n *\n * ```typescript\n * import {Component, HostBinding} from '@angular/core';\n *\n * @Component({\n * selector: 'app-component',\n * templateUrl: 'app.component.html',\n * })\n * class AppComponent {\n * @HostBinding('@.disabled')\n * public animationsDisabled = true;\n * }\n * ```\n *\n * ### Overriding disablement of inner animations\n * Despite inner animations being disabled, a parent animation can `query()`\n * for inner elements located in disabled areas of the template and still animate\n * them if needed. This is also the case for when a sub animation is\n * queried by a parent and then later animated using `animateChild()`.\n *\n * ### Detecting when an animation is disabled\n * If a region of the DOM (or the entire application) has its animations disabled, the animation\n * trigger callbacks still fire, but for zero seconds. When the callback fires, it provides\n * an instance of an `AnimationEvent`. If animations are disabled,\n * the `.disabled` flag on the event is true.\n *\n * @publicApi\n */\nexport function trigger(name: string, definitions: AnimationMetadata[]): AnimationTriggerMetadata {\n return {type: AnimationMetadataType.Trigger, name, definitions, options: {}};\n}\n\n/**\n * Defines an animation step that combines styling information with timing information.\n *\n * @param timings Sets `AnimateTimings` for the parent animation.\n * A string in the format \"duration [delay] [easing]\".\n * - Duration and delay are expressed as a number and optional time unit,\n * such as \"1s\" or \"10ms\" for one second and 10 milliseconds, respectively.\n * The default unit is milliseconds.\n * - The easing value controls how the animation accelerates and decelerates\n * during its runtime. Value is one of `ease`, `ease-in`, `ease-out`,\n * `ease-in-out`, or a `cubic-bezier()` function call.\n * If not supplied, no easing is applied.\n *\n * For example, the string \"1s 100ms ease-out\" specifies a duration of\n * 1000 milliseconds, and delay of 100 ms, and the \"ease-out\" easing style,\n * which decelerates near the end of the duration.\n * @param styles Sets AnimationStyles for the parent animation.\n * A function call to either `style()` or `keyframes()`\n * that returns a collection of CSS style entries to be applied to the parent animation.\n * When null, uses the styles from the destination state.\n * This is useful when describing an animation step that will complete an animation;\n * see \"Animating to the final state\" in `transitions()`.\n * @returns An object that encapsulates the animation step.\n *\n * @usageNotes\n * Call within an animation `sequence()`, `{@link animations/group group()}`, or\n * `transition()` call to specify an animation step\n * that applies given style data to the parent animation for a given amount of time.\n *\n * ### Syntax Examples\n * **Timing examples**\n *\n * The following examples show various `timings` specifications.\n * - `animate(500)` : Duration is 500 milliseconds.\n * - `animate(\"1s\")` : Duration is 1000 milliseconds.\n * - `animate(\"100ms 0.5s\")` : Duration is 100 milliseconds, delay is 500 milliseconds.\n * - `animate(\"5s ease-in\")` : Duration is 5000 milliseconds, easing in.\n * - `animate(\"5s 10ms cubic-bezier(.17,.67,.88,.1)\")` : Duration is 5000 milliseconds, delay is 10\n * milliseconds, easing according to a bezier curve.\n *\n * **Style examples**\n *\n * The following example calls `style()` to set a single CSS style.\n * ```typescript\n * animate(500, style({ background: \"red\" }))\n * ```\n * The following example calls `keyframes()` to set a CSS style\n * to different values for successive keyframes.\n * ```typescript\n * animate(500, keyframes(\n * [\n * style({ background: \"blue\" })),\n * style({ background: \"red\" }))\n * ])\n * ```\n *\n * @publicApi\n */\nexport function animate(\n timings: string|number,\n styles: AnimationStyleMetadata|AnimationKeyframesSequenceMetadata|null =\n null): AnimationAnimateMetadata {\n return {type: AnimationMetadataType.Animate, styles, timings};\n}\n\n/**\n * @description Defines a list of animation steps to be run in parallel.\n *\n * @param steps An array of animation step objects.\n * - When steps are defined by `style()` or `animate()`\n * function calls, each call within the group is executed instantly.\n * - To specify offset styles to be applied at a later time, define steps with\n * `keyframes()`, or use `animate()` calls with a delay value.\n * For example:\n *\n * ```typescript\n * group([\n * animate(\"1s\", style({ background: \"black\" })),\n * animate(\"2s\", style({ color: \"white\" }))\n * ])\n * ```\n *\n * @param options An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation.\n *\n * @return An object that encapsulates the group data.\n *\n * @usageNotes\n * Grouped animations are useful when a series of styles must be\n * animated at different starting times and closed off at different ending times.\n *\n * When called within a `sequence()` or a\n * `transition()` call, does not continue to the next\n * instruction until all of the inner animation steps have completed.\n *\n * @publicApi\n */\nexport function group(\n steps: AnimationMetadata[], options: AnimationOptions|null = null): AnimationGroupMetadata {\n return {type: AnimationMetadataType.Group, steps, options};\n}\n\n/**\n * Defines a list of animation steps to be run sequentially, one by one.\n *\n * @param steps An array of animation step objects.\n * - Steps defined by `style()` calls apply the styling data immediately.\n * - Steps defined by `animate()` calls apply the styling data over time\n * as specified by the timing data.\n *\n * ```typescript\n * sequence([\n * style({ opacity: 0 }),\n * animate(\"1s\", style({ opacity: 1 }))\n * ])\n * ```\n *\n * @param options An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation.\n *\n * @return An object that encapsulates the sequence data.\n *\n * @usageNotes\n * When you pass an array of steps to a\n * `transition()` call, the steps run sequentially by default.\n * Compare this to the `{@link animations/group group()}` call, which runs animation steps in\n *parallel.\n *\n * When a sequence is used within a `{@link animations/group group()}` or a `transition()` call,\n * execution continues to the next instruction only after each of the inner animation\n * steps have completed.\n *\n * @publicApi\n **/\nexport function sequence(\n steps: AnimationMetadata[], options: AnimationOptions|null = null): AnimationSequenceMetadata {\n return {type: AnimationMetadataType.Sequence, steps, options};\n}\n\n/**\n * Declares a key/value object containing CSS properties/styles that\n * can then be used for an animation `state`, within an animation `sequence`,\n * or as styling data for calls to `animate()` and `keyframes()`.\n *\n * @param tokens A set of CSS styles or HTML styles associated with an animation state.\n * The value can be any of the following:\n * - A key-value style pair associating a CSS property with a value.\n * - An array of key-value style pairs.\n * - An asterisk (*), to use auto-styling, where styles are derived from the element\n * being animated and applied to the animation when it starts.\n *\n * Auto-styling can be used to define a state that depends on layout or other\n * environmental factors.\n *\n * @return An object that encapsulates the style data.\n *\n * @usageNotes\n * The following examples create animation styles that collect a set of\n * CSS property values:\n *\n * ```typescript\n * // string values for CSS properties\n * style({ background: \"red\", color: \"blue\" })\n *\n * // numerical pixel values\n * style({ width: 100, height: 0 })\n * ```\n *\n * The following example uses auto-styling to allow a component to animate from\n * a height of 0 up to the height of the parent element:\n *\n * ```\n * style({ height: 0 }),\n * animate(\"1s\", style({ height: \"*\" }))\n * ```\n *\n * @publicApi\n **/\nexport function style(tokens: '*'|{[key: string]: string | number}|\n Array<'*'|{[key: string]: string | number}>): AnimationStyleMetadata {\n return {type: AnimationMetadataType.Style, styles: tokens, offset: null};\n}\n\n/**\n * Declares an animation state within a trigger attached to an element.\n *\n * @param name One or more names for the defined state in a comma-separated string.\n * The following reserved state names can be supplied to define a style for specific use\n * cases:\n *\n * - `void` You can associate styles with this name to be used when\n * the element is detached from the application. For example, when an `ngIf` evaluates\n * to false, the state of the associated element is void.\n * - `*` (asterisk) Indicates the default state. You can associate styles with this name\n * to be used as the fallback when the state that is being animated is not declared\n * within the trigger.\n *\n * @param styles A set of CSS styles associated with this state, created using the\n * `style()` function.\n * This set of styles persists on the element once the state has been reached.\n * @param options Parameters that can be passed to the state when it is invoked.\n * 0 or more key-value pairs.\n * @return An object that encapsulates the new state data.\n *\n * @usageNotes\n * Use the `trigger()` function to register states to an animation trigger.\n * Use the `transition()` function to animate between states.\n * When a state is active within a component, its associated styles persist on the element,\n * even when the animation ends.\n *\n * @publicApi\n **/\nexport function state(\n name: string, styles: AnimationStyleMetadata,\n options?: {params: {[name: string]: any}}): AnimationStateMetadata {\n return {type: AnimationMetadataType.State, name, styles, options};\n}\n\n/**\n * Defines a set of animation styles, associating each style with an optional `offset` value.\n *\n * @param steps A set of animation styles with optional offset data.\n * The optional `offset` value for a style specifies a percentage of the total animation\n * time at which that style is applied.\n * @returns An object that encapsulates the keyframes data.\n *\n * @usageNotes\n * Use with the `animate()` call. Instead of applying animations\n * from the current state\n * to the destination state, keyframes describe how each style entry is applied and at what point\n * within the animation arc.\n * Compare [CSS Keyframe Animations](https://www.w3schools.com/css/css3_animations.asp).\n *\n * ### Usage\n *\n * In the following example, the offset values describe\n * when each `backgroundColor` value is applied. The color is red at the start, and changes to\n * blue when 20% of the total time has elapsed.\n *\n * ```typescript\n * // the provided offset values\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\", offset: 0 }),\n * style({ backgroundColor: \"blue\", offset: 0.2 }),\n * style({ backgroundColor: \"orange\", offset: 0.3 }),\n * style({ backgroundColor: \"black\", offset: 1 })\n * ]))\n * ```\n *\n * If there are no `offset` values specified in the style entries, the offsets\n * are calculated automatically.\n *\n * ```typescript\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\" }) // offset = 0\n * style({ backgroundColor: \"blue\" }) // offset = 0.33\n * style({ backgroundColor: \"orange\" }) // offset = 0.66\n * style({ backgroundColor: \"black\" }) // offset = 1\n * ]))\n *```\n\n * @publicApi\n */\nexport function keyframes(steps: AnimationStyleMetadata[]): AnimationKeyframesSequenceMetadata {\n return {type: AnimationMetadataType.Keyframes, steps};\n}\n\n/**\n * Declares an animation transition as a sequence of animation steps to run when a given\n * condition is satisfied. The condition is a Boolean expression or function that compares\n * the previous and current animation states, and returns true if this transition should occur.\n * When the state criteria of a defined transition are met, the associated animation is\n * triggered.\n *\n * @param stateChangeExpr A Boolean expression or function that compares the previous and current\n * animation states, and returns true if this transition should occur. Note that \"true\" and \"false\"\n * match 1 and 0, respectively. An expression is evaluated each time a state change occurs in the\n * animation trigger element.\n * The animation steps run when the expression evaluates to true.\n *\n * - A state-change string takes the form \"state1 => state2\", where each side is a defined animation\n * state, or an asterix (*) to refer to a dynamic start or end state.\n * - The expression string can contain multiple comma-separated statements;\n * for example \"state1 => state2, state3 => state4\".\n * - Special values `:enter` and `:leave` initiate a transition on the entry and exit states,\n * equivalent to \"void => *\" and \"* => void\".\n * - Special values `:increment` and `:decrement` initiate a transition when a numeric value has\n * increased or decreased in value.\n * - A function is executed each time a state change occurs in the animation trigger element.\n * The animation steps run when the function returns true.\n *\n * @param steps One or more animation objects, as returned by the `animate()` or\n * `sequence()` function, that form a transformation from one state to another.\n * A sequence is used by default when you pass an array.\n * @param options An options object that can contain a delay value for the start of the animation,\n * and additional developer-defined parameters. Provided values for additional parameters are used\n * as defaults, and override values can be passed to the caller on invocation.\n * @returns An object that encapsulates the transition data.\n *\n * @usageNotes\n * The template associated with a component binds an animation trigger to an element.\n *\n * ```HTML\n * \n *
...
\n * ```\n *\n * All transitions are defined within an animation trigger,\n * along with named states that the transitions change to and from.\n *\n * ```typescript\n * trigger(\"myAnimationTrigger\", [\n * // define states\n * state(\"on\", style({ background: \"green\" })),\n * state(\"off\", style({ background: \"grey\" })),\n * ...]\n * ```\n *\n * Note that when you call the `sequence()` function within a `{@link animations/group group()}`\n * or a `transition()` call, execution does not continue to the next instruction\n * until each of the inner animation steps have completed.\n *\n * ### Syntax examples\n *\n * The following examples define transitions between the two defined states (and default states),\n * using various options:\n *\n * ```typescript\n * // Transition occurs when the state value\n * // bound to \"myAnimationTrigger\" changes from \"on\" to \"off\"\n * transition(\"on => off\", animate(500))\n * // Run the same animation for both directions\n * transition(\"on <=> off\", animate(500))\n * // Define multiple state-change pairs separated by commas\n * transition(\"on => off, off => void\", animate(500))\n * ```\n *\n * ### Special values for state-change expressions\n *\n * - Catch-all state change for when an element is inserted into the page and the\n * destination state is unknown:\n *\n * ```typescript\n * transition(\"void => *\", [\n * style({ opacity: 0 }),\n * animate(500)\n * ])\n * ```\n *\n * - Capture a state change between any states:\n *\n * `transition(\"* => *\", animate(\"1s 0s\"))`\n *\n * - Entry and exit transitions:\n *\n * ```typescript\n * transition(\":enter\", [\n * style({ opacity: 0 }),\n * animate(500, style({ opacity: 1 }))\n * ]),\n * transition(\":leave\", [\n * animate(500, style({ opacity: 0 }))\n * ])\n * ```\n *\n * - Use `:increment` and `:decrement` to initiate transitions:\n *\n * ```typescript\n * transition(\":increment\", group([\n * query(':enter', [\n * style({ left: '100%' }),\n * animate('0.5s ease-out', style('*'))\n * ]),\n * query(':leave', [\n * animate('0.5s ease-out', style({ left: '-100%' }))\n * ])\n * ]))\n *\n * transition(\":decrement\", group([\n * query(':enter', [\n * style({ left: '100%' }),\n * animate('0.5s ease-out', style('*'))\n * ]),\n * query(':leave', [\n * animate('0.5s ease-out', style({ left: '-100%' }))\n * ])\n * ]))\n * ```\n *\n * ### State-change functions\n *\n * Here is an example of a `fromState` specified as a state-change function that invokes an\n * animation when true:\n *\n * ```typescript\n * transition((fromState, toState) =>\n * {\n * return fromState == \"off\" && toState == \"on\";\n * },\n * animate(\"1s 0s\"))\n * ```\n *\n * ### Animating to the final state\n *\n * If the final step in a transition is a call to `animate()` that uses a timing value\n * with no style data, that step is automatically considered the final animation arc,\n * for the element to reach the final state. Angular automatically adds or removes\n * CSS styles to ensure that the element is in the correct final state.\n *\n * The following example defines a transition that starts by hiding the element,\n * then makes sure that it animates properly to whatever state is currently active for trigger:\n *\n * ```typescript\n * transition(\"void => *\", [\n * style({ opacity: 0 }),\n * animate(500)\n * ])\n * ```\n * ### Boolean value matching\n * If a trigger binding value is a Boolean, it can be matched using a transition expression\n * that compares true and false or 1 and 0. For example:\n *\n * ```\n * // in the template\n *
...
\n * // in the component metadata\n * trigger('openClose', [\n * state('true', style({ height: '*' })),\n * state('false', style({ height: '0px' })),\n * transition('false <=> true', animate(500))\n * ])\n * ```\n *\n * @publicApi\n **/\nexport function transition(\n stateChangeExpr: string|\n ((fromState: string, toState: string, element?: any, params?: {[key: string]: any}) => boolean),\n steps: AnimationMetadata|AnimationMetadata[],\n options: AnimationOptions|null = null): AnimationTransitionMetadata {\n return {type: AnimationMetadataType.Transition, expr: stateChangeExpr, animation: steps, options};\n}\n\n/**\n * Produces a reusable animation that can be invoked in another animation or sequence,\n * by calling the `useAnimation()` function.\n *\n * @param steps One or more animation objects, as returned by the `animate()`\n * or `sequence()` function, that form a transformation from one state to another.\n * A sequence is used by default when you pass an array.\n * @param options An options object that can contain a delay value for the start of the\n * animation, and additional developer-defined parameters.\n * Provided values for additional parameters are used as defaults,\n * and override values can be passed to the caller on invocation.\n * @returns An object that encapsulates the animation data.\n *\n * @usageNotes\n * The following example defines a reusable animation, providing some default parameter\n * values.\n *\n * ```typescript\n * var fadeAnimation = animation([\n * style({ opacity: '{{ start }}' }),\n * animate('{{ time }}',\n * style({ opacity: '{{ end }}'}))\n * ],\n * { params: { time: '1000ms', start: 0, end: 1 }});\n * ```\n *\n * The following invokes the defined animation with a call to `useAnimation()`,\n * passing in override parameter values.\n *\n * ```js\n * useAnimation(fadeAnimation, {\n * params: {\n * time: '2s',\n * start: 1,\n * end: 0\n * }\n * })\n * ```\n *\n * If any of the passed-in parameter values are missing from this call,\n * the default values are used. If one or more parameter values are missing before a step is\n * animated, `useAnimation()` throws an error.\n *\n * @publicApi\n */\nexport function animation(\n steps: AnimationMetadata|AnimationMetadata[],\n options: AnimationOptions|null = null): AnimationReferenceMetadata {\n return {type: AnimationMetadataType.Reference, animation: steps, options};\n}\n\n/**\n * Executes a queried inner animation element within an animation sequence.\n *\n * @param options An options object that can contain a delay value for the start of the\n * animation, and additional override values for developer-defined parameters.\n * @return An object that encapsulates the child animation data.\n *\n * @usageNotes\n * Each time an animation is triggered in Angular, the parent animation\n * has priority and any child animations are blocked. In order\n * for a child animation to run, the parent animation must query each of the elements\n * containing child animations, and run them using this function.\n *\n * Note that this feature is designed to be used with `query()` and it will only work\n * with animations that are assigned using the Angular animation library. CSS keyframes\n * and transitions are not handled by this API.\n *\n * @publicApi\n */\nexport function animateChild(options: AnimateChildOptions|null = null):\n AnimationAnimateChildMetadata {\n return {type: AnimationMetadataType.AnimateChild, options};\n}\n\n/**\n * Starts a reusable animation that is created using the `animation()` function.\n *\n * @param animation The reusable animation to start.\n * @param options An options object that can contain a delay value for the start of\n * the animation, and additional override values for developer-defined parameters.\n * @return An object that contains the animation parameters.\n *\n * @publicApi\n */\nexport function useAnimation(\n animation: AnimationReferenceMetadata,\n options: AnimationOptions|null = null): AnimationAnimateRefMetadata {\n return {type: AnimationMetadataType.AnimateRef, animation, options};\n}\n\n/**\n * Finds one or more inner elements within the current element that is\n * being animated within a sequence. Use with `animate()`.\n *\n * @param selector The element to query, or a set of elements that contain Angular-specific\n * characteristics, specified with one or more of the following tokens.\n * - `query(\":enter\")` or `query(\":leave\")` : Query for newly inserted/removed elements.\n * - `query(\":animating\")` : Query all currently animating elements.\n * - `query(\"@triggerName\")` : Query elements that contain an animation trigger.\n * - `query(\"@*\")` : Query all elements that contain an animation triggers.\n * - `query(\":self\")` : Include the current element into the animation sequence.\n *\n * @param animation One or more animation steps to apply to the queried element or elements.\n * An array is treated as an animation sequence.\n * @param options An options object. Use the 'limit' field to limit the total number of\n * items to collect.\n * @return An object that encapsulates the query data.\n *\n * @usageNotes\n * Tokens can be merged into a combined query selector string. For example:\n *\n * ```typescript\n * query(':self, .record:enter, .record:leave, @subTrigger', [...])\n * ```\n *\n * The `query()` function collects multiple elements and works internally by using\n * `element.querySelectorAll`. Use the `limit` field of an options object to limit\n * the total number of items to be collected. For example:\n *\n * ```js\n * query('div', [\n * animate(...),\n * animate(...)\n * ], { limit: 1 })\n * ```\n *\n * By default, throws an error when zero items are found. Set the\n * `optional` flag to ignore this error. For example:\n *\n * ```js\n * query('.some-element-that-may-not-be-there', [\n * animate(...),\n * animate(...)\n * ], { optional: true })\n * ```\n *\n * ### Usage Example\n *\n * The following example queries for inner elements and animates them\n * individually using `animate()`.\n *\n * ```typescript\n * @Component({\n * selector: 'inner',\n * template: `\n *
\n *

Title

\n *
\n * Blah blah blah\n *
\n *
\n * `,\n * animations: [\n * trigger('queryAnimation', [\n * transition('* => goAnimate', [\n * // hide the inner elements\n * query('h1', style({ opacity: 0 })),\n * query('.content', style({ opacity: 0 })),\n *\n * // animate the inner elements in, one by one\n * query('h1', animate(1000, style({ opacity: 1 }))),\n * query('.content', animate(1000, style({ opacity: 1 }))),\n * ])\n * ])\n * ]\n * })\n * class Cmp {\n * exp = '';\n *\n * goAnimate() {\n * this.exp = 'goAnimate';\n * }\n * }\n * ```\n *\n * @publicApi\n */\nexport function query(\n selector: string, animation: AnimationMetadata|AnimationMetadata[],\n options: AnimationQueryOptions|null = null): AnimationQueryMetadata {\n return {type: AnimationMetadataType.Query, selector, animation, options};\n}\n\n/**\n * Use within an animation `query()` call to issue a timing gap after\n * each queried item is animated.\n *\n * @param timings A delay value.\n * @param animation One ore more animation steps.\n * @returns An object that encapsulates the stagger data.\n *\n * @usageNotes\n * In the following example, a container element wraps a list of items stamped out\n * by an `ngFor`. The container element contains an animation trigger that will later be set\n * to query for each of the inner items.\n *\n * Each time items are added, the opacity fade-in animation runs,\n * and each removed item is faded out.\n * When either of these animations occur, the stagger effect is\n * applied after each item's animation is started.\n *\n * ```html\n * \n * \n *
\n *
\n *
\n * {{ item }}\n *
\n *
\n * ```\n *\n * Here is the component code:\n *\n * ```typescript\n * import {trigger, transition, style, animate, query, stagger} from '@angular/animations';\n * @Component({\n * templateUrl: 'list.component.html',\n * animations: [\n * trigger('listAnimation', [\n * ...\n * ])\n * ]\n * })\n * class ListComponent {\n * items = [];\n *\n * showItems() {\n * this.items = [0,1,2,3,4];\n * }\n *\n * hideItems() {\n * this.items = [];\n * }\n *\n * toggle() {\n * this.items.length ? this.hideItems() : this.showItems();\n * }\n * }\n * ```\n *\n * Here is the animation trigger code:\n *\n * ```typescript\n * trigger('listAnimation', [\n * transition('* => *', [ // each time the binding value changes\n * query(':leave', [\n * stagger(100, [\n * animate('0.5s', style({ opacity: 0 }))\n * ])\n * ]),\n * query(':enter', [\n * style({ opacity: 0 }),\n * stagger(100, [\n * animate('0.5s', style({ opacity: 1 }))\n * ])\n * ])\n * ])\n * ])\n * ```\n *\n * @publicApi\n */\nexport function stagger(timings: string|number, animation: AnimationMetadata|AnimationMetadata[]):\n AnimationStaggerMetadata {\n return {type: AnimationMetadataType.Stagger, timings, animation};\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nexport function scheduleMicroTask(cb: () => any) {\n Promise.resolve(null).then(cb);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {scheduleMicroTask} from '../util';\n\n/**\n * Provides programmatic control of a reusable animation sequence,\n * built using the `build()` method of `AnimationBuilder`. The `build()` method\n * returns a factory, whose `create()` method instantiates and initializes this interface.\n *\n * @see `AnimationBuilder`\n * @see `AnimationFactory`\n * @see `animate()`\n *\n * @publicApi\n */\nexport interface AnimationPlayer {\n /**\n * Provides a callback to invoke when the animation finishes.\n * @param fn The callback function.\n * @see `finish()`\n */\n onDone(fn: () => void): void;\n /**\n * Provides a callback to invoke when the animation starts.\n * @param fn The callback function.\n * @see `run()`\n */\n onStart(fn: () => void): void;\n /**\n * Provides a callback to invoke after the animation is destroyed.\n * @param fn The callback function.\n * @see `destroy()`\n * @see `beforeDestroy()`\n */\n onDestroy(fn: () => void): void;\n /**\n * Initializes the animation.\n */\n init(): void;\n /**\n * Reports whether the animation has started.\n * @returns True if the animation has started, false otherwise.\n */\n hasStarted(): boolean;\n /**\n * Runs the animation, invoking the `onStart()` callback.\n */\n play(): void;\n /**\n * Pauses the animation.\n */\n pause(): void;\n /**\n * Restarts the paused animation.\n */\n restart(): void;\n /**\n * Ends the animation, invoking the `onDone()` callback.\n */\n finish(): void;\n /**\n * Destroys the animation, after invoking the `beforeDestroy()` callback.\n * Calls the `onDestroy()` callback when destruction is completed.\n */\n destroy(): void;\n /**\n * Resets the animation to its initial state.\n */\n reset(): void;\n /**\n * Sets the position of the animation.\n * @param position A 0-based offset into the duration, in milliseconds.\n */\n setPosition(position: any /** TODO #9100 */): void;\n /**\n * Reports the current position of the animation.\n * @returns A 0-based offset into the duration, in milliseconds.\n */\n getPosition(): number;\n /**\n * The parent of this player, if any.\n */\n parentPlayer: AnimationPlayer|null;\n /**\n * The total run time of the animation, in milliseconds.\n */\n readonly totalTime: number;\n /**\n * Provides a callback to invoke before the animation is destroyed.\n */\n beforeDestroy?: () => any;\n /**\n * @internal\n * Internal\n */\n triggerCallback?: (phaseName: string) => void;\n /**\n * @internal\n * Internal\n */\n disabled?: boolean;\n}\n\n/**\n * An empty programmatic controller for reusable animations.\n * Used internally when animations are disabled, to avoid\n * checking for the null case when an animation player is expected.\n *\n * @see `animate()`\n * @see `AnimationPlayer`\n * @see `GroupPlayer`\n *\n * @publicApi\n */\nexport class NoopAnimationPlayer implements AnimationPlayer {\n private _onDoneFns: Function[] = [];\n private _onStartFns: Function[] = [];\n private _onDestroyFns: Function[] = [];\n private _started = false;\n private _destroyed = false;\n private _finished = false;\n public parentPlayer: AnimationPlayer|null = null;\n public readonly totalTime: number;\n constructor(duration: number = 0, delay: number = 0) {\n this.totalTime = duration + delay;\n }\n private _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n onStart(fn: () => void): void {\n this._onStartFns.push(fn);\n }\n onDone(fn: () => void): void {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn: () => void): void {\n this._onDestroyFns.push(fn);\n }\n hasStarted(): boolean {\n return this._started;\n }\n init(): void {}\n play(): void {\n if (!this.hasStarted()) {\n this._onStart();\n this.triggerMicrotask();\n }\n this._started = true;\n }\n\n /** @internal */\n triggerMicrotask() {\n scheduleMicroTask(() => this._onFinish());\n }\n\n private _onStart() {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n\n pause(): void {}\n restart(): void {}\n finish(): void {\n this._onFinish();\n }\n destroy(): void {\n if (!this._destroyed) {\n this._destroyed = true;\n if (!this.hasStarted()) {\n this._onStart();\n }\n this.finish();\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n reset(): void {}\n setPosition(position: number): void {}\n getPosition(): number {\n return 0;\n }\n\n /** @internal */\n triggerCallback(phaseName: string): void {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {scheduleMicroTask} from '../util';\nimport {AnimationPlayer} from './animation_player';\n\n/**\n * A programmatic controller for a group of reusable animations.\n * Used internally to control animations.\n *\n * @see `AnimationPlayer`\n * @see `{@link animations/group group()}`\n *\n */\nexport class AnimationGroupPlayer implements AnimationPlayer {\n private _onDoneFns: Function[] = [];\n private _onStartFns: Function[] = [];\n private _finished = false;\n private _started = false;\n private _destroyed = false;\n private _onDestroyFns: Function[] = [];\n\n public parentPlayer: AnimationPlayer|null = null;\n public totalTime: number = 0;\n public readonly players: AnimationPlayer[];\n\n constructor(_players: AnimationPlayer[]) {\n this.players = _players;\n let doneCount = 0;\n let destroyCount = 0;\n let startCount = 0;\n const total = this.players.length;\n\n if (total == 0) {\n scheduleMicroTask(() => this._onFinish());\n } else {\n this.players.forEach(player => {\n player.onDone(() => {\n if (++doneCount == total) {\n this._onFinish();\n }\n });\n player.onDestroy(() => {\n if (++destroyCount == total) {\n this._onDestroy();\n }\n });\n player.onStart(() => {\n if (++startCount == total) {\n this._onStart();\n }\n });\n });\n }\n\n this.totalTime = this.players.reduce((time, player) => Math.max(time, player.totalTime), 0);\n }\n\n private _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n\n init(): void {\n this.players.forEach(player => player.init());\n }\n\n onStart(fn: () => void): void {\n this._onStartFns.push(fn);\n }\n\n private _onStart() {\n if (!this.hasStarted()) {\n this._started = true;\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n }\n\n onDone(fn: () => void): void {\n this._onDoneFns.push(fn);\n }\n\n onDestroy(fn: () => void): void {\n this._onDestroyFns.push(fn);\n }\n\n hasStarted() {\n return this._started;\n }\n\n play() {\n if (!this.parentPlayer) {\n this.init();\n }\n this._onStart();\n this.players.forEach(player => player.play());\n }\n\n pause(): void {\n this.players.forEach(player => player.pause());\n }\n\n restart(): void {\n this.players.forEach(player => player.restart());\n }\n\n finish(): void {\n this._onFinish();\n this.players.forEach(player => player.finish());\n }\n\n destroy(): void {\n this._onDestroy();\n }\n\n private _onDestroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n this._onFinish();\n this.players.forEach(player => player.destroy());\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n\n reset(): void {\n this.players.forEach(player => player.reset());\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n }\n\n setPosition(p: number): void {\n const timeAtPosition = p * this.totalTime;\n this.players.forEach(player => {\n const position = player.totalTime ? Math.min(1, timeAtPosition / player.totalTime) : 1;\n player.setPosition(position);\n });\n }\n\n getPosition(): number {\n let min = 0;\n this.players.forEach(player => {\n const p = player.getPosition();\n min = Math.min(p, min);\n });\n return min;\n }\n\n beforeDestroy(): void {\n this.players.forEach(player => {\n if (player.beforeDestroy) {\n player.beforeDestroy();\n }\n });\n }\n\n /** @internal */\n triggerCallback(phaseName: string): void {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nexport {AnimationGroupPlayer as ɵAnimationGroupPlayer} from './players/animation_group_player';\nexport const ɵPRE_STYLE = '!';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @module\n * @description\n * Entry point for all animation APIs of the animation package.\n */\nexport {AnimationBuilder, AnimationFactory} from './animation_builder';\nexport {AnimationEvent} from './animation_event';\nexport {animate, animateChild, AnimateChildOptions, AnimateTimings, animation, AnimationAnimateChildMetadata, AnimationAnimateMetadata, AnimationAnimateRefMetadata, AnimationGroupMetadata, AnimationKeyframesSequenceMetadata, AnimationMetadata, AnimationMetadataType, AnimationOptions, AnimationQueryMetadata, AnimationQueryOptions, AnimationReferenceMetadata, AnimationSequenceMetadata, AnimationStaggerMetadata, AnimationStateMetadata, AnimationStyleMetadata, AnimationTransitionMetadata, AnimationTriggerMetadata, AUTO_STYLE, group, keyframes, query, sequence, stagger, state, style, transition, trigger, useAnimation, ɵStyleData} from './animation_metadata';\nexport {AnimationPlayer, NoopAnimationPlayer} from './players/animation_player';\n\nexport * from './private_export';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\nexport * from './src/animations';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n// This file is not used to build this module. It is only used during editing\n// by the TypeScript language service and during build for verification. `ngc`\n// replaces this file with production index.ts when it rewrites private symbol\n// names.\n\nexport * from './public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {AnimationEvent, AnimationPlayer, AUTO_STYLE, NoopAnimationPlayer, ɵAnimationGroupPlayer, ɵPRE_STYLE as PRE_STYLE, ɵStyleData} from '@angular/animations';\n\nimport {AnimationStyleNormalizer} from '../../src/dsl/style_normalization/animation_style_normalizer';\nimport {AnimationDriver} from '../../src/render/animation_driver';\n\n// We don't include ambient node types here since @angular/animations/browser\n// is meant to target the browser so technically it should not depend on node\n// types. `process` is just declared locally here as a result.\ndeclare const process: any;\n\nexport function isBrowser(): boolean {\n return (typeof window !== 'undefined' && typeof window.document !== 'undefined');\n}\n\nexport function isNode(): boolean {\n // Checking only for `process` isn't enough to identify whether or not we're in a Node\n // environment, because Webpack by default will polyfill the `process`. While we can discern\n // that Webpack polyfilled it by looking at `process.browser`, it's very Webpack-specific and\n // might not be future-proof. Instead we look at the stringified version of `process` which\n // is `[object process]` in Node and `[object Object]` when polyfilled.\n return typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\n}\n\nexport function optimizeGroupPlayer(players: AnimationPlayer[]): AnimationPlayer {\n switch (players.length) {\n case 0:\n return new NoopAnimationPlayer();\n case 1:\n return players[0];\n default:\n return new ɵAnimationGroupPlayer(players);\n }\n}\n\nexport function normalizeKeyframes(\n driver: AnimationDriver, normalizer: AnimationStyleNormalizer, element: any,\n keyframes: ɵStyleData[], preStyles: ɵStyleData = {},\n postStyles: ɵStyleData = {}): ɵStyleData[] {\n const errors: string[] = [];\n const normalizedKeyframes: ɵStyleData[] = [];\n let previousOffset = -1;\n let previousKeyframe: ɵStyleData|null = null;\n keyframes.forEach(kf => {\n const offset = kf['offset'] as number;\n const isSameOffset = offset == previousOffset;\n const normalizedKeyframe: ɵStyleData = (isSameOffset && previousKeyframe) || {};\n Object.keys(kf).forEach(prop => {\n let normalizedProp = prop;\n let normalizedValue = kf[prop];\n if (prop !== 'offset') {\n normalizedProp = normalizer.normalizePropertyName(normalizedProp, errors);\n switch (normalizedValue) {\n case PRE_STYLE:\n normalizedValue = preStyles[prop];\n break;\n\n case AUTO_STYLE:\n normalizedValue = postStyles[prop];\n break;\n\n default:\n normalizedValue =\n normalizer.normalizeStyleValue(prop, normalizedProp, normalizedValue, errors);\n break;\n }\n }\n normalizedKeyframe[normalizedProp] = normalizedValue;\n });\n if (!isSameOffset) {\n normalizedKeyframes.push(normalizedKeyframe);\n }\n previousKeyframe = normalizedKeyframe;\n previousOffset = offset;\n });\n if (errors.length) {\n const LINE_START = '\\n - ';\n throw new Error(\n `Unable to animate due to the following errors:${LINE_START}${errors.join(LINE_START)}`);\n }\n\n return normalizedKeyframes;\n}\n\nexport function listenOnPlayer(\n player: AnimationPlayer, eventName: string, event: AnimationEvent|undefined,\n callback: (event: any) => any) {\n switch (eventName) {\n case 'start':\n player.onStart(() => callback(event && copyAnimationEvent(event, 'start', player)));\n break;\n case 'done':\n player.onDone(() => callback(event && copyAnimationEvent(event, 'done', player)));\n break;\n case 'destroy':\n player.onDestroy(() => callback(event && copyAnimationEvent(event, 'destroy', player)));\n break;\n }\n}\n\nexport function copyAnimationEvent(\n e: AnimationEvent, phaseName: string, player: AnimationPlayer): AnimationEvent {\n const totalTime = player.totalTime;\n const disabled = (player as any).disabled ? true : false;\n const event = makeAnimationEvent(\n e.element, e.triggerName, e.fromState, e.toState, phaseName || e.phaseName,\n totalTime == undefined ? e.totalTime : totalTime, disabled);\n const data = (e as any)['_data'];\n if (data != null) {\n (event as any)['_data'] = data;\n }\n return event;\n}\n\nexport function makeAnimationEvent(\n element: any, triggerName: string, fromState: string, toState: string, phaseName: string = '',\n totalTime: number = 0, disabled?: boolean): AnimationEvent {\n return {element, triggerName, fromState, toState, phaseName, totalTime, disabled: !!disabled};\n}\n\nexport function getOrSetAsInMap(\n map: Map|{[key: string]: any}, key: any, defaultValue: any) {\n let value: any;\n if (map instanceof Map) {\n value = map.get(key);\n if (!value) {\n map.set(key, value = defaultValue);\n }\n } else {\n value = map[key];\n if (!value) {\n value = map[key] = defaultValue;\n }\n }\n return value;\n}\n\nexport function parseTimelineCommand(command: string): [string, string] {\n const separatorPos = command.indexOf(':');\n const id = command.substring(1, separatorPos);\n const action = command.substr(separatorPos + 1);\n return [id, action];\n}\n\nlet _contains: (elm1: any, elm2: any) => boolean = (elm1: any, elm2: any) => false;\nlet _matches: (element: any, selector: string) => boolean = (element: any, selector: string) =>\n false;\nlet _query: (element: any, selector: string, multi: boolean) => any[] =\n (element: any, selector: string, multi: boolean) => {\n return [];\n };\n\n// Define utility methods for browsers and platform-server(domino) where Element\n// and utility methods exist.\nconst _isNode = isNode();\nif (_isNode || typeof Element !== 'undefined') {\n // this is well supported in all browsers\n _contains = (elm1: any, elm2: any) => {\n return elm1.contains(elm2) as boolean;\n };\n\n _matches = (() => {\n if (_isNode || Element.prototype.matches) {\n return (element: any, selector: string) => element.matches(selector);\n } else {\n const proto = Element.prototype as any;\n const fn = proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector ||\n proto.oMatchesSelector || proto.webkitMatchesSelector;\n if (fn) {\n return (element: any, selector: string) => fn.apply(element, [selector]);\n } else {\n return _matches;\n }\n }\n })();\n\n _query = (element: any, selector: string, multi: boolean): any[] => {\n let results: any[] = [];\n if (multi) {\n results.push(...element.querySelectorAll(selector));\n } else {\n const elm = element.querySelector(selector);\n if (elm) {\n results.push(elm);\n }\n }\n return results;\n };\n}\n\nfunction containsVendorPrefix(prop: string): boolean {\n // Webkit is the only real popular vendor prefix nowadays\n // cc: http://shouldiprefix.com/\n return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit\n}\n\nlet _CACHED_BODY: {style: any}|null = null;\nlet _IS_WEBKIT = false;\nexport function validateStyleProperty(prop: string): boolean {\n if (!_CACHED_BODY) {\n _CACHED_BODY = getBodyNode() || {};\n _IS_WEBKIT = _CACHED_BODY!.style ? ('WebkitAppearance' in _CACHED_BODY!.style) : false;\n }\n\n let result = true;\n if (_CACHED_BODY!.style && !containsVendorPrefix(prop)) {\n result = prop in _CACHED_BODY!.style;\n if (!result && _IS_WEBKIT) {\n const camelProp = 'Webkit' + prop.charAt(0).toUpperCase() + prop.substr(1);\n result = camelProp in _CACHED_BODY!.style;\n }\n }\n\n return result;\n}\n\nexport function getBodyNode(): any|null {\n if (typeof document != 'undefined') {\n return document.body;\n }\n return null;\n}\n\nexport const matchesElement = _matches;\nexport const containsElement = _contains;\nexport const invokeQuery = _query;\n\nexport function hypenatePropsObject(object: {[key: string]: any}): {[key: string]: any} {\n const newObj: {[key: string]: any} = {};\n Object.keys(object).forEach(prop => {\n const newProp = prop.replace(/([a-z])([A-Z])/g, '$1-$2');\n newObj[newProp] = object[prop];\n });\n return newObj;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {AnimationPlayer, NoopAnimationPlayer} from '@angular/animations';\nimport {Injectable} from '@angular/core';\n\nimport {containsElement, invokeQuery, matchesElement, validateStyleProperty} from './shared';\n\n/**\n * @publicApi\n */\n@Injectable()\nexport class NoopAnimationDriver implements AnimationDriver {\n validateStyleProperty(prop: string): boolean {\n return validateStyleProperty(prop);\n }\n\n matchesElement(element: any, selector: string): boolean {\n return matchesElement(element, selector);\n }\n\n containsElement(elm1: any, elm2: any): boolean {\n return containsElement(elm1, elm2);\n }\n\n query(element: any, selector: string, multi: boolean): any[] {\n return invokeQuery(element, selector, multi);\n }\n\n computeStyle(element: any, prop: string, defaultValue?: string): string {\n return defaultValue || '';\n }\n\n animate(\n element: any, keyframes: {[key: string]: string|number}[], duration: number, delay: number,\n easing: string, previousPlayers: any[] = [],\n scrubberAccessRequested?: boolean): AnimationPlayer {\n return new NoopAnimationPlayer(duration, delay);\n }\n}\n\n/**\n * @publicApi\n */\nexport abstract class AnimationDriver {\n static NOOP: AnimationDriver = new NoopAnimationDriver();\n\n abstract validateStyleProperty(prop: string): boolean;\n\n abstract matchesElement(element: any, selector: string): boolean;\n\n abstract containsElement(elm1: any, elm2: any): boolean;\n\n abstract query(element: any, selector: string, multi: boolean): any[];\n\n abstract computeStyle(element: any, prop: string, defaultValue?: string): string;\n\n abstract animate(\n element: any, keyframes: {[key: string]: string|number}[], duration: number, delay: number,\n easing?: string|null, previousPlayers?: any[], scrubberAccessRequested?: boolean): any;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {AnimateTimings, AnimationMetadata, AnimationMetadataType, AnimationOptions, sequence, ɵStyleData} from '@angular/animations';\nimport {Ast as AnimationAst, AstVisitor as AnimationAstVisitor} from './dsl/animation_ast';\nimport {AnimationDslVisitor} from './dsl/animation_dsl_visitor';\nimport {isNode} from './render/shared';\n\nexport const ONE_SECOND = 1000;\n\nexport const SUBSTITUTION_EXPR_START = '{{';\nexport const SUBSTITUTION_EXPR_END = '}}';\nexport const ENTER_CLASSNAME = 'ng-enter';\nexport const LEAVE_CLASSNAME = 'ng-leave';\nexport const ENTER_SELECTOR = '.ng-enter';\nexport const LEAVE_SELECTOR = '.ng-leave';\nexport const NG_TRIGGER_CLASSNAME = 'ng-trigger';\nexport const NG_TRIGGER_SELECTOR = '.ng-trigger';\nexport const NG_ANIMATING_CLASSNAME = 'ng-animating';\nexport const NG_ANIMATING_SELECTOR = '.ng-animating';\n\nexport function resolveTimingValue(value: string|number) {\n if (typeof value == 'number') return value;\n\n const matches = value.match(/^(-?[\\.\\d]+)(m?s)/);\n if (!matches || matches.length < 2) return 0;\n\n return _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n}\n\nfunction _convertTimeValueToMS(value: number, unit: string): number {\n switch (unit) {\n case 's':\n return value * ONE_SECOND;\n default: // ms or something else\n return value;\n }\n}\n\nexport function resolveTiming(\n timings: string|number|AnimateTimings, errors: any[], allowNegativeValues?: boolean) {\n return timings.hasOwnProperty('duration') ?\n timings :\n parseTimeExpression(timings, errors, allowNegativeValues);\n}\n\nfunction parseTimeExpression(\n exp: string|number, errors: string[], allowNegativeValues?: boolean): AnimateTimings {\n const regex = /^(-?[\\.\\d]+)(m?s)(?:\\s+(-?[\\.\\d]+)(m?s))?(?:\\s+([-a-z]+(?:\\(.+?\\))?))?$/i;\n let duration: number;\n let delay: number = 0;\n let easing: string = '';\n if (typeof exp === 'string') {\n const matches = exp.match(regex);\n if (matches === null) {\n errors.push(`The provided timing value \"${exp}\" is invalid.`);\n return {duration: 0, delay: 0, easing: ''};\n }\n\n duration = _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n\n const delayMatch = matches[3];\n if (delayMatch != null) {\n delay = _convertTimeValueToMS(parseFloat(delayMatch), matches[4]);\n }\n\n const easingVal = matches[5];\n if (easingVal) {\n easing = easingVal;\n }\n } else {\n duration = exp;\n }\n\n if (!allowNegativeValues) {\n let containsErrors = false;\n let startIndex = errors.length;\n if (duration < 0) {\n errors.push(`Duration values below 0 are not allowed for this animation step.`);\n containsErrors = true;\n }\n if (delay < 0) {\n errors.push(`Delay values below 0 are not allowed for this animation step.`);\n containsErrors = true;\n }\n if (containsErrors) {\n errors.splice(startIndex, 0, `The provided timing value \"${exp}\" is invalid.`);\n }\n }\n\n return {duration, delay, easing};\n}\n\nexport function copyObj(\n obj: {[key: string]: any}, destination: {[key: string]: any} = {}): {[key: string]: any} {\n Object.keys(obj).forEach(prop => {\n destination[prop] = obj[prop];\n });\n return destination;\n}\n\nexport function normalizeStyles(styles: ɵStyleData|ɵStyleData[]): ɵStyleData {\n const normalizedStyles: ɵStyleData = {};\n if (Array.isArray(styles)) {\n styles.forEach(data => copyStyles(data, false, normalizedStyles));\n } else {\n copyStyles(styles, false, normalizedStyles);\n }\n return normalizedStyles;\n}\n\nexport function copyStyles(\n styles: ɵStyleData, readPrototype: boolean, destination: ɵStyleData = {}): ɵStyleData {\n if (readPrototype) {\n // we make use of a for-in loop so that the\n // prototypically inherited properties are\n // revealed from the backFill map\n for (let prop in styles) {\n destination[prop] = styles[prop];\n }\n } else {\n copyObj(styles, destination);\n }\n return destination;\n}\n\nfunction getStyleAttributeString(element: any, key: string, value: string) {\n // Return the key-value pair string to be added to the style attribute for the\n // given CSS style key.\n if (value) {\n return key + ':' + value + ';';\n } else {\n return '';\n }\n}\n\nfunction writeStyleAttribute(element: any) {\n // Read the style property of the element and manually reflect it to the\n // style attribute. This is needed because Domino on platform-server doesn't\n // understand the full set of allowed CSS properties and doesn't reflect some\n // of them automatically.\n let styleAttrValue = '';\n for (let i = 0; i < element.style.length; i++) {\n const key = element.style.item(i);\n styleAttrValue += getStyleAttributeString(element, key, element.style.getPropertyValue(key));\n }\n for (const key in element.style) {\n // Skip internal Domino properties that don't need to be reflected.\n if (!element.style.hasOwnProperty(key) || key.startsWith('_')) {\n continue;\n }\n const dashKey = camelCaseToDashCase(key);\n styleAttrValue += getStyleAttributeString(element, dashKey, element.style[key]);\n }\n element.setAttribute('style', styleAttrValue);\n}\n\nexport function setStyles(element: any, styles: ɵStyleData, formerStyles?: {[key: string]: any}) {\n if (element['style']) {\n Object.keys(styles).forEach(prop => {\n const camelProp = dashCaseToCamelCase(prop);\n if (formerStyles && !formerStyles.hasOwnProperty(prop)) {\n formerStyles[prop] = element.style[camelProp];\n }\n element.style[camelProp] = styles[prop];\n });\n // On the server set the 'style' attribute since it's not automatically reflected.\n if (isNode()) {\n writeStyleAttribute(element);\n }\n }\n}\n\nexport function eraseStyles(element: any, styles: ɵStyleData) {\n if (element['style']) {\n Object.keys(styles).forEach(prop => {\n const camelProp = dashCaseToCamelCase(prop);\n element.style[camelProp] = '';\n });\n // On the server set the 'style' attribute since it's not automatically reflected.\n if (isNode()) {\n writeStyleAttribute(element);\n }\n }\n}\n\nexport function normalizeAnimationEntry(steps: AnimationMetadata|\n AnimationMetadata[]): AnimationMetadata {\n if (Array.isArray(steps)) {\n if (steps.length == 1) return steps[0];\n return sequence(steps);\n }\n return steps as AnimationMetadata;\n}\n\nexport function validateStyleParams(\n value: string|number, options: AnimationOptions, errors: any[]) {\n const params = options.params || {};\n const matches = extractStyleParams(value);\n if (matches.length) {\n matches.forEach(varName => {\n if (!params.hasOwnProperty(varName)) {\n errors.push(\n `Unable to resolve the local animation param ${varName} in the given list of values`);\n }\n });\n }\n}\n\nconst PARAM_REGEX =\n new RegExp(`${SUBSTITUTION_EXPR_START}\\\\s*(.+?)\\\\s*${SUBSTITUTION_EXPR_END}`, 'g');\nexport function extractStyleParams(value: string|number): string[] {\n let params: string[] = [];\n if (typeof value === 'string') {\n let match: any;\n while (match = PARAM_REGEX.exec(value)) {\n params.push(match[1] as string);\n }\n PARAM_REGEX.lastIndex = 0;\n }\n return params;\n}\n\nexport function interpolateParams(\n value: string|number, params: {[name: string]: any}, errors: any[]): string|number {\n const original = value.toString();\n const str = original.replace(PARAM_REGEX, (_, varName) => {\n let localVal = params[varName];\n // this means that the value was never overridden by the data passed in by the user\n if (!params.hasOwnProperty(varName)) {\n errors.push(`Please provide a value for the animation param ${varName}`);\n localVal = '';\n }\n return localVal.toString();\n });\n\n // we do this to assert that numeric values stay as they are\n return str == original ? value : str;\n}\n\nexport function iteratorToArray(iterator: any): any[] {\n const arr: any[] = [];\n let item = iterator.next();\n while (!item.done) {\n arr.push(item.value);\n item = iterator.next();\n }\n return arr;\n}\n\nexport function mergeAnimationOptions(\n source: AnimationOptions, destination: AnimationOptions): AnimationOptions {\n if (source.params) {\n const p0 = source.params;\n if (!destination.params) {\n destination.params = {};\n }\n const p1 = destination.params;\n Object.keys(p0).forEach(param => {\n if (!p1.hasOwnProperty(param)) {\n p1[param] = p0[param];\n }\n });\n }\n return destination;\n}\n\nconst DASH_CASE_REGEXP = /-+([a-z0-9])/g;\nexport function dashCaseToCamelCase(input: string): string {\n return input.replace(DASH_CASE_REGEXP, (...m: any[]) => m[1].toUpperCase());\n}\n\nfunction camelCaseToDashCase(input: string): string {\n return input.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nexport function allowPreviousPlayerStylesMerge(duration: number, delay: number) {\n return duration === 0 || delay === 0;\n}\n\nexport function balancePreviousStylesIntoKeyframes(\n element: any, keyframes: {[key: string]: any}[], previousStyles: {[key: string]: any}) {\n const previousStyleProps = Object.keys(previousStyles);\n if (previousStyleProps.length && keyframes.length) {\n let startingKeyframe = keyframes[0];\n let missingStyleProps: string[] = [];\n previousStyleProps.forEach(prop => {\n if (!startingKeyframe.hasOwnProperty(prop)) {\n missingStyleProps.push(prop);\n }\n startingKeyframe[prop] = previousStyles[prop];\n });\n\n if (missingStyleProps.length) {\n // tslint:disable-next-line\n for (var i = 1; i < keyframes.length; i++) {\n let kf = keyframes[i];\n missingStyleProps.forEach(function(prop) {\n kf[prop] = computeStyle(element, prop);\n });\n }\n }\n }\n return keyframes;\n}\n\nexport function visitDslNode(\n visitor: AnimationDslVisitor, node: AnimationMetadata, context: any): any;\nexport function visitDslNode(\n visitor: AnimationAstVisitor, node: AnimationAst, context: any): any;\nexport function visitDslNode(visitor: any, node: any, context: any): any {\n switch (node.type) {\n case AnimationMetadataType.Trigger:\n return visitor.visitTrigger(node, context);\n case AnimationMetadataType.State:\n return visitor.visitState(node, context);\n case AnimationMetadataType.Transition:\n return visitor.visitTransition(node, context);\n case AnimationMetadataType.Sequence:\n return visitor.visitSequence(node, context);\n case AnimationMetadataType.Group:\n return visitor.visitGroup(node, context);\n case AnimationMetadataType.Animate:\n return visitor.visitAnimate(node, context);\n case AnimationMetadataType.Keyframes:\n return visitor.visitKeyframes(node, context);\n case AnimationMetadataType.Style:\n return visitor.visitStyle(node, context);\n case AnimationMetadataType.Reference:\n return visitor.visitReference(node, context);\n case AnimationMetadataType.AnimateChild:\n return visitor.visitAnimateChild(node, context);\n case AnimationMetadataType.AnimateRef:\n return visitor.visitAnimateRef(node, context);\n case AnimationMetadataType.Query:\n return visitor.visitQuery(node, context);\n case AnimationMetadataType.Stagger:\n return visitor.visitStagger(node, context);\n default:\n throw new Error(`Unable to resolve animation metadata node #${node.type}`);\n }\n}\n\nexport function computeStyle(element: any, prop: string): string {\n return (window.getComputedStyle(element))[prop];\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nexport const ANY_STATE = '*';\nexport declare type TransitionMatcherFn =\n (fromState: any, toState: any, element: any, params: {[key: string]: any}) => boolean;\n\nexport function parseTransitionExpr(\n transitionValue: string|TransitionMatcherFn, errors: string[]): TransitionMatcherFn[] {\n const expressions: TransitionMatcherFn[] = [];\n if (typeof transitionValue == 'string') {\n transitionValue.split(/\\s*,\\s*/).forEach(\n str => parseInnerTransitionStr(str, expressions, errors));\n } else {\n expressions.push(transitionValue);\n }\n return expressions;\n}\n\nfunction parseInnerTransitionStr(\n eventStr: string, expressions: TransitionMatcherFn[], errors: string[]) {\n if (eventStr[0] == ':') {\n const result = parseAnimationAlias(eventStr, errors);\n if (typeof result == 'function') {\n expressions.push(result);\n return;\n }\n eventStr = result;\n }\n\n const match = eventStr.match(/^(\\*|[-\\w]+)\\s*()\\s*(\\*|[-\\w]+)$/);\n if (match == null || match.length < 4) {\n errors.push(`The provided transition expression \"${eventStr}\" is not supported`);\n return expressions;\n }\n\n const fromState = match[1];\n const separator = match[2];\n const toState = match[3];\n expressions.push(makeLambdaFromStates(fromState, toState));\n\n const isFullAnyStateExpr = fromState == ANY_STATE && toState == ANY_STATE;\n if (separator[0] == '<' && !isFullAnyStateExpr) {\n expressions.push(makeLambdaFromStates(toState, fromState));\n }\n}\n\nfunction parseAnimationAlias(alias: string, errors: string[]): string|TransitionMatcherFn {\n switch (alias) {\n case ':enter':\n return 'void => *';\n case ':leave':\n return '* => void';\n case ':increment':\n return (fromState: any, toState: any): boolean => parseFloat(toState) > parseFloat(fromState);\n case ':decrement':\n return (fromState: any, toState: any): boolean => parseFloat(toState) < parseFloat(fromState);\n default:\n errors.push(`The transition alias value \"${alias}\" is not supported`);\n return '* => *';\n }\n}\n\n// DO NOT REFACTOR ... keep the follow set instantiations\n// with the values intact (closure compiler for some reason\n// removes follow-up lines that add the values outside of\n// the constructor...\nconst TRUE_BOOLEAN_VALUES = new Set(['true', '1']);\nconst FALSE_BOOLEAN_VALUES = new Set(['false', '0']);\n\nfunction makeLambdaFromStates(lhs: string, rhs: string): TransitionMatcherFn {\n const LHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(lhs) || FALSE_BOOLEAN_VALUES.has(lhs);\n const RHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(rhs) || FALSE_BOOLEAN_VALUES.has(rhs);\n\n return (fromState: any, toState: any): boolean => {\n let lhsMatch = lhs == ANY_STATE || lhs == fromState;\n let rhsMatch = rhs == ANY_STATE || rhs == toState;\n\n if (!lhsMatch && LHS_MATCH_BOOLEAN && typeof fromState === 'boolean') {\n lhsMatch = fromState ? TRUE_BOOLEAN_VALUES.has(lhs) : FALSE_BOOLEAN_VALUES.has(lhs);\n }\n if (!rhsMatch && RHS_MATCH_BOOLEAN && typeof toState === 'boolean') {\n rhsMatch = toState ? TRUE_BOOLEAN_VALUES.has(rhs) : FALSE_BOOLEAN_VALUES.has(rhs);\n }\n\n return lhsMatch && rhsMatch;\n };\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {AnimateTimings, AnimationAnimateChildMetadata, AnimationAnimateMetadata, AnimationAnimateRefMetadata, AnimationGroupMetadata, AnimationKeyframesSequenceMetadata, AnimationMetadata, AnimationMetadataType, AnimationOptions, AnimationQueryMetadata, AnimationQueryOptions, AnimationReferenceMetadata, AnimationSequenceMetadata, AnimationStaggerMetadata, AnimationStateMetadata, AnimationStyleMetadata, AnimationTransitionMetadata, AnimationTriggerMetadata, AUTO_STYLE, style, ɵStyleData} from '@angular/animations';\n\nimport {AnimationDriver} from '../render/animation_driver';\nimport {getOrSetAsInMap} from '../render/shared';\nimport {copyObj, ENTER_SELECTOR, extractStyleParams, iteratorToArray, LEAVE_SELECTOR, NG_ANIMATING_SELECTOR, NG_TRIGGER_SELECTOR, normalizeAnimationEntry, resolveTiming, SUBSTITUTION_EXPR_START, validateStyleParams, visitDslNode} from '../util';\n\nimport {AnimateAst, AnimateChildAst, AnimateRefAst, Ast, DynamicTimingAst, GroupAst, KeyframesAst, QueryAst, ReferenceAst, SequenceAst, StaggerAst, StateAst, StyleAst, TimingAst, TransitionAst, TriggerAst} from './animation_ast';\nimport {AnimationDslVisitor} from './animation_dsl_visitor';\nimport {parseTransitionExpr} from './animation_transition_expr';\n\nconst SELF_TOKEN = ':self';\nconst SELF_TOKEN_REGEX = new RegExp(`\\s*${SELF_TOKEN}\\s*,?`, 'g');\n\n/*\n * [Validation]\n * The visitor code below will traverse the animation AST generated by the animation verb functions\n * (the output is a tree of objects) and attempt to perform a series of validations on the data. The\n * following corner-cases will be validated:\n *\n * 1. Overlap of animations\n * Given that a CSS property cannot be animated in more than one place at the same time, it's\n * important that this behavior is detected and validated. The way in which this occurs is that\n * each time a style property is examined, a string-map containing the property will be updated with\n * the start and end times for when the property is used within an animation step.\n *\n * If there are two or more parallel animations that are currently running (these are invoked by the\n * group()) on the same element then the validator will throw an error. Since the start/end timing\n * values are collected for each property then if the current animation step is animating the same\n * property and its timing values fall anywhere into the window of time that the property is\n * currently being animated within then this is what causes an error.\n *\n * 2. Timing values\n * The validator will validate to see if a timing value of `duration delay easing` or\n * `durationNumber` is valid or not.\n *\n * (note that upon validation the code below will replace the timing data with an object containing\n * {duration,delay,easing}.\n *\n * 3. Offset Validation\n * Each of the style() calls are allowed to have an offset value when placed inside of keyframes().\n * Offsets within keyframes() are considered valid when:\n *\n * - No offsets are used at all\n * - Each style() entry contains an offset value\n * - Each offset is between 0 and 1\n * - Each offset is greater to or equal than the previous one\n *\n * Otherwise an error will be thrown.\n */\nexport function buildAnimationAst(\n driver: AnimationDriver, metadata: AnimationMetadata|AnimationMetadata[],\n errors: any[]): Ast {\n return new AnimationAstBuilderVisitor(driver).build(metadata, errors);\n}\n\nconst ROOT_SELECTOR = '';\n\nexport class AnimationAstBuilderVisitor implements AnimationDslVisitor {\n constructor(private _driver: AnimationDriver) {}\n\n build(metadata: AnimationMetadata|AnimationMetadata[], errors: any[]):\n Ast {\n const context = new AnimationAstBuilderContext(errors);\n this._resetContextStyleTimingState(context);\n return >visitDslNode(\n this, normalizeAnimationEntry(metadata), context);\n }\n\n private _resetContextStyleTimingState(context: AnimationAstBuilderContext) {\n context.currentQuerySelector = ROOT_SELECTOR;\n context.collectedStyles = {};\n context.collectedStyles[ROOT_SELECTOR] = {};\n context.currentTime = 0;\n }\n\n visitTrigger(metadata: AnimationTriggerMetadata, context: AnimationAstBuilderContext):\n TriggerAst {\n let queryCount = context.queryCount = 0;\n let depCount = context.depCount = 0;\n const states: StateAst[] = [];\n const transitions: TransitionAst[] = [];\n if (metadata.name.charAt(0) == '@') {\n context.errors.push(\n 'animation triggers cannot be prefixed with an `@` sign (e.g. trigger(\\'@foo\\', [...]))');\n }\n\n metadata.definitions.forEach(def => {\n this._resetContextStyleTimingState(context);\n if (def.type == AnimationMetadataType.State) {\n const stateDef = def as AnimationStateMetadata;\n const name = stateDef.name;\n name.toString().split(/\\s*,\\s*/).forEach(n => {\n stateDef.name = n;\n states.push(this.visitState(stateDef, context));\n });\n stateDef.name = name;\n } else if (def.type == AnimationMetadataType.Transition) {\n const transition = this.visitTransition(def as AnimationTransitionMetadata, context);\n queryCount += transition.queryCount;\n depCount += transition.depCount;\n transitions.push(transition);\n } else {\n context.errors.push(\n 'only state() and transition() definitions can sit inside of a trigger()');\n }\n });\n\n return {\n type: AnimationMetadataType.Trigger,\n name: metadata.name,\n states,\n transitions,\n queryCount,\n depCount,\n options: null\n };\n }\n\n visitState(metadata: AnimationStateMetadata, context: AnimationAstBuilderContext): StateAst {\n const styleAst = this.visitStyle(metadata.styles, context);\n const astParams = (metadata.options && metadata.options.params) || null;\n if (styleAst.containsDynamicStyles) {\n const missingSubs = new Set();\n const params = astParams || {};\n styleAst.styles.forEach(value => {\n if (isObject(value)) {\n const stylesObj = value as any;\n Object.keys(stylesObj).forEach(prop => {\n extractStyleParams(stylesObj[prop]).forEach(sub => {\n if (!params.hasOwnProperty(sub)) {\n missingSubs.add(sub);\n }\n });\n });\n }\n });\n if (missingSubs.size) {\n const missingSubsArr = iteratorToArray(missingSubs.values());\n context.errors.push(`state(\"${\n metadata\n .name}\", ...) must define default values for all the following style substitutions: ${\n missingSubsArr.join(', ')}`);\n }\n }\n\n return {\n type: AnimationMetadataType.State,\n name: metadata.name,\n style: styleAst,\n options: astParams ? {params: astParams} : null\n };\n }\n\n visitTransition(metadata: AnimationTransitionMetadata, context: AnimationAstBuilderContext):\n TransitionAst {\n context.queryCount = 0;\n context.depCount = 0;\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n const matchers = parseTransitionExpr(metadata.expr, context.errors);\n\n return {\n type: AnimationMetadataType.Transition,\n matchers,\n animation,\n queryCount: context.queryCount,\n depCount: context.depCount,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n\n visitSequence(metadata: AnimationSequenceMetadata, context: AnimationAstBuilderContext):\n SequenceAst {\n return {\n type: AnimationMetadataType.Sequence,\n steps: metadata.steps.map(s => visitDslNode(this, s, context)),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n\n visitGroup(metadata: AnimationGroupMetadata, context: AnimationAstBuilderContext): GroupAst {\n const currentTime = context.currentTime;\n let furthestTime = 0;\n const steps = metadata.steps.map(step => {\n context.currentTime = currentTime;\n const innerAst = visitDslNode(this, step, context);\n furthestTime = Math.max(furthestTime, context.currentTime);\n return innerAst;\n });\n\n context.currentTime = furthestTime;\n return {\n type: AnimationMetadataType.Group,\n steps,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n\n visitAnimate(metadata: AnimationAnimateMetadata, context: AnimationAstBuilderContext):\n AnimateAst {\n const timingAst = constructTimingAst(metadata.timings, context.errors);\n context.currentAnimateTimings = timingAst;\n\n let styleAst: StyleAst|KeyframesAst;\n let styleMetadata: AnimationMetadata = metadata.styles ? metadata.styles : style({});\n if (styleMetadata.type == AnimationMetadataType.Keyframes) {\n styleAst = this.visitKeyframes(styleMetadata as AnimationKeyframesSequenceMetadata, context);\n } else {\n let styleMetadata = metadata.styles as AnimationStyleMetadata;\n let isEmpty = false;\n if (!styleMetadata) {\n isEmpty = true;\n const newStyleData: {[prop: string]: string|number} = {};\n if (timingAst.easing) {\n newStyleData['easing'] = timingAst.easing;\n }\n styleMetadata = style(newStyleData);\n }\n context.currentTime += timingAst.duration + timingAst.delay;\n const _styleAst = this.visitStyle(styleMetadata, context);\n _styleAst.isEmptyStep = isEmpty;\n styleAst = _styleAst;\n }\n\n context.currentAnimateTimings = null;\n return {\n type: AnimationMetadataType.Animate,\n timings: timingAst,\n style: styleAst,\n options: null\n };\n }\n\n visitStyle(metadata: AnimationStyleMetadata, context: AnimationAstBuilderContext): StyleAst {\n const ast = this._makeStyleAst(metadata, context);\n this._validateStyleAst(ast, context);\n return ast;\n }\n\n private _makeStyleAst(metadata: AnimationStyleMetadata, context: AnimationAstBuilderContext):\n StyleAst {\n const styles: (ɵStyleData|string)[] = [];\n if (Array.isArray(metadata.styles)) {\n (metadata.styles as (ɵStyleData | string)[]).forEach(styleTuple => {\n if (typeof styleTuple == 'string') {\n if (styleTuple == AUTO_STYLE) {\n styles.push(styleTuple);\n } else {\n context.errors.push(`The provided style string value ${styleTuple} is not allowed.`);\n }\n } else {\n styles.push(styleTuple);\n }\n });\n } else {\n styles.push(metadata.styles);\n }\n\n let containsDynamicStyles = false;\n let collectedEasing: string|null = null;\n styles.forEach(styleData => {\n if (isObject(styleData)) {\n const styleMap = styleData as ɵStyleData;\n const easing = styleMap['easing'];\n if (easing) {\n collectedEasing = easing as string;\n delete styleMap['easing'];\n }\n if (!containsDynamicStyles) {\n for (let prop in styleMap) {\n const value = styleMap[prop];\n if (value.toString().indexOf(SUBSTITUTION_EXPR_START) >= 0) {\n containsDynamicStyles = true;\n break;\n }\n }\n }\n }\n });\n\n return {\n type: AnimationMetadataType.Style,\n styles,\n easing: collectedEasing,\n offset: metadata.offset,\n containsDynamicStyles,\n options: null\n };\n }\n\n private _validateStyleAst(ast: StyleAst, context: AnimationAstBuilderContext): void {\n const timings = context.currentAnimateTimings;\n let endTime = context.currentTime;\n let startTime = context.currentTime;\n if (timings && startTime > 0) {\n startTime -= timings.duration + timings.delay;\n }\n\n ast.styles.forEach(tuple => {\n if (typeof tuple == 'string') return;\n\n Object.keys(tuple).forEach(prop => {\n if (!this._driver.validateStyleProperty(prop)) {\n context.errors.push(`The provided animation property \"${\n prop}\" is not a supported CSS property for animations`);\n return;\n }\n\n const collectedStyles = context.collectedStyles[context.currentQuerySelector!];\n const collectedEntry = collectedStyles[prop];\n let updateCollectedStyle = true;\n if (collectedEntry) {\n if (startTime != endTime && startTime >= collectedEntry.startTime &&\n endTime <= collectedEntry.endTime) {\n context.errors.push(`The CSS property \"${prop}\" that exists between the times of \"${\n collectedEntry.startTime}ms\" and \"${\n collectedEntry\n .endTime}ms\" is also being animated in a parallel animation between the times of \"${\n startTime}ms\" and \"${endTime}ms\"`);\n updateCollectedStyle = false;\n }\n\n // we always choose the smaller start time value since we\n // want to have a record of the entire animation window where\n // the style property is being animated in between\n startTime = collectedEntry.startTime;\n }\n\n if (updateCollectedStyle) {\n collectedStyles[prop] = {startTime, endTime};\n }\n\n if (context.options) {\n validateStyleParams(tuple[prop], context.options, context.errors);\n }\n });\n });\n }\n\n visitKeyframes(metadata: AnimationKeyframesSequenceMetadata, context: AnimationAstBuilderContext):\n KeyframesAst {\n const ast: KeyframesAst = {type: AnimationMetadataType.Keyframes, styles: [], options: null};\n if (!context.currentAnimateTimings) {\n context.errors.push(`keyframes() must be placed inside of a call to animate()`);\n return ast;\n }\n\n const MAX_KEYFRAME_OFFSET = 1;\n\n let totalKeyframesWithOffsets = 0;\n const offsets: number[] = [];\n let offsetsOutOfOrder = false;\n let keyframesOutOfRange = false;\n let previousOffset: number = 0;\n\n const keyframes: StyleAst[] = metadata.steps.map(styles => {\n const style = this._makeStyleAst(styles, context);\n let offsetVal: number|null =\n style.offset != null ? style.offset : consumeOffset(style.styles);\n let offset: number = 0;\n if (offsetVal != null) {\n totalKeyframesWithOffsets++;\n offset = style.offset = offsetVal;\n }\n keyframesOutOfRange = keyframesOutOfRange || offset < 0 || offset > 1;\n offsetsOutOfOrder = offsetsOutOfOrder || offset < previousOffset;\n previousOffset = offset;\n offsets.push(offset);\n return style;\n });\n\n if (keyframesOutOfRange) {\n context.errors.push(`Please ensure that all keyframe offsets are between 0 and 1`);\n }\n\n if (offsetsOutOfOrder) {\n context.errors.push(`Please ensure that all keyframe offsets are in order`);\n }\n\n const length = metadata.steps.length;\n let generatedOffset = 0;\n if (totalKeyframesWithOffsets > 0 && totalKeyframesWithOffsets < length) {\n context.errors.push(`Not all style() steps within the declared keyframes() contain offsets`);\n } else if (totalKeyframesWithOffsets == 0) {\n generatedOffset = MAX_KEYFRAME_OFFSET / (length - 1);\n }\n\n const limit = length - 1;\n const currentTime = context.currentTime;\n const currentAnimateTimings = context.currentAnimateTimings!;\n const animateDuration = currentAnimateTimings.duration;\n keyframes.forEach((kf, i) => {\n const offset = generatedOffset > 0 ? (i == limit ? 1 : (generatedOffset * i)) : offsets[i];\n const durationUpToThisFrame = offset * animateDuration;\n context.currentTime = currentTime + currentAnimateTimings.delay + durationUpToThisFrame;\n currentAnimateTimings.duration = durationUpToThisFrame;\n this._validateStyleAst(kf, context);\n kf.offset = offset;\n\n ast.styles.push(kf);\n });\n\n return ast;\n }\n\n visitReference(metadata: AnimationReferenceMetadata, context: AnimationAstBuilderContext):\n ReferenceAst {\n return {\n type: AnimationMetadataType.Reference,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n\n visitAnimateChild(metadata: AnimationAnimateChildMetadata, context: AnimationAstBuilderContext):\n AnimateChildAst {\n context.depCount++;\n return {\n type: AnimationMetadataType.AnimateChild,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n\n visitAnimateRef(metadata: AnimationAnimateRefMetadata, context: AnimationAstBuilderContext):\n AnimateRefAst {\n return {\n type: AnimationMetadataType.AnimateRef,\n animation: this.visitReference(metadata.animation, context),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n\n visitQuery(metadata: AnimationQueryMetadata, context: AnimationAstBuilderContext): QueryAst {\n const parentSelector = context.currentQuerySelector!;\n const options = (metadata.options || {}) as AnimationQueryOptions;\n\n context.queryCount++;\n context.currentQuery = metadata;\n const [selector, includeSelf] = normalizeSelector(metadata.selector);\n context.currentQuerySelector =\n parentSelector.length ? (parentSelector + ' ' + selector) : selector;\n getOrSetAsInMap(context.collectedStyles, context.currentQuerySelector, {});\n\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n context.currentQuery = null;\n context.currentQuerySelector = parentSelector;\n\n return {\n type: AnimationMetadataType.Query,\n selector,\n limit: options.limit || 0,\n optional: !!options.optional,\n includeSelf,\n animation,\n originalSelector: metadata.selector,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n\n visitStagger(metadata: AnimationStaggerMetadata, context: AnimationAstBuilderContext):\n StaggerAst {\n if (!context.currentQuery) {\n context.errors.push(`stagger() can only be used inside of query()`);\n }\n const timings = metadata.timings === 'full' ?\n {duration: 0, delay: 0, easing: 'full'} :\n resolveTiming(metadata.timings, context.errors, true);\n\n return {\n type: AnimationMetadataType.Stagger,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n timings,\n options: null\n };\n }\n}\n\nfunction normalizeSelector(selector: string): [string, boolean] {\n const hasAmpersand = selector.split(/\\s*,\\s*/).find(token => token == SELF_TOKEN) ? true : false;\n if (hasAmpersand) {\n selector = selector.replace(SELF_TOKEN_REGEX, '');\n }\n\n // the :enter and :leave selectors are filled in at runtime during timeline building\n selector = selector.replace(/@\\*/g, NG_TRIGGER_SELECTOR)\n .replace(/@\\w+/g, match => NG_TRIGGER_SELECTOR + '-' + match.substr(1))\n .replace(/:animating/g, NG_ANIMATING_SELECTOR);\n\n return [selector, hasAmpersand];\n}\n\n\nfunction normalizeParams(obj: {[key: string]: any}|any): {[key: string]: any}|null {\n return obj ? copyObj(obj) : null;\n}\n\nexport type StyleTimeTuple = {\n startTime: number; endTime: number;\n};\n\nexport class AnimationAstBuilderContext {\n public queryCount: number = 0;\n public depCount: number = 0;\n public currentTransition: AnimationTransitionMetadata|null = null;\n public currentQuery: AnimationQueryMetadata|null = null;\n public currentQuerySelector: string|null = null;\n public currentAnimateTimings: TimingAst|null = null;\n public currentTime: number = 0;\n public collectedStyles: {[selectorName: string]: {[propName: string]: StyleTimeTuple}} = {};\n public options: AnimationOptions|null = null;\n constructor(public errors: any[]) {}\n}\n\nfunction consumeOffset(styles: ɵStyleData|string|(ɵStyleData | string)[]): number|null {\n if (typeof styles == 'string') return null;\n\n let offset: number|null = null;\n\n if (Array.isArray(styles)) {\n styles.forEach(styleTuple => {\n if (isObject(styleTuple) && styleTuple.hasOwnProperty('offset')) {\n const obj = styleTuple as ɵStyleData;\n offset = parseFloat(obj['offset'] as string);\n delete obj['offset'];\n }\n });\n } else if (isObject(styles) && styles.hasOwnProperty('offset')) {\n const obj = styles;\n offset = parseFloat(obj['offset'] as string);\n delete obj['offset'];\n }\n return offset;\n}\n\nfunction isObject(value: any): boolean {\n return !Array.isArray(value) && typeof value == 'object';\n}\n\nfunction constructTimingAst(value: string|number|AnimateTimings, errors: any[]) {\n let timings: AnimateTimings|null = null;\n if (value.hasOwnProperty('duration')) {\n timings = value as AnimateTimings;\n } else if (typeof value == 'number') {\n const duration = resolveTiming(value, errors).duration;\n return makeTimingAst(duration, 0, '');\n }\n\n const strValue = value as string;\n const isDynamic = strValue.split(/\\s+/).some(v => v.charAt(0) == '{' && v.charAt(1) == '{');\n if (isDynamic) {\n const ast = makeTimingAst(0, 0, '') as any;\n ast.dynamic = true;\n ast.strValue = strValue;\n return ast as DynamicTimingAst;\n }\n\n timings = timings || resolveTiming(strValue, errors);\n return makeTimingAst(timings.duration, timings.delay, timings.easing);\n}\n\nfunction normalizeAnimationOptions(options: AnimationOptions|null): AnimationOptions {\n if (options) {\n options = copyObj(options);\n if (options['params']) {\n options['params'] = normalizeParams(options['params'])!;\n }\n } else {\n options = {};\n }\n return options;\n}\n\nfunction makeTimingAst(duration: number, delay: number, easing: string|null): TimingAst {\n return {duration, delay, easing};\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {ɵStyleData} from '@angular/animations';\nimport {AnimationEngineInstruction, AnimationTransitionInstructionType} from '../render/animation_engine_instruction';\n\nexport interface AnimationTimelineInstruction extends AnimationEngineInstruction {\n element: any;\n keyframes: ɵStyleData[];\n preStyleProps: string[];\n postStyleProps: string[];\n duration: number;\n delay: number;\n totalTime: number;\n easing: string|null;\n stretchStartingKeyframe?: boolean;\n subTimeline: boolean;\n}\n\nexport function createTimelineInstruction(\n element: any, keyframes: ɵStyleData[], preStyleProps: string[], postStyleProps: string[],\n duration: number, delay: number, easing: string|null = null,\n subTimeline: boolean = false): AnimationTimelineInstruction {\n return {\n type: AnimationTransitionInstructionType.TimelineAnimation,\n element,\n keyframes,\n preStyleProps,\n postStyleProps,\n duration,\n delay,\n totalTime: duration + delay,\n easing,\n subTimeline\n };\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {AnimationTimelineInstruction} from './animation_timeline_instruction';\n\nexport class ElementInstructionMap {\n private _map = new Map();\n\n consume(element: any): AnimationTimelineInstruction[] {\n let instructions = this._map.get(element);\n if (instructions) {\n this._map.delete(element);\n } else {\n instructions = [];\n }\n return instructions;\n }\n\n append(element: any, instructions: AnimationTimelineInstruction[]) {\n let existingInstructions = this._map.get(element);\n if (!existingInstructions) {\n this._map.set(element, existingInstructions = []);\n }\n existingInstructions.push(...instructions);\n }\n\n has(element: any): boolean {\n return this._map.has(element);\n }\n\n clear() {\n this._map.clear();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {AnimateChildOptions, AnimateTimings, AnimationMetadataType, AnimationOptions, AnimationQueryOptions, AUTO_STYLE, ɵPRE_STYLE as PRE_STYLE, ɵStyleData} from '@angular/animations';\n\nimport {AnimationDriver} from '../render/animation_driver';\nimport {copyObj, copyStyles, interpolateParams, iteratorToArray, resolveTiming, resolveTimingValue, visitDslNode} from '../util';\n\nimport {AnimateAst, AnimateChildAst, AnimateRefAst, Ast, AstVisitor, DynamicTimingAst, GroupAst, KeyframesAst, QueryAst, ReferenceAst, SequenceAst, StaggerAst, StateAst, StyleAst, TimingAst, TransitionAst, TriggerAst} from './animation_ast';\nimport {AnimationTimelineInstruction, createTimelineInstruction} from './animation_timeline_instruction';\nimport {ElementInstructionMap} from './element_instruction_map';\n\nconst ONE_FRAME_IN_MILLISECONDS = 1;\nconst ENTER_TOKEN = ':enter';\nconst ENTER_TOKEN_REGEX = new RegExp(ENTER_TOKEN, 'g');\nconst LEAVE_TOKEN = ':leave';\nconst LEAVE_TOKEN_REGEX = new RegExp(LEAVE_TOKEN, 'g');\n\n/*\n * The code within this file aims to generate web-animations-compatible keyframes from Angular's\n * animation DSL code.\n *\n * The code below will be converted from:\n *\n * ```\n * sequence([\n * style({ opacity: 0 }),\n * animate(1000, style({ opacity: 0 }))\n * ])\n * ```\n *\n * To:\n * ```\n * keyframes = [{ opacity: 0, offset: 0 }, { opacity: 1, offset: 1 }]\n * duration = 1000\n * delay = 0\n * easing = ''\n * ```\n *\n * For this operation to cover the combination of animation verbs (style, animate, group, etc...) a\n * combination of prototypical inheritance, AST traversal and merge-sort-like algorithms are used.\n *\n * [AST Traversal]\n * Each of the animation verbs, when executed, will return an string-map object representing what\n * type of action it is (style, animate, group, etc...) and the data associated with it. This means\n * that when functional composition mix of these functions is evaluated (like in the example above)\n * then it will end up producing a tree of objects representing the animation itself.\n *\n * When this animation object tree is processed by the visitor code below it will visit each of the\n * verb statements within the visitor. And during each visit it will build the context of the\n * animation keyframes by interacting with the `TimelineBuilder`.\n *\n * [TimelineBuilder]\n * This class is responsible for tracking the styles and building a series of keyframe objects for a\n * timeline between a start and end time. The builder starts off with an initial timeline and each\n * time the AST comes across a `group()`, `keyframes()` or a combination of the two wihtin a\n * `sequence()` then it will generate a sub timeline for each step as well as a new one after\n * they are complete.\n *\n * As the AST is traversed, the timing state on each of the timelines will be incremented. If a sub\n * timeline was created (based on one of the cases above) then the parent timeline will attempt to\n * merge the styles used within the sub timelines into itself (only with group() this will happen).\n * This happens with a merge operation (much like how the merge works in mergesort) and it will only\n * copy the most recently used styles from the sub timelines into the parent timeline. This ensures\n * that if the styles are used later on in another phase of the animation then they will be the most\n * up-to-date values.\n *\n * [How Missing Styles Are Updated]\n * Each timeline has a `backFill` property which is responsible for filling in new styles into\n * already processed keyframes if a new style shows up later within the animation sequence.\n *\n * ```\n * sequence([\n * style({ width: 0 }),\n * animate(1000, style({ width: 100 })),\n * animate(1000, style({ width: 200 })),\n * animate(1000, style({ width: 300 }))\n * animate(1000, style({ width: 400, height: 400 })) // notice how `height` doesn't exist anywhere\n * else\n * ])\n * ```\n *\n * What is happening here is that the `height` value is added later in the sequence, but is missing\n * from all previous animation steps. Therefore when a keyframe is created it would also be missing\n * from all previous keyframes up until where it is first used. For the timeline keyframe generation\n * to properly fill in the style it will place the previous value (the value from the parent\n * timeline) or a default value of `*` into the backFill object. Given that each of the keyframe\n * styles are objects that prototypically inhert from the backFill object, this means that if a\n * value is added into the backFill then it will automatically propagate any missing values to all\n * keyframes. Therefore the missing `height` value will be properly filled into the already\n * processed keyframes.\n *\n * When a sub-timeline is created it will have its own backFill property. This is done so that\n * styles present within the sub-timeline do not accidentally seep into the previous/future timeline\n * keyframes\n *\n * (For prototypically-inherited contents to be detected a `for(i in obj)` loop must be used.)\n *\n * [Validation]\n * The code in this file is not responsible for validation. That functionality happens with within\n * the `AnimationValidatorVisitor` code.\n */\nexport function buildAnimationTimelines(\n driver: AnimationDriver, rootElement: any, ast: Ast,\n enterClassName: string, leaveClassName: string, startingStyles: ɵStyleData = {},\n finalStyles: ɵStyleData = {}, options: AnimationOptions,\n subInstructions?: ElementInstructionMap, errors: any[] = []): AnimationTimelineInstruction[] {\n return new AnimationTimelineBuilderVisitor().buildKeyframes(\n driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles,\n options, subInstructions, errors);\n}\n\nexport class AnimationTimelineBuilderVisitor implements AstVisitor {\n buildKeyframes(\n driver: AnimationDriver, rootElement: any, ast: Ast,\n enterClassName: string, leaveClassName: string, startingStyles: ɵStyleData,\n finalStyles: ɵStyleData, options: AnimationOptions, subInstructions?: ElementInstructionMap,\n errors: any[] = []): AnimationTimelineInstruction[] {\n subInstructions = subInstructions || new ElementInstructionMap();\n const context = new AnimationTimelineContext(\n driver, rootElement, subInstructions, enterClassName, leaveClassName, errors, []);\n context.options = options;\n context.currentTimeline.setStyles([startingStyles], null, context.errors, options);\n\n visitDslNode(this, ast, context);\n\n // this checks to see if an actual animation happened\n const timelines = context.timelines.filter(timeline => timeline.containsAnimation());\n if (timelines.length && Object.keys(finalStyles).length) {\n const tl = timelines[timelines.length - 1];\n if (!tl.allowOnlyTimelineStyles()) {\n tl.setStyles([finalStyles], null, context.errors, options);\n }\n }\n\n return timelines.length ? timelines.map(timeline => timeline.buildKeyframes()) :\n [createTimelineInstruction(rootElement, [], [], [], 0, 0, '', false)];\n }\n\n visitTrigger(ast: TriggerAst, context: AnimationTimelineContext): any {\n // these values are not visited in this AST\n }\n\n visitState(ast: StateAst, context: AnimationTimelineContext): any {\n // these values are not visited in this AST\n }\n\n visitTransition(ast: TransitionAst, context: AnimationTimelineContext): any {\n // these values are not visited in this AST\n }\n\n visitAnimateChild(ast: AnimateChildAst, context: AnimationTimelineContext): any {\n const elementInstructions = context.subInstructions.consume(context.element);\n if (elementInstructions) {\n const innerContext = context.createSubContext(ast.options);\n const startTime = context.currentTimeline.currentTime;\n const endTime = this._visitSubInstructions(\n elementInstructions, innerContext, innerContext.options as AnimateChildOptions);\n if (startTime != endTime) {\n // we do this on the upper context because we created a sub context for\n // the sub child animations\n context.transformIntoNewTimeline(endTime);\n }\n }\n context.previousNode = ast;\n }\n\n visitAnimateRef(ast: AnimateRefAst, context: AnimationTimelineContext): any {\n const innerContext = context.createSubContext(ast.options);\n innerContext.transformIntoNewTimeline();\n this.visitReference(ast.animation, innerContext);\n context.transformIntoNewTimeline(innerContext.currentTimeline.currentTime);\n context.previousNode = ast;\n }\n\n private _visitSubInstructions(\n instructions: AnimationTimelineInstruction[], context: AnimationTimelineContext,\n options: AnimateChildOptions): number {\n const startTime = context.currentTimeline.currentTime;\n let furthestTime = startTime;\n\n // this is a special-case for when a user wants to skip a sub\n // animation from being fired entirely.\n const duration = options.duration != null ? resolveTimingValue(options.duration) : null;\n const delay = options.delay != null ? resolveTimingValue(options.delay) : null;\n if (duration !== 0) {\n instructions.forEach(instruction => {\n const instructionTimings =\n context.appendInstructionToTimeline(instruction, duration, delay);\n furthestTime =\n Math.max(furthestTime, instructionTimings.duration + instructionTimings.delay);\n });\n }\n\n return furthestTime;\n }\n\n visitReference(ast: ReferenceAst, context: AnimationTimelineContext) {\n context.updateOptions(ast.options, true);\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n }\n\n visitSequence(ast: SequenceAst, context: AnimationTimelineContext) {\n const subContextCount = context.subContextCount;\n let ctx = context;\n const options = ast.options;\n\n if (options && (options.params || options.delay)) {\n ctx = context.createSubContext(options);\n ctx.transformIntoNewTimeline();\n\n if (options.delay != null) {\n if (ctx.previousNode.type == AnimationMetadataType.Style) {\n ctx.currentTimeline.snapshotCurrentStyles();\n ctx.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n\n const delay = resolveTimingValue(options.delay);\n ctx.delayNextStep(delay);\n }\n }\n\n if (ast.steps.length) {\n ast.steps.forEach(s => visitDslNode(this, s, ctx));\n\n // this is here just incase the inner steps only contain or end with a style() call\n ctx.currentTimeline.applyStylesToKeyframe();\n\n // this means that some animation function within the sequence\n // ended up creating a sub timeline (which means the current\n // timeline cannot overlap with the contents of the sequence)\n if (ctx.subContextCount > subContextCount) {\n ctx.transformIntoNewTimeline();\n }\n }\n\n context.previousNode = ast;\n }\n\n visitGroup(ast: GroupAst, context: AnimationTimelineContext) {\n const innerTimelines: TimelineBuilder[] = [];\n let furthestTime = context.currentTimeline.currentTime;\n const delay = ast.options && ast.options.delay ? resolveTimingValue(ast.options.delay) : 0;\n\n ast.steps.forEach(s => {\n const innerContext = context.createSubContext(ast.options);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n\n visitDslNode(this, s, innerContext);\n furthestTime = Math.max(furthestTime, innerContext.currentTimeline.currentTime);\n innerTimelines.push(innerContext.currentTimeline);\n });\n\n // this operation is run after the AST loop because otherwise\n // if the parent timeline's collected styles were updated then\n // it would pass in invalid data into the new-to-be forked items\n innerTimelines.forEach(\n timeline => context.currentTimeline.mergeTimelineCollectedStyles(timeline));\n context.transformIntoNewTimeline(furthestTime);\n context.previousNode = ast;\n }\n\n private _visitTiming(ast: TimingAst, context: AnimationTimelineContext): AnimateTimings {\n if ((ast as DynamicTimingAst).dynamic) {\n const strValue = (ast as DynamicTimingAst).strValue;\n const timingValue =\n context.params ? interpolateParams(strValue, context.params, context.errors) : strValue;\n return resolveTiming(timingValue, context.errors);\n } else {\n return {duration: ast.duration, delay: ast.delay, easing: ast.easing};\n }\n }\n\n visitAnimate(ast: AnimateAst, context: AnimationTimelineContext) {\n const timings = context.currentAnimateTimings = this._visitTiming(ast.timings, context);\n const timeline = context.currentTimeline;\n if (timings.delay) {\n context.incrementTime(timings.delay);\n timeline.snapshotCurrentStyles();\n }\n\n const style = ast.style;\n if (style.type == AnimationMetadataType.Keyframes) {\n this.visitKeyframes(style, context);\n } else {\n context.incrementTime(timings.duration);\n this.visitStyle(style as StyleAst, context);\n timeline.applyStylesToKeyframe();\n }\n\n context.currentAnimateTimings = null;\n context.previousNode = ast;\n }\n\n visitStyle(ast: StyleAst, context: AnimationTimelineContext) {\n const timeline = context.currentTimeline;\n const timings = context.currentAnimateTimings!;\n\n // this is a special case for when a style() call\n // directly follows an animate() call (but not inside of an animate() call)\n if (!timings && timeline.getCurrentStyleProperties().length) {\n timeline.forwardFrame();\n }\n\n const easing = (timings && timings.easing) || ast.easing;\n if (ast.isEmptyStep) {\n timeline.applyEmptyStep(easing);\n } else {\n timeline.setStyles(ast.styles, easing, context.errors, context.options);\n }\n\n context.previousNode = ast;\n }\n\n visitKeyframes(ast: KeyframesAst, context: AnimationTimelineContext) {\n const currentAnimateTimings = context.currentAnimateTimings!;\n const startTime = (context.currentTimeline!).duration;\n const duration = currentAnimateTimings.duration;\n const innerContext = context.createSubContext();\n const innerTimeline = innerContext.currentTimeline;\n innerTimeline.easing = currentAnimateTimings.easing;\n\n ast.styles.forEach(step => {\n const offset: number = step.offset || 0;\n innerTimeline.forwardTime(offset * duration);\n innerTimeline.setStyles(step.styles, step.easing, context.errors, context.options);\n innerTimeline.applyStylesToKeyframe();\n });\n\n // this will ensure that the parent timeline gets all the styles from\n // the child even if the new timeline below is not used\n context.currentTimeline.mergeTimelineCollectedStyles(innerTimeline);\n\n // we do this because the window between this timeline and the sub timeline\n // should ensure that the styles within are exactly the same as they were before\n context.transformIntoNewTimeline(startTime + duration);\n context.previousNode = ast;\n }\n\n visitQuery(ast: QueryAst, context: AnimationTimelineContext) {\n // in the event that the first step before this is a style step we need\n // to ensure the styles are applied before the children are animated\n const startTime = context.currentTimeline.currentTime;\n const options = (ast.options || {}) as AnimationQueryOptions;\n const delay = options.delay ? resolveTimingValue(options.delay) : 0;\n\n if (delay &&\n (context.previousNode.type === AnimationMetadataType.Style ||\n (startTime == 0 && context.currentTimeline.getCurrentStyleProperties().length))) {\n context.currentTimeline.snapshotCurrentStyles();\n context.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n\n let furthestTime = startTime;\n const elms = context.invokeQuery(\n ast.selector, ast.originalSelector, ast.limit, ast.includeSelf,\n options.optional ? true : false, context.errors);\n\n context.currentQueryTotal = elms.length;\n let sameElementTimeline: TimelineBuilder|null = null;\n elms.forEach((element, i) => {\n context.currentQueryIndex = i;\n const innerContext = context.createSubContext(ast.options, element);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n\n if (element === context.element) {\n sameElementTimeline = innerContext.currentTimeline;\n }\n\n visitDslNode(this, ast.animation, innerContext);\n\n // this is here just incase the inner steps only contain or end\n // with a style() call (which is here to signal that this is a preparatory\n // call to style an element before it is animated again)\n innerContext.currentTimeline.applyStylesToKeyframe();\n\n const endTime = innerContext.currentTimeline.currentTime;\n furthestTime = Math.max(furthestTime, endTime);\n });\n\n context.currentQueryIndex = 0;\n context.currentQueryTotal = 0;\n context.transformIntoNewTimeline(furthestTime);\n\n if (sameElementTimeline) {\n context.currentTimeline.mergeTimelineCollectedStyles(sameElementTimeline);\n context.currentTimeline.snapshotCurrentStyles();\n }\n\n context.previousNode = ast;\n }\n\n visitStagger(ast: StaggerAst, context: AnimationTimelineContext) {\n const parentContext = context.parentContext!;\n const tl = context.currentTimeline;\n const timings = ast.timings;\n const duration = Math.abs(timings.duration);\n const maxTime = duration * (context.currentQueryTotal - 1);\n let delay = duration * context.currentQueryIndex;\n\n let staggerTransformer = timings.duration < 0 ? 'reverse' : timings.easing;\n switch (staggerTransformer) {\n case 'reverse':\n delay = maxTime - delay;\n break;\n case 'full':\n delay = parentContext.currentStaggerTime;\n break;\n }\n\n const timeline = context.currentTimeline;\n if (delay) {\n timeline.delayNextStep(delay);\n }\n\n const startingTime = timeline.currentTime;\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n\n // time = duration + delay\n // the reason why this computation is so complex is because\n // the inner timeline may either have a delay value or a stretched\n // keyframe depending on if a subtimeline is not used or is used.\n parentContext.currentStaggerTime =\n (tl.currentTime - startingTime) + (tl.startTime - parentContext.currentTimeline.startTime);\n }\n}\n\nexport declare type StyleAtTime = {\n time: number; value: string | number;\n};\n\nconst DEFAULT_NOOP_PREVIOUS_NODE = >{};\nexport class AnimationTimelineContext {\n public parentContext: AnimationTimelineContext|null = null;\n public currentTimeline: TimelineBuilder;\n public currentAnimateTimings: AnimateTimings|null = null;\n public previousNode: Ast = DEFAULT_NOOP_PREVIOUS_NODE;\n public subContextCount = 0;\n public options: AnimationOptions = {};\n public currentQueryIndex: number = 0;\n public currentQueryTotal: number = 0;\n public currentStaggerTime: number = 0;\n\n constructor(\n private _driver: AnimationDriver, public element: any,\n public subInstructions: ElementInstructionMap, private _enterClassName: string,\n private _leaveClassName: string, public errors: any[], public timelines: TimelineBuilder[],\n initialTimeline?: TimelineBuilder) {\n this.currentTimeline = initialTimeline || new TimelineBuilder(this._driver, element, 0);\n timelines.push(this.currentTimeline);\n }\n\n get params() {\n return this.options.params;\n }\n\n updateOptions(options: AnimationOptions|null, skipIfExists?: boolean) {\n if (!options) return;\n\n const newOptions = options as any;\n let optionsToUpdate = this.options;\n\n // NOTE: this will get patched up when other animation methods support duration overrides\n if (newOptions.duration != null) {\n (optionsToUpdate as any).duration = resolveTimingValue(newOptions.duration);\n }\n\n if (newOptions.delay != null) {\n optionsToUpdate.delay = resolveTimingValue(newOptions.delay);\n }\n\n const newParams = newOptions.params;\n if (newParams) {\n let paramsToUpdate: {[name: string]: any} = optionsToUpdate.params!;\n if (!paramsToUpdate) {\n paramsToUpdate = this.options.params = {};\n }\n\n Object.keys(newParams).forEach(name => {\n if (!skipIfExists || !paramsToUpdate.hasOwnProperty(name)) {\n paramsToUpdate[name] = interpolateParams(newParams[name], paramsToUpdate, this.errors);\n }\n });\n }\n }\n\n private _copyOptions() {\n const options: AnimationOptions = {};\n if (this.options) {\n const oldParams = this.options.params;\n if (oldParams) {\n const params: {[name: string]: any} = options['params'] = {};\n Object.keys(oldParams).forEach(name => {\n params[name] = oldParams[name];\n });\n }\n }\n return options;\n }\n\n createSubContext(options: AnimationOptions|null = null, element?: any, newTime?: number):\n AnimationTimelineContext {\n const target = element || this.element;\n const context = new AnimationTimelineContext(\n this._driver, target, this.subInstructions, this._enterClassName, this._leaveClassName,\n this.errors, this.timelines, this.currentTimeline.fork(target, newTime || 0));\n context.previousNode = this.previousNode;\n context.currentAnimateTimings = this.currentAnimateTimings;\n\n context.options = this._copyOptions();\n context.updateOptions(options);\n\n context.currentQueryIndex = this.currentQueryIndex;\n context.currentQueryTotal = this.currentQueryTotal;\n context.parentContext = this;\n this.subContextCount++;\n return context;\n }\n\n transformIntoNewTimeline(newTime?: number) {\n this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n this.currentTimeline = this.currentTimeline.fork(this.element, newTime);\n this.timelines.push(this.currentTimeline);\n return this.currentTimeline;\n }\n\n appendInstructionToTimeline(\n instruction: AnimationTimelineInstruction, duration: number|null,\n delay: number|null): AnimateTimings {\n const updatedTimings: AnimateTimings = {\n duration: duration != null ? duration : instruction.duration,\n delay: this.currentTimeline.currentTime + (delay != null ? delay : 0) + instruction.delay,\n easing: ''\n };\n const builder = new SubTimelineBuilder(\n this._driver, instruction.element, instruction.keyframes, instruction.preStyleProps,\n instruction.postStyleProps, updatedTimings, instruction.stretchStartingKeyframe);\n this.timelines.push(builder);\n return updatedTimings;\n }\n\n incrementTime(time: number) {\n this.currentTimeline.forwardTime(this.currentTimeline.duration + time);\n }\n\n delayNextStep(delay: number) {\n // negative delays are not yet supported\n if (delay > 0) {\n this.currentTimeline.delayNextStep(delay);\n }\n }\n\n invokeQuery(\n selector: string, originalSelector: string, limit: number, includeSelf: boolean,\n optional: boolean, errors: any[]): any[] {\n let results: any[] = [];\n if (includeSelf) {\n results.push(this.element);\n }\n if (selector.length > 0) { // if :self is only used then the selector is empty\n selector = selector.replace(ENTER_TOKEN_REGEX, '.' + this._enterClassName);\n selector = selector.replace(LEAVE_TOKEN_REGEX, '.' + this._leaveClassName);\n const multi = limit != 1;\n let elements = this._driver.query(this.element, selector, multi);\n if (limit !== 0) {\n elements = limit < 0 ? elements.slice(elements.length + limit, elements.length) :\n elements.slice(0, limit);\n }\n results.push(...elements);\n }\n\n if (!optional && results.length == 0) {\n errors.push(`\\`query(\"${originalSelector}\")\\` returned zero elements. (Use \\`query(\"${\n originalSelector}\", { optional: true })\\` if you wish to allow this.)`);\n }\n return results;\n }\n}\n\n\nexport class TimelineBuilder {\n public duration: number = 0;\n // TODO(issue/24571): remove '!'.\n public easing!: string|null;\n private _previousKeyframe: ɵStyleData = {};\n private _currentKeyframe: ɵStyleData = {};\n private _keyframes = new Map();\n private _styleSummary: {[prop: string]: StyleAtTime} = {};\n private _localTimelineStyles: ɵStyleData;\n private _globalTimelineStyles: ɵStyleData;\n private _pendingStyles: ɵStyleData = {};\n private _backFill: ɵStyleData = {};\n private _currentEmptyStepKeyframe: ɵStyleData|null = null;\n\n constructor(\n private _driver: AnimationDriver, public element: any, public startTime: number,\n private _elementTimelineStylesLookup?: Map) {\n if (!this._elementTimelineStylesLookup) {\n this._elementTimelineStylesLookup = new Map();\n }\n\n this._localTimelineStyles = Object.create(this._backFill, {});\n this._globalTimelineStyles = this._elementTimelineStylesLookup.get(element)!;\n if (!this._globalTimelineStyles) {\n this._globalTimelineStyles = this._localTimelineStyles;\n this._elementTimelineStylesLookup.set(element, this._localTimelineStyles);\n }\n this._loadKeyframe();\n }\n\n containsAnimation(): boolean {\n switch (this._keyframes.size) {\n case 0:\n return false;\n case 1:\n return this.getCurrentStyleProperties().length > 0;\n default:\n return true;\n }\n }\n\n getCurrentStyleProperties(): string[] {\n return Object.keys(this._currentKeyframe);\n }\n\n get currentTime() {\n return this.startTime + this.duration;\n }\n\n delayNextStep(delay: number) {\n // in the event that a style() step is placed right before a stagger()\n // and that style() step is the very first style() value in the animation\n // then we need to make a copy of the keyframe [0, copy, 1] so that the delay\n // properly applies the style() values to work with the stagger...\n const hasPreStyleStep = this._keyframes.size == 1 && Object.keys(this._pendingStyles).length;\n\n if (this.duration || hasPreStyleStep) {\n this.forwardTime(this.currentTime + delay);\n if (hasPreStyleStep) {\n this.snapshotCurrentStyles();\n }\n } else {\n this.startTime += delay;\n }\n }\n\n fork(element: any, currentTime?: number): TimelineBuilder {\n this.applyStylesToKeyframe();\n return new TimelineBuilder(\n this._driver, element, currentTime || this.currentTime, this._elementTimelineStylesLookup);\n }\n\n private _loadKeyframe() {\n if (this._currentKeyframe) {\n this._previousKeyframe = this._currentKeyframe;\n }\n this._currentKeyframe = this._keyframes.get(this.duration)!;\n if (!this._currentKeyframe) {\n this._currentKeyframe = Object.create(this._backFill, {});\n this._keyframes.set(this.duration, this._currentKeyframe);\n }\n }\n\n forwardFrame() {\n this.duration += ONE_FRAME_IN_MILLISECONDS;\n this._loadKeyframe();\n }\n\n forwardTime(time: number) {\n this.applyStylesToKeyframe();\n this.duration = time;\n this._loadKeyframe();\n }\n\n private _updateStyle(prop: string, value: string|number) {\n this._localTimelineStyles[prop] = value;\n this._globalTimelineStyles[prop] = value;\n this._styleSummary[prop] = {time: this.currentTime, value};\n }\n\n allowOnlyTimelineStyles() {\n return this._currentEmptyStepKeyframe !== this._currentKeyframe;\n }\n\n applyEmptyStep(easing: string|null) {\n if (easing) {\n this._previousKeyframe['easing'] = easing;\n }\n\n // special case for animate(duration):\n // all missing styles are filled with a `*` value then\n // if any destination styles are filled in later on the same\n // keyframe then they will override the overridden styles\n // We use `_globalTimelineStyles` here because there may be\n // styles in previous keyframes that are not present in this timeline\n Object.keys(this._globalTimelineStyles).forEach(prop => {\n this._backFill[prop] = this._globalTimelineStyles[prop] || AUTO_STYLE;\n this._currentKeyframe[prop] = AUTO_STYLE;\n });\n this._currentEmptyStepKeyframe = this._currentKeyframe;\n }\n\n setStyles(\n input: (ɵStyleData|string)[], easing: string|null, errors: any[],\n options?: AnimationOptions) {\n if (easing) {\n this._previousKeyframe['easing'] = easing;\n }\n\n const params = (options && options.params) || {};\n const styles = flattenStyles(input, this._globalTimelineStyles);\n Object.keys(styles).forEach(prop => {\n const val = interpolateParams(styles[prop], params, errors);\n this._pendingStyles[prop] = val;\n if (!this._localTimelineStyles.hasOwnProperty(prop)) {\n this._backFill[prop] = this._globalTimelineStyles.hasOwnProperty(prop) ?\n this._globalTimelineStyles[prop] :\n AUTO_STYLE;\n }\n this._updateStyle(prop, val);\n });\n }\n\n applyStylesToKeyframe() {\n const styles = this._pendingStyles;\n const props = Object.keys(styles);\n if (props.length == 0) return;\n\n this._pendingStyles = {};\n\n props.forEach(prop => {\n const val = styles[prop];\n this._currentKeyframe[prop] = val;\n });\n\n Object.keys(this._localTimelineStyles).forEach(prop => {\n if (!this._currentKeyframe.hasOwnProperty(prop)) {\n this._currentKeyframe[prop] = this._localTimelineStyles[prop];\n }\n });\n }\n\n snapshotCurrentStyles() {\n Object.keys(this._localTimelineStyles).forEach(prop => {\n const val = this._localTimelineStyles[prop];\n this._pendingStyles[prop] = val;\n this._updateStyle(prop, val);\n });\n }\n\n getFinalKeyframe() {\n return this._keyframes.get(this.duration);\n }\n\n get properties() {\n const properties: string[] = [];\n for (let prop in this._currentKeyframe) {\n properties.push(prop);\n }\n return properties;\n }\n\n mergeTimelineCollectedStyles(timeline: TimelineBuilder) {\n Object.keys(timeline._styleSummary).forEach(prop => {\n const details0 = this._styleSummary[prop];\n const details1 = timeline._styleSummary[prop];\n if (!details0 || details1.time > details0.time) {\n this._updateStyle(prop, details1.value);\n }\n });\n }\n\n buildKeyframes(): AnimationTimelineInstruction {\n this.applyStylesToKeyframe();\n const preStyleProps = new Set();\n const postStyleProps = new Set();\n const isEmpty = this._keyframes.size === 1 && this.duration === 0;\n\n let finalKeyframes: ɵStyleData[] = [];\n this._keyframes.forEach((keyframe, time) => {\n const finalKeyframe = copyStyles(keyframe, true);\n Object.keys(finalKeyframe).forEach(prop => {\n const value = finalKeyframe[prop];\n if (value == PRE_STYLE) {\n preStyleProps.add(prop);\n } else if (value == AUTO_STYLE) {\n postStyleProps.add(prop);\n }\n });\n if (!isEmpty) {\n finalKeyframe['offset'] = time / this.duration;\n }\n finalKeyframes.push(finalKeyframe);\n });\n\n const preProps: string[] = preStyleProps.size ? iteratorToArray(preStyleProps.values()) : [];\n const postProps: string[] = postStyleProps.size ? iteratorToArray(postStyleProps.values()) : [];\n\n // special case for a 0-second animation (which is designed just to place styles onscreen)\n if (isEmpty) {\n const kf0 = finalKeyframes[0];\n const kf1 = copyObj(kf0);\n kf0['offset'] = 0;\n kf1['offset'] = 1;\n finalKeyframes = [kf0, kf1];\n }\n\n return createTimelineInstruction(\n this.element, finalKeyframes, preProps, postProps, this.duration, this.startTime,\n this.easing, false);\n }\n}\n\nclass SubTimelineBuilder extends TimelineBuilder {\n public timings: AnimateTimings;\n\n constructor(\n driver: AnimationDriver, public element: any, public keyframes: ɵStyleData[],\n public preStyleProps: string[], public postStyleProps: string[], timings: AnimateTimings,\n private _stretchStartingKeyframe: boolean = false) {\n super(driver, element, timings.delay);\n this.timings = {duration: timings.duration, delay: timings.delay, easing: timings.easing};\n }\n\n containsAnimation(): boolean {\n return this.keyframes.length > 1;\n }\n\n buildKeyframes(): AnimationTimelineInstruction {\n let keyframes = this.keyframes;\n let {delay, duration, easing} = this.timings;\n if (this._stretchStartingKeyframe && delay) {\n const newKeyframes: ɵStyleData[] = [];\n const totalTime = duration + delay;\n const startingGap = delay / totalTime;\n\n // the original starting keyframe now starts once the delay is done\n const newFirstKeyframe = copyStyles(keyframes[0], false);\n newFirstKeyframe['offset'] = 0;\n newKeyframes.push(newFirstKeyframe);\n\n const oldFirstKeyframe = copyStyles(keyframes[0], false);\n oldFirstKeyframe['offset'] = roundOffset(startingGap);\n newKeyframes.push(oldFirstKeyframe);\n\n /*\n When the keyframe is stretched then it means that the delay before the animation\n starts is gone. Instead the first keyframe is placed at the start of the animation\n and it is then copied to where it starts when the original delay is over. This basically\n means nothing animates during that delay, but the styles are still renderered. For this\n to work the original offset values that exist in the original keyframes must be \"warped\"\n so that they can take the new keyframe + delay into account.\n\n delay=1000, duration=1000, keyframes = 0 .5 1\n\n turns into\n\n delay=0, duration=2000, keyframes = 0 .33 .66 1\n */\n\n // offsets between 1 ... n -1 are all warped by the keyframe stretch\n const limit = keyframes.length - 1;\n for (let i = 1; i <= limit; i++) {\n let kf = copyStyles(keyframes[i], false);\n const oldOffset = kf['offset'] as number;\n const timeAtKeyframe = delay + oldOffset * duration;\n kf['offset'] = roundOffset(timeAtKeyframe / totalTime);\n newKeyframes.push(kf);\n }\n\n // the new starting keyframe should be added at the start\n duration = totalTime;\n delay = 0;\n easing = '';\n\n keyframes = newKeyframes;\n }\n\n return createTimelineInstruction(\n this.element, keyframes, this.preStyleProps, this.postStyleProps, duration, delay, easing,\n true);\n }\n}\n\nfunction roundOffset(offset: number, decimalPoints = 3): number {\n const mult = Math.pow(10, decimalPoints - 1);\n return Math.round(offset * mult) / mult;\n}\n\nfunction flattenStyles(input: (ɵStyleData|string)[], allStyles: ɵStyleData) {\n const styles: ɵStyleData = {};\n let allProperties: string[];\n input.forEach(token => {\n if (token === '*') {\n allProperties = allProperties || Object.keys(allStyles);\n allProperties.forEach(prop => {\n styles[prop] = AUTO_STYLE;\n });\n } else {\n copyStyles(token as ɵStyleData, false, styles);\n }\n });\n return styles;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {AnimationMetadata, AnimationMetadataType, AnimationOptions, ɵStyleData} from '@angular/animations';\n\nimport {AnimationDriver} from '../render/animation_driver';\nimport {ENTER_CLASSNAME, LEAVE_CLASSNAME, normalizeStyles} from '../util';\n\nimport {Ast} from './animation_ast';\nimport {buildAnimationAst} from './animation_ast_builder';\nimport {buildAnimationTimelines} from './animation_timeline_builder';\nimport {AnimationTimelineInstruction} from './animation_timeline_instruction';\nimport {ElementInstructionMap} from './element_instruction_map';\n\nexport class Animation {\n private _animationAst: Ast;\n constructor(private _driver: AnimationDriver, input: AnimationMetadata|AnimationMetadata[]) {\n const errors: any[] = [];\n const ast = buildAnimationAst(_driver, input, errors);\n if (errors.length) {\n const errorMessage = `animation validation failed:\\n${errors.join('\\n')}`;\n throw new Error(errorMessage);\n }\n this._animationAst = ast;\n }\n\n buildTimelines(\n element: any, startingStyles: ɵStyleData|ɵStyleData[],\n destinationStyles: ɵStyleData|ɵStyleData[], options: AnimationOptions,\n subInstructions?: ElementInstructionMap): AnimationTimelineInstruction[] {\n const start = Array.isArray(startingStyles) ? normalizeStyles(startingStyles) :\n <ɵStyleData>startingStyles;\n const dest = Array.isArray(destinationStyles) ? normalizeStyles(destinationStyles) :\n <ɵStyleData>destinationStyles;\n const errors: any = [];\n subInstructions = subInstructions || new ElementInstructionMap();\n const result = buildAnimationTimelines(\n this._driver, element, this._animationAst, ENTER_CLASSNAME, LEAVE_CLASSNAME, start, dest,\n options, subInstructions, errors);\n if (errors.length) {\n const errorMessage = `animation building failed:\\n${errors.join('\\n')}`;\n throw new Error(errorMessage);\n }\n return result;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @publicApi\n */\nexport abstract class AnimationStyleNormalizer {\n abstract normalizePropertyName(propertyName: string, errors: string[]): string;\n abstract normalizeStyleValue(\n userProvidedProperty: string, normalizedProperty: string, value: string|number,\n errors: string[]): string;\n}\n\n/**\n * @publicApi\n */\nexport class NoopAnimationStyleNormalizer {\n normalizePropertyName(propertyName: string, errors: string[]): string {\n return propertyName;\n }\n\n normalizeStyleValue(\n userProvidedProperty: string, normalizedProperty: string, value: string|number,\n errors: string[]): string {\n return value;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {dashCaseToCamelCase} from '../../util';\n\nimport {AnimationStyleNormalizer} from './animation_style_normalizer';\n\nexport class WebAnimationsStyleNormalizer extends AnimationStyleNormalizer {\n normalizePropertyName(propertyName: string, errors: string[]): string {\n return dashCaseToCamelCase(propertyName);\n }\n\n normalizeStyleValue(\n userProvidedProperty: string, normalizedProperty: string, value: string|number,\n errors: string[]): string {\n let unit: string = '';\n const strVal = value.toString().trim();\n\n if (DIMENSIONAL_PROP_MAP[normalizedProperty] && value !== 0 && value !== '0') {\n if (typeof value === 'number') {\n unit = 'px';\n } else {\n const valAndSuffixMatch = value.match(/^[+-]?[\\d\\.]+([a-z]*)$/);\n if (valAndSuffixMatch && valAndSuffixMatch[1].length == 0) {\n errors.push(`Please provide a CSS unit value for ${userProvidedProperty}:${value}`);\n }\n }\n }\n return strVal + unit;\n }\n}\n\nconst DIMENSIONAL_PROP_MAP =\n (() => makeBooleanMap(\n 'width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective'\n .split(',')))();\n\nfunction makeBooleanMap(keys: string[]): {[key: string]: boolean} {\n const map: {[key: string]: boolean} = {};\n keys.forEach(key => map[key] = true);\n return map;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {ɵStyleData} from '@angular/animations';\nimport {AnimationEngineInstruction, AnimationTransitionInstructionType} from '../render/animation_engine_instruction';\nimport {AnimationTimelineInstruction} from './animation_timeline_instruction';\n\nexport interface AnimationTransitionInstruction extends AnimationEngineInstruction {\n element: any;\n triggerName: string;\n isRemovalTransition: boolean;\n fromState: string;\n fromStyles: ɵStyleData;\n toState: string;\n toStyles: ɵStyleData;\n timelines: AnimationTimelineInstruction[];\n queriedElements: any[];\n preStyleProps: Map;\n postStyleProps: Map;\n totalTime: number;\n errors?: any[];\n}\n\nexport function createTransitionInstruction(\n element: any, triggerName: string, fromState: string, toState: string,\n isRemovalTransition: boolean, fromStyles: ɵStyleData, toStyles: ɵStyleData,\n timelines: AnimationTimelineInstruction[], queriedElements: any[],\n preStyleProps: Map,\n postStyleProps: Map, totalTime: number,\n errors?: any[]): AnimationTransitionInstruction {\n return {\n type: AnimationTransitionInstructionType.TransitionAnimation,\n element,\n triggerName,\n isRemovalTransition,\n fromState,\n fromStyles,\n toState,\n toStyles,\n timelines,\n queriedElements,\n preStyleProps,\n postStyleProps,\n totalTime,\n errors\n };\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {AnimationOptions, ɵStyleData} from '@angular/animations';\n\nimport {AnimationDriver} from '../render/animation_driver';\nimport {getOrSetAsInMap} from '../render/shared';\nimport {copyObj, interpolateParams, iteratorToArray, mergeAnimationOptions} from '../util';\n\nimport {StyleAst, TransitionAst} from './animation_ast';\nimport {buildAnimationTimelines} from './animation_timeline_builder';\nimport {TransitionMatcherFn} from './animation_transition_expr';\nimport {AnimationTransitionInstruction, createTransitionInstruction} from './animation_transition_instruction';\nimport {ElementInstructionMap} from './element_instruction_map';\n\nconst EMPTY_OBJECT = {};\n\nexport class AnimationTransitionFactory {\n constructor(\n private _triggerName: string, public ast: TransitionAst,\n private _stateStyles: {[stateName: string]: AnimationStateStyles}) {}\n\n match(currentState: any, nextState: any, element: any, params: {[key: string]: any}): boolean {\n return oneOrMoreTransitionsMatch(this.ast.matchers, currentState, nextState, element, params);\n }\n\n buildStyles(stateName: string, params: {[key: string]: any}, errors: any[]) {\n const backupStateStyler = this._stateStyles['*'];\n const stateStyler = this._stateStyles[stateName];\n const backupStyles = backupStateStyler ? backupStateStyler.buildStyles(params, errors) : {};\n return stateStyler ? stateStyler.buildStyles(params, errors) : backupStyles;\n }\n\n build(\n driver: AnimationDriver, element: any, currentState: any, nextState: any,\n enterClassName: string, leaveClassName: string, currentOptions?: AnimationOptions,\n nextOptions?: AnimationOptions, subInstructions?: ElementInstructionMap,\n skipAstBuild?: boolean): AnimationTransitionInstruction {\n const errors: any[] = [];\n\n const transitionAnimationParams = this.ast.options && this.ast.options.params || EMPTY_OBJECT;\n const currentAnimationParams = currentOptions && currentOptions.params || EMPTY_OBJECT;\n const currentStateStyles = this.buildStyles(currentState, currentAnimationParams, errors);\n const nextAnimationParams = nextOptions && nextOptions.params || EMPTY_OBJECT;\n const nextStateStyles = this.buildStyles(nextState, nextAnimationParams, errors);\n\n const queriedElements = new Set();\n const preStyleMap = new Map();\n const postStyleMap = new Map();\n const isRemoval = nextState === 'void';\n\n const animationOptions = {params: {...transitionAnimationParams, ...nextAnimationParams}};\n\n const timelines = skipAstBuild ?\n [] :\n buildAnimationTimelines(\n driver, element, this.ast.animation, enterClassName, leaveClassName, currentStateStyles,\n nextStateStyles, animationOptions, subInstructions, errors);\n\n let totalTime = 0;\n timelines.forEach(tl => {\n totalTime = Math.max(tl.duration + tl.delay, totalTime);\n });\n\n if (errors.length) {\n return createTransitionInstruction(\n element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles,\n nextStateStyles, [], [], preStyleMap, postStyleMap, totalTime, errors);\n }\n\n timelines.forEach(tl => {\n const elm = tl.element;\n const preProps = getOrSetAsInMap(preStyleMap, elm, {});\n tl.preStyleProps.forEach(prop => preProps[prop] = true);\n\n const postProps = getOrSetAsInMap(postStyleMap, elm, {});\n tl.postStyleProps.forEach(prop => postProps[prop] = true);\n\n if (elm !== element) {\n queriedElements.add(elm);\n }\n });\n\n const queriedElementsList = iteratorToArray(queriedElements.values());\n return createTransitionInstruction(\n element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles,\n nextStateStyles, timelines, queriedElementsList, preStyleMap, postStyleMap, totalTime);\n }\n}\n\nfunction oneOrMoreTransitionsMatch(\n matchFns: TransitionMatcherFn[], currentState: any, nextState: any, element: any,\n params: {[key: string]: any}): boolean {\n return matchFns.some(fn => fn(currentState, nextState, element, params));\n}\n\nexport class AnimationStateStyles {\n constructor(private styles: StyleAst, private defaultParams: {[key: string]: any}) {}\n\n buildStyles(params: {[key: string]: any}, errors: string[]): ɵStyleData {\n const finalStyles: ɵStyleData = {};\n const combinedParams = copyObj(this.defaultParams);\n Object.keys(params).forEach(key => {\n const value = params[key];\n if (value != null) {\n combinedParams[key] = value;\n }\n });\n this.styles.styles.forEach(value => {\n if (typeof value !== 'string') {\n const styleObj = value as any;\n Object.keys(styleObj).forEach(prop => {\n let val = styleObj[prop];\n if (val.length > 1) {\n val = interpolateParams(val, combinedParams, errors);\n }\n finalStyles[prop] = val;\n });\n }\n });\n return finalStyles;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {AnimationMetadataType, ɵStyleData} from '@angular/animations';\n\nimport {copyStyles, interpolateParams} from '../util';\n\nimport {SequenceAst, StyleAst, TransitionAst, TriggerAst} from './animation_ast';\nimport {AnimationStateStyles, AnimationTransitionFactory} from './animation_transition_factory';\n\n\n\n/**\n * @publicApi\n */\nexport function buildTrigger(name: string, ast: TriggerAst): AnimationTrigger {\n return new AnimationTrigger(name, ast);\n}\n\n/**\n * @publicApi\n */\nexport class AnimationTrigger {\n public transitionFactories: AnimationTransitionFactory[] = [];\n public fallbackTransition: AnimationTransitionFactory;\n public states: {[stateName: string]: AnimationStateStyles} = {};\n\n constructor(public name: string, public ast: TriggerAst) {\n ast.states.forEach(ast => {\n const defaultParams = (ast.options && ast.options.params) || {};\n this.states[ast.name] = new AnimationStateStyles(ast.style, defaultParams);\n });\n\n balanceProperties(this.states, 'true', '1');\n balanceProperties(this.states, 'false', '0');\n\n ast.transitions.forEach(ast => {\n this.transitionFactories.push(new AnimationTransitionFactory(name, ast, this.states));\n });\n\n this.fallbackTransition = createFallbackTransition(name, this.states);\n }\n\n get containsQueries() {\n return this.ast.queryCount > 0;\n }\n\n matchTransition(currentState: any, nextState: any, element: any, params: {[key: string]: any}):\n AnimationTransitionFactory|null {\n const entry =\n this.transitionFactories.find(f => f.match(currentState, nextState, element, params));\n return entry || null;\n }\n\n matchStyles(currentState: any, params: {[key: string]: any}, errors: any[]): ɵStyleData {\n return this.fallbackTransition.buildStyles(currentState, params, errors);\n }\n}\n\nfunction createFallbackTransition(\n triggerName: string,\n states: {[stateName: string]: AnimationStateStyles}): AnimationTransitionFactory {\n const matchers = [(fromState: any, toState: any) => true];\n const animation: SequenceAst = {type: AnimationMetadataType.Sequence, steps: [], options: null};\n const transition: TransitionAst = {\n type: AnimationMetadataType.Transition,\n animation,\n matchers,\n options: null,\n queryCount: 0,\n depCount: 0\n };\n return new AnimationTransitionFactory(triggerName, transition, states);\n}\n\nfunction balanceProperties(obj: {[key: string]: any}, key1: string, key2: string) {\n if (obj.hasOwnProperty(key1)) {\n if (!obj.hasOwnProperty(key2)) {\n obj[key2] = obj[key1];\n }\n } else if (obj.hasOwnProperty(key2)) {\n obj[key1] = obj[key2];\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {AnimationMetadata, AnimationMetadataType, AnimationOptions, AnimationPlayer, AUTO_STYLE, ɵStyleData} from '@angular/animations';\n\nimport {Ast} from '../dsl/animation_ast';\nimport {buildAnimationAst} from '../dsl/animation_ast_builder';\nimport {buildAnimationTimelines} from '../dsl/animation_timeline_builder';\nimport {AnimationTimelineInstruction} from '../dsl/animation_timeline_instruction';\nimport {ElementInstructionMap} from '../dsl/element_instruction_map';\nimport {AnimationStyleNormalizer} from '../dsl/style_normalization/animation_style_normalizer';\nimport {ENTER_CLASSNAME, LEAVE_CLASSNAME} from '../util';\n\nimport {AnimationDriver} from './animation_driver';\nimport {getOrSetAsInMap, listenOnPlayer, makeAnimationEvent, normalizeKeyframes, optimizeGroupPlayer} from './shared';\n\nconst EMPTY_INSTRUCTION_MAP = new ElementInstructionMap();\n\nexport class TimelineAnimationEngine {\n private _animations: {[id: string]: Ast} = {};\n private _playersById: {[id: string]: AnimationPlayer} = {};\n public players: AnimationPlayer[] = [];\n\n constructor(\n public bodyNode: any, private _driver: AnimationDriver,\n private _normalizer: AnimationStyleNormalizer) {}\n\n register(id: string, metadata: AnimationMetadata|AnimationMetadata[]) {\n const errors: any[] = [];\n const ast = buildAnimationAst(this._driver, metadata, errors);\n if (errors.length) {\n throw new Error(\n `Unable to build the animation due to the following errors: ${errors.join('\\n')}`);\n } else {\n this._animations[id] = ast;\n }\n }\n\n private _buildPlayer(\n i: AnimationTimelineInstruction, preStyles: ɵStyleData,\n postStyles?: ɵStyleData): AnimationPlayer {\n const element = i.element;\n const keyframes = normalizeKeyframes(\n this._driver, this._normalizer, element, i.keyframes, preStyles, postStyles);\n return this._driver.animate(element, keyframes, i.duration, i.delay, i.easing, [], true);\n }\n\n create(id: string, element: any, options: AnimationOptions = {}): AnimationPlayer {\n const errors: any[] = [];\n const ast = this._animations[id];\n let instructions: AnimationTimelineInstruction[];\n\n const autoStylesMap = new Map();\n\n if (ast) {\n instructions = buildAnimationTimelines(\n this._driver, element, ast, ENTER_CLASSNAME, LEAVE_CLASSNAME, {}, {}, options,\n EMPTY_INSTRUCTION_MAP, errors);\n instructions.forEach(inst => {\n const styles = getOrSetAsInMap(autoStylesMap, inst.element, {});\n inst.postStyleProps.forEach(prop => styles[prop] = null);\n });\n } else {\n errors.push('The requested animation doesn\\'t exist or has already been destroyed');\n instructions = [];\n }\n\n if (errors.length) {\n throw new Error(\n `Unable to create the animation due to the following errors: ${errors.join('\\n')}`);\n }\n\n autoStylesMap.forEach((styles, element) => {\n Object.keys(styles).forEach(prop => {\n styles[prop] = this._driver.computeStyle(element, prop, AUTO_STYLE);\n });\n });\n\n const players = instructions.map(i => {\n const styles = autoStylesMap.get(i.element);\n return this._buildPlayer(i, {}, styles);\n });\n const player = optimizeGroupPlayer(players);\n this._playersById[id] = player;\n player.onDestroy(() => this.destroy(id));\n\n this.players.push(player);\n return player;\n }\n\n destroy(id: string) {\n const player = this._getPlayer(id);\n player.destroy();\n delete this._playersById[id];\n const index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n }\n\n private _getPlayer(id: string): AnimationPlayer {\n const player = this._playersById[id];\n if (!player) {\n throw new Error(`Unable to find the timeline player referenced by ${id}`);\n }\n return player;\n }\n\n listen(id: string, element: string, eventName: string, callback: (event: any) => any):\n () => void {\n // triggerName, fromState, toState are all ignored for timeline animations\n const baseEvent = makeAnimationEvent(element, '', '', '');\n listenOnPlayer(this._getPlayer(id), eventName, baseEvent, callback);\n return () => {};\n }\n\n command(id: string, element: any, command: string, args: any[]): void {\n if (command == 'register') {\n this.register(id, args[0] as AnimationMetadata | AnimationMetadata[]);\n return;\n }\n\n if (command == 'create') {\n const options = (args[0] || {}) as AnimationOptions;\n this.create(id, element, options);\n return;\n }\n\n const player = this._getPlayer(id);\n switch (command) {\n case 'play':\n player.play();\n break;\n case 'pause':\n player.pause();\n break;\n case 'reset':\n player.reset();\n break;\n case 'restart':\n player.restart();\n break;\n case 'finish':\n player.finish();\n break;\n case 'init':\n player.init();\n break;\n case 'setPosition':\n player.setPosition(parseFloat(args[0] as string));\n break;\n case 'destroy':\n this.destroy(id);\n break;\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {AnimationOptions, AnimationPlayer, AUTO_STYLE, NoopAnimationPlayer, ɵAnimationGroupPlayer as AnimationGroupPlayer, ɵPRE_STYLE as PRE_STYLE, ɵStyleData} from '@angular/animations';\n\nimport {AnimationTimelineInstruction} from '../dsl/animation_timeline_instruction';\nimport {AnimationTransitionFactory} from '../dsl/animation_transition_factory';\nimport {AnimationTransitionInstruction} from '../dsl/animation_transition_instruction';\nimport {AnimationTrigger} from '../dsl/animation_trigger';\nimport {ElementInstructionMap} from '../dsl/element_instruction_map';\nimport {AnimationStyleNormalizer} from '../dsl/style_normalization/animation_style_normalizer';\nimport {copyObj, ENTER_CLASSNAME, eraseStyles, iteratorToArray, LEAVE_CLASSNAME, NG_ANIMATING_CLASSNAME, NG_ANIMATING_SELECTOR, NG_TRIGGER_CLASSNAME, NG_TRIGGER_SELECTOR, setStyles} from '../util';\n\nimport {AnimationDriver} from './animation_driver';\nimport {getOrSetAsInMap, listenOnPlayer, makeAnimationEvent, normalizeKeyframes, optimizeGroupPlayer} from './shared';\n\nconst QUEUED_CLASSNAME = 'ng-animate-queued';\nconst QUEUED_SELECTOR = '.ng-animate-queued';\nconst DISABLED_CLASSNAME = 'ng-animate-disabled';\nconst DISABLED_SELECTOR = '.ng-animate-disabled';\nconst STAR_CLASSNAME = 'ng-star-inserted';\nconst STAR_SELECTOR = '.ng-star-inserted';\n\nconst EMPTY_PLAYER_ARRAY: TransitionAnimationPlayer[] = [];\nconst NULL_REMOVAL_STATE: ElementAnimationState = {\n namespaceId: '',\n setForRemoval: false,\n setForMove: false,\n hasAnimation: false,\n removedBeforeQueried: false\n};\nconst NULL_REMOVED_QUERIED_STATE: ElementAnimationState = {\n namespaceId: '',\n setForMove: false,\n setForRemoval: false,\n hasAnimation: false,\n removedBeforeQueried: true\n};\n\ninterface TriggerListener {\n name: string;\n phase: string;\n callback: (event: any) => any;\n}\n\nexport interface QueueInstruction {\n element: any;\n triggerName: string;\n fromState: StateValue;\n toState: StateValue;\n transition: AnimationTransitionFactory;\n player: TransitionAnimationPlayer;\n isFallbackTransition: boolean;\n}\n\nexport const REMOVAL_FLAG = '__ng_removed';\n\nexport interface ElementAnimationState {\n setForRemoval: boolean;\n setForMove: boolean;\n hasAnimation: boolean;\n namespaceId: string;\n removedBeforeQueried: boolean;\n}\n\nexport class StateValue {\n public value: string;\n public options: AnimationOptions;\n\n get params(): {[key: string]: any} {\n return this.options.params as {[key: string]: any};\n }\n\n constructor(input: any, public namespaceId: string = '') {\n const isObj = input && input.hasOwnProperty('value');\n const value = isObj ? input['value'] : input;\n this.value = normalizeTriggerValue(value);\n if (isObj) {\n const options = copyObj(input as any);\n delete options['value'];\n this.options = options as AnimationOptions;\n } else {\n this.options = {};\n }\n if (!this.options.params) {\n this.options.params = {};\n }\n }\n\n absorbOptions(options: AnimationOptions) {\n const newParams = options.params;\n if (newParams) {\n const oldParams = this.options.params!;\n Object.keys(newParams).forEach(prop => {\n if (oldParams[prop] == null) {\n oldParams[prop] = newParams[prop];\n }\n });\n }\n }\n}\n\nexport const VOID_VALUE = 'void';\nexport const DEFAULT_STATE_VALUE = new StateValue(VOID_VALUE);\n\nexport class AnimationTransitionNamespace {\n public players: TransitionAnimationPlayer[] = [];\n\n private _triggers: {[triggerName: string]: AnimationTrigger} = {};\n private _queue: QueueInstruction[] = [];\n\n private _elementListeners = new Map();\n\n private _hostClassName: string;\n\n constructor(\n public id: string, public hostElement: any, private _engine: TransitionAnimationEngine) {\n this._hostClassName = 'ng-tns-' + id;\n addClass(hostElement, this._hostClassName);\n }\n\n listen(element: any, name: string, phase: string, callback: (event: any) => boolean): () => any {\n if (!this._triggers.hasOwnProperty(name)) {\n throw new Error(`Unable to listen on the animation trigger event \"${\n phase}\" because the animation trigger \"${name}\" doesn\\'t exist!`);\n }\n\n if (phase == null || phase.length == 0) {\n throw new Error(`Unable to listen on the animation trigger \"${\n name}\" because the provided event is undefined!`);\n }\n\n if (!isTriggerEventValid(phase)) {\n throw new Error(`The provided animation trigger event \"${phase}\" for the animation trigger \"${\n name}\" is not supported!`);\n }\n\n const listeners = getOrSetAsInMap(this._elementListeners, element, []);\n const data = {name, phase, callback};\n listeners.push(data);\n\n const triggersWithStates = getOrSetAsInMap(this._engine.statesByElement, element, {});\n if (!triggersWithStates.hasOwnProperty(name)) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + name);\n triggersWithStates[name] = DEFAULT_STATE_VALUE;\n }\n\n return () => {\n // the event listener is removed AFTER the flush has occurred such\n // that leave animations callbacks can fire (otherwise if the node\n // is removed in between then the listeners would be deregistered)\n this._engine.afterFlush(() => {\n const index = listeners.indexOf(data);\n if (index >= 0) {\n listeners.splice(index, 1);\n }\n\n if (!this._triggers[name]) {\n delete triggersWithStates[name];\n }\n });\n };\n }\n\n register(name: string, ast: AnimationTrigger): boolean {\n if (this._triggers[name]) {\n // throw\n return false;\n } else {\n this._triggers[name] = ast;\n return true;\n }\n }\n\n private _getTrigger(name: string) {\n const trigger = this._triggers[name];\n if (!trigger) {\n throw new Error(`The provided animation trigger \"${name}\" has not been registered!`);\n }\n return trigger;\n }\n\n trigger(element: any, triggerName: string, value: any, defaultToFallback: boolean = true):\n TransitionAnimationPlayer|undefined {\n const trigger = this._getTrigger(triggerName);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n\n let triggersWithStates = this._engine.statesByElement.get(element);\n if (!triggersWithStates) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + triggerName);\n this._engine.statesByElement.set(element, triggersWithStates = {});\n }\n\n let fromState = triggersWithStates[triggerName];\n const toState = new StateValue(value, this.id);\n\n const isObj = value && value.hasOwnProperty('value');\n if (!isObj && fromState) {\n toState.absorbOptions(fromState.options);\n }\n\n triggersWithStates[triggerName] = toState;\n\n if (!fromState) {\n fromState = DEFAULT_STATE_VALUE;\n }\n\n const isRemoval = toState.value === VOID_VALUE;\n\n // normally this isn't reached by here, however, if an object expression\n // is passed in then it may be a new object each time. Comparing the value\n // is important since that will stay the same despite there being a new object.\n // The removal arc here is special cased because the same element is triggered\n // twice in the event that it contains animations on the outer/inner portions\n // of the host container\n if (!isRemoval && fromState.value === toState.value) {\n // this means that despite the value not changing, some inner params\n // have changed which means that the animation final styles need to be applied\n if (!objEquals(fromState.params, toState.params)) {\n const errors: any[] = [];\n const fromStyles = trigger.matchStyles(fromState.value, fromState.params, errors);\n const toStyles = trigger.matchStyles(toState.value, toState.params, errors);\n if (errors.length) {\n this._engine.reportError(errors);\n } else {\n this._engine.afterFlush(() => {\n eraseStyles(element, fromStyles);\n setStyles(element, toStyles);\n });\n }\n }\n return;\n }\n\n const playersOnElement: TransitionAnimationPlayer[] =\n getOrSetAsInMap(this._engine.playersByElement, element, []);\n playersOnElement.forEach(player => {\n // only remove the player if it is queued on the EXACT same trigger/namespace\n // we only also deal with queued players here because if the animation has\n // started then we want to keep the player alive until the flush happens\n // (which is where the previousPlayers are passed into the new palyer)\n if (player.namespaceId == this.id && player.triggerName == triggerName && player.queued) {\n player.destroy();\n }\n });\n\n let transition =\n trigger.matchTransition(fromState.value, toState.value, element, toState.params);\n let isFallbackTransition = false;\n if (!transition) {\n if (!defaultToFallback) return;\n transition = trigger.fallbackTransition;\n isFallbackTransition = true;\n }\n\n this._engine.totalQueuedPlayers++;\n this._queue.push(\n {element, triggerName, transition, fromState, toState, player, isFallbackTransition});\n\n if (!isFallbackTransition) {\n addClass(element, QUEUED_CLASSNAME);\n player.onStart(() => {\n removeClass(element, QUEUED_CLASSNAME);\n });\n }\n\n player.onDone(() => {\n let index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n\n const players = this._engine.playersByElement.get(element);\n if (players) {\n let index = players.indexOf(player);\n if (index >= 0) {\n players.splice(index, 1);\n }\n }\n });\n\n this.players.push(player);\n playersOnElement.push(player);\n\n return player;\n }\n\n deregister(name: string) {\n delete this._triggers[name];\n\n this._engine.statesByElement.forEach((stateMap, element) => {\n delete stateMap[name];\n });\n\n this._elementListeners.forEach((listeners, element) => {\n this._elementListeners.set(element, listeners.filter(entry => {\n return entry.name != name;\n }));\n });\n }\n\n clearElementCache(element: any) {\n this._engine.statesByElement.delete(element);\n this._elementListeners.delete(element);\n const elementPlayers = this._engine.playersByElement.get(element);\n if (elementPlayers) {\n elementPlayers.forEach(player => player.destroy());\n this._engine.playersByElement.delete(element);\n }\n }\n\n private _signalRemovalForInnerTriggers(rootElement: any, context: any) {\n const elements = this._engine.driver.query(rootElement, NG_TRIGGER_SELECTOR, true);\n\n // emulate a leave animation for all inner nodes within this node.\n // If there are no animations found for any of the nodes then clear the cache\n // for the element.\n elements.forEach(elm => {\n // this means that an inner remove() operation has already kicked off\n // the animation on this element...\n if (elm[REMOVAL_FLAG]) return;\n\n const namespaces = this._engine.fetchNamespacesByElement(elm);\n if (namespaces.size) {\n namespaces.forEach(ns => ns.triggerLeaveAnimation(elm, context, false, true));\n } else {\n this.clearElementCache(elm);\n }\n });\n\n // If the child elements were removed along with the parent, their animations might not\n // have completed. Clear all the elements from the cache so we don't end up with a memory leak.\n this._engine.afterFlushAnimationsDone(\n () => elements.forEach(elm => this.clearElementCache(elm)));\n }\n\n triggerLeaveAnimation(\n element: any, context: any, destroyAfterComplete?: boolean,\n defaultToFallback?: boolean): boolean {\n const triggerStates = this._engine.statesByElement.get(element);\n if (triggerStates) {\n const players: TransitionAnimationPlayer[] = [];\n Object.keys(triggerStates).forEach(triggerName => {\n // this check is here in the event that an element is removed\n // twice (both on the host level and the component level)\n if (this._triggers[triggerName]) {\n const player = this.trigger(element, triggerName, VOID_VALUE, defaultToFallback);\n if (player) {\n players.push(player);\n }\n }\n });\n\n if (players.length) {\n this._engine.markElementAsRemoved(this.id, element, true, context);\n if (destroyAfterComplete) {\n optimizeGroupPlayer(players).onDone(() => this._engine.processLeaveNode(element));\n }\n return true;\n }\n }\n return false;\n }\n\n prepareLeaveAnimationListeners(element: any) {\n const listeners = this._elementListeners.get(element);\n if (listeners) {\n const visitedTriggers = new Set();\n listeners.forEach(listener => {\n const triggerName = listener.name;\n if (visitedTriggers.has(triggerName)) return;\n visitedTriggers.add(triggerName);\n\n const trigger = this._triggers[triggerName];\n const transition = trigger.fallbackTransition;\n const elementStates = this._engine.statesByElement.get(element)!;\n const fromState = elementStates[triggerName] || DEFAULT_STATE_VALUE;\n const toState = new StateValue(VOID_VALUE);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n\n this._engine.totalQueuedPlayers++;\n this._queue.push({\n element,\n triggerName,\n transition,\n fromState,\n toState,\n player,\n isFallbackTransition: true\n });\n });\n }\n }\n\n removeNode(element: any, context: any): void {\n const engine = this._engine;\n\n if (element.childElementCount) {\n this._signalRemovalForInnerTriggers(element, context);\n }\n\n // this means that a * => VOID animation was detected and kicked off\n if (this.triggerLeaveAnimation(element, context, true)) return;\n\n // find the player that is animating and make sure that the\n // removal is delayed until that player has completed\n let containsPotentialParentTransition = false;\n if (engine.totalAnimations) {\n const currentPlayers =\n engine.players.length ? engine.playersByQueriedElement.get(element) : [];\n\n // when this `if statement` does not continue forward it means that\n // a previous animation query has selected the current element and\n // is animating it. In this situation want to continue forwards and\n // allow the element to be queued up for animation later.\n if (currentPlayers && currentPlayers.length) {\n containsPotentialParentTransition = true;\n } else {\n let parent = element;\n while (parent = parent.parentNode) {\n const triggers = engine.statesByElement.get(parent);\n if (triggers) {\n containsPotentialParentTransition = true;\n break;\n }\n }\n }\n }\n\n // at this stage we know that the element will either get removed\n // during flush or will be picked up by a parent query. Either way\n // we need to fire the listeners for this element when it DOES get\n // removed (once the query parent animation is done or after flush)\n this.prepareLeaveAnimationListeners(element);\n\n // whether or not a parent has an animation we need to delay the deferral of the leave\n // operation until we have more information (which we do after flush() has been called)\n if (containsPotentialParentTransition) {\n engine.markElementAsRemoved(this.id, element, false, context);\n } else {\n const removalFlag = element[REMOVAL_FLAG];\n if (!removalFlag || removalFlag === NULL_REMOVAL_STATE) {\n // we do this after the flush has occurred such\n // that the callbacks can be fired\n engine.afterFlush(() => this.clearElementCache(element));\n engine.destroyInnerAnimations(element);\n engine._onRemovalComplete(element, context);\n }\n }\n }\n\n insertNode(element: any, parent: any): void {\n addClass(element, this._hostClassName);\n }\n\n drainQueuedTransitions(microtaskId: number): QueueInstruction[] {\n const instructions: QueueInstruction[] = [];\n this._queue.forEach(entry => {\n const player = entry.player;\n if (player.destroyed) return;\n\n const element = entry.element;\n const listeners = this._elementListeners.get(element);\n if (listeners) {\n listeners.forEach((listener: TriggerListener) => {\n if (listener.name == entry.triggerName) {\n const baseEvent = makeAnimationEvent(\n element, entry.triggerName, entry.fromState.value, entry.toState.value);\n (baseEvent as any)['_data'] = microtaskId;\n listenOnPlayer(entry.player, listener.phase, baseEvent, listener.callback);\n }\n });\n }\n\n if (player.markedForDestroy) {\n this._engine.afterFlush(() => {\n // now we can destroy the element properly since the event listeners have\n // been bound to the player\n player.destroy();\n });\n } else {\n instructions.push(entry);\n }\n });\n\n this._queue = [];\n\n return instructions.sort((a, b) => {\n // if depCount == 0 them move to front\n // otherwise if a contains b then move back\n const d0 = a.transition.ast.depCount;\n const d1 = b.transition.ast.depCount;\n if (d0 == 0 || d1 == 0) {\n return d0 - d1;\n }\n return this._engine.driver.containsElement(a.element, b.element) ? 1 : -1;\n });\n }\n\n destroy(context: any) {\n this.players.forEach(p => p.destroy());\n this._signalRemovalForInnerTriggers(this.hostElement, context);\n }\n\n elementContainsData(element: any): boolean {\n let containsData = false;\n if (this._elementListeners.has(element)) containsData = true;\n containsData =\n (this._queue.find(entry => entry.element === element) ? true : false) || containsData;\n return containsData;\n }\n}\n\nexport interface QueuedTransition {\n element: any;\n instruction: AnimationTransitionInstruction;\n player: TransitionAnimationPlayer;\n}\n\nexport class TransitionAnimationEngine {\n public players: TransitionAnimationPlayer[] = [];\n public newHostElements = new Map();\n public playersByElement = new Map();\n public playersByQueriedElement = new Map();\n public statesByElement = new Map();\n public disabledNodes = new Set();\n\n public totalAnimations = 0;\n public totalQueuedPlayers = 0;\n\n private _namespaceLookup: {[id: string]: AnimationTransitionNamespace} = {};\n private _namespaceList: AnimationTransitionNamespace[] = [];\n private _flushFns: (() => any)[] = [];\n private _whenQuietFns: (() => any)[] = [];\n\n public namespacesByHostElement = new Map();\n public collectedEnterElements: any[] = [];\n public collectedLeaveElements: any[] = [];\n\n // this method is designed to be overridden by the code that uses this engine\n public onRemovalComplete = (element: any, context: any) => {};\n\n /** @internal */\n _onRemovalComplete(element: any, context: any) {\n this.onRemovalComplete(element, context);\n }\n\n constructor(\n public bodyNode: any, public driver: AnimationDriver,\n private _normalizer: AnimationStyleNormalizer) {}\n\n get queuedPlayers(): TransitionAnimationPlayer[] {\n const players: TransitionAnimationPlayer[] = [];\n this._namespaceList.forEach(ns => {\n ns.players.forEach(player => {\n if (player.queued) {\n players.push(player);\n }\n });\n });\n return players;\n }\n\n createNamespace(namespaceId: string, hostElement: any) {\n const ns = new AnimationTransitionNamespace(namespaceId, hostElement, this);\n if (hostElement.parentNode) {\n this._balanceNamespaceList(ns, hostElement);\n } else {\n // defer this later until flush during when the host element has\n // been inserted so that we know exactly where to place it in\n // the namespace list\n this.newHostElements.set(hostElement, ns);\n\n // given that this host element is apart of the animation code, it\n // may or may not be inserted by a parent node that is an of an\n // animation renderer type. If this happens then we can still have\n // access to this item when we query for :enter nodes. If the parent\n // is a renderer then the set data-structure will normalize the entry\n this.collectEnterElement(hostElement);\n }\n return this._namespaceLookup[namespaceId] = ns;\n }\n\n private _balanceNamespaceList(ns: AnimationTransitionNamespace, hostElement: any) {\n const limit = this._namespaceList.length - 1;\n if (limit >= 0) {\n let found = false;\n for (let i = limit; i >= 0; i--) {\n const nextNamespace = this._namespaceList[i];\n if (this.driver.containsElement(nextNamespace.hostElement, hostElement)) {\n this._namespaceList.splice(i + 1, 0, ns);\n found = true;\n break;\n }\n }\n if (!found) {\n this._namespaceList.splice(0, 0, ns);\n }\n } else {\n this._namespaceList.push(ns);\n }\n\n this.namespacesByHostElement.set(hostElement, ns);\n return ns;\n }\n\n register(namespaceId: string, hostElement: any) {\n let ns = this._namespaceLookup[namespaceId];\n if (!ns) {\n ns = this.createNamespace(namespaceId, hostElement);\n }\n return ns;\n }\n\n registerTrigger(namespaceId: string, name: string, trigger: AnimationTrigger) {\n let ns = this._namespaceLookup[namespaceId];\n if (ns && ns.register(name, trigger)) {\n this.totalAnimations++;\n }\n }\n\n destroy(namespaceId: string, context: any) {\n if (!namespaceId) return;\n\n const ns = this._fetchNamespace(namespaceId);\n\n this.afterFlush(() => {\n this.namespacesByHostElement.delete(ns.hostElement);\n delete this._namespaceLookup[namespaceId];\n const index = this._namespaceList.indexOf(ns);\n if (index >= 0) {\n this._namespaceList.splice(index, 1);\n }\n });\n\n this.afterFlushAnimationsDone(() => ns.destroy(context));\n }\n\n private _fetchNamespace(id: string) {\n return this._namespaceLookup[id];\n }\n\n fetchNamespacesByElement(element: any): Set {\n // normally there should only be one namespace per element, however\n // if @triggers are placed on both the component element and then\n // its host element (within the component code) then there will be\n // two namespaces returned. We use a set here to simply the dedupe\n // of namespaces incase there are multiple triggers both the elm and host\n const namespaces = new Set();\n const elementStates = this.statesByElement.get(element);\n if (elementStates) {\n const keys = Object.keys(elementStates);\n for (let i = 0; i < keys.length; i++) {\n const nsId = elementStates[keys[i]].namespaceId;\n if (nsId) {\n const ns = this._fetchNamespace(nsId);\n if (ns) {\n namespaces.add(ns);\n }\n }\n }\n }\n return namespaces;\n }\n\n trigger(namespaceId: string, element: any, name: string, value: any): boolean {\n if (isElementNode(element)) {\n const ns = this._fetchNamespace(namespaceId);\n if (ns) {\n ns.trigger(element, name, value);\n return true;\n }\n }\n return false;\n }\n\n insertNode(namespaceId: string, element: any, parent: any, insertBefore: boolean): void {\n if (!isElementNode(element)) return;\n\n // special case for when an element is removed and reinserted (move operation)\n // when this occurs we do not want to use the element for deletion later\n const details = element[REMOVAL_FLAG] as ElementAnimationState;\n if (details && details.setForRemoval) {\n details.setForRemoval = false;\n details.setForMove = true;\n const index = this.collectedLeaveElements.indexOf(element);\n if (index >= 0) {\n this.collectedLeaveElements.splice(index, 1);\n }\n }\n\n // in the event that the namespaceId is blank then the caller\n // code does not contain any animation code in it, but it is\n // just being called so that the node is marked as being inserted\n if (namespaceId) {\n const ns = this._fetchNamespace(namespaceId);\n // This if-statement is a workaround for router issue #21947.\n // The router sometimes hits a race condition where while a route\n // is being instantiated a new navigation arrives, triggering leave\n // animation of DOM that has not been fully initialized, until this\n // is resolved, we need to handle the scenario when DOM is not in a\n // consistent state during the animation.\n if (ns) {\n ns.insertNode(element, parent);\n }\n }\n\n // only *directives and host elements are inserted before\n if (insertBefore) {\n this.collectEnterElement(element);\n }\n }\n\n collectEnterElement(element: any) {\n this.collectedEnterElements.push(element);\n }\n\n markElementAsDisabled(element: any, value: boolean) {\n if (value) {\n if (!this.disabledNodes.has(element)) {\n this.disabledNodes.add(element);\n addClass(element, DISABLED_CLASSNAME);\n }\n } else if (this.disabledNodes.has(element)) {\n this.disabledNodes.delete(element);\n removeClass(element, DISABLED_CLASSNAME);\n }\n }\n\n removeNode(namespaceId: string, element: any, isHostElement: boolean, context: any): void {\n if (isElementNode(element)) {\n const ns = namespaceId ? this._fetchNamespace(namespaceId) : null;\n if (ns) {\n ns.removeNode(element, context);\n } else {\n this.markElementAsRemoved(namespaceId, element, false, context);\n }\n\n if (isHostElement) {\n const hostNS = this.namespacesByHostElement.get(element);\n if (hostNS && hostNS.id !== namespaceId) {\n hostNS.removeNode(element, context);\n }\n }\n } else {\n this._onRemovalComplete(element, context);\n }\n }\n\n markElementAsRemoved(namespaceId: string, element: any, hasAnimation?: boolean, context?: any) {\n this.collectedLeaveElements.push(element);\n element[REMOVAL_FLAG] =\n {namespaceId, setForRemoval: context, hasAnimation, removedBeforeQueried: false};\n }\n\n listen(\n namespaceId: string, element: any, name: string, phase: string,\n callback: (event: any) => boolean): () => any {\n if (isElementNode(element)) {\n return this._fetchNamespace(namespaceId).listen(element, name, phase, callback);\n }\n return () => {};\n }\n\n private _buildInstruction(\n entry: QueueInstruction, subTimelines: ElementInstructionMap, enterClassName: string,\n leaveClassName: string, skipBuildAst?: boolean) {\n return entry.transition.build(\n this.driver, entry.element, entry.fromState.value, entry.toState.value, enterClassName,\n leaveClassName, entry.fromState.options, entry.toState.options, subTimelines, skipBuildAst);\n }\n\n destroyInnerAnimations(containerElement: any) {\n let elements = this.driver.query(containerElement, NG_TRIGGER_SELECTOR, true);\n elements.forEach(element => this.destroyActiveAnimationsForElement(element));\n\n if (this.playersByQueriedElement.size == 0) return;\n\n elements = this.driver.query(containerElement, NG_ANIMATING_SELECTOR, true);\n elements.forEach(element => this.finishActiveQueriedAnimationOnElement(element));\n }\n\n destroyActiveAnimationsForElement(element: any) {\n const players = this.playersByElement.get(element);\n if (players) {\n players.forEach(player => {\n // special case for when an element is set for destruction, but hasn't started.\n // in this situation we want to delay the destruction until the flush occurs\n // so that any event listeners attached to the player are triggered.\n if (player.queued) {\n player.markedForDestroy = true;\n } else {\n player.destroy();\n }\n });\n }\n }\n\n finishActiveQueriedAnimationOnElement(element: any) {\n const players = this.playersByQueriedElement.get(element);\n if (players) {\n players.forEach(player => player.finish());\n }\n }\n\n whenRenderingDone(): Promise {\n return new Promise(resolve => {\n if (this.players.length) {\n return optimizeGroupPlayer(this.players).onDone(() => resolve());\n } else {\n resolve();\n }\n });\n }\n\n processLeaveNode(element: any) {\n const details = element[REMOVAL_FLAG] as ElementAnimationState;\n if (details && details.setForRemoval) {\n // this will prevent it from removing it twice\n element[REMOVAL_FLAG] = NULL_REMOVAL_STATE;\n if (details.namespaceId) {\n this.destroyInnerAnimations(element);\n const ns = this._fetchNamespace(details.namespaceId);\n if (ns) {\n ns.clearElementCache(element);\n }\n }\n this._onRemovalComplete(element, details.setForRemoval);\n }\n\n if (this.driver.matchesElement(element, DISABLED_SELECTOR)) {\n this.markElementAsDisabled(element, false);\n }\n\n this.driver.query(element, DISABLED_SELECTOR, true).forEach(node => {\n this.markElementAsDisabled(node, false);\n });\n }\n\n flush(microtaskId: number = -1) {\n let players: AnimationPlayer[] = [];\n if (this.newHostElements.size) {\n this.newHostElements.forEach((ns, element) => this._balanceNamespaceList(ns, element));\n this.newHostElements.clear();\n }\n\n if (this.totalAnimations && this.collectedEnterElements.length) {\n for (let i = 0; i < this.collectedEnterElements.length; i++) {\n const elm = this.collectedEnterElements[i];\n addClass(elm, STAR_CLASSNAME);\n }\n }\n\n if (this._namespaceList.length &&\n (this.totalQueuedPlayers || this.collectedLeaveElements.length)) {\n const cleanupFns: Function[] = [];\n try {\n players = this._flushAnimations(cleanupFns, microtaskId);\n } finally {\n for (let i = 0; i < cleanupFns.length; i++) {\n cleanupFns[i]();\n }\n }\n } else {\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n this.processLeaveNode(element);\n }\n }\n\n this.totalQueuedPlayers = 0;\n this.collectedEnterElements.length = 0;\n this.collectedLeaveElements.length = 0;\n this._flushFns.forEach(fn => fn());\n this._flushFns = [];\n\n if (this._whenQuietFns.length) {\n // we move these over to a variable so that\n // if any new callbacks are registered in another\n // flush they do not populate the existing set\n const quietFns = this._whenQuietFns;\n this._whenQuietFns = [];\n\n if (players.length) {\n optimizeGroupPlayer(players).onDone(() => {\n quietFns.forEach(fn => fn());\n });\n } else {\n quietFns.forEach(fn => fn());\n }\n }\n }\n\n reportError(errors: string[]) {\n throw new Error(\n `Unable to process animations due to the following failed trigger transitions\\n ${\n errors.join('\\n')}`);\n }\n\n private _flushAnimations(cleanupFns: Function[], microtaskId: number):\n TransitionAnimationPlayer[] {\n const subTimelines = new ElementInstructionMap();\n const skippedPlayers: TransitionAnimationPlayer[] = [];\n const skippedPlayersMap = new Map();\n const queuedInstructions: QueuedTransition[] = [];\n const queriedElements = new Map();\n const allPreStyleElements = new Map>();\n const allPostStyleElements = new Map>();\n\n const disabledElementsSet = new Set();\n this.disabledNodes.forEach(node => {\n disabledElementsSet.add(node);\n const nodesThatAreDisabled = this.driver.query(node, QUEUED_SELECTOR, true);\n for (let i = 0; i < nodesThatAreDisabled.length; i++) {\n disabledElementsSet.add(nodesThatAreDisabled[i]);\n }\n });\n\n const bodyNode = this.bodyNode;\n const allTriggerElements = Array.from(this.statesByElement.keys());\n const enterNodeMap = buildRootMap(allTriggerElements, this.collectedEnterElements);\n\n // this must occur before the instructions are built below such that\n // the :enter queries match the elements (since the timeline queries\n // are fired during instruction building).\n const enterNodeMapIds = new Map();\n let i = 0;\n enterNodeMap.forEach((nodes, root) => {\n const className = ENTER_CLASSNAME + i++;\n enterNodeMapIds.set(root, className);\n nodes.forEach(node => addClass(node, className));\n });\n\n const allLeaveNodes: any[] = [];\n const mergedLeaveNodes = new Set();\n const leaveNodesWithoutAnimations = new Set();\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n const details = element[REMOVAL_FLAG] as ElementAnimationState;\n if (details && details.setForRemoval) {\n allLeaveNodes.push(element);\n mergedLeaveNodes.add(element);\n if (details.hasAnimation) {\n this.driver.query(element, STAR_SELECTOR, true).forEach(elm => mergedLeaveNodes.add(elm));\n } else {\n leaveNodesWithoutAnimations.add(element);\n }\n }\n }\n\n const leaveNodeMapIds = new Map();\n const leaveNodeMap = buildRootMap(allTriggerElements, Array.from(mergedLeaveNodes));\n leaveNodeMap.forEach((nodes, root) => {\n const className = LEAVE_CLASSNAME + i++;\n leaveNodeMapIds.set(root, className);\n nodes.forEach(node => addClass(node, className));\n });\n\n cleanupFns.push(() => {\n enterNodeMap.forEach((nodes, root) => {\n const className = enterNodeMapIds.get(root)!;\n nodes.forEach(node => removeClass(node, className));\n });\n\n leaveNodeMap.forEach((nodes, root) => {\n const className = leaveNodeMapIds.get(root)!;\n nodes.forEach(node => removeClass(node, className));\n });\n\n allLeaveNodes.forEach(element => {\n this.processLeaveNode(element);\n });\n });\n\n const allPlayers: TransitionAnimationPlayer[] = [];\n const erroneousTransitions: AnimationTransitionInstruction[] = [];\n for (let i = this._namespaceList.length - 1; i >= 0; i--) {\n const ns = this._namespaceList[i];\n ns.drainQueuedTransitions(microtaskId).forEach(entry => {\n const player = entry.player;\n const element = entry.element;\n allPlayers.push(player);\n\n if (this.collectedEnterElements.length) {\n const details = element[REMOVAL_FLAG] as ElementAnimationState;\n // move animations are currently not supported...\n if (details && details.setForMove) {\n player.destroy();\n return;\n }\n }\n\n const nodeIsOrphaned = !bodyNode || !this.driver.containsElement(bodyNode, element);\n const leaveClassName = leaveNodeMapIds.get(element)!;\n const enterClassName = enterNodeMapIds.get(element)!;\n const instruction = this._buildInstruction(\n entry, subTimelines, enterClassName, leaveClassName, nodeIsOrphaned)!;\n if (instruction.errors && instruction.errors.length) {\n erroneousTransitions.push(instruction);\n return;\n }\n\n // even though the element may not be apart of the DOM, it may\n // still be added at a later point (due to the mechanics of content\n // projection and/or dynamic component insertion) therefore it's\n // important we still style the element.\n if (nodeIsOrphaned) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n\n // if a unmatched transition is queued to go then it SHOULD NOT render\n // an animation and cancel the previously running animations.\n if (entry.isFallbackTransition) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n\n // this means that if a parent animation uses this animation as a sub trigger\n // then it will instruct the timeline builder to not add a player delay, but\n // instead stretch the first keyframe gap up until the animation starts. The\n // reason this is important is to prevent extra initialization styles from being\n // required by the user in the animation.\n instruction.timelines.forEach(tl => tl.stretchStartingKeyframe = true);\n\n subTimelines.append(element, instruction.timelines);\n\n const tuple = {instruction, player, element};\n\n queuedInstructions.push(tuple);\n\n instruction.queriedElements.forEach(\n element => getOrSetAsInMap(queriedElements, element, []).push(player));\n\n instruction.preStyleProps.forEach((stringMap, element) => {\n const props = Object.keys(stringMap);\n if (props.length) {\n let setVal: Set = allPreStyleElements.get(element)!;\n if (!setVal) {\n allPreStyleElements.set(element, setVal = new Set());\n }\n props.forEach(prop => setVal.add(prop));\n }\n });\n\n instruction.postStyleProps.forEach((stringMap, element) => {\n const props = Object.keys(stringMap);\n let setVal: Set = allPostStyleElements.get(element)!;\n if (!setVal) {\n allPostStyleElements.set(element, setVal = new Set());\n }\n props.forEach(prop => setVal.add(prop));\n });\n });\n }\n\n if (erroneousTransitions.length) {\n const errors: string[] = [];\n erroneousTransitions.forEach(instruction => {\n errors.push(`@${instruction.triggerName} has failed due to:\\n`);\n instruction.errors!.forEach(error => errors.push(`- ${error}\\n`));\n });\n\n allPlayers.forEach(player => player.destroy());\n this.reportError(errors);\n }\n\n const allPreviousPlayersMap = new Map();\n // this map works to tell which element in the DOM tree is contained by\n // which animation. Further down below this map will get populated once\n // the players are built and in doing so it can efficiently figure out\n // if a sub player is skipped due to a parent player having priority.\n const animationElementMap = new Map();\n queuedInstructions.forEach(entry => {\n const element = entry.element;\n if (subTimelines.has(element)) {\n animationElementMap.set(element, element);\n this._beforeAnimationBuild(\n entry.player.namespaceId, entry.instruction, allPreviousPlayersMap);\n }\n });\n\n skippedPlayers.forEach(player => {\n const element = player.element;\n const previousPlayers =\n this._getPreviousPlayers(element, false, player.namespaceId, player.triggerName, null);\n previousPlayers.forEach(prevPlayer => {\n getOrSetAsInMap(allPreviousPlayersMap, element, []).push(prevPlayer);\n prevPlayer.destroy();\n });\n });\n\n // this is a special case for nodes that will be removed (either by)\n // having their own leave animations or by being queried in a container\n // that will be removed once a parent animation is complete. The idea\n // here is that * styles must be identical to ! styles because of\n // backwards compatibility (* is also filled in by default in many places).\n // Otherwise * styles will return an empty value or auto since the element\n // that is being getComputedStyle'd will not be visible (since * = destination)\n const replaceNodes = allLeaveNodes.filter(node => {\n return replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements);\n });\n\n // POST STAGE: fill the * styles\n const postStylesMap = new Map();\n const allLeaveQueriedNodes = cloakAndComputeStyles(\n postStylesMap, this.driver, leaveNodesWithoutAnimations, allPostStyleElements, AUTO_STYLE);\n\n allLeaveQueriedNodes.forEach(node => {\n if (replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements)) {\n replaceNodes.push(node);\n }\n });\n\n // PRE STAGE: fill the ! styles\n const preStylesMap = new Map();\n enterNodeMap.forEach((nodes, root) => {\n cloakAndComputeStyles(\n preStylesMap, this.driver, new Set(nodes), allPreStyleElements, PRE_STYLE);\n });\n\n replaceNodes.forEach(node => {\n const post = postStylesMap.get(node);\n const pre = preStylesMap.get(node);\n postStylesMap.set(node, {...post, ...pre} as any);\n });\n\n const rootPlayers: TransitionAnimationPlayer[] = [];\n const subPlayers: TransitionAnimationPlayer[] = [];\n const NO_PARENT_ANIMATION_ELEMENT_DETECTED = {};\n queuedInstructions.forEach(entry => {\n const {element, player, instruction} = entry;\n // this means that it was never consumed by a parent animation which\n // means that it is independent and therefore should be set for animation\n if (subTimelines.has(element)) {\n if (disabledElementsSet.has(element)) {\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n player.disabled = true;\n player.overrideTotalTime(instruction.totalTime);\n skippedPlayers.push(player);\n return;\n }\n\n // this will flow up the DOM and query the map to figure out\n // if a parent animation has priority over it. In the situation\n // that a parent is detected then it will cancel the loop. If\n // nothing is detected, or it takes a few hops to find a parent,\n // then it will fill in the missing nodes and signal them as having\n // a detected parent (or a NO_PARENT value via a special constant).\n let parentWithAnimation: any = NO_PARENT_ANIMATION_ELEMENT_DETECTED;\n if (animationElementMap.size > 1) {\n let elm = element;\n const parentsToAdd: any[] = [];\n while (elm = elm.parentNode) {\n const detectedParent = animationElementMap.get(elm);\n if (detectedParent) {\n parentWithAnimation = detectedParent;\n break;\n }\n parentsToAdd.push(elm);\n }\n parentsToAdd.forEach(parent => animationElementMap.set(parent, parentWithAnimation));\n }\n\n const innerPlayer = this._buildAnimation(\n player.namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap,\n postStylesMap);\n\n player.setRealPlayer(innerPlayer);\n\n if (parentWithAnimation === NO_PARENT_ANIMATION_ELEMENT_DETECTED) {\n rootPlayers.push(player);\n } else {\n const parentPlayers = this.playersByElement.get(parentWithAnimation);\n if (parentPlayers && parentPlayers.length) {\n player.parentPlayer = optimizeGroupPlayer(parentPlayers);\n }\n skippedPlayers.push(player);\n }\n } else {\n eraseStyles(element, instruction.fromStyles);\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n // there still might be a ancestor player animating this\n // element therefore we will still add it as a sub player\n // even if its animation may be disabled\n subPlayers.push(player);\n if (disabledElementsSet.has(element)) {\n skippedPlayers.push(player);\n }\n }\n });\n\n // find all of the sub players' corresponding inner animation player\n subPlayers.forEach(player => {\n // even if any players are not found for a sub animation then it\n // will still complete itself after the next tick since it's Noop\n const playersForElement = skippedPlayersMap.get(player.element);\n if (playersForElement && playersForElement.length) {\n const innerPlayer = optimizeGroupPlayer(playersForElement);\n player.setRealPlayer(innerPlayer);\n }\n });\n\n // the reason why we don't actually play the animation is\n // because all that a skipped player is designed to do is to\n // fire the start/done transition callback events\n skippedPlayers.forEach(player => {\n if (player.parentPlayer) {\n player.syncPlayerEvents(player.parentPlayer);\n } else {\n player.destroy();\n }\n });\n\n // run through all of the queued removals and see if they\n // were picked up by a query. If not then perform the removal\n // operation right away unless a parent animation is ongoing.\n for (let i = 0; i < allLeaveNodes.length; i++) {\n const element = allLeaveNodes[i];\n const details = element[REMOVAL_FLAG] as ElementAnimationState;\n removeClass(element, LEAVE_CLASSNAME);\n\n // this means the element has a removal animation that is being\n // taken care of and therefore the inner elements will hang around\n // until that animation is over (or the parent queried animation)\n if (details && details.hasAnimation) continue;\n\n let players: TransitionAnimationPlayer[] = [];\n\n // if this element is queried or if it contains queried children\n // then we want for the element not to be removed from the page\n // until the queried animations have finished\n if (queriedElements.size) {\n let queriedPlayerResults = queriedElements.get(element);\n if (queriedPlayerResults && queriedPlayerResults.length) {\n players.push(...queriedPlayerResults);\n }\n\n let queriedInnerElements = this.driver.query(element, NG_ANIMATING_SELECTOR, true);\n for (let j = 0; j < queriedInnerElements.length; j++) {\n let queriedPlayers = queriedElements.get(queriedInnerElements[j]);\n if (queriedPlayers && queriedPlayers.length) {\n players.push(...queriedPlayers);\n }\n }\n }\n\n const activePlayers = players.filter(p => !p.destroyed);\n if (activePlayers.length) {\n removeNodesAfterAnimationDone(this, element, activePlayers);\n } else {\n this.processLeaveNode(element);\n }\n }\n\n // this is required so the cleanup method doesn't remove them\n allLeaveNodes.length = 0;\n\n rootPlayers.forEach(player => {\n this.players.push(player);\n player.onDone(() => {\n player.destroy();\n\n const index = this.players.indexOf(player);\n this.players.splice(index, 1);\n });\n player.play();\n });\n\n return rootPlayers;\n }\n\n elementContainsData(namespaceId: string, element: any) {\n let containsData = false;\n const details = element[REMOVAL_FLAG] as ElementAnimationState;\n if (details && details.setForRemoval) containsData = true;\n if (this.playersByElement.has(element)) containsData = true;\n if (this.playersByQueriedElement.has(element)) containsData = true;\n if (this.statesByElement.has(element)) containsData = true;\n return this._fetchNamespace(namespaceId).elementContainsData(element) || containsData;\n }\n\n afterFlush(callback: () => any) {\n this._flushFns.push(callback);\n }\n\n afterFlushAnimationsDone(callback: () => any) {\n this._whenQuietFns.push(callback);\n }\n\n private _getPreviousPlayers(\n element: string, isQueriedElement: boolean, namespaceId?: string, triggerName?: string,\n toStateValue?: any): TransitionAnimationPlayer[] {\n let players: TransitionAnimationPlayer[] = [];\n if (isQueriedElement) {\n const queriedElementPlayers = this.playersByQueriedElement.get(element);\n if (queriedElementPlayers) {\n players = queriedElementPlayers;\n }\n } else {\n const elementPlayers = this.playersByElement.get(element);\n if (elementPlayers) {\n const isRemovalAnimation = !toStateValue || toStateValue == VOID_VALUE;\n elementPlayers.forEach(player => {\n if (player.queued) return;\n if (!isRemovalAnimation && player.triggerName != triggerName) return;\n players.push(player);\n });\n }\n }\n if (namespaceId || triggerName) {\n players = players.filter(player => {\n if (namespaceId && namespaceId != player.namespaceId) return false;\n if (triggerName && triggerName != player.triggerName) return false;\n return true;\n });\n }\n return players;\n }\n\n private _beforeAnimationBuild(\n namespaceId: string, instruction: AnimationTransitionInstruction,\n allPreviousPlayersMap: Map) {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n\n // when a removal animation occurs, ALL previous players are collected\n // and destroyed (even if they are outside of the current namespace)\n const targetNameSpaceId: string|undefined =\n instruction.isRemovalTransition ? undefined : namespaceId;\n const targetTriggerName: string|undefined =\n instruction.isRemovalTransition ? undefined : triggerName;\n\n for (const timelineInstruction of instruction.timelines) {\n const element = timelineInstruction.element;\n const isQueriedElement = element !== rootElement;\n const players = getOrSetAsInMap(allPreviousPlayersMap, element, []);\n const previousPlayers = this._getPreviousPlayers(\n element, isQueriedElement, targetNameSpaceId, targetTriggerName, instruction.toState);\n previousPlayers.forEach(player => {\n const realPlayer = (player as TransitionAnimationPlayer).getRealPlayer() as any;\n if (realPlayer.beforeDestroy) {\n realPlayer.beforeDestroy();\n }\n player.destroy();\n players.push(player);\n });\n }\n\n // this needs to be done so that the PRE/POST styles can be\n // computed properly without interfering with the previous animation\n eraseStyles(rootElement, instruction.fromStyles);\n }\n\n private _buildAnimation(\n namespaceId: string, instruction: AnimationTransitionInstruction,\n allPreviousPlayersMap: Map,\n skippedPlayersMap: Map, preStylesMap: Map,\n postStylesMap: Map): AnimationPlayer {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n\n // we first run this so that the previous animation player\n // data can be passed into the successive animation players\n const allQueriedPlayers: TransitionAnimationPlayer[] = [];\n const allConsumedElements = new Set();\n const allSubElements = new Set();\n const allNewPlayers = instruction.timelines.map(timelineInstruction => {\n const element = timelineInstruction.element;\n allConsumedElements.add(element);\n\n // FIXME (matsko): make sure to-be-removed animations are removed properly\n const details = element[REMOVAL_FLAG];\n if (details && details.removedBeforeQueried)\n return new NoopAnimationPlayer(timelineInstruction.duration, timelineInstruction.delay);\n\n const isQueriedElement = element !== rootElement;\n const previousPlayers =\n flattenGroupPlayers((allPreviousPlayersMap.get(element) || EMPTY_PLAYER_ARRAY)\n .map(p => p.getRealPlayer()))\n .filter(p => {\n // the `element` is not apart of the AnimationPlayer definition, but\n // Mock/WebAnimations\n // use the element within their implementation. This will be added in Angular5 to\n // AnimationPlayer\n const pp = p as any;\n return pp.element ? pp.element === element : false;\n });\n\n const preStyles = preStylesMap.get(element);\n const postStyles = postStylesMap.get(element);\n const keyframes = normalizeKeyframes(\n this.driver, this._normalizer, element, timelineInstruction.keyframes, preStyles,\n postStyles);\n const player = this._buildPlayer(timelineInstruction, keyframes, previousPlayers);\n\n // this means that this particular player belongs to a sub trigger. It is\n // important that we match this player up with the corresponding (@trigger.listener)\n if (timelineInstruction.subTimeline && skippedPlayersMap) {\n allSubElements.add(element);\n }\n\n if (isQueriedElement) {\n const wrappedPlayer = new TransitionAnimationPlayer(namespaceId, triggerName, element);\n wrappedPlayer.setRealPlayer(player);\n allQueriedPlayers.push(wrappedPlayer);\n }\n\n return player;\n });\n\n allQueriedPlayers.forEach(player => {\n getOrSetAsInMap(this.playersByQueriedElement, player.element, []).push(player);\n player.onDone(() => deleteOrUnsetInMap(this.playersByQueriedElement, player.element, player));\n });\n\n allConsumedElements.forEach(element => addClass(element, NG_ANIMATING_CLASSNAME));\n const player = optimizeGroupPlayer(allNewPlayers);\n player.onDestroy(() => {\n allConsumedElements.forEach(element => removeClass(element, NG_ANIMATING_CLASSNAME));\n setStyles(rootElement, instruction.toStyles);\n });\n\n // this basically makes all of the callbacks for sub element animations\n // be dependent on the upper players for when they finish\n allSubElements.forEach(element => {\n getOrSetAsInMap(skippedPlayersMap, element, []).push(player);\n });\n\n return player;\n }\n\n private _buildPlayer(\n instruction: AnimationTimelineInstruction, keyframes: ɵStyleData[],\n previousPlayers: AnimationPlayer[]): AnimationPlayer {\n if (keyframes.length > 0) {\n return this.driver.animate(\n instruction.element, keyframes, instruction.duration, instruction.delay,\n instruction.easing, previousPlayers);\n }\n\n // special case for when an empty transition|definition is provided\n // ... there is no point in rendering an empty animation\n return new NoopAnimationPlayer(instruction.duration, instruction.delay);\n }\n}\n\nexport class TransitionAnimationPlayer implements AnimationPlayer {\n private _player: AnimationPlayer = new NoopAnimationPlayer();\n private _containsRealPlayer = false;\n\n private _queuedCallbacks: {[name: string]: (() => any)[]} = {};\n public readonly destroyed = false;\n // TODO(issue/24571): remove '!'.\n public parentPlayer!: AnimationPlayer;\n\n public markedForDestroy: boolean = false;\n public disabled = false;\n\n readonly queued: boolean = true;\n public readonly totalTime: number = 0;\n\n constructor(public namespaceId: string, public triggerName: string, public element: any) {}\n\n setRealPlayer(player: AnimationPlayer) {\n if (this._containsRealPlayer) return;\n\n this._player = player;\n Object.keys(this._queuedCallbacks).forEach(phase => {\n this._queuedCallbacks[phase].forEach(\n callback => listenOnPlayer(player, phase, undefined, callback));\n });\n this._queuedCallbacks = {};\n this._containsRealPlayer = true;\n this.overrideTotalTime(player.totalTime);\n (this as {queued: boolean}).queued = false;\n }\n\n getRealPlayer() {\n return this._player;\n }\n\n overrideTotalTime(totalTime: number) {\n (this as any).totalTime = totalTime;\n }\n\n syncPlayerEvents(player: AnimationPlayer) {\n const p = this._player as any;\n if (p.triggerCallback) {\n player.onStart(() => p.triggerCallback!('start'));\n }\n player.onDone(() => this.finish());\n player.onDestroy(() => this.destroy());\n }\n\n private _queueEvent(name: string, callback: (event: any) => any): void {\n getOrSetAsInMap(this._queuedCallbacks, name, []).push(callback);\n }\n\n onDone(fn: () => void): void {\n if (this.queued) {\n this._queueEvent('done', fn);\n }\n this._player.onDone(fn);\n }\n\n onStart(fn: () => void): void {\n if (this.queued) {\n this._queueEvent('start', fn);\n }\n this._player.onStart(fn);\n }\n\n onDestroy(fn: () => void): void {\n if (this.queued) {\n this._queueEvent('destroy', fn);\n }\n this._player.onDestroy(fn);\n }\n\n init(): void {\n this._player.init();\n }\n\n hasStarted(): boolean {\n return this.queued ? false : this._player.hasStarted();\n }\n\n play(): void {\n !this.queued && this._player.play();\n }\n\n pause(): void {\n !this.queued && this._player.pause();\n }\n\n restart(): void {\n !this.queued && this._player.restart();\n }\n\n finish(): void {\n this._player.finish();\n }\n\n destroy(): void {\n (this as {destroyed: boolean}).destroyed = true;\n this._player.destroy();\n }\n\n reset(): void {\n !this.queued && this._player.reset();\n }\n\n setPosition(p: any): void {\n if (!this.queued) {\n this._player.setPosition(p);\n }\n }\n\n getPosition(): number {\n return this.queued ? 0 : this._player.getPosition();\n }\n\n /** @internal */\n triggerCallback(phaseName: string): void {\n const p = this._player as any;\n if (p.triggerCallback) {\n p.triggerCallback(phaseName);\n }\n }\n}\n\nfunction deleteOrUnsetInMap(map: Map|{[key: string]: any}, key: any, value: any) {\n let currentValues: any[]|null|undefined;\n if (map instanceof Map) {\n currentValues = map.get(key);\n if (currentValues) {\n if (currentValues.length) {\n const index = currentValues.indexOf(value);\n currentValues.splice(index, 1);\n }\n if (currentValues.length == 0) {\n map.delete(key);\n }\n }\n } else {\n currentValues = map[key];\n if (currentValues) {\n if (currentValues.length) {\n const index = currentValues.indexOf(value);\n currentValues.splice(index, 1);\n }\n if (currentValues.length == 0) {\n delete map[key];\n }\n }\n }\n return currentValues;\n}\n\nfunction normalizeTriggerValue(value: any): any {\n // we use `!= null` here because it's the most simple\n // way to test against a \"falsy\" value without mixing\n // in empty strings or a zero value. DO NOT OPTIMIZE.\n return value != null ? value : null;\n}\n\nfunction isElementNode(node: any) {\n return node && node['nodeType'] === 1;\n}\n\nfunction isTriggerEventValid(eventName: string): boolean {\n return eventName == 'start' || eventName == 'done';\n}\n\nfunction cloakElement(element: any, value?: string) {\n const oldValue = element.style.display;\n element.style.display = value != null ? value : 'none';\n return oldValue;\n}\n\nfunction cloakAndComputeStyles(\n valuesMap: Map, driver: AnimationDriver, elements: Set,\n elementPropsMap: Map>, defaultStyle: string): any[] {\n const cloakVals: string[] = [];\n elements.forEach(element => cloakVals.push(cloakElement(element)));\n\n const failedElements: any[] = [];\n\n elementPropsMap.forEach((props: Set, element: any) => {\n const styles: ɵStyleData = {};\n props.forEach(prop => {\n const value = styles[prop] = driver.computeStyle(element, prop, defaultStyle);\n\n // there is no easy way to detect this because a sub element could be removed\n // by a parent animation element being detached.\n if (!value || value.length == 0) {\n element[REMOVAL_FLAG] = NULL_REMOVED_QUERIED_STATE;\n failedElements.push(element);\n }\n });\n valuesMap.set(element, styles);\n });\n\n // we use a index variable here since Set.forEach(a, i) does not return\n // an index value for the closure (but instead just the value)\n let i = 0;\n elements.forEach(element => cloakElement(element, cloakVals[i++]));\n\n return failedElements;\n}\n\n/*\nSince the Angular renderer code will return a collection of inserted\nnodes in all areas of a DOM tree, it's up to this algorithm to figure\nout which nodes are roots for each animation @trigger.\n\nBy placing each inserted node into a Set and traversing upwards, it\nis possible to find the @trigger elements and well any direct *star\ninsertion nodes, if a @trigger root is found then the enter element\nis placed into the Map[@trigger] spot.\n */\nfunction buildRootMap(roots: any[], nodes: any[]): Map {\n const rootMap = new Map();\n roots.forEach(root => rootMap.set(root, []));\n\n if (nodes.length == 0) return rootMap;\n\n const NULL_NODE = 1;\n const nodeSet = new Set(nodes);\n const localRootMap = new Map();\n\n function getRoot(node: any): any {\n if (!node) return NULL_NODE;\n\n let root = localRootMap.get(node);\n if (root) return root;\n\n const parent = node.parentNode;\n if (rootMap.has(parent)) { // ngIf inside @trigger\n root = parent;\n } else if (nodeSet.has(parent)) { // ngIf inside ngIf\n root = NULL_NODE;\n } else { // recurse upwards\n root = getRoot(parent);\n }\n\n localRootMap.set(node, root);\n return root;\n }\n\n nodes.forEach(node => {\n const root = getRoot(node);\n if (root !== NULL_NODE) {\n rootMap.get(root)!.push(node);\n }\n });\n\n return rootMap;\n}\n\nconst CLASSES_CACHE_KEY = '$$classes';\nfunction containsClass(element: any, className: string): boolean {\n if (element.classList) {\n return element.classList.contains(className);\n } else {\n const classes = element[CLASSES_CACHE_KEY];\n return classes && classes[className];\n }\n}\n\nfunction addClass(element: any, className: string) {\n if (element.classList) {\n element.classList.add(className);\n } else {\n let classes: {[className: string]: boolean} = element[CLASSES_CACHE_KEY];\n if (!classes) {\n classes = element[CLASSES_CACHE_KEY] = {};\n }\n classes[className] = true;\n }\n}\n\nfunction removeClass(element: any, className: string) {\n if (element.classList) {\n element.classList.remove(className);\n } else {\n let classes: {[className: string]: boolean} = element[CLASSES_CACHE_KEY];\n if (classes) {\n delete classes[className];\n }\n }\n}\n\nfunction removeNodesAfterAnimationDone(\n engine: TransitionAnimationEngine, element: any, players: AnimationPlayer[]) {\n optimizeGroupPlayer(players).onDone(() => engine.processLeaveNode(element));\n}\n\nfunction flattenGroupPlayers(players: AnimationPlayer[]): AnimationPlayer[] {\n const finalPlayers: AnimationPlayer[] = [];\n _flattenGroupPlayersRecur(players, finalPlayers);\n return finalPlayers;\n}\n\nfunction _flattenGroupPlayersRecur(players: AnimationPlayer[], finalPlayers: AnimationPlayer[]) {\n for (let i = 0; i < players.length; i++) {\n const player = players[i];\n if (player instanceof AnimationGroupPlayer) {\n _flattenGroupPlayersRecur(player.players, finalPlayers);\n } else {\n finalPlayers.push(player);\n }\n }\n}\n\nfunction objEquals(a: {[key: string]: any}, b: {[key: string]: any}): boolean {\n const k1 = Object.keys(a);\n const k2 = Object.keys(b);\n if (k1.length != k2.length) return false;\n for (let i = 0; i < k1.length; i++) {\n const prop = k1[i];\n if (!b.hasOwnProperty(prop) || a[prop] !== b[prop]) return false;\n }\n return true;\n}\n\nfunction replacePostStylesAsPre(\n element: any, allPreStyleElements: Map>,\n allPostStyleElements: Map>): boolean {\n const postEntry = allPostStyleElements.get(element);\n if (!postEntry) return false;\n\n let preEntry = allPreStyleElements.get(element);\n if (preEntry) {\n postEntry.forEach(data => preEntry!.add(data));\n } else {\n allPreStyleElements.set(element, postEntry);\n }\n\n allPostStyleElements.delete(element);\n return true;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {AnimationMetadata, AnimationPlayer, AnimationTriggerMetadata} from '@angular/animations';\nimport {TriggerAst} from '../dsl/animation_ast';\nimport {buildAnimationAst} from '../dsl/animation_ast_builder';\nimport {AnimationTrigger, buildTrigger} from '../dsl/animation_trigger';\nimport {AnimationStyleNormalizer} from '../dsl/style_normalization/animation_style_normalizer';\n\nimport {AnimationDriver} from './animation_driver';\nimport {parseTimelineCommand} from './shared';\nimport {TimelineAnimationEngine} from './timeline_animation_engine';\nimport {TransitionAnimationEngine} from './transition_animation_engine';\n\nexport class AnimationEngine {\n private _transitionEngine: TransitionAnimationEngine;\n private _timelineEngine: TimelineAnimationEngine;\n\n private _triggerCache: {[key: string]: AnimationTrigger} = {};\n\n // this method is designed to be overridden by the code that uses this engine\n public onRemovalComplete = (element: any, context: any) => {};\n\n constructor(\n private bodyNode: any, private _driver: AnimationDriver,\n normalizer: AnimationStyleNormalizer) {\n this._transitionEngine = new TransitionAnimationEngine(bodyNode, _driver, normalizer);\n this._timelineEngine = new TimelineAnimationEngine(bodyNode, _driver, normalizer);\n\n this._transitionEngine.onRemovalComplete = (element: any, context: any) =>\n this.onRemovalComplete(element, context);\n }\n\n registerTrigger(\n componentId: string, namespaceId: string, hostElement: any, name: string,\n metadata: AnimationTriggerMetadata): void {\n const cacheKey = componentId + '-' + name;\n let trigger = this._triggerCache[cacheKey];\n if (!trigger) {\n const errors: any[] = [];\n const ast =\n buildAnimationAst(this._driver, metadata as AnimationMetadata, errors) as TriggerAst;\n if (errors.length) {\n throw new Error(`The animation trigger \"${\n name}\" has failed to build due to the following errors:\\n - ${errors.join('\\n - ')}`);\n }\n trigger = buildTrigger(name, ast);\n this._triggerCache[cacheKey] = trigger;\n }\n this._transitionEngine.registerTrigger(namespaceId, name, trigger);\n }\n\n register(namespaceId: string, hostElement: any) {\n this._transitionEngine.register(namespaceId, hostElement);\n }\n\n destroy(namespaceId: string, context: any) {\n this._transitionEngine.destroy(namespaceId, context);\n }\n\n onInsert(namespaceId: string, element: any, parent: any, insertBefore: boolean): void {\n this._transitionEngine.insertNode(namespaceId, element, parent, insertBefore);\n }\n\n onRemove(namespaceId: string, element: any, context: any, isHostElement?: boolean): void {\n this._transitionEngine.removeNode(namespaceId, element, isHostElement || false, context);\n }\n\n disableAnimations(element: any, disable: boolean) {\n this._transitionEngine.markElementAsDisabled(element, disable);\n }\n\n process(namespaceId: string, element: any, property: string, value: any) {\n if (property.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(property);\n const args = value as any[];\n this._timelineEngine.command(id, element, action, args);\n } else {\n this._transitionEngine.trigger(namespaceId, element, property, value);\n }\n }\n\n listen(\n namespaceId: string, element: any, eventName: string, eventPhase: string,\n callback: (event: any) => any): () => any {\n // @@listen\n if (eventName.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(eventName);\n return this._timelineEngine.listen(id, element, action, callback);\n }\n return this._transitionEngine.listen(namespaceId, element, eventName, eventPhase, callback);\n }\n\n flush(microtaskId: number = -1): void {\n this._transitionEngine.flush(microtaskId);\n }\n\n get players(): AnimationPlayer[] {\n return (this._transitionEngine.players as AnimationPlayer[])\n .concat(this._timelineEngine.players as AnimationPlayer[]);\n }\n\n whenRenderingDone(): Promise {\n return this._transitionEngine.whenRenderingDone();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {eraseStyles, setStyles} from '../util';\n\n/**\n * Returns an instance of `SpecialCasedStyles` if and when any special (non animateable) styles are\n * detected.\n *\n * In CSS there exist properties that cannot be animated within a keyframe animation\n * (whether it be via CSS keyframes or web-animations) and the animation implementation\n * will ignore them. This function is designed to detect those special cased styles and\n * return a container that will be executed at the start and end of the animation.\n *\n * @returns an instance of `SpecialCasedStyles` if any special styles are detected otherwise `null`\n */\nexport function packageNonAnimatableStyles(\n element: any, styles: {[key: string]: any}|{[key: string]: any}[]): SpecialCasedStyles|null {\n let startStyles: {[key: string]: any}|null = null;\n let endStyles: {[key: string]: any}|null = null;\n if (Array.isArray(styles) && styles.length) {\n startStyles = filterNonAnimatableStyles(styles[0]);\n if (styles.length > 1) {\n endStyles = filterNonAnimatableStyles(styles[styles.length - 1]);\n }\n } else if (styles) {\n startStyles = filterNonAnimatableStyles(styles);\n }\n\n return (startStyles || endStyles) ? new SpecialCasedStyles(element, startStyles, endStyles) :\n null;\n}\n\n/**\n * Designed to be executed during a keyframe-based animation to apply any special-cased styles.\n *\n * When started (when the `start()` method is run) then the provided `startStyles`\n * will be applied. When finished (when the `finish()` method is called) the\n * `endStyles` will be applied as well any any starting styles. Finally when\n * `destroy()` is called then all styles will be removed.\n */\nexport class SpecialCasedStyles {\n static initialStylesByElement = new WeakMap();\n\n private _state = SpecialCasedStylesState.Pending;\n private _initialStyles!: {[key: string]: any};\n\n constructor(\n private _element: any, private _startStyles: {[key: string]: any}|null,\n private _endStyles: {[key: string]: any}|null) {\n let initialStyles = SpecialCasedStyles.initialStylesByElement.get(_element);\n if (!initialStyles) {\n SpecialCasedStyles.initialStylesByElement.set(_element, initialStyles = {});\n }\n this._initialStyles = initialStyles;\n }\n\n start() {\n if (this._state < SpecialCasedStylesState.Started) {\n if (this._startStyles) {\n setStyles(this._element, this._startStyles, this._initialStyles);\n }\n this._state = SpecialCasedStylesState.Started;\n }\n }\n\n finish() {\n this.start();\n if (this._state < SpecialCasedStylesState.Finished) {\n setStyles(this._element, this._initialStyles);\n if (this._endStyles) {\n setStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n this._state = SpecialCasedStylesState.Started;\n }\n }\n\n destroy() {\n this.finish();\n if (this._state < SpecialCasedStylesState.Destroyed) {\n SpecialCasedStyles.initialStylesByElement.delete(this._element);\n if (this._startStyles) {\n eraseStyles(this._element, this._startStyles);\n this._endStyles = null;\n }\n if (this._endStyles) {\n eraseStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n setStyles(this._element, this._initialStyles);\n this._state = SpecialCasedStylesState.Destroyed;\n }\n }\n}\n\n/**\n * An enum of states reflective of what the status of `SpecialCasedStyles` is.\n *\n * Depending on how `SpecialCasedStyles` is interacted with, the start and end\n * styles may not be applied in the same way. This enum ensures that if and when\n * the ending styles are applied then the starting styles are applied. It is\n * also used to reflect what the current status of the special cased styles are\n * which helps prevent the starting/ending styles not be applied twice. It is\n * also used to cleanup the styles once `SpecialCasedStyles` is destroyed.\n */\nconst enum SpecialCasedStylesState {\n Pending = 0,\n Started = 1,\n Finished = 2,\n Destroyed = 3,\n}\n\nfunction filterNonAnimatableStyles(styles: {[key: string]: any}) {\n let result: {[key: string]: any}|null = null;\n const props = Object.keys(styles);\n for (let i = 0; i < props.length; i++) {\n const prop = props[i];\n if (isNonAnimatableStyle(prop)) {\n result = result || {};\n result[prop] = styles[prop];\n }\n }\n return result;\n}\n\nfunction isNonAnimatableStyle(prop: string) {\n return prop === 'display' || prop === 'position';\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ELAPSED_TIME_MAX_DECIMAL_PLACES = 3;\nconst ANIMATION_PROP = 'animation';\nconst ANIMATIONEND_EVENT = 'animationend';\nconst ONE_SECOND = 1000;\n\nexport class ElementAnimationStyleHandler {\n private readonly _eventFn: (e: any) => any;\n private _finished = false;\n private _destroyed = false;\n private _startTime = 0;\n private _position = 0;\n\n constructor(\n private readonly _element: any, private readonly _name: string,\n private readonly _duration: number, private readonly _delay: number,\n private readonly _easing: string, private readonly _fillMode: ''|'both'|'forwards',\n private readonly _onDoneFn: () => any) {\n this._eventFn = (e) => this._handleCallback(e);\n }\n\n apply() {\n applyKeyframeAnimation(\n this._element,\n `${this._duration}ms ${this._easing} ${this._delay}ms 1 normal ${this._fillMode} ${\n this._name}`);\n addRemoveAnimationEvent(this._element, this._eventFn, false);\n this._startTime = Date.now();\n }\n\n pause() {\n playPauseAnimation(this._element, this._name, 'paused');\n }\n\n resume() {\n playPauseAnimation(this._element, this._name, 'running');\n }\n\n setPosition(position: number) {\n const index = findIndexForAnimation(this._element, this._name);\n this._position = position * this._duration;\n setAnimationStyle(this._element, 'Delay', `-${this._position}ms`, index);\n }\n\n getPosition() {\n return this._position;\n }\n\n private _handleCallback(event: any) {\n const timestamp = event._ngTestManualTimestamp || Date.now();\n const elapsedTime =\n parseFloat(event.elapsedTime.toFixed(ELAPSED_TIME_MAX_DECIMAL_PLACES)) * ONE_SECOND;\n if (event.animationName == this._name &&\n Math.max(timestamp - this._startTime, 0) >= this._delay && elapsedTime >= this._duration) {\n this.finish();\n }\n }\n\n finish() {\n if (this._finished) return;\n this._finished = true;\n this._onDoneFn();\n addRemoveAnimationEvent(this._element, this._eventFn, true);\n }\n\n destroy() {\n if (this._destroyed) return;\n this._destroyed = true;\n this.finish();\n removeKeyframeAnimation(this._element, this._name);\n }\n}\n\nfunction playPauseAnimation(element: any, name: string, status: 'running'|'paused') {\n const index = findIndexForAnimation(element, name);\n setAnimationStyle(element, 'PlayState', status, index);\n}\n\nfunction applyKeyframeAnimation(element: any, value: string): number {\n const anim = getAnimationStyle(element, '').trim();\n let index = 0;\n if (anim.length) {\n index = countChars(anim, ',') + 1;\n value = `${anim}, ${value}`;\n }\n setAnimationStyle(element, '', value);\n return index;\n}\n\nfunction removeKeyframeAnimation(element: any, name: string) {\n const anim = getAnimationStyle(element, '');\n const tokens = anim.split(',');\n const index = findMatchingTokenIndex(tokens, name);\n if (index >= 0) {\n tokens.splice(index, 1);\n const newValue = tokens.join(',');\n setAnimationStyle(element, '', newValue);\n }\n}\n\nfunction findIndexForAnimation(element: any, value: string) {\n const anim = getAnimationStyle(element, '');\n if (anim.indexOf(',') > 0) {\n const tokens = anim.split(',');\n return findMatchingTokenIndex(tokens, value);\n }\n return findMatchingTokenIndex([anim], value);\n}\n\nfunction findMatchingTokenIndex(tokens: string[], searchToken: string): number {\n for (let i = 0; i < tokens.length; i++) {\n if (tokens[i].indexOf(searchToken) >= 0) {\n return i;\n }\n }\n return -1;\n}\n\nfunction addRemoveAnimationEvent(element: any, fn: (e: any) => any, doRemove: boolean) {\n doRemove ? element.removeEventListener(ANIMATIONEND_EVENT, fn) :\n element.addEventListener(ANIMATIONEND_EVENT, fn);\n}\n\nfunction setAnimationStyle(element: any, name: string, value: string, index?: number) {\n const prop = ANIMATION_PROP + name;\n if (index != null) {\n const oldValue = element.style[prop];\n if (oldValue.length) {\n const tokens = oldValue.split(',');\n tokens[index] = value;\n value = tokens.join(',');\n }\n }\n element.style[prop] = value;\n}\n\nfunction getAnimationStyle(element: any, name: string) {\n return element.style[ANIMATION_PROP + name];\n}\n\nfunction countChars(value: string, char: string): number {\n let count = 0;\n for (let i = 0; i < value.length; i++) {\n const c = value.charAt(i);\n if (c === char) count++;\n }\n return count;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {AnimationPlayer} from '@angular/animations';\n\nimport {computeStyle} from '../../util';\nimport {SpecialCasedStyles} from '../special_cased_styles';\nimport {ElementAnimationStyleHandler} from './element_animation_style_handler';\n\nconst DEFAULT_FILL_MODE = 'forwards';\nconst DEFAULT_EASING = 'linear';\n\nexport const enum AnimatorControlState {\n INITIALIZED = 1,\n STARTED = 2,\n FINISHED = 3,\n DESTROYED = 4\n}\n\nexport class CssKeyframesPlayer implements AnimationPlayer {\n private _onDoneFns: Function[] = [];\n private _onStartFns: Function[] = [];\n private _onDestroyFns: Function[] = [];\n\n private _started = false;\n // TODO(issue/24571): remove '!'.\n private _styler!: ElementAnimationStyleHandler;\n\n // TODO(issue/24571): remove '!'.\n public parentPlayer!: AnimationPlayer;\n public readonly totalTime: number;\n public readonly easing: string;\n public currentSnapshot: {[key: string]: string} = {};\n\n private _state: AnimatorControlState = 0;\n\n constructor(\n public readonly element: any, public readonly keyframes: {[key: string]: string|number}[],\n public readonly animationName: string, private readonly _duration: number,\n private readonly _delay: number, easing: string,\n private readonly _finalStyles: {[key: string]: any},\n private readonly _specialStyles?: SpecialCasedStyles|null) {\n this.easing = easing || DEFAULT_EASING;\n this.totalTime = _duration + _delay;\n this._buildStyler();\n }\n\n onStart(fn: () => void): void {\n this._onStartFns.push(fn);\n }\n\n onDone(fn: () => void): void {\n this._onDoneFns.push(fn);\n }\n\n onDestroy(fn: () => void): void {\n this._onDestroyFns.push(fn);\n }\n\n destroy() {\n this.init();\n if (this._state >= AnimatorControlState.DESTROYED) return;\n this._state = AnimatorControlState.DESTROYED;\n this._styler.destroy();\n this._flushStartFns();\n this._flushDoneFns();\n if (this._specialStyles) {\n this._specialStyles.destroy();\n }\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n\n private _flushDoneFns() {\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n\n private _flushStartFns() {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n\n finish() {\n this.init();\n if (this._state >= AnimatorControlState.FINISHED) return;\n this._state = AnimatorControlState.FINISHED;\n this._styler.finish();\n this._flushStartFns();\n if (this._specialStyles) {\n this._specialStyles.finish();\n }\n this._flushDoneFns();\n }\n\n setPosition(value: number) {\n this._styler.setPosition(value);\n }\n\n getPosition(): number {\n return this._styler.getPosition();\n }\n\n hasStarted(): boolean {\n return this._state >= AnimatorControlState.STARTED;\n }\n init(): void {\n if (this._state >= AnimatorControlState.INITIALIZED) return;\n this._state = AnimatorControlState.INITIALIZED;\n const elm = this.element;\n this._styler.apply();\n if (this._delay) {\n this._styler.pause();\n }\n }\n\n play(): void {\n this.init();\n if (!this.hasStarted()) {\n this._flushStartFns();\n this._state = AnimatorControlState.STARTED;\n if (this._specialStyles) {\n this._specialStyles.start();\n }\n }\n this._styler.resume();\n }\n\n pause(): void {\n this.init();\n this._styler.pause();\n }\n restart(): void {\n this.reset();\n this.play();\n }\n reset(): void {\n this._styler.destroy();\n this._buildStyler();\n this._styler.apply();\n }\n\n private _buildStyler() {\n this._styler = new ElementAnimationStyleHandler(\n this.element, this.animationName, this._duration, this._delay, this.easing,\n DEFAULT_FILL_MODE, () => this.finish());\n }\n\n /** @internal */\n triggerCallback(phaseName: string): void {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n\n beforeDestroy() {\n this.init();\n const styles: {[key: string]: string} = {};\n if (this.hasStarted()) {\n const finished = this._state >= AnimatorControlState.FINISHED;\n Object.keys(this._finalStyles).forEach(prop => {\n if (prop != 'offset') {\n styles[prop] = finished ? this._finalStyles[prop] : computeStyle(this.element, prop);\n }\n });\n }\n this.currentSnapshot = styles;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {NoopAnimationPlayer} from '@angular/animations';\nimport {hypenatePropsObject} from '../shared';\n\nexport class DirectStylePlayer extends NoopAnimationPlayer {\n private _startingStyles: {[key: string]: any}|null = {};\n private __initialized = false;\n private _styles: {[key: string]: any};\n\n constructor(public element: any, styles: {[key: string]: any}) {\n super();\n this._styles = hypenatePropsObject(styles);\n }\n\n init() {\n if (this.__initialized || !this._startingStyles) return;\n this.__initialized = true;\n Object.keys(this._styles).forEach(prop => {\n this._startingStyles![prop] = this.element.style[prop];\n });\n super.init();\n }\n\n play() {\n if (!this._startingStyles) return;\n this.init();\n Object.keys(this._styles)\n .forEach(prop => this.element.style.setProperty(prop, this._styles[prop]));\n super.play();\n }\n\n destroy() {\n if (!this._startingStyles) return;\n Object.keys(this._startingStyles).forEach(prop => {\n const value = this._startingStyles![prop];\n if (value) {\n this.element.style.setProperty(prop, value);\n } else {\n this.element.style.removeProperty(prop);\n }\n });\n this._startingStyles = null;\n super.destroy();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {AnimationPlayer, ɵStyleData} from '@angular/animations';\n\nimport {allowPreviousPlayerStylesMerge, balancePreviousStylesIntoKeyframes, computeStyle} from '../../util';\nimport {AnimationDriver} from '../animation_driver';\nimport {containsElement, hypenatePropsObject, invokeQuery, matchesElement, validateStyleProperty} from '../shared';\nimport {packageNonAnimatableStyles} from '../special_cased_styles';\n\nimport {CssKeyframesPlayer} from './css_keyframes_player';\nimport {DirectStylePlayer} from './direct_style_player';\n\nconst KEYFRAMES_NAME_PREFIX = 'gen_css_kf_';\nconst TAB_SPACE = ' ';\n\nexport class CssKeyframesDriver implements AnimationDriver {\n private _count = 0;\n private readonly _head: any = document.querySelector('head');\n private _warningIssued = false;\n\n validateStyleProperty(prop: string): boolean {\n return validateStyleProperty(prop);\n }\n\n matchesElement(element: any, selector: string): boolean {\n return matchesElement(element, selector);\n }\n\n containsElement(elm1: any, elm2: any): boolean {\n return containsElement(elm1, elm2);\n }\n\n query(element: any, selector: string, multi: boolean): any[] {\n return invokeQuery(element, selector, multi);\n }\n\n computeStyle(element: any, prop: string, defaultValue?: string): string {\n return (window.getComputedStyle(element) as any)[prop] as string;\n }\n\n buildKeyframeElement(element: any, name: string, keyframes: {[key: string]: any}[]): any {\n keyframes = keyframes.map(kf => hypenatePropsObject(kf));\n let keyframeStr = `@keyframes ${name} {\\n`;\n let tab = '';\n keyframes.forEach(kf => {\n tab = TAB_SPACE;\n const offset = parseFloat(kf['offset']);\n keyframeStr += `${tab}${offset * 100}% {\\n`;\n tab += TAB_SPACE;\n Object.keys(kf).forEach(prop => {\n const value = kf[prop];\n switch (prop) {\n case 'offset':\n return;\n case 'easing':\n if (value) {\n keyframeStr += `${tab}animation-timing-function: ${value};\\n`;\n }\n return;\n default:\n keyframeStr += `${tab}${prop}: ${value};\\n`;\n return;\n }\n });\n keyframeStr += `${tab}}\\n`;\n });\n keyframeStr += `}\\n`;\n\n const kfElm = document.createElement('style');\n kfElm.innerHTML = keyframeStr;\n return kfElm;\n }\n\n animate(\n element: any, keyframes: ɵStyleData[], duration: number, delay: number, easing: string,\n previousPlayers: AnimationPlayer[] = [], scrubberAccessRequested?: boolean): AnimationPlayer {\n if (scrubberAccessRequested) {\n this._notifyFaultyScrubber();\n }\n\n const previousCssKeyframePlayers = previousPlayers.filter(\n player => player instanceof CssKeyframesPlayer);\n\n const previousStyles: {[key: string]: any} = {};\n\n if (allowPreviousPlayerStylesMerge(duration, delay)) {\n previousCssKeyframePlayers.forEach(player => {\n let styles = player.currentSnapshot;\n Object.keys(styles).forEach(prop => previousStyles[prop] = styles[prop]);\n });\n }\n\n keyframes = balancePreviousStylesIntoKeyframes(element, keyframes, previousStyles);\n const finalStyles = flattenKeyframesIntoStyles(keyframes);\n\n // if there is no animation then there is no point in applying\n // styles and waiting for an event to get fired. This causes lag.\n // It's better to just directly apply the styles to the element\n // via the direct styling animation player.\n if (duration == 0) {\n return new DirectStylePlayer(element, finalStyles);\n }\n\n const animationName = `${KEYFRAMES_NAME_PREFIX}${this._count++}`;\n const kfElm = this.buildKeyframeElement(element, animationName, keyframes);\n document.querySelector('head')!.appendChild(kfElm);\n\n const specialStyles = packageNonAnimatableStyles(element, keyframes);\n const player = new CssKeyframesPlayer(\n element, keyframes, animationName, duration, delay, easing, finalStyles, specialStyles);\n\n player.onDestroy(() => removeElement(kfElm));\n return player;\n }\n\n private _notifyFaultyScrubber() {\n if (!this._warningIssued) {\n console.warn(\n '@angular/animations: please load the web-animations.js polyfill to allow programmatic access...\\n',\n ' visit http://bit.ly/IWukam to learn more about using the web-animation-js polyfill.');\n this._warningIssued = true;\n }\n }\n}\n\nfunction flattenKeyframesIntoStyles(keyframes: null|{[key: string]: any}|\n {[key: string]: any}[]): {[key: string]: any} {\n let flatKeyframes: {[key: string]: any} = {};\n if (keyframes) {\n const kfs = Array.isArray(keyframes) ? keyframes : [keyframes];\n kfs.forEach(kf => {\n Object.keys(kf).forEach(prop => {\n if (prop == 'offset' || prop == 'easing') return;\n flatKeyframes[prop] = kf[prop];\n });\n });\n }\n return flatKeyframes;\n}\n\nfunction removeElement(node: any) {\n node.parentNode.removeChild(node);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {AnimationPlayer} from '@angular/animations';\n\nimport {computeStyle} from '../../util';\nimport {SpecialCasedStyles} from '../special_cased_styles';\n\nimport {DOMAnimation} from './dom_animation';\n\nexport class WebAnimationsPlayer implements AnimationPlayer {\n private _onDoneFns: Function[] = [];\n private _onStartFns: Function[] = [];\n private _onDestroyFns: Function[] = [];\n private _duration: number;\n private _delay: number;\n private _initialized = false;\n private _finished = false;\n private _started = false;\n private _destroyed = false;\n // TODO(issue/24571): remove '!'.\n private _finalKeyframe!: {[key: string]: string|number};\n\n // TODO(issue/24571): remove '!'.\n public readonly domPlayer!: DOMAnimation;\n public time = 0;\n\n public parentPlayer: AnimationPlayer|null = null;\n public currentSnapshot: {[styleName: string]: string|number} = {};\n\n constructor(\n public element: any, public keyframes: {[key: string]: string|number}[],\n public options: {[key: string]: string|number},\n private _specialStyles?: SpecialCasedStyles|null) {\n this._duration = options['duration'];\n this._delay = options['delay'] || 0;\n this.time = this._duration + this._delay;\n }\n\n private _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n\n init(): void {\n this._buildPlayer();\n this._preparePlayerBeforeStart();\n }\n\n private _buildPlayer(): void {\n if (this._initialized) return;\n this._initialized = true;\n\n const keyframes = this.keyframes;\n (this as {domPlayer: DOMAnimation}).domPlayer =\n this._triggerWebAnimation(this.element, keyframes, this.options);\n this._finalKeyframe = keyframes.length ? keyframes[keyframes.length - 1] : {};\n this.domPlayer.addEventListener('finish', () => this._onFinish());\n }\n\n private _preparePlayerBeforeStart() {\n // this is required so that the player doesn't start to animate right away\n if (this._delay) {\n this._resetDomPlayerState();\n } else {\n this.domPlayer.pause();\n }\n }\n\n /** @internal */\n _triggerWebAnimation(element: any, keyframes: any[], options: any): DOMAnimation {\n // jscompiler doesn't seem to know animate is a native property because it's not fully\n // supported yet across common browsers (we polyfill it for Edge/Safari) [CL #143630929]\n return element['animate'](keyframes, options) as DOMAnimation;\n }\n\n onStart(fn: () => void): void {\n this._onStartFns.push(fn);\n }\n\n onDone(fn: () => void): void {\n this._onDoneFns.push(fn);\n }\n\n onDestroy(fn: () => void): void {\n this._onDestroyFns.push(fn);\n }\n\n play(): void {\n this._buildPlayer();\n if (!this.hasStarted()) {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n this._started = true;\n if (this._specialStyles) {\n this._specialStyles.start();\n }\n }\n this.domPlayer.play();\n }\n\n pause(): void {\n this.init();\n this.domPlayer.pause();\n }\n\n finish(): void {\n this.init();\n if (this._specialStyles) {\n this._specialStyles.finish();\n }\n this._onFinish();\n this.domPlayer.finish();\n }\n\n reset(): void {\n this._resetDomPlayerState();\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n }\n\n private _resetDomPlayerState() {\n if (this.domPlayer) {\n this.domPlayer.cancel();\n }\n }\n\n restart(): void {\n this.reset();\n this.play();\n }\n\n hasStarted(): boolean {\n return this._started;\n }\n\n destroy(): void {\n if (!this._destroyed) {\n this._destroyed = true;\n this._resetDomPlayerState();\n this._onFinish();\n if (this._specialStyles) {\n this._specialStyles.destroy();\n }\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n\n setPosition(p: number): void {\n this.domPlayer.currentTime = p * this.time;\n }\n\n getPosition(): number {\n return this.domPlayer.currentTime / this.time;\n }\n\n get totalTime(): number {\n return this._delay + this._duration;\n }\n\n beforeDestroy() {\n const styles: {[key: string]: string|number} = {};\n if (this.hasStarted()) {\n Object.keys(this._finalKeyframe).forEach(prop => {\n if (prop != 'offset') {\n styles[prop] =\n this._finished ? this._finalKeyframe[prop] : computeStyle(this.element, prop);\n }\n });\n }\n this.currentSnapshot = styles;\n }\n\n /** @internal */\n triggerCallback(phaseName: string): void {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {AnimationPlayer, ɵStyleData} from '@angular/animations';\n\nimport {allowPreviousPlayerStylesMerge, balancePreviousStylesIntoKeyframes, copyStyles} from '../../util';\nimport {AnimationDriver} from '../animation_driver';\nimport {CssKeyframesDriver} from '../css_keyframes/css_keyframes_driver';\nimport {containsElement, invokeQuery, isBrowser, matchesElement, validateStyleProperty} from '../shared';\nimport {packageNonAnimatableStyles} from '../special_cased_styles';\n\nimport {WebAnimationsPlayer} from './web_animations_player';\n\nexport class WebAnimationsDriver implements AnimationDriver {\n private _isNativeImpl = /\\{\\s*\\[native\\s+code\\]\\s*\\}/.test(getElementAnimateFn().toString());\n private _cssKeyframesDriver = new CssKeyframesDriver();\n\n validateStyleProperty(prop: string): boolean {\n return validateStyleProperty(prop);\n }\n\n matchesElement(element: any, selector: string): boolean {\n return matchesElement(element, selector);\n }\n\n containsElement(elm1: any, elm2: any): boolean {\n return containsElement(elm1, elm2);\n }\n\n query(element: any, selector: string, multi: boolean): any[] {\n return invokeQuery(element, selector, multi);\n }\n\n computeStyle(element: any, prop: string, defaultValue?: string): string {\n return (window.getComputedStyle(element) as any)[prop] as string;\n }\n\n overrideWebAnimationsSupport(supported: boolean) {\n this._isNativeImpl = supported;\n }\n\n animate(\n element: any, keyframes: ɵStyleData[], duration: number, delay: number, easing: string,\n previousPlayers: AnimationPlayer[] = [], scrubberAccessRequested?: boolean): AnimationPlayer {\n const useKeyframes = !scrubberAccessRequested && !this._isNativeImpl;\n if (useKeyframes) {\n return this._cssKeyframesDriver.animate(\n element, keyframes, duration, delay, easing, previousPlayers);\n }\n\n const fill = delay == 0 ? 'both' : 'forwards';\n const playerOptions: {[key: string]: string|number} = {duration, delay, fill};\n // we check for this to avoid having a null|undefined value be present\n // for the easing (which results in an error for certain browsers #9752)\n if (easing) {\n playerOptions['easing'] = easing;\n }\n\n const previousStyles: {[key: string]: any} = {};\n const previousWebAnimationPlayers = previousPlayers.filter(\n player => player instanceof WebAnimationsPlayer);\n\n if (allowPreviousPlayerStylesMerge(duration, delay)) {\n previousWebAnimationPlayers.forEach(player => {\n let styles = player.currentSnapshot;\n Object.keys(styles).forEach(prop => previousStyles[prop] = styles[prop]);\n });\n }\n\n keyframes = keyframes.map(styles => copyStyles(styles, false));\n keyframes = balancePreviousStylesIntoKeyframes(element, keyframes, previousStyles);\n const specialStyles = packageNonAnimatableStyles(element, keyframes);\n return new WebAnimationsPlayer(element, keyframes, playerOptions, specialStyles);\n }\n}\n\nexport function supportsWebAnimations() {\n return typeof getElementAnimateFn() === 'function';\n}\n\nfunction getElementAnimateFn(): any {\n return (isBrowser() && (Element).prototype['animate']) || {};\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nexport {Animation as ɵAnimation} from './dsl/animation';\nexport {AnimationStyleNormalizer as ɵAnimationStyleNormalizer, NoopAnimationStyleNormalizer as ɵNoopAnimationStyleNormalizer} from './dsl/style_normalization/animation_style_normalizer';\nexport {WebAnimationsStyleNormalizer as ɵWebAnimationsStyleNormalizer} from './dsl/style_normalization/web_animations_style_normalizer';\nexport {NoopAnimationDriver as ɵNoopAnimationDriver} from './render/animation_driver';\nexport {AnimationEngine as ɵAnimationEngine} from './render/animation_engine_next';\nexport {CssKeyframesDriver as ɵCssKeyframesDriver} from './render/css_keyframes/css_keyframes_driver';\nexport {CssKeyframesPlayer as ɵCssKeyframesPlayer} from './render/css_keyframes/css_keyframes_player';\nexport {containsElement as ɵcontainsElement, invokeQuery as ɵinvokeQuery, matchesElement as ɵmatchesElement, validateStyleProperty as ɵvalidateStyleProperty} from './render/shared';\nexport {supportsWebAnimations as ɵsupportsWebAnimations, WebAnimationsDriver as ɵWebAnimationsDriver} from './render/web_animations/web_animations_driver';\nexport {WebAnimationsPlayer as ɵWebAnimationsPlayer} from './render/web_animations/web_animations_player';\nexport {allowPreviousPlayerStylesMerge as ɵallowPreviousPlayerStylesMerge} from './util';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @module\n * @description\n * Entry point for all animation APIs of the animation browser package.\n */\nexport {AnimationDriver} from './render/animation_driver';\nexport * from './private_export';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\nexport * from './src/browser';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n// This file is not used to build this module. It is only used during editing\n// by the TypeScript language service and during build for verifcation. `ngc`\n// replaces this file with production index.ts when it rewrites private symbol\n// names.\n\nexport * from './public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {SpecialCasedStyles as ɵangular_packages_animations_browser_browser_a} from './src/render/special_cased_styles';","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** IDs are delimited by an empty space, as per the spec. */\nconst ID_DELIMITER = ' ';\n\n/**\n * Adds the given ID to the specified ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nexport function addAriaReferencedId(el: Element, attr: string, id: string) {\n const ids = getAriaReferenceIds(el, attr);\n if (ids.some(existingId => existingId.trim() == id.trim())) { return; }\n ids.push(id.trim());\n\n el.setAttribute(attr, ids.join(ID_DELIMITER));\n}\n\n/**\n * Removes the given ID from the specified ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nexport function removeAriaReferencedId(el: Element, attr: string, id: string) {\n const ids = getAriaReferenceIds(el, attr);\n const filteredIds = ids.filter(val => val != id.trim());\n\n if (filteredIds.length) {\n el.setAttribute(attr, filteredIds.join(ID_DELIMITER));\n } else {\n el.removeAttribute(attr);\n }\n}\n\n/**\n * Gets the list of IDs referenced by the given ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nexport function getAriaReferenceIds(el: Element, attr: string): string[] {\n // Get string array of all individual ids (whitespace delimited) in the attribute value\n return (el.getAttribute(attr) || '').match(/\\S+/g) || [];\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable, OnDestroy} from '@angular/core';\nimport {addAriaReferencedId, getAriaReferenceIds, removeAriaReferencedId} from './aria-reference';\nimport {Platform} from '@angular/cdk/platform';\n\n\n/**\n * Interface used to register message elements and keep a count of how many registrations have\n * the same message and the reference to the message element used for the `aria-describedby`.\n */\nexport interface RegisteredMessage {\n /** The element containing the message. */\n messageElement: Element;\n\n /** The number of elements that reference this message element via `aria-describedby`. */\n referenceCount: number;\n}\n\n/** ID used for the body container where all messages are appended. */\nexport const MESSAGES_CONTAINER_ID = 'cdk-describedby-message-container';\n\n/** ID prefix used for each created message element. */\nexport const CDK_DESCRIBEDBY_ID_PREFIX = 'cdk-describedby-message';\n\n/** Attribute given to each host element that is described by a message element. */\nexport const CDK_DESCRIBEDBY_HOST_ATTRIBUTE = 'cdk-describedby-host';\n\n/** Global incremental identifier for each registered message element. */\nlet nextId = 0;\n\n/** Global map of all registered message elements that have been placed into the document. */\nconst messageRegistry = new Map();\n\n/** Container for all registered messages. */\nlet messagesContainer: HTMLElement | null = null;\n\n/**\n * Utility that creates visually hidden elements with a message content. Useful for elements that\n * want to use aria-describedby to further describe themselves without adding additional visual\n * content.\n */\n@Injectable({providedIn: 'root'})\nexport class AriaDescriber implements OnDestroy {\n private _document: Document;\n\n constructor(\n @Inject(DOCUMENT) _document: any,\n /**\n * @breaking-change 8.0.0 `_platform` parameter to be made required.\n */\n private _platform?: Platform) {\n this._document = _document;\n }\n\n /**\n * Adds to the host element an aria-describedby reference to a hidden element that contains\n * the message. If the same message has already been registered, then it will reuse the created\n * message element.\n */\n describe(hostElement: Element, message: string|HTMLElement) {\n if (!this._canBeDescribed(hostElement, message)) {\n return;\n }\n\n if (typeof message !== 'string') {\n // We need to ensure that the element has an ID.\n this._setMessageId(message);\n messageRegistry.set(message, {messageElement: message, referenceCount: 0});\n } else if (!messageRegistry.has(message)) {\n this._createMessageElement(message);\n }\n\n if (!this._isElementDescribedByMessage(hostElement, message)) {\n this._addMessageReference(hostElement, message);\n }\n }\n\n /** Removes the host element's aria-describedby reference to the message element. */\n removeDescription(hostElement: Element, message: string|HTMLElement) {\n if (!message || !this._isElementNode(hostElement)) {\n return;\n }\n\n if (this._isElementDescribedByMessage(hostElement, message)) {\n this._removeMessageReference(hostElement, message);\n }\n\n // If the message is a string, it means that it's one that we created for the\n // consumer so we can remove it safely, otherwise we should leave it in place.\n if (typeof message === 'string') {\n const registeredMessage = messageRegistry.get(message);\n if (registeredMessage && registeredMessage.referenceCount === 0) {\n this._deleteMessageElement(message);\n }\n }\n\n if (messagesContainer && messagesContainer.childNodes.length === 0) {\n this._deleteMessagesContainer();\n }\n }\n\n /** Unregisters all created message elements and removes the message container. */\n ngOnDestroy() {\n const describedElements =\n this._document.querySelectorAll(`[${CDK_DESCRIBEDBY_HOST_ATTRIBUTE}]`);\n\n for (let i = 0; i < describedElements.length; i++) {\n this._removeCdkDescribedByReferenceIds(describedElements[i]);\n describedElements[i].removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);\n }\n\n if (messagesContainer) {\n this._deleteMessagesContainer();\n }\n\n messageRegistry.clear();\n }\n\n /**\n * Creates a new element in the visually hidden message container element with the message\n * as its content and adds it to the message registry.\n */\n private _createMessageElement(message: string) {\n const messageElement = this._document.createElement('div');\n this._setMessageId(messageElement);\n messageElement.textContent = message;\n\n this._createMessagesContainer();\n messagesContainer!.appendChild(messageElement);\n\n messageRegistry.set(message, {messageElement, referenceCount: 0});\n }\n\n /** Assigns a unique ID to an element, if it doesn't have one already. */\n private _setMessageId(element: HTMLElement) {\n if (!element.id) {\n element.id = `${CDK_DESCRIBEDBY_ID_PREFIX}-${nextId++}`;\n }\n }\n\n /** Deletes the message element from the global messages container. */\n private _deleteMessageElement(message: string) {\n const registeredMessage = messageRegistry.get(message);\n const messageElement = registeredMessage && registeredMessage.messageElement;\n if (messagesContainer && messageElement) {\n messagesContainer.removeChild(messageElement);\n }\n messageRegistry.delete(message);\n }\n\n /** Creates the global container for all aria-describedby messages. */\n private _createMessagesContainer() {\n if (!messagesContainer) {\n // @breaking-change 8.0.0 `_platform` null check can be removed once the parameter is required\n const canBeAriaHidden = !this._platform || (!this._platform.EDGE && !this._platform.TRIDENT);\n const preExistingContainer = this._document.getElementById(MESSAGES_CONTAINER_ID);\n\n // When going from the server to the client, we may end up in a situation where there's\n // already a container on the page, but we don't have a reference to it. Clear the\n // old container so we don't get duplicates. Doing this, instead of emptying the previous\n // container, should be slightly faster.\n if (preExistingContainer && preExistingContainer.parentNode) {\n preExistingContainer.parentNode.removeChild(preExistingContainer);\n }\n\n messagesContainer = this._document.createElement('div');\n messagesContainer.id = MESSAGES_CONTAINER_ID;\n messagesContainer.classList.add('cdk-visually-hidden');\n\n // IE and Edge won't read out the messages if they're in an `aria-hidden` container.\n // We only disable `aria-hidden` for these platforms, because it comes with the\n // disadvantage that people might hit the messages when they've navigated past\n // the end of the document using the arrow keys.\n messagesContainer.setAttribute('aria-hidden', canBeAriaHidden + '');\n this._document.body.appendChild(messagesContainer);\n }\n }\n\n /** Deletes the global messages container. */\n private _deleteMessagesContainer() {\n if (messagesContainer && messagesContainer.parentNode) {\n messagesContainer.parentNode.removeChild(messagesContainer);\n messagesContainer = null;\n }\n }\n\n /** Removes all cdk-describedby messages that are hosted through the element. */\n private _removeCdkDescribedByReferenceIds(element: Element) {\n // Remove all aria-describedby reference IDs that are prefixed by CDK_DESCRIBEDBY_ID_PREFIX\n const originalReferenceIds = getAriaReferenceIds(element, 'aria-describedby')\n .filter(id => id.indexOf(CDK_DESCRIBEDBY_ID_PREFIX) != 0);\n element.setAttribute('aria-describedby', originalReferenceIds.join(' '));\n }\n\n /**\n * Adds a message reference to the element using aria-describedby and increments the registered\n * message's reference count.\n */\n private _addMessageReference(element: Element, message: string|HTMLElement) {\n const registeredMessage = messageRegistry.get(message)!;\n\n // Add the aria-describedby reference and set the\n // describedby_host attribute to mark the element.\n addAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);\n element.setAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE, '');\n\n registeredMessage.referenceCount++;\n }\n\n /**\n * Removes a message reference from the element using aria-describedby\n * and decrements the registered message's reference count.\n */\n private _removeMessageReference(element: Element, message: string|HTMLElement) {\n const registeredMessage = messageRegistry.get(message)!;\n registeredMessage.referenceCount--;\n\n removeAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);\n element.removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);\n }\n\n /** Returns true if the element has been described by the provided message ID. */\n private _isElementDescribedByMessage(element: Element, message: string|HTMLElement): boolean {\n const referenceIds = getAriaReferenceIds(element, 'aria-describedby');\n const registeredMessage = messageRegistry.get(message);\n const messageId = registeredMessage && registeredMessage.messageElement.id;\n\n return !!messageId && referenceIds.indexOf(messageId) != -1;\n }\n\n /** Determines whether a message can be described on a particular element. */\n private _canBeDescribed(element: Element, message: string|HTMLElement|void): boolean {\n if (!this._isElementNode(element)) {\n return false;\n }\n\n if (message && typeof message === 'object') {\n // We'd have to make some assumptions about the description element's text, if the consumer\n // passed in an element. Assume that if an element is passed in, the consumer has verified\n // that it can be used as a description.\n return true;\n }\n\n const trimmedMessage = message == null ? '' : `${message}`.trim();\n const ariaLabel = element.getAttribute('aria-label');\n\n // We shouldn't set descriptions if they're exactly the same as the `aria-label` of the\n // element, because screen readers will end up reading out the same text twice in a row.\n return trimmedMessage ? (!ariaLabel || ariaLabel.trim() !== trimmedMessage) : false;\n }\n\n /** Checks whether a node is an Element node. */\n private _isElementNode(element: Node): element is Element {\n return element.nodeType === this._document.ELEMENT_NODE;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {QueryList} from '@angular/core';\nimport {Subject, Subscription} from 'rxjs';\nimport {\n UP_ARROW,\n DOWN_ARROW,\n LEFT_ARROW,\n RIGHT_ARROW,\n TAB,\n A,\n Z,\n ZERO,\n NINE,\n hasModifierKey,\n HOME,\n END,\n} from '@angular/cdk/keycodes';\nimport {debounceTime, filter, map, tap} from 'rxjs/operators';\n\n/** This interface is for items that can be passed to a ListKeyManager. */\nexport interface ListKeyManagerOption {\n /** Whether the option is disabled. */\n disabled?: boolean;\n\n /** Gets the label for this option. */\n getLabel?(): string;\n}\n\n/** Modifier keys handled by the ListKeyManager. */\nexport type ListKeyManagerModifierKey = 'altKey' | 'ctrlKey' | 'metaKey' | 'shiftKey';\n\n/**\n * This class manages keyboard events for selectable lists. If you pass it a query list\n * of items, it will set the active item correctly when arrow events occur.\n */\nexport class ListKeyManager {\n private _activeItemIndex = -1;\n private _activeItem: T | null = null;\n private _wrap = false;\n private _letterKeyStream = new Subject();\n private _typeaheadSubscription = Subscription.EMPTY;\n private _vertical = true;\n private _horizontal: 'ltr' | 'rtl' | null;\n private _allowedModifierKeys: ListKeyManagerModifierKey[] = [];\n private _homeAndEnd = false;\n\n /**\n * Predicate function that can be used to check whether an item should be skipped\n * by the key manager. By default, disabled items are skipped.\n */\n private _skipPredicateFn = (item: T) => item.disabled;\n\n // Buffer for the letters that the user has pressed when the typeahead option is turned on.\n private _pressedLetters: string[] = [];\n\n constructor(private _items: QueryList | T[]) {\n // We allow for the items to be an array because, in some cases, the consumer may\n // not have access to a QueryList of the items they want to manage (e.g. when the\n // items aren't being collected via `ViewChildren` or `ContentChildren`).\n if (_items instanceof QueryList) {\n _items.changes.subscribe((newItems: QueryList) => {\n if (this._activeItem) {\n const itemArray = newItems.toArray();\n const newIndex = itemArray.indexOf(this._activeItem);\n\n if (newIndex > -1 && newIndex !== this._activeItemIndex) {\n this._activeItemIndex = newIndex;\n }\n }\n });\n }\n }\n\n /**\n * Stream that emits any time the TAB key is pressed, so components can react\n * when focus is shifted off of the list.\n */\n tabOut: Subject = new Subject();\n\n /** Stream that emits whenever the active item of the list manager changes. */\n change = new Subject();\n\n /**\n * Sets the predicate function that determines which items should be skipped by the\n * list key manager.\n * @param predicate Function that determines whether the given item should be skipped.\n */\n skipPredicate(predicate: (item: T) => boolean): this {\n this._skipPredicateFn = predicate;\n return this;\n }\n\n /**\n * Configures wrapping mode, which determines whether the active item will wrap to\n * the other end of list when there are no more items in the given direction.\n * @param shouldWrap Whether the list should wrap when reaching the end.\n */\n withWrap(shouldWrap = true): this {\n this._wrap = shouldWrap;\n return this;\n }\n\n /**\n * Configures whether the key manager should be able to move the selection vertically.\n * @param enabled Whether vertical selection should be enabled.\n */\n withVerticalOrientation(enabled: boolean = true): this {\n this._vertical = enabled;\n return this;\n }\n\n /**\n * Configures the key manager to move the selection horizontally.\n * Passing in `null` will disable horizontal movement.\n * @param direction Direction in which the selection can be moved.\n */\n withHorizontalOrientation(direction: 'ltr' | 'rtl' | null): this {\n this._horizontal = direction;\n return this;\n }\n\n /**\n * Modifier keys which are allowed to be held down and whose default actions will be prevented\n * as the user is pressing the arrow keys. Defaults to not allowing any modifier keys.\n */\n withAllowedModifierKeys(keys: ListKeyManagerModifierKey[]): this {\n this._allowedModifierKeys = keys;\n return this;\n }\n\n /**\n * Turns on typeahead mode which allows users to set the active item by typing.\n * @param debounceInterval Time to wait after the last keystroke before setting the active item.\n */\n withTypeAhead(debounceInterval: number = 200): this {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && (this._items.length &&\n this._items.some(item => typeof item.getLabel !== 'function'))) {\n throw Error('ListKeyManager items in typeahead mode must implement the `getLabel` method.');\n }\n\n this._typeaheadSubscription.unsubscribe();\n\n // Debounce the presses of non-navigational keys, collect the ones that correspond to letters\n // and convert those letters back into a string. Afterwards find the first item that starts\n // with that string and select it.\n this._typeaheadSubscription = this._letterKeyStream.pipe(\n tap(letter => this._pressedLetters.push(letter)),\n debounceTime(debounceInterval),\n filter(() => this._pressedLetters.length > 0),\n map(() => this._pressedLetters.join(''))\n ).subscribe(inputString => {\n const items = this._getItemsArray();\n\n // Start at 1 because we want to start searching at the item immediately\n // following the current active item.\n for (let i = 1; i < items.length + 1; i++) {\n const index = (this._activeItemIndex + i) % items.length;\n const item = items[index];\n\n if (!this._skipPredicateFn(item) &&\n item.getLabel!().toUpperCase().trim().indexOf(inputString) === 0) {\n\n this.setActiveItem(index);\n break;\n }\n }\n\n this._pressedLetters = [];\n });\n\n return this;\n }\n\n /**\n * Configures the key manager to activate the first and last items\n * respectively when the Home or End key is pressed.\n * @param enabled Whether pressing the Home or End key activates the first/last item.\n */\n withHomeAndEnd(enabled: boolean = true): this {\n this._homeAndEnd = enabled;\n return this;\n }\n\n /**\n * Sets the active item to the item at the index specified.\n * @param index The index of the item to be set as active.\n */\n setActiveItem(index: number): void;\n\n /**\n * Sets the active item to the specified item.\n * @param item The item to be set as active.\n */\n setActiveItem(item: T): void;\n\n setActiveItem(item: any): void {\n const previousActiveItem = this._activeItem;\n\n this.updateActiveItem(item);\n\n if (this._activeItem !== previousActiveItem) {\n this.change.next(this._activeItemIndex);\n }\n }\n\n /**\n * Sets the active item depending on the key event passed in.\n * @param event Keyboard event to be used for determining which element should be active.\n */\n onKeydown(event: KeyboardEvent): void {\n const keyCode = event.keyCode;\n const modifiers: ListKeyManagerModifierKey[] = ['altKey', 'ctrlKey', 'metaKey', 'shiftKey'];\n const isModifierAllowed = modifiers.every(modifier => {\n return !event[modifier] || this._allowedModifierKeys.indexOf(modifier) > -1;\n });\n\n switch (keyCode) {\n case TAB:\n this.tabOut.next();\n return;\n\n case DOWN_ARROW:\n if (this._vertical && isModifierAllowed) {\n this.setNextItemActive();\n break;\n } else {\n return;\n }\n\n case UP_ARROW:\n if (this._vertical && isModifierAllowed) {\n this.setPreviousItemActive();\n break;\n } else {\n return;\n }\n\n case RIGHT_ARROW:\n if (this._horizontal && isModifierAllowed) {\n this._horizontal === 'rtl' ? this.setPreviousItemActive() : this.setNextItemActive();\n break;\n } else {\n return;\n }\n\n case LEFT_ARROW:\n if (this._horizontal && isModifierAllowed) {\n this._horizontal === 'rtl' ? this.setNextItemActive() : this.setPreviousItemActive();\n break;\n } else {\n return;\n }\n\n case HOME:\n if (this._homeAndEnd && isModifierAllowed) {\n this.setFirstItemActive();\n break;\n } else {\n return;\n }\n\n case END:\n if (this._homeAndEnd && isModifierAllowed) {\n this.setLastItemActive();\n break;\n } else {\n return;\n }\n\n default:\n if (isModifierAllowed || hasModifierKey(event, 'shiftKey')) {\n // Attempt to use the `event.key` which also maps it to the user's keyboard language,\n // otherwise fall back to resolving alphanumeric characters via the keyCode.\n if (event.key && event.key.length === 1) {\n this._letterKeyStream.next(event.key.toLocaleUpperCase());\n } else if ((keyCode >= A && keyCode <= Z) || (keyCode >= ZERO && keyCode <= NINE)) {\n this._letterKeyStream.next(String.fromCharCode(keyCode));\n }\n }\n\n // Note that we return here, in order to avoid preventing\n // the default action of non-navigational keys.\n return;\n }\n\n this._pressedLetters = [];\n event.preventDefault();\n }\n\n /** Index of the currently active item. */\n get activeItemIndex(): number | null {\n return this._activeItemIndex;\n }\n\n /** The active item. */\n get activeItem(): T | null {\n return this._activeItem;\n }\n\n /** Gets whether the user is currently typing into the manager using the typeahead feature. */\n isTyping(): boolean {\n return this._pressedLetters.length > 0;\n }\n\n /** Sets the active item to the first enabled item in the list. */\n setFirstItemActive(): void {\n this._setActiveItemByIndex(0, 1);\n }\n\n /** Sets the active item to the last enabled item in the list. */\n setLastItemActive(): void {\n this._setActiveItemByIndex(this._items.length - 1, -1);\n }\n\n /** Sets the active item to the next enabled item in the list. */\n setNextItemActive(): void {\n this._activeItemIndex < 0 ? this.setFirstItemActive() : this._setActiveItemByDelta(1);\n }\n\n /** Sets the active item to a previous enabled item in the list. */\n setPreviousItemActive(): void {\n this._activeItemIndex < 0 && this._wrap ? this.setLastItemActive()\n : this._setActiveItemByDelta(-1);\n }\n\n /**\n * Allows setting the active without any other effects.\n * @param index Index of the item to be set as active.\n */\n updateActiveItem(index: number): void;\n\n /**\n * Allows setting the active item without any other effects.\n * @param item Item to be set as active.\n */\n updateActiveItem(item: T): void;\n\n updateActiveItem(item: any): void {\n const itemArray = this._getItemsArray();\n const index = typeof item === 'number' ? item : itemArray.indexOf(item);\n const activeItem = itemArray[index];\n\n // Explicitly check for `null` and `undefined` because other falsy values are valid.\n this._activeItem = activeItem == null ? null : activeItem;\n this._activeItemIndex = index;\n }\n\n /**\n * This method sets the active item, given a list of items and the delta between the\n * currently active item and the new active item. It will calculate differently\n * depending on whether wrap mode is turned on.\n */\n private _setActiveItemByDelta(delta: -1 | 1): void {\n this._wrap ? this._setActiveInWrapMode(delta) : this._setActiveInDefaultMode(delta);\n }\n\n /**\n * Sets the active item properly given \"wrap\" mode. In other words, it will continue to move\n * down the list until it finds an item that is not disabled, and it will wrap if it\n * encounters either end of the list.\n */\n private _setActiveInWrapMode(delta: -1 | 1): void {\n const items = this._getItemsArray();\n\n for (let i = 1; i <= items.length; i++) {\n const index = (this._activeItemIndex + (delta * i) + items.length) % items.length;\n const item = items[index];\n\n if (!this._skipPredicateFn(item)) {\n this.setActiveItem(index);\n return;\n }\n }\n }\n\n /**\n * Sets the active item properly given the default mode. In other words, it will\n * continue to move down the list until it finds an item that is not disabled. If\n * it encounters either end of the list, it will stop and not wrap.\n */\n private _setActiveInDefaultMode(delta: -1 | 1): void {\n this._setActiveItemByIndex(this._activeItemIndex + delta, delta);\n }\n\n /**\n * Sets the active item to the first enabled item starting at the index specified. If the\n * item is disabled, it will move in the fallbackDelta direction until it either\n * finds an enabled item or encounters the end of the list.\n */\n private _setActiveItemByIndex(index: number, fallbackDelta: -1 | 1): void {\n const items = this._getItemsArray();\n\n if (!items[index]) {\n return;\n }\n\n while (this._skipPredicateFn(items[index])) {\n index += fallbackDelta;\n\n if (!items[index]) {\n return;\n }\n }\n\n this.setActiveItem(index);\n }\n\n /** Returns the items as an array. */\n private _getItemsArray(): T[] {\n return this._items instanceof QueryList ? this._items.toArray() : this._items;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ListKeyManager, ListKeyManagerOption} from './list-key-manager';\n\n/**\n * This is the interface for highlightable items (used by the ActiveDescendantKeyManager).\n * Each item must know how to style itself as active or inactive and whether or not it is\n * currently disabled.\n */\nexport interface Highlightable extends ListKeyManagerOption {\n /** Applies the styles for an active item to this item. */\n setActiveStyles(): void;\n\n /** Applies the styles for an inactive item to this item. */\n setInactiveStyles(): void;\n}\n\nexport class ActiveDescendantKeyManager extends ListKeyManager {\n\n /**\n * Sets the active item to the item at the specified index and adds the\n * active styles to the newly active item. Also removes active styles\n * from the previously active item.\n * @param index Index of the item to be set as active.\n */\n setActiveItem(index: number): void;\n\n /**\n * Sets the active item to the item to the specified one and adds the\n * active styles to the it. Also removes active styles from the\n * previously active item.\n * @param item Item to be set as active.\n */\n setActiveItem(item: T): void;\n\n setActiveItem(index: any): void {\n if (this.activeItem) {\n this.activeItem.setInactiveStyles();\n }\n super.setActiveItem(index);\n if (this.activeItem) {\n this.activeItem.setActiveStyles();\n }\n }\n\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ListKeyManager, ListKeyManagerOption} from './list-key-manager';\nimport {FocusOrigin} from '../focus-monitor/focus-monitor';\n\n/**\n * This is the interface for focusable items (used by the FocusKeyManager).\n * Each item must know how to focus itself, whether or not it is currently disabled\n * and be able to supply its label.\n */\nexport interface FocusableOption extends ListKeyManagerOption {\n /** Focuses the `FocusableOption`. */\n focus(origin?: FocusOrigin): void;\n}\n\nexport class FocusKeyManager extends ListKeyManager {\n private _origin: FocusOrigin = 'program';\n\n /**\n * Sets the focus origin that will be passed in to the items for any subsequent `focus` calls.\n * @param origin Focus origin to be used when focusing items.\n */\n setFocusOrigin(origin: FocusOrigin): this {\n this._origin = origin;\n return this;\n }\n\n /**\n * Sets the active item to the item at the specified\n * index and focuses the newly active item.\n * @param index Index of the item to be set as active.\n */\n setActiveItem(index: number): void;\n\n /**\n * Sets the active item to the item that is specified and focuses it.\n * @param item Item to be set as active.\n */\n setActiveItem(item: T): void;\n\n setActiveItem(item: any): void {\n super.setActiveItem(item);\n\n if (this.activeItem) {\n this.activeItem.focus(this._origin);\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Platform} from '@angular/cdk/platform';\nimport {Injectable} from '@angular/core';\n\n/**\n * Configuration for the isFocusable method.\n */\nexport class IsFocusableConfig {\n /**\n * Whether to count an element as focusable even if it is not currently visible.\n */\n ignoreVisibility: boolean = false;\n}\n\n// The InteractivityChecker leans heavily on the ally.js accessibility utilities.\n// Methods like `isTabbable` are only covering specific edge-cases for the browsers which are\n// supported.\n\n/**\n * Utility for checking the interactivity of an element, such as whether is is focusable or\n * tabbable.\n */\n@Injectable({providedIn: 'root'})\nexport class InteractivityChecker {\n\n constructor(private _platform: Platform) {}\n\n /**\n * Gets whether an element is disabled.\n *\n * @param element Element to be checked.\n * @returns Whether the element is disabled.\n */\n isDisabled(element: HTMLElement): boolean {\n // This does not capture some cases, such as a non-form control with a disabled attribute or\n // a form control inside of a disabled form, but should capture the most common cases.\n return element.hasAttribute('disabled');\n }\n\n /**\n * Gets whether an element is visible for the purposes of interactivity.\n *\n * This will capture states like `display: none` and `visibility: hidden`, but not things like\n * being clipped by an `overflow: hidden` parent or being outside the viewport.\n *\n * @returns Whether the element is visible.\n */\n isVisible(element: HTMLElement): boolean {\n return hasGeometry(element) && getComputedStyle(element).visibility === 'visible';\n }\n\n /**\n * Gets whether an element can be reached via Tab key.\n * Assumes that the element has already been checked with isFocusable.\n *\n * @param element Element to be checked.\n * @returns Whether the element is tabbable.\n */\n isTabbable(element: HTMLElement): boolean {\n // Nothing is tabbable on the server 😎\n if (!this._platform.isBrowser) {\n return false;\n }\n\n const frameElement = getFrameElement(getWindow(element));\n\n if (frameElement) {\n // Frame elements inherit their tabindex onto all child elements.\n if (getTabIndexValue(frameElement) === -1) {\n return false;\n }\n\n // Browsers disable tabbing to an element inside of an invisible frame.\n if (!this.isVisible(frameElement)) {\n return false;\n }\n }\n\n let nodeName = element.nodeName.toLowerCase();\n let tabIndexValue = getTabIndexValue(element);\n\n if (element.hasAttribute('contenteditable')) {\n return tabIndexValue !== -1;\n }\n\n if (nodeName === 'iframe' || nodeName === 'object') {\n // The frame or object's content may be tabbable depending on the content, but it's\n // not possibly to reliably detect the content of the frames. We always consider such\n // elements as non-tabbable.\n return false;\n }\n\n // In iOS, the browser only considers some specific elements as tabbable.\n if (this._platform.WEBKIT && this._platform.IOS && !isPotentiallyTabbableIOS(element)) {\n return false;\n }\n\n if (nodeName === 'audio') {\n // Audio elements without controls enabled are never tabbable, regardless\n // of the tabindex attribute explicitly being set.\n if (!element.hasAttribute('controls')) {\n return false;\n }\n // Audio elements with controls are by default tabbable unless the\n // tabindex attribute is set to `-1` explicitly.\n return tabIndexValue !== -1;\n }\n\n if (nodeName === 'video') {\n // For all video elements, if the tabindex attribute is set to `-1`, the video\n // is not tabbable. Note: We cannot rely on the default `HTMLElement.tabIndex`\n // property as that one is set to `-1` in Chrome, Edge and Safari v13.1. The\n // tabindex attribute is the source of truth here.\n if (tabIndexValue === -1) {\n return false;\n }\n // If the tabindex is explicitly set, and not `-1` (as per check before), the\n // video element is always tabbable (regardless of whether it has controls or not).\n if (tabIndexValue !== null) {\n return true;\n }\n // Otherwise (when no explicit tabindex is set), a video is only tabbable if it\n // has controls enabled. Firefox is special as videos are always tabbable regardless\n // of whether there are controls or not.\n return this._platform.FIREFOX || element.hasAttribute('controls');\n }\n\n return element.tabIndex >= 0;\n }\n\n /**\n * Gets whether an element can be focused by the user.\n *\n * @param element Element to be checked.\n * @param config The config object with options to customize this method's behavior\n * @returns Whether the element is focusable.\n */\n isFocusable(element: HTMLElement, config?: IsFocusableConfig): boolean {\n // Perform checks in order of left to most expensive.\n // Again, naive approach that does not capture many edge cases and browser quirks.\n return isPotentiallyFocusable(element) && !this.isDisabled(element) &&\n (config?.ignoreVisibility || this.isVisible(element));\n }\n\n}\n\n/**\n * Returns the frame element from a window object. Since browsers like MS Edge throw errors if\n * the frameElement property is being accessed from a different host address, this property\n * should be accessed carefully.\n */\nfunction getFrameElement(window: Window) {\n try {\n return window.frameElement as HTMLElement;\n } catch {\n return null;\n }\n}\n\n/** Checks whether the specified element has any geometry / rectangles. */\nfunction hasGeometry(element: HTMLElement): boolean {\n // Use logic from jQuery to check for an invisible element.\n // See https://github.com/jquery/jquery/blob/master/src/css/hiddenVisibleSelectors.js#L12\n return !!(element.offsetWidth || element.offsetHeight ||\n (typeof element.getClientRects === 'function' && element.getClientRects().length));\n}\n\n/** Gets whether an element's */\nfunction isNativeFormElement(element: Node) {\n let nodeName = element.nodeName.toLowerCase();\n return nodeName === 'input' ||\n nodeName === 'select' ||\n nodeName === 'button' ||\n nodeName === 'textarea';\n}\n\n/** Gets whether an element is an ``. */\nfunction isHiddenInput(element: HTMLElement): boolean {\n return isInputElement(element) && element.type == 'hidden';\n}\n\n/** Gets whether an element is an anchor that has an href attribute. */\nfunction isAnchorWithHref(element: HTMLElement): boolean {\n return isAnchorElement(element) && element.hasAttribute('href');\n}\n\n/** Gets whether an element is an input element. */\nfunction isInputElement(element: HTMLElement): element is HTMLInputElement {\n return element.nodeName.toLowerCase() == 'input';\n}\n\n/** Gets whether an element is an anchor element. */\nfunction isAnchorElement(element: HTMLElement): element is HTMLAnchorElement {\n return element.nodeName.toLowerCase() == 'a';\n}\n\n/** Gets whether an element has a valid tabindex. */\nfunction hasValidTabIndex(element: HTMLElement): boolean {\n if (!element.hasAttribute('tabindex') || element.tabIndex === undefined) {\n return false;\n }\n\n let tabIndex = element.getAttribute('tabindex');\n\n // IE11 parses tabindex=\"\" as the value \"-32768\"\n if (tabIndex == '-32768') {\n return false;\n }\n\n return !!(tabIndex && !isNaN(parseInt(tabIndex, 10)));\n}\n\n/**\n * Returns the parsed tabindex from the element attributes instead of returning the\n * evaluated tabindex from the browsers defaults.\n */\nfunction getTabIndexValue(element: HTMLElement): number | null {\n if (!hasValidTabIndex(element)) {\n return null;\n }\n\n // See browser issue in Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n const tabIndex = parseInt(element.getAttribute('tabindex') || '', 10);\n\n return isNaN(tabIndex) ? -1 : tabIndex;\n}\n\n/** Checks whether the specified element is potentially tabbable on iOS */\nfunction isPotentiallyTabbableIOS(element: HTMLElement): boolean {\n let nodeName = element.nodeName.toLowerCase();\n let inputType = nodeName === 'input' && (element as HTMLInputElement).type;\n\n return inputType === 'text'\n || inputType === 'password'\n || nodeName === 'select'\n || nodeName === 'textarea';\n}\n\n/**\n * Gets whether an element is potentially focusable without taking current visible/disabled state\n * into account.\n */\nfunction isPotentiallyFocusable(element: HTMLElement): boolean {\n // Inputs are potentially focusable *unless* they're type=\"hidden\".\n if (isHiddenInput(element)) {\n return false;\n }\n\n return isNativeFormElement(element) ||\n isAnchorWithHref(element) ||\n element.hasAttribute('contenteditable') ||\n hasValidTabIndex(element);\n}\n\n/** Gets the parent window of a DOM node with regards of being inside of an iframe. */\nfunction getWindow(node: HTMLElement): Window {\n // ownerDocument is null if `node` itself *is* a document.\n return node.ownerDocument && node.ownerDocument.defaultView || window;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {DOCUMENT} from '@angular/common';\nimport {\n AfterContentInit,\n Directive,\n ElementRef,\n Inject,\n Injectable,\n Input,\n NgZone,\n OnDestroy,\n DoCheck,\n SimpleChanges,\n OnChanges,\n} from '@angular/core';\nimport {take} from 'rxjs/operators';\nimport {InteractivityChecker} from '../interactivity-checker/interactivity-checker';\n\n\n/**\n * Class that allows for trapping focus within a DOM element.\n *\n * This class currently uses a relatively simple approach to focus trapping.\n * It assumes that the tab order is the same as DOM order, which is not necessarily true.\n * Things like `tabIndex > 0`, flex `order`, and shadow roots can cause the two to misalign.\n *\n * @deprecated Use `ConfigurableFocusTrap` instead.\n * @breaking-change for 11.0.0 Remove this class.\n */\nexport class FocusTrap {\n private _startAnchor: HTMLElement | null;\n private _endAnchor: HTMLElement | null;\n private _hasAttached = false;\n\n // Event listeners for the anchors. Need to be regular functions so that we can unbind them later.\n protected startAnchorListener = () => this.focusLastTabbableElement();\n protected endAnchorListener = () => this.focusFirstTabbableElement();\n\n /** Whether the focus trap is active. */\n get enabled(): boolean { return this._enabled; }\n set enabled(value: boolean) {\n this._enabled = value;\n\n if (this._startAnchor && this._endAnchor) {\n this._toggleAnchorTabIndex(value, this._startAnchor);\n this._toggleAnchorTabIndex(value, this._endAnchor);\n }\n }\n protected _enabled: boolean = true;\n\n constructor(\n readonly _element: HTMLElement,\n private _checker: InteractivityChecker,\n readonly _ngZone: NgZone,\n readonly _document: Document,\n deferAnchors = false) {\n\n if (!deferAnchors) {\n this.attachAnchors();\n }\n }\n\n /** Destroys the focus trap by cleaning up the anchors. */\n destroy() {\n const startAnchor = this._startAnchor;\n const endAnchor = this._endAnchor;\n\n if (startAnchor) {\n startAnchor.removeEventListener('focus', this.startAnchorListener);\n\n if (startAnchor.parentNode) {\n startAnchor.parentNode.removeChild(startAnchor);\n }\n }\n\n if (endAnchor) {\n endAnchor.removeEventListener('focus', this.endAnchorListener);\n\n if (endAnchor.parentNode) {\n endAnchor.parentNode.removeChild(endAnchor);\n }\n }\n\n this._startAnchor = this._endAnchor = null;\n this._hasAttached = false;\n }\n\n /**\n * Inserts the anchors into the DOM. This is usually done automatically\n * in the constructor, but can be deferred for cases like directives with `*ngIf`.\n * @returns Whether the focus trap managed to attach successfuly. This may not be the case\n * if the target element isn't currently in the DOM.\n */\n attachAnchors(): boolean {\n // If we're not on the browser, there can be no focus to trap.\n if (this._hasAttached) {\n return true;\n }\n\n this._ngZone.runOutsideAngular(() => {\n if (!this._startAnchor) {\n this._startAnchor = this._createAnchor();\n this._startAnchor!.addEventListener('focus', this.startAnchorListener);\n }\n\n if (!this._endAnchor) {\n this._endAnchor = this._createAnchor();\n this._endAnchor!.addEventListener('focus', this.endAnchorListener);\n }\n });\n\n if (this._element.parentNode) {\n this._element.parentNode.insertBefore(this._startAnchor!, this._element);\n this._element.parentNode.insertBefore(this._endAnchor!, this._element.nextSibling);\n this._hasAttached = true;\n }\n\n return this._hasAttached;\n }\n\n /**\n * Waits for the zone to stabilize, then either focuses the first element that the\n * user specified, or the first tabbable element.\n * @returns Returns a promise that resolves with a boolean, depending\n * on whether focus was moved successfuly.\n */\n focusInitialElementWhenReady(): Promise {\n return new Promise(resolve => {\n this._executeOnStable(() => resolve(this.focusInitialElement()));\n });\n }\n\n /**\n * Waits for the zone to stabilize, then focuses\n * the first tabbable element within the focus trap region.\n * @returns Returns a promise that resolves with a boolean, depending\n * on whether focus was moved successfuly.\n */\n focusFirstTabbableElementWhenReady(): Promise {\n return new Promise(resolve => {\n this._executeOnStable(() => resolve(this.focusFirstTabbableElement()));\n });\n }\n\n /**\n * Waits for the zone to stabilize, then focuses\n * the last tabbable element within the focus trap region.\n * @returns Returns a promise that resolves with a boolean, depending\n * on whether focus was moved successfuly.\n */\n focusLastTabbableElementWhenReady(): Promise {\n return new Promise(resolve => {\n this._executeOnStable(() => resolve(this.focusLastTabbableElement()));\n });\n }\n\n /**\n * Get the specified boundary element of the trapped region.\n * @param bound The boundary to get (start or end of trapped region).\n * @returns The boundary element.\n */\n private _getRegionBoundary(bound: 'start' | 'end'): HTMLElement | null {\n // Contains the deprecated version of selector, for temporary backwards comparability.\n let markers = this._element.querySelectorAll(`[cdk-focus-region-${bound}], ` +\n `[cdkFocusRegion${bound}], ` +\n `[cdk-focus-${bound}]`) as NodeListOf;\n\n for (let i = 0; i < markers.length; i++) {\n // @breaking-change 8.0.0\n if (markers[i].hasAttribute(`cdk-focus-${bound}`)) {\n console.warn(`Found use of deprecated attribute 'cdk-focus-${bound}', ` +\n `use 'cdkFocusRegion${bound}' instead. The deprecated ` +\n `attribute will be removed in 8.0.0.`, markers[i]);\n } else if (markers[i].hasAttribute(`cdk-focus-region-${bound}`)) {\n console.warn(`Found use of deprecated attribute 'cdk-focus-region-${bound}', ` +\n `use 'cdkFocusRegion${bound}' instead. The deprecated attribute ` +\n `will be removed in 8.0.0.`, markers[i]);\n }\n }\n\n if (bound == 'start') {\n return markers.length ? markers[0] : this._getFirstTabbableElement(this._element);\n }\n return markers.length ?\n markers[markers.length - 1] : this._getLastTabbableElement(this._element);\n }\n\n /**\n * Focuses the element that should be focused when the focus trap is initialized.\n * @returns Whether focus was moved successfuly.\n */\n focusInitialElement(): boolean {\n // Contains the deprecated version of selector, for temporary backwards comparability.\n const redirectToElement = this._element.querySelector(`[cdk-focus-initial], ` +\n `[cdkFocusInitial]`) as HTMLElement;\n\n if (redirectToElement) {\n // @breaking-change 8.0.0\n if (redirectToElement.hasAttribute(`cdk-focus-initial`)) {\n console.warn(`Found use of deprecated attribute 'cdk-focus-initial', ` +\n `use 'cdkFocusInitial' instead. The deprecated attribute ` +\n `will be removed in 8.0.0`, redirectToElement);\n }\n\n // Warn the consumer if the element they've pointed to\n // isn't focusable, when not in production mode.\n if ((typeof ngDevMode === 'undefined' || ngDevMode) &&\n !this._checker.isFocusable(redirectToElement)) {\n console.warn(`Element matching '[cdkFocusInitial]' is not focusable.`, redirectToElement);\n }\n\n redirectToElement.focus();\n return true;\n }\n\n return this.focusFirstTabbableElement();\n }\n\n /**\n * Focuses the first tabbable element within the focus trap region.\n * @returns Whether focus was moved successfuly.\n */\n focusFirstTabbableElement(): boolean {\n const redirectToElement = this._getRegionBoundary('start');\n\n if (redirectToElement) {\n redirectToElement.focus();\n }\n\n return !!redirectToElement;\n }\n\n /**\n * Focuses the last tabbable element within the focus trap region.\n * @returns Whether focus was moved successfuly.\n */\n focusLastTabbableElement(): boolean {\n const redirectToElement = this._getRegionBoundary('end');\n\n if (redirectToElement) {\n redirectToElement.focus();\n }\n\n return !!redirectToElement;\n }\n\n /**\n * Checks whether the focus trap has successfuly been attached.\n */\n hasAttached(): boolean {\n return this._hasAttached;\n }\n\n /** Get the first tabbable element from a DOM subtree (inclusive). */\n private _getFirstTabbableElement(root: HTMLElement): HTMLElement | null {\n if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) {\n return root;\n }\n\n // Iterate in DOM order. Note that IE doesn't have `children` for SVG so we fall\n // back to `childNodes` which includes text nodes, comments etc.\n let children = root.children || root.childNodes;\n\n for (let i = 0; i < children.length; i++) {\n let tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE ?\n this._getFirstTabbableElement(children[i] as HTMLElement) :\n null;\n\n if (tabbableChild) {\n return tabbableChild;\n }\n }\n\n return null;\n }\n\n /** Get the last tabbable element from a DOM subtree (inclusive). */\n private _getLastTabbableElement(root: HTMLElement): HTMLElement | null {\n if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) {\n return root;\n }\n\n // Iterate in reverse DOM order.\n let children = root.children || root.childNodes;\n\n for (let i = children.length - 1; i >= 0; i--) {\n let tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE ?\n this._getLastTabbableElement(children[i] as HTMLElement) :\n null;\n\n if (tabbableChild) {\n return tabbableChild;\n }\n }\n\n return null;\n }\n\n /** Creates an anchor element. */\n private _createAnchor(): HTMLElement {\n const anchor = this._document.createElement('div');\n this._toggleAnchorTabIndex(this._enabled, anchor);\n anchor.classList.add('cdk-visually-hidden');\n anchor.classList.add('cdk-focus-trap-anchor');\n anchor.setAttribute('aria-hidden', 'true');\n return anchor;\n }\n\n /**\n * Toggles the `tabindex` of an anchor, based on the enabled state of the focus trap.\n * @param isEnabled Whether the focus trap is enabled.\n * @param anchor Anchor on which to toggle the tabindex.\n */\n private _toggleAnchorTabIndex(isEnabled: boolean, anchor: HTMLElement) {\n // Remove the tabindex completely, rather than setting it to -1, because if the\n // element has a tabindex, the user might still hit it when navigating with the arrow keys.\n isEnabled ? anchor.setAttribute('tabindex', '0') : anchor.removeAttribute('tabindex');\n }\n\n /**\n * Toggles the`tabindex` of both anchors to either trap Tab focus or allow it to escape.\n * @param enabled: Whether the anchors should trap Tab.\n */\n protected toggleAnchors(enabled: boolean) {\n if (this._startAnchor && this._endAnchor) {\n this._toggleAnchorTabIndex(enabled, this._startAnchor);\n this._toggleAnchorTabIndex(enabled, this._endAnchor);\n }\n }\n\n /** Executes a function when the zone is stable. */\n private _executeOnStable(fn: () => any): void {\n if (this._ngZone.isStable) {\n fn();\n } else {\n this._ngZone.onStable.pipe(take(1)).subscribe(fn);\n }\n }\n}\n\n/**\n * Factory that allows easy instantiation of focus traps.\n * @deprecated Use `ConfigurableFocusTrapFactory` instead.\n * @breaking-change for 11.0.0 Remove this class.\n */\n@Injectable({providedIn: 'root'})\nexport class FocusTrapFactory {\n private _document: Document;\n\n constructor(\n private _checker: InteractivityChecker,\n private _ngZone: NgZone,\n @Inject(DOCUMENT) _document: any) {\n\n this._document = _document;\n }\n\n /**\n * Creates a focus-trapped region around the given element.\n * @param element The element around which focus will be trapped.\n * @param deferCaptureElements Defers the creation of focus-capturing elements to be done\n * manually by the user.\n * @returns The created focus trap instance.\n */\n create(element: HTMLElement, deferCaptureElements: boolean = false): FocusTrap {\n return new FocusTrap(\n element, this._checker, this._ngZone, this._document, deferCaptureElements);\n }\n}\n\n/** Directive for trapping focus within a region. */\n@Directive({\n selector: '[cdkTrapFocus]',\n exportAs: 'cdkTrapFocus',\n})\nexport class CdkTrapFocus implements OnDestroy, AfterContentInit, OnChanges, DoCheck {\n private _document: Document;\n\n /** Underlying FocusTrap instance. */\n focusTrap: FocusTrap;\n\n /** Previously focused element to restore focus to upon destroy when using autoCapture. */\n private _previouslyFocusedElement: HTMLElement | null = null;\n\n /** Whether the focus trap is active. */\n @Input('cdkTrapFocus')\n get enabled(): boolean { return this.focusTrap.enabled; }\n set enabled(value: boolean) { this.focusTrap.enabled = coerceBooleanProperty(value); }\n\n /**\n * Whether the directive should automatially move focus into the trapped region upon\n * initialization and return focus to the previous activeElement upon destruction.\n */\n @Input('cdkTrapFocusAutoCapture')\n get autoCapture(): boolean { return this._autoCapture; }\n set autoCapture(value: boolean) { this._autoCapture = coerceBooleanProperty(value); }\n private _autoCapture: boolean;\n\n constructor(\n private _elementRef: ElementRef,\n private _focusTrapFactory: FocusTrapFactory,\n @Inject(DOCUMENT) _document: any) {\n\n this._document = _document;\n this.focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement, true);\n }\n\n ngOnDestroy() {\n this.focusTrap.destroy();\n\n // If we stored a previously focused element when using autoCapture, return focus to that\n // element now that the trapped region is being destroyed.\n if (this._previouslyFocusedElement) {\n this._previouslyFocusedElement.focus();\n this._previouslyFocusedElement = null;\n }\n }\n\n ngAfterContentInit() {\n this.focusTrap.attachAnchors();\n\n if (this.autoCapture) {\n this._captureFocus();\n }\n }\n\n ngDoCheck() {\n if (!this.focusTrap.hasAttached()) {\n this.focusTrap.attachAnchors();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const autoCaptureChange = changes['autoCapture'];\n\n if (autoCaptureChange && !autoCaptureChange.firstChange && this.autoCapture &&\n this.focusTrap.hasAttached()) {\n this._captureFocus();\n }\n }\n\n private _captureFocus() {\n this._previouslyFocusedElement = this._document.activeElement as HTMLElement;\n this.focusTrap.focusInitialElementWhenReady();\n }\n\n static ngAcceptInputType_enabled: BooleanInput;\n static ngAcceptInputType_autoCapture: BooleanInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgZone} from '@angular/core';\nimport {InteractivityChecker} from '../interactivity-checker/interactivity-checker';\nimport {FocusTrap} from './focus-trap';\nimport {FocusTrapManager, ManagedFocusTrap} from './focus-trap-manager';\nimport {FocusTrapInertStrategy} from './focus-trap-inert-strategy';\nimport {ConfigurableFocusTrapConfig} from './configurable-focus-trap-config';\n\n/**\n * Class that allows for trapping focus within a DOM element.\n *\n * This class uses a strategy pattern that determines how it traps focus.\n * See FocusTrapInertStrategy.\n */\nexport class ConfigurableFocusTrap extends FocusTrap implements ManagedFocusTrap {\n /** Whether the FocusTrap is enabled. */\n get enabled(): boolean { return this._enabled; }\n set enabled(value: boolean) {\n this._enabled = value;\n if (this._enabled) {\n this._focusTrapManager.register(this);\n } else {\n this._focusTrapManager.deregister(this);\n }\n }\n\n constructor(\n _element: HTMLElement,\n _checker: InteractivityChecker,\n _ngZone: NgZone,\n _document: Document,\n private _focusTrapManager: FocusTrapManager,\n private _inertStrategy: FocusTrapInertStrategy,\n config: ConfigurableFocusTrapConfig) {\n super(_element, _checker, _ngZone, _document, config.defer);\n this._focusTrapManager.register(this);\n }\n\n /** Notifies the FocusTrapManager that this FocusTrap will be destroyed. */\n destroy() {\n this._focusTrapManager.deregister(this);\n super.destroy();\n }\n\n /** @docs-private Implemented as part of ManagedFocusTrap. */\n _enable() {\n this._inertStrategy.preventFocus(this);\n this.toggleAnchors(true);\n }\n\n /** @docs-private Implemented as part of ManagedFocusTrap. */\n _disable() {\n this._inertStrategy.allowFocus(this);\n this.toggleAnchors(false);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** IE 11 compatible closest implementation that is able to start from non-Element Nodes. */\nexport function closest(element: EventTarget|Element|null|undefined, selector: string):\n Element|null {\n if (!(element instanceof Node)) { return null; }\n\n let curr: Node|null = element;\n while (curr != null && !(curr instanceof Element)) {\n curr = curr.parentNode;\n }\n\n return curr && (hasNativeClosest ?\n curr.closest(selector) : polyfillClosest(curr, selector)) as Element|null;\n}\n\n/** Polyfill for browsers without Element.closest. */\nfunction polyfillClosest(element: Element, selector: string): Element|null {\n let curr: Node|null = element;\n while (curr != null && !(curr instanceof Element && matches(curr, selector))) {\n curr = curr.parentNode;\n }\n\n return (curr || null) as Element|null;\n}\n\nconst hasNativeClosest = typeof Element != 'undefined' && !!Element.prototype.closest;\n\n/** IE 11 compatible matches implementation. */\nfunction matches(element: Element, selector: string): boolean {\n return element.matches ?\n element.matches(selector) :\n (element as any)['msMatchesSelector'](selector);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {FocusTrapInertStrategy} from './focus-trap-inert-strategy';\nimport {ConfigurableFocusTrap} from './configurable-focus-trap';\nimport {closest} from './polyfill';\n\n/**\n * Lightweight FocusTrapInertStrategy that adds a document focus event\n * listener to redirect focus back inside the FocusTrap.\n */\nexport class EventListenerFocusTrapInertStrategy implements FocusTrapInertStrategy {\n /** Focus event handler. */\n private _listener: ((e: FocusEvent) => void) | null = null;\n\n /** Adds a document event listener that keeps focus inside the FocusTrap. */\n preventFocus(focusTrap: ConfigurableFocusTrap): void {\n // Ensure there's only one listener per document\n if (this._listener) {\n focusTrap._document.removeEventListener('focus', this._listener!, true);\n }\n\n this._listener = (e: FocusEvent) => this._trapFocus(focusTrap, e);\n focusTrap._ngZone.runOutsideAngular(() => {\n focusTrap._document.addEventListener('focus', this._listener!, true);\n });\n }\n\n /** Removes the event listener added in preventFocus. */\n allowFocus(focusTrap: ConfigurableFocusTrap): void {\n if (!this._listener) {\n return;\n }\n focusTrap._document.removeEventListener('focus', this._listener!, true);\n this._listener = null;\n }\n\n /**\n * Refocuses the first element in the FocusTrap if the focus event target was outside\n * the FocusTrap.\n *\n * This is an event listener callback. The event listener is added in runOutsideAngular,\n * so all this code runs outside Angular as well.\n */\n private _trapFocus(focusTrap: ConfigurableFocusTrap, event: FocusEvent) {\n const target = event.target as HTMLElement;\n const focusTrapRoot = focusTrap._element;\n\n // Don't refocus if target was in an overlay, because the overlay might be associated\n // with an element inside the FocusTrap, ex. mat-select.\n if (!focusTrapRoot.contains(target) && closest(target, 'div.cdk-overlay-pane') === null) {\n // Some legacy FocusTrap usages have logic that focuses some element on the page\n // just before FocusTrap is destroyed. For backwards compatibility, wait\n // to be sure FocusTrap is still enabled before refocusing.\n setTimeout(() => {\n // Check whether focus wasn't put back into the focus trap while the timeout was pending.\n if (focusTrap.enabled && !focusTrapRoot.contains(focusTrap._document.activeElement)) {\n focusTrap.focusFirstTabbableElement();\n }\n });\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Configuration for creating a ConfigurableFocusTrap.\n */\nexport class ConfigurableFocusTrapConfig {\n /**\n * Whether to defer the creation of FocusTrap elements to be\n * done manually by the user. Default is to create them\n * automatically.\n */\n defer: boolean = false;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {\n InjectionToken,\n} from '@angular/core';\nimport {FocusTrap} from './focus-trap';\n\n/** The injection token used to specify the inert strategy. */\nexport const FOCUS_TRAP_INERT_STRATEGY =\n new InjectionToken('FOCUS_TRAP_INERT_STRATEGY');\n\n/**\n * A strategy that dictates how FocusTrap should prevent elements\n * outside of the FocusTrap from being focused.\n */\nexport interface FocusTrapInertStrategy {\n /** Makes all elements outside focusTrap unfocusable. */\n preventFocus(focusTrap: FocusTrap): void;\n /** Reverts elements made unfocusable by preventFocus to their previous state. */\n allowFocus(focusTrap: FocusTrap): void;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable} from '@angular/core';\n\n/**\n * A FocusTrap managed by FocusTrapManager.\n * Implemented by ConfigurableFocusTrap to avoid circular dependency.\n */\nexport interface ManagedFocusTrap {\n _enable(): void;\n _disable(): void;\n focusInitialElementWhenReady(): Promise;\n}\n\n/** Injectable that ensures only the most recently enabled FocusTrap is active. */\n@Injectable({providedIn: 'root'})\nexport class FocusTrapManager {\n // A stack of the FocusTraps on the page. Only the FocusTrap at the\n // top of the stack is active.\n private _focusTrapStack: ManagedFocusTrap[] = [];\n\n /**\n * Disables the FocusTrap at the top of the stack, and then pushes\n * the new FocusTrap onto the stack.\n */\n register(focusTrap: ManagedFocusTrap): void {\n // Dedupe focusTraps that register multiple times.\n this._focusTrapStack = this._focusTrapStack.filter((ft) => ft !== focusTrap);\n\n let stack = this._focusTrapStack;\n\n if (stack.length) {\n stack[stack.length - 1]._disable();\n }\n\n stack.push(focusTrap);\n focusTrap._enable();\n }\n\n /**\n * Removes the FocusTrap from the stack, and activates the\n * FocusTrap that is the new top of the stack.\n */\n deregister(focusTrap: ManagedFocusTrap): void {\n focusTrap._disable();\n\n const stack = this._focusTrapStack;\n\n const i = stack.indexOf(focusTrap);\n if (i !== -1) {\n stack.splice(i, 1);\n if (stack.length) {\n stack[stack.length - 1]._enable();\n }\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {DOCUMENT} from '@angular/common';\nimport {\n Inject,\n Injectable,\n Optional,\n NgZone,\n} from '@angular/core';\nimport {InteractivityChecker} from '../interactivity-checker/interactivity-checker';\nimport {ConfigurableFocusTrap} from './configurable-focus-trap';\nimport {ConfigurableFocusTrapConfig} from './configurable-focus-trap-config';\nimport {FOCUS_TRAP_INERT_STRATEGY, FocusTrapInertStrategy} from './focus-trap-inert-strategy';\nimport {EventListenerFocusTrapInertStrategy} from './event-listener-inert-strategy';\nimport {FocusTrapManager} from './focus-trap-manager';\n\n/** Factory that allows easy instantiation of configurable focus traps. */\n@Injectable({providedIn: 'root'})\nexport class ConfigurableFocusTrapFactory {\n private _document: Document;\n private _inertStrategy: FocusTrapInertStrategy;\n\n constructor(\n private _checker: InteractivityChecker,\n private _ngZone: NgZone,\n private _focusTrapManager: FocusTrapManager,\n @Inject(DOCUMENT) _document: any,\n @Optional() @Inject(FOCUS_TRAP_INERT_STRATEGY) _inertStrategy?: FocusTrapInertStrategy) {\n\n this._document = _document;\n // TODO split up the strategies into different modules, similar to DateAdapter.\n this._inertStrategy = _inertStrategy || new EventListenerFocusTrapInertStrategy();\n }\n\n /**\n * Creates a focus-trapped region around the given element.\n * @param element The element around which focus will be trapped.\n * @param config The focus trap configuration.\n * @returns The created focus trap instance.\n */\n create(element: HTMLElement, config?: ConfigurableFocusTrapConfig): ConfigurableFocusTrap;\n\n /**\n * @deprecated Pass a config object instead of the `deferCaptureElements` flag.\n * @breaking-change 11.0.0\n */\n create(element: HTMLElement, deferCaptureElements: boolean): ConfigurableFocusTrap;\n\n create(element: HTMLElement, config: ConfigurableFocusTrapConfig | boolean =\n new ConfigurableFocusTrapConfig()): ConfigurableFocusTrap {\n let configObject: ConfigurableFocusTrapConfig;\n if (typeof config === 'boolean') {\n configObject = new ConfigurableFocusTrapConfig();\n configObject.defer = config;\n } else {\n configObject = config;\n }\n return new ConfigurableFocusTrap(\n element, this._checker, this._ngZone, this._document, this._focusTrapManager,\n this._inertStrategy, configObject);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {InjectionToken} from '@angular/core';\n\n// The tokens for the live announcer are defined in a separate file from LiveAnnouncer\n// as a workaround for https://github.com/angular/angular/issues/22559\n\n/** Possible politeness levels. */\nexport type AriaLivePoliteness = 'off' | 'polite' | 'assertive';\n\nexport const LIVE_ANNOUNCER_ELEMENT_TOKEN =\n new InjectionToken('liveAnnouncerElement', {\n providedIn: 'root',\n factory: LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY,\n });\n\n/** @docs-private */\nexport function LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY(): null {\n return null;\n}\n\n/** Object that can be used to configure the default options for the LiveAnnouncer. */\nexport interface LiveAnnouncerDefaultOptions {\n /** Default politeness for the announcements. */\n politeness?: AriaLivePoliteness;\n\n /** Default duration for the announcement messages. */\n duration?: number;\n}\n\n/** Injection token that can be used to configure the default options for the LiveAnnouncer. */\nexport const LIVE_ANNOUNCER_DEFAULT_OPTIONS =\n new InjectionToken('LIVE_ANNOUNCER_DEFAULT_OPTIONS');\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ContentObserver} from '@angular/cdk/observers';\nimport {DOCUMENT} from '@angular/common';\nimport {\n Directive,\n ElementRef,\n Inject,\n Injectable,\n Input,\n NgZone,\n OnDestroy,\n Optional,\n} from '@angular/core';\nimport {Subscription} from 'rxjs';\nimport {\n AriaLivePoliteness,\n LiveAnnouncerDefaultOptions,\n LIVE_ANNOUNCER_ELEMENT_TOKEN,\n LIVE_ANNOUNCER_DEFAULT_OPTIONS,\n} from './live-announcer-tokens';\n\n\n@Injectable({providedIn: 'root'})\nexport class LiveAnnouncer implements OnDestroy {\n private _liveElement: HTMLElement;\n private _document: Document;\n private _previousTimeout?: number;\n\n constructor(\n @Optional() @Inject(LIVE_ANNOUNCER_ELEMENT_TOKEN) elementToken: any,\n private _ngZone: NgZone,\n @Inject(DOCUMENT) _document: any,\n @Optional() @Inject(LIVE_ANNOUNCER_DEFAULT_OPTIONS)\n private _defaultOptions?: LiveAnnouncerDefaultOptions) {\n\n // We inject the live element and document as `any` because the constructor signature cannot\n // reference browser globals (HTMLElement, Document) on non-browser environments, since having\n // a class decorator causes TypeScript to preserve the constructor signature types.\n this._document = _document;\n this._liveElement = elementToken || this._createLiveElement();\n }\n\n /**\n * Announces a message to screenreaders.\n * @param message Message to be announced to the screenreader.\n * @returns Promise that will be resolved when the message is added to the DOM.\n */\n announce(message: string): Promise;\n\n /**\n * Announces a message to screenreaders.\n * @param message Message to be announced to the screenreader.\n * @param politeness The politeness of the announcer element.\n * @returns Promise that will be resolved when the message is added to the DOM.\n */\n announce(message: string, politeness?: AriaLivePoliteness): Promise;\n\n /**\n * Announces a message to screenreaders.\n * @param message Message to be announced to the screenreader.\n * @param duration Time in milliseconds after which to clear out the announcer element. Note\n * that this takes effect after the message has been added to the DOM, which can be up to\n * 100ms after `announce` has been called.\n * @returns Promise that will be resolved when the message is added to the DOM.\n */\n announce(message: string, duration?: number): Promise;\n\n /**\n * Announces a message to screenreaders.\n * @param message Message to be announced to the screenreader.\n * @param politeness The politeness of the announcer element.\n * @param duration Time in milliseconds after which to clear out the announcer element. Note\n * that this takes effect after the message has been added to the DOM, which can be up to\n * 100ms after `announce` has been called.\n * @returns Promise that will be resolved when the message is added to the DOM.\n */\n announce(message: string, politeness?: AriaLivePoliteness, duration?: number): Promise;\n\n announce(message: string, ...args: any[]): Promise {\n const defaultOptions = this._defaultOptions;\n let politeness: AriaLivePoliteness | undefined;\n let duration: number | undefined;\n\n if (args.length === 1 && typeof args[0] === 'number') {\n duration = args[0];\n } else {\n [politeness, duration] = args;\n }\n\n this.clear();\n clearTimeout(this._previousTimeout);\n\n if (!politeness) {\n politeness =\n (defaultOptions && defaultOptions.politeness) ? defaultOptions.politeness : 'polite';\n }\n\n if (duration == null && defaultOptions) {\n duration = defaultOptions.duration;\n }\n\n // TODO: ensure changing the politeness works on all environments we support.\n this._liveElement.setAttribute('aria-live', politeness);\n\n // This 100ms timeout is necessary for some browser + screen-reader combinations:\n // - Both JAWS and NVDA over IE11 will not announce anything without a non-zero timeout.\n // - With Chrome and IE11 with NVDA or JAWS, a repeated (identical) message won't be read a\n // second time without clearing and then using a non-zero delay.\n // (using JAWS 17 at time of this writing).\n return this._ngZone.runOutsideAngular(() => {\n return new Promise(resolve => {\n clearTimeout(this._previousTimeout);\n this._previousTimeout = setTimeout(() => {\n this._liveElement.textContent = message;\n resolve();\n\n if (typeof duration === 'number') {\n this._previousTimeout = setTimeout(() => this.clear(), duration);\n }\n }, 100);\n });\n });\n }\n\n /**\n * Clears the current text from the announcer element. Can be used to prevent\n * screen readers from reading the text out again while the user is going\n * through the page landmarks.\n */\n clear() {\n if (this._liveElement) {\n this._liveElement.textContent = '';\n }\n }\n\n ngOnDestroy() {\n clearTimeout(this._previousTimeout);\n\n if (this._liveElement && this._liveElement.parentNode) {\n this._liveElement.parentNode.removeChild(this._liveElement);\n this._liveElement = null!;\n }\n }\n\n private _createLiveElement(): HTMLElement {\n const elementClass = 'cdk-live-announcer-element';\n const previousElements = this._document.getElementsByClassName(elementClass);\n const liveEl = this._document.createElement('div');\n\n // Remove any old containers. This can happen when coming in from a server-side-rendered page.\n for (let i = 0; i < previousElements.length; i++) {\n previousElements[i].parentNode!.removeChild(previousElements[i]);\n }\n\n liveEl.classList.add(elementClass);\n liveEl.classList.add('cdk-visually-hidden');\n\n liveEl.setAttribute('aria-atomic', 'true');\n liveEl.setAttribute('aria-live', 'polite');\n\n this._document.body.appendChild(liveEl);\n\n return liveEl;\n }\n\n}\n\n\n/**\n * A directive that works similarly to aria-live, but uses the LiveAnnouncer to ensure compatibility\n * with a wider range of browsers and screen readers.\n */\n@Directive({\n selector: '[cdkAriaLive]',\n exportAs: 'cdkAriaLive',\n})\nexport class CdkAriaLive implements OnDestroy {\n /** The aria-live politeness level to use when announcing messages. */\n @Input('cdkAriaLive')\n get politeness(): AriaLivePoliteness { return this._politeness; }\n set politeness(value: AriaLivePoliteness) {\n this._politeness = value === 'off' || value === 'assertive' ? value : 'polite';\n if (this._politeness === 'off') {\n if (this._subscription) {\n this._subscription.unsubscribe();\n this._subscription = null;\n }\n } else if (!this._subscription) {\n this._subscription = this._ngZone.runOutsideAngular(() => {\n return this._contentObserver\n .observe(this._elementRef)\n .subscribe(() => {\n // Note that we use textContent here, rather than innerText, in order to avoid a reflow.\n const elementText = this._elementRef.nativeElement.textContent;\n\n // The `MutationObserver` fires also for attribute\n // changes which we don't want to announce.\n if (elementText !== this._previousAnnouncedText) {\n this._liveAnnouncer.announce(elementText, this._politeness);\n this._previousAnnouncedText = elementText;\n }\n });\n });\n }\n }\n private _politeness: AriaLivePoliteness = 'polite';\n\n private _previousAnnouncedText?: string;\n private _subscription: Subscription | null;\n\n constructor(private _elementRef: ElementRef, private _liveAnnouncer: LiveAnnouncer,\n private _contentObserver: ContentObserver, private _ngZone: NgZone) {}\n\n ngOnDestroy() {\n if (this._subscription) {\n this._subscription.unsubscribe();\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Screenreaders will often fire fake mousedown events when a focusable element\n * is activated using the keyboard. We can typically distinguish between these faked\n * mousedown events and real mousedown events using the \"buttons\" property. While\n * real mousedowns will indicate the mouse button that was pressed (e.g. \"1\" for\n * the left mouse button), faked mousedowns will usually set the property value to 0.\n */\nexport function isFakeMousedownFromScreenReader(event: MouseEvent): boolean {\n return event.buttons === 0;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Platform, normalizePassiveListenerOptions, _getShadowRoot} from '@angular/cdk/platform';\nimport {\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n Injectable,\n InjectionToken,\n NgZone,\n OnDestroy,\n Optional,\n Output,\n AfterViewInit,\n} from '@angular/core';\nimport {Observable, of as observableOf, Subject, Subscription} from 'rxjs';\nimport {coerceElement} from '@angular/cdk/coercion';\nimport {DOCUMENT} from '@angular/common';\nimport {isFakeMousedownFromScreenReader} from '../fake-mousedown';\n\n\n// This is the value used by AngularJS Material. Through trial and error (on iPhone 6S) they found\n// that a value of around 650ms seems appropriate.\nexport const TOUCH_BUFFER_MS = 650;\n\n\nexport type FocusOrigin = 'touch' | 'mouse' | 'keyboard' | 'program' | null;\n\n/**\n * Corresponds to the options that can be passed to the native `focus` event.\n * via https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus\n */\nexport interface FocusOptions {\n /** Whether the browser should scroll to the element when it is focused. */\n preventScroll?: boolean;\n}\n\n/** Detection mode used for attributing the origin of a focus event. */\nexport const enum FocusMonitorDetectionMode {\n /**\n * Any mousedown, keydown, or touchstart event that happened in the previous\n * tick or the current tick will be used to assign a focus event's origin (to\n * either mouse, keyboard, or touch). This is the default option.\n */\n IMMEDIATE,\n /**\n * A focus event's origin is always attributed to the last corresponding\n * mousedown, keydown, or touchstart event, no matter how long ago it occured.\n */\n EVENTUAL\n}\n\n/** Injectable service-level options for FocusMonitor. */\nexport interface FocusMonitorOptions {\n detectionMode?: FocusMonitorDetectionMode;\n}\n\n/** InjectionToken for FocusMonitorOptions. */\nexport const FOCUS_MONITOR_DEFAULT_OPTIONS =\n new InjectionToken('cdk-focus-monitor-default-options');\n\ntype MonitoredElementInfo = {\n checkChildren: boolean,\n subject: Subject,\n rootNode: HTMLElement|Document\n};\n\n/**\n * Event listener options that enable capturing and also\n * mark the listener as passive if the browser supports it.\n */\nconst captureEventListenerOptions = normalizePassiveListenerOptions({\n passive: true,\n capture: true\n});\n\n\n/** Monitors mouse and keyboard events to determine the cause of focus events. */\n@Injectable({providedIn: 'root'})\nexport class FocusMonitor implements OnDestroy {\n /** The focus origin that the next focus event is a result of. */\n private _origin: FocusOrigin = null;\n\n /** The FocusOrigin of the last focus event tracked by the FocusMonitor. */\n private _lastFocusOrigin: FocusOrigin;\n\n /** Whether the window has just been focused. */\n private _windowFocused = false;\n\n /** The target of the last touch event. */\n private _lastTouchTarget: EventTarget | null;\n\n /** The timeout id of the touch timeout, used to cancel timeout later. */\n private _touchTimeoutId: number;\n\n /** The timeout id of the window focus timeout. */\n private _windowFocusTimeoutId: number;\n\n /** The timeout id of the origin clearing timeout. */\n private _originTimeoutId: number;\n\n /** Map of elements being monitored to their info. */\n private _elementInfo = new Map();\n\n /** The number of elements currently being monitored. */\n private _monitoredElementCount = 0;\n\n /**\n * Keeps track of the root nodes to which we've currently bound a focus/blur handler,\n * as well as the number of monitored elements that they contain. We have to treat focus/blur\n * handlers differently from the rest of the events, because the browser won't emit events\n * to the document when focus moves inside of a shadow root.\n */\n private _rootNodeFocusListenerCount = new Map();\n\n /**\n * The specified detection mode, used for attributing the origin of a focus\n * event.\n */\n private readonly _detectionMode: FocusMonitorDetectionMode;\n\n /**\n * Event listener for `keydown` events on the document.\n * Needs to be an arrow function in order to preserve the context when it gets bound.\n */\n private _documentKeydownListener = () => {\n // On keydown record the origin and clear any touch event that may be in progress.\n this._lastTouchTarget = null;\n this._setOriginForCurrentEventQueue('keyboard');\n }\n\n /**\n * Event listener for `mousedown` events on the document.\n * Needs to be an arrow function in order to preserve the context when it gets bound.\n */\n private _documentMousedownListener = (event: MouseEvent) => {\n // On mousedown record the origin only if there is not touch\n // target, since a mousedown can happen as a result of a touch event.\n if (!this._lastTouchTarget) {\n // In some cases screen readers fire fake `mousedown` events instead of `keydown`.\n // Resolve the focus source to `keyboard` if we detect one of them.\n const source = isFakeMousedownFromScreenReader(event) ? 'keyboard' : 'mouse';\n this._setOriginForCurrentEventQueue(source);\n }\n }\n\n /**\n * Event listener for `touchstart` events on the document.\n * Needs to be an arrow function in order to preserve the context when it gets bound.\n */\n private _documentTouchstartListener = (event: TouchEvent) => {\n // When the touchstart event fires the focus event is not yet in the event queue. This means\n // we can't rely on the trick used above (setting timeout of 1ms). Instead we wait 650ms to\n // see if a focus happens.\n if (this._touchTimeoutId != null) {\n clearTimeout(this._touchTimeoutId);\n }\n\n this._lastTouchTarget = getTarget(event);\n this._touchTimeoutId = setTimeout(() => this._lastTouchTarget = null, TOUCH_BUFFER_MS);\n }\n\n /**\n * Event listener for `focus` events on the window.\n * Needs to be an arrow function in order to preserve the context when it gets bound.\n */\n private _windowFocusListener = () => {\n // Make a note of when the window regains focus, so we can\n // restore the origin info for the focused element.\n this._windowFocused = true;\n this._windowFocusTimeoutId = setTimeout(() => this._windowFocused = false);\n }\n\n /** Used to reference correct document/window */\n protected _document?: Document;\n\n constructor(\n private _ngZone: NgZone,\n private _platform: Platform,\n /** @breaking-change 11.0.0 make document required */\n @Optional() @Inject(DOCUMENT) document: any|null,\n @Optional() @Inject(FOCUS_MONITOR_DEFAULT_OPTIONS) options:\n FocusMonitorOptions|null) {\n this._document = document;\n this._detectionMode = options?.detectionMode || FocusMonitorDetectionMode.IMMEDIATE;\n }\n /**\n * Event listener for `focus` and 'blur' events on the document.\n * Needs to be an arrow function in order to preserve the context when it gets bound.\n */\n private _rootNodeFocusAndBlurListener = (event: Event) => {\n const target = getTarget(event);\n const handler = event.type === 'focus' ? this._onFocus : this._onBlur;\n\n // We need to walk up the ancestor chain in order to support `checkChildren`.\n for (let element = target; element; element = element.parentElement) {\n handler.call(this, event as FocusEvent, element);\n }\n }\n\n /**\n * Monitors focus on an element and applies appropriate CSS classes.\n * @param element The element to monitor\n * @param checkChildren Whether to count the element as focused when its children are focused.\n * @returns An observable that emits when the focus state of the element changes.\n * When the element is blurred, null will be emitted.\n */\n monitor(element: HTMLElement, checkChildren?: boolean): Observable;\n\n /**\n * Monitors focus on an element and applies appropriate CSS classes.\n * @param element The element to monitor\n * @param checkChildren Whether to count the element as focused when its children are focused.\n * @returns An observable that emits when the focus state of the element changes.\n * When the element is blurred, null will be emitted.\n */\n monitor(element: ElementRef, checkChildren?: boolean): Observable;\n\n monitor(element: HTMLElement | ElementRef,\n checkChildren: boolean = false): Observable {\n const nativeElement = coerceElement(element);\n\n // Do nothing if we're not on the browser platform or the passed in node isn't an element.\n if (!this._platform.isBrowser || nativeElement.nodeType !== 1) {\n return observableOf(null);\n }\n\n // If the element is inside the shadow DOM, we need to bind our focus/blur listeners to\n // the shadow root, rather than the `document`, because the browser won't emit focus events\n // to the `document`, if focus is moving within the same shadow root.\n const rootNode = (_getShadowRoot(nativeElement) as HTMLElement|null) || this._getDocument();\n const cachedInfo = this._elementInfo.get(nativeElement);\n\n // Check if we're already monitoring this element.\n if (cachedInfo) {\n if (checkChildren) {\n // TODO(COMP-318): this can be problematic, because it'll turn all non-checkChildren\n // observers into ones that behave as if `checkChildren` was turned on. We need a more\n // robust solution.\n cachedInfo.checkChildren = true;\n }\n\n return cachedInfo.subject;\n }\n\n // Create monitored element info.\n const info: MonitoredElementInfo = {\n checkChildren: checkChildren,\n subject: new Subject(),\n rootNode\n };\n this._elementInfo.set(nativeElement, info);\n this._registerGlobalListeners(info);\n\n return info.subject;\n }\n\n /**\n * Stops monitoring an element and removes all focus classes.\n * @param element The element to stop monitoring.\n */\n stopMonitoring(element: HTMLElement): void;\n\n /**\n * Stops monitoring an element and removes all focus classes.\n * @param element The element to stop monitoring.\n */\n stopMonitoring(element: ElementRef): void;\n\n stopMonitoring(element: HTMLElement | ElementRef): void {\n const nativeElement = coerceElement(element);\n const elementInfo = this._elementInfo.get(nativeElement);\n\n if (elementInfo) {\n elementInfo.subject.complete();\n\n this._setClasses(nativeElement);\n this._elementInfo.delete(nativeElement);\n this._removeGlobalListeners(elementInfo);\n }\n }\n\n /**\n * Focuses the element via the specified focus origin.\n * @param element Element to focus.\n * @param origin Focus origin.\n * @param options Options that can be used to configure the focus behavior.\n */\n focusVia(element: HTMLElement, origin: FocusOrigin, options?: FocusOptions): void;\n\n /**\n * Focuses the element via the specified focus origin.\n * @param element Element to focus.\n * @param origin Focus origin.\n * @param options Options that can be used to configure the focus behavior.\n */\n focusVia(element: ElementRef, origin: FocusOrigin, options?: FocusOptions): void;\n\n focusVia(element: HTMLElement | ElementRef,\n origin: FocusOrigin,\n options?: FocusOptions): void {\n\n const nativeElement = coerceElement(element);\n\n this._setOriginForCurrentEventQueue(origin);\n\n // `focus` isn't available on the server\n if (typeof nativeElement.focus === 'function') {\n // Cast the element to `any`, because the TS typings don't have the `options` parameter yet.\n (nativeElement as any).focus(options);\n }\n }\n\n ngOnDestroy() {\n this._elementInfo.forEach((_info, element) => this.stopMonitoring(element));\n }\n\n /** Access injected document if available or fallback to global document reference */\n private _getDocument(): Document {\n return this._document || document;\n }\n\n /** Use defaultView of injected document if available or fallback to global window reference */\n private _getWindow(): Window {\n const doc = this._getDocument();\n return doc.defaultView || window;\n }\n\n private _toggleClass(element: Element, className: string, shouldSet: boolean) {\n if (shouldSet) {\n element.classList.add(className);\n } else {\n element.classList.remove(className);\n }\n }\n\n private _getFocusOrigin(event: FocusEvent): FocusOrigin {\n // If we couldn't detect a cause for the focus event, it's due to one of three reasons:\n // 1) The window has just regained focus, in which case we want to restore the focused state of\n // the element from before the window blurred.\n // 2) It was caused by a touch event, in which case we mark the origin as 'touch'.\n // 3) The element was programmatically focused, in which case we should mark the origin as\n // 'program'.\n if (this._origin) {\n return this._origin;\n }\n\n if (this._windowFocused && this._lastFocusOrigin) {\n return this._lastFocusOrigin;\n } else if (this._wasCausedByTouch(event)) {\n return 'touch';\n } else {\n return 'program';\n }\n }\n\n /**\n * Sets the focus classes on the element based on the given focus origin.\n * @param element The element to update the classes on.\n * @param origin The focus origin.\n */\n private _setClasses(element: HTMLElement, origin?: FocusOrigin): void {\n this._toggleClass(element, 'cdk-focused', !!origin);\n this._toggleClass(element, 'cdk-touch-focused', origin === 'touch');\n this._toggleClass(element, 'cdk-keyboard-focused', origin === 'keyboard');\n this._toggleClass(element, 'cdk-mouse-focused', origin === 'mouse');\n this._toggleClass(element, 'cdk-program-focused', origin === 'program');\n }\n\n /**\n * Sets the origin and schedules an async function to clear it at the end of the event queue.\n * If the detection mode is 'eventual', the origin is never cleared.\n * @param origin The origin to set.\n */\n private _setOriginForCurrentEventQueue(origin: FocusOrigin): void {\n this._ngZone.runOutsideAngular(() => {\n this._origin = origin;\n\n if (this._detectionMode === FocusMonitorDetectionMode.IMMEDIATE) {\n // Sometimes the focus origin won't be valid in Firefox because Firefox seems to focus *one*\n // tick after the interaction event fired. To ensure the focus origin is always correct,\n // the focus origin will be determined at the beginning of the next tick.\n this._originTimeoutId = setTimeout(() => this._origin = null, 1);\n }\n });\n }\n\n /**\n * Checks whether the given focus event was caused by a touchstart event.\n * @param event The focus event to check.\n * @returns Whether the event was caused by a touch.\n */\n private _wasCausedByTouch(event: FocusEvent): boolean {\n // Note(mmalerba): This implementation is not quite perfect, there is a small edge case.\n // Consider the following dom structure:\n //\n //
\n //
\n //
\n //\n // If the user touches the #child element and the #parent is programmatically focused as a\n // result, this code will still consider it to have been caused by the touch event and will\n // apply the cdk-touch-focused class rather than the cdk-program-focused class. This is a\n // relatively small edge-case that can be worked around by using\n // focusVia(parentEl, 'program') to focus the parent element.\n //\n // If we decide that we absolutely must handle this case correctly, we can do so by listening\n // for the first focus event after the touchstart, and then the first blur event after that\n // focus event. When that blur event fires we know that whatever follows is not a result of the\n // touchstart.\n const focusTarget = getTarget(event);\n return this._lastTouchTarget instanceof Node && focusTarget instanceof Node &&\n (focusTarget === this._lastTouchTarget || focusTarget.contains(this._lastTouchTarget));\n }\n\n /**\n * Handles focus events on a registered element.\n * @param event The focus event.\n * @param element The monitored element.\n */\n private _onFocus(event: FocusEvent, element: HTMLElement) {\n // NOTE(mmalerba): We currently set the classes based on the focus origin of the most recent\n // focus event affecting the monitored element. If we want to use the origin of the first event\n // instead we should check for the cdk-focused class here and return if the element already has\n // it. (This only matters for elements that have includesChildren = true).\n\n // If we are not counting child-element-focus as focused, make sure that the event target is the\n // monitored element itself.\n const elementInfo = this._elementInfo.get(element);\n if (!elementInfo || (!elementInfo.checkChildren && element !== getTarget(event))) {\n return;\n }\n\n const origin = this._getFocusOrigin(event);\n this._setClasses(element, origin);\n this._emitOrigin(elementInfo.subject, origin);\n this._lastFocusOrigin = origin;\n }\n\n /**\n * Handles blur events on a registered element.\n * @param event The blur event.\n * @param element The monitored element.\n */\n _onBlur(event: FocusEvent, element: HTMLElement) {\n // If we are counting child-element-focus as focused, make sure that we aren't just blurring in\n // order to focus another child of the monitored element.\n const elementInfo = this._elementInfo.get(element);\n\n if (!elementInfo || (elementInfo.checkChildren && event.relatedTarget instanceof Node &&\n element.contains(event.relatedTarget))) {\n return;\n }\n\n this._setClasses(element);\n this._emitOrigin(elementInfo.subject, null);\n }\n\n private _emitOrigin(subject: Subject, origin: FocusOrigin) {\n this._ngZone.run(() => subject.next(origin));\n }\n\n private _registerGlobalListeners(elementInfo: MonitoredElementInfo) {\n if (!this._platform.isBrowser) {\n return;\n }\n\n const rootNode = elementInfo.rootNode;\n const rootNodeFocusListeners = this._rootNodeFocusListenerCount.get(rootNode) || 0;\n\n if (!rootNodeFocusListeners) {\n this._ngZone.runOutsideAngular(() => {\n rootNode.addEventListener('focus', this._rootNodeFocusAndBlurListener,\n captureEventListenerOptions);\n rootNode.addEventListener('blur', this._rootNodeFocusAndBlurListener,\n captureEventListenerOptions);\n });\n }\n\n this._rootNodeFocusListenerCount.set(rootNode, rootNodeFocusListeners + 1);\n\n // Register global listeners when first element is monitored.\n if (++this._monitoredElementCount === 1) {\n // Note: we listen to events in the capture phase so we\n // can detect them even if the user stops propagation.\n this._ngZone.runOutsideAngular(() => {\n const document = this._getDocument();\n const window = this._getWindow();\n\n document.addEventListener('keydown', this._documentKeydownListener,\n captureEventListenerOptions);\n document.addEventListener('mousedown', this._documentMousedownListener,\n captureEventListenerOptions);\n document.addEventListener('touchstart', this._documentTouchstartListener,\n captureEventListenerOptions);\n window.addEventListener('focus', this._windowFocusListener);\n });\n }\n }\n\n private _removeGlobalListeners(elementInfo: MonitoredElementInfo) {\n const rootNode = elementInfo.rootNode;\n\n if (this._rootNodeFocusListenerCount.has(rootNode)) {\n const rootNodeFocusListeners = this._rootNodeFocusListenerCount.get(rootNode)!;\n\n if (rootNodeFocusListeners > 1) {\n this._rootNodeFocusListenerCount.set(rootNode, rootNodeFocusListeners - 1);\n } else {\n rootNode.removeEventListener('focus', this._rootNodeFocusAndBlurListener,\n captureEventListenerOptions);\n rootNode.removeEventListener('blur', this._rootNodeFocusAndBlurListener,\n captureEventListenerOptions);\n this._rootNodeFocusListenerCount.delete(rootNode);\n }\n }\n\n // Unregister global listeners when last element is unmonitored.\n if (!--this._monitoredElementCount) {\n const document = this._getDocument();\n const window = this._getWindow();\n\n document.removeEventListener('keydown', this._documentKeydownListener,\n captureEventListenerOptions);\n document.removeEventListener('mousedown', this._documentMousedownListener,\n captureEventListenerOptions);\n document.removeEventListener('touchstart', this._documentTouchstartListener,\n captureEventListenerOptions);\n window.removeEventListener('focus', this._windowFocusListener);\n\n // Clear timeouts for all potentially pending timeouts to prevent the leaks.\n clearTimeout(this._windowFocusTimeoutId);\n clearTimeout(this._touchTimeoutId);\n clearTimeout(this._originTimeoutId);\n }\n }\n}\n\n/** Gets the target of an event, accounting for Shadow DOM. */\nfunction getTarget(event: Event): HTMLElement|null {\n // If an event is bound outside the Shadow DOM, the `event.target` will\n // point to the shadow root so we have to use `composedPath` instead.\n return (event.composedPath ? event.composedPath()[0] : event.target) as HTMLElement | null;\n}\n\n\n/**\n * Directive that determines how a particular element was focused (via keyboard, mouse, touch, or\n * programmatically) and adds corresponding classes to the element.\n *\n * There are two variants of this directive:\n * 1) cdkMonitorElementFocus: does not consider an element to be focused if one of its children is\n * focused.\n * 2) cdkMonitorSubtreeFocus: considers an element focused if it or any of its children are focused.\n */\n@Directive({\n selector: '[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]',\n})\nexport class CdkMonitorFocus implements AfterViewInit, OnDestroy {\n private _monitorSubscription: Subscription;\n @Output() cdkFocusChange = new EventEmitter();\n\n constructor(private _elementRef: ElementRef, private _focusMonitor: FocusMonitor) {}\n\n ngAfterViewInit() {\n const element = this._elementRef.nativeElement;\n this._monitorSubscription = this._focusMonitor.monitor(\n element,\n element.nodeType === 1 && element.hasAttribute('cdkMonitorSubtreeFocus'))\n .subscribe(origin => this.cdkFocusChange.emit(origin));\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n\n if (this._monitorSubscription) {\n this._monitorSubscription.unsubscribe();\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Platform} from '@angular/cdk/platform';\nimport {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable} from '@angular/core';\n\n\n/** Set of possible high-contrast mode backgrounds. */\nexport const enum HighContrastMode {\n NONE,\n BLACK_ON_WHITE,\n WHITE_ON_BLACK,\n}\n\n/** CSS class applied to the document body when in black-on-white high-contrast mode. */\nexport const BLACK_ON_WHITE_CSS_CLASS = 'cdk-high-contrast-black-on-white';\n\n/** CSS class applied to the document body when in white-on-black high-contrast mode. */\nexport const WHITE_ON_BLACK_CSS_CLASS = 'cdk-high-contrast-white-on-black';\n\n/** CSS class applied to the document body when in high-contrast mode. */\nexport const HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS = 'cdk-high-contrast-active';\n\n/**\n * Service to determine whether the browser is currently in a high-contrast-mode environment.\n *\n * Microsoft Windows supports an accessibility feature called \"High Contrast Mode\". This mode\n * changes the appearance of all applications, including web applications, to dramatically increase\n * contrast.\n *\n * IE, Edge, and Firefox currently support this mode. Chrome does not support Windows High Contrast\n * Mode. This service does not detect high-contrast mode as added by the Chrome \"High Contrast\"\n * browser extension.\n */\n@Injectable({providedIn: 'root'})\nexport class HighContrastModeDetector {\n private _document: Document;\n\n constructor(private _platform: Platform, @Inject(DOCUMENT) document: any) {\n this._document = document;\n }\n\n /** Gets the current high-contrast-mode for the page. */\n getHighContrastMode(): HighContrastMode {\n if (!this._platform.isBrowser) {\n return HighContrastMode.NONE;\n }\n\n // Create a test element with an arbitrary background-color that is neither black nor\n // white; high-contrast mode will coerce the color to either black or white. Also ensure that\n // appending the test element to the DOM does not affect layout by absolutely positioning it\n const testElement = this._document.createElement('div');\n testElement.style.backgroundColor = 'rgb(1,2,3)';\n testElement.style.position = 'absolute';\n this._document.body.appendChild(testElement);\n\n // Get the computed style for the background color, collapsing spaces to normalize between\n // browsers. Once we get this color, we no longer need the test element. Access the `window`\n // via the document so we can fake it in tests. Note that we have extra null checks, because\n // this logic will likely run during app bootstrap and throwing can break the entire app.\n const documentWindow = this._document.defaultView || window;\n const computedStyle = (documentWindow && documentWindow.getComputedStyle) ?\n documentWindow.getComputedStyle(testElement) : null;\n const computedColor =\n (computedStyle && computedStyle.backgroundColor || '').replace(/ /g, '');\n this._document.body.removeChild(testElement);\n\n switch (computedColor) {\n case 'rgb(0,0,0)': return HighContrastMode.WHITE_ON_BLACK;\n case 'rgb(255,255,255)': return HighContrastMode.BLACK_ON_WHITE;\n }\n return HighContrastMode.NONE;\n }\n\n /** Applies CSS classes indicating high-contrast mode to document body (browser-only). */\n _applyBodyHighContrastModeCssClasses(): void {\n if (this._platform.isBrowser && this._document.body) {\n const bodyClasses = this._document.body.classList;\n // IE11 doesn't support `classList` operations with multiple arguments\n bodyClasses.remove(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS);\n bodyClasses.remove(BLACK_ON_WHITE_CSS_CLASS);\n bodyClasses.remove(WHITE_ON_BLACK_CSS_CLASS);\n\n const mode = this.getHighContrastMode();\n if (mode === HighContrastMode.BLACK_ON_WHITE) {\n bodyClasses.add(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS);\n bodyClasses.add(BLACK_ON_WHITE_CSS_CLASS);\n } else if (mode === HighContrastMode.WHITE_ON_BLACK) {\n bodyClasses.add(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS);\n bodyClasses.add(WHITE_ON_BLACK_CSS_CLASS);\n }\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ObserversModule} from '@angular/cdk/observers';\nimport {PlatformModule} from '@angular/cdk/platform';\nimport {NgModule} from '@angular/core';\nimport {CdkMonitorFocus} from './focus-monitor/focus-monitor';\nimport {CdkTrapFocus} from './focus-trap/focus-trap';\nimport {HighContrastModeDetector} from './high-contrast-mode/high-contrast-mode-detector';\nimport {CdkAriaLive} from './live-announcer/live-announcer';\n\n\n@NgModule({\n imports: [PlatformModule, ObserversModule],\n declarations: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus],\n exports: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus],\n})\nexport class A11yModule {\n constructor(highContrastModeDetector: HighContrastModeDetector) {\n highContrastModeDetector._applyBodyHighContrastModeCssClasses();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nexport * from './aria-describer/aria-describer';\nexport * from './key-manager/activedescendant-key-manager';\nexport * from './key-manager/focus-key-manager';\nexport * from './key-manager/list-key-manager';\nexport * from './focus-trap/configurable-focus-trap';\nexport * from './focus-trap/event-listener-inert-strategy';\nexport * from './focus-trap/focus-trap';\nexport * from './focus-trap/configurable-focus-trap-factory';\nexport * from './focus-trap/focus-trap-inert-strategy';\nexport * from './interactivity-checker/interactivity-checker';\nexport * from './live-announcer/live-announcer';\nexport * from './live-announcer/live-announcer-tokens';\nexport * from './focus-monitor/focus-monitor';\nexport * from './fake-mousedown';\nexport * from './a11y-module';\nexport {\n HighContrastModeDetector,\n HighContrastMode,\n} from './high-contrast-mode/high-contrast-mode-detector';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {ConfigurableFocusTrapConfig as ɵangular_material_src_cdk_a11y_a11y_b} from './focus-trap/configurable-focus-trap-config';\nexport {FocusTrapManager as ɵangular_material_src_cdk_a11y_a11y_a} from './focus-trap/focus-trap-manager';","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {Directive, InjectionToken, Input, OnChanges, OnDestroy, SimpleChanges} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n/** Used to generate unique ID for each accordion. */\nlet nextId = 0;\n\n/**\n * Injection token that can be used to reference instances of `CdkAccordion`. It serves\n * as alternative token to the actual `CdkAccordion` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nexport const CDK_ACCORDION = new InjectionToken('CdkAccordion');\n\n/**\n * Directive whose purpose is to manage the expanded state of CdkAccordionItem children.\n */\n@Directive({\n selector: 'cdk-accordion, [cdkAccordion]',\n exportAs: 'cdkAccordion',\n providers: [{provide: CDK_ACCORDION, useExisting: CdkAccordion}],\n})\nexport class CdkAccordion implements OnDestroy, OnChanges {\n /** Emits when the state of the accordion changes */\n readonly _stateChanges = new Subject();\n\n /** Stream that emits true/false when openAll/closeAll is triggered. */\n readonly _openCloseAllActions: Subject = new Subject();\n\n /** A readonly id value to use for unique selection coordination. */\n readonly id = `cdk-accordion-${nextId++}`;\n\n /** Whether the accordion should allow multiple expanded accordion items simultaneously. */\n @Input()\n get multi(): boolean { return this._multi; }\n set multi(multi: boolean) { this._multi = coerceBooleanProperty(multi); }\n private _multi: boolean = false;\n\n /** Opens all enabled accordion items in an accordion where multi is enabled. */\n openAll(): void {\n this._openCloseAll(true);\n }\n\n /** Closes all enabled accordion items in an accordion where multi is enabled. */\n closeAll(): void {\n this._openCloseAll(false);\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this._stateChanges.next(changes);\n }\n\n ngOnDestroy() {\n this._stateChanges.complete();\n }\n\n private _openCloseAll(expanded: boolean): void {\n if (this.multi) {\n this._openCloseAllActions.next(expanded);\n }\n }\n\n static ngAcceptInputType_multi: BooleanInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n Output,\n Directive,\n EventEmitter,\n Input,\n OnDestroy,\n Optional,\n ChangeDetectorRef,\n SkipSelf,\n Inject,\n} from '@angular/core';\nimport {UniqueSelectionDispatcher} from '@angular/cdk/collections';\nimport {CDK_ACCORDION, CdkAccordion} from './accordion';\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {Subscription} from 'rxjs';\n\n/** Used to generate unique ID for each accordion item. */\nlet nextId = 0;\n\n/**\n * An basic directive expected to be extended and decorated as a component. Sets up all\n * events and attributes needed to be managed by a CdkAccordion parent.\n */\n@Directive({\n selector: 'cdk-accordion-item, [cdkAccordionItem]',\n exportAs: 'cdkAccordionItem',\n providers: [\n // Provide `CDK_ACCORDION` as undefined to prevent nested accordion items from\n // registering to the same accordion.\n {provide: CDK_ACCORDION, useValue: undefined},\n ],\n})\nexport class CdkAccordionItem implements OnDestroy {\n /** Subscription to openAll/closeAll events. */\n private _openCloseAllSubscription = Subscription.EMPTY;\n /** Event emitted every time the AccordionItem is closed. */\n @Output() closed: EventEmitter = new EventEmitter();\n /** Event emitted every time the AccordionItem is opened. */\n @Output() opened: EventEmitter = new EventEmitter();\n /** Event emitted when the AccordionItem is destroyed. */\n @Output() destroyed: EventEmitter = new EventEmitter();\n\n /**\n * Emits whenever the expanded state of the accordion changes.\n * Primarily used to facilitate two-way binding.\n * @docs-private\n */\n @Output() expandedChange: EventEmitter = new EventEmitter();\n\n /** The unique AccordionItem id. */\n readonly id: string = `cdk-accordion-child-${nextId++}`;\n\n /** Whether the AccordionItem is expanded. */\n @Input()\n get expanded(): any { return this._expanded; }\n set expanded(expanded: any) {\n expanded = coerceBooleanProperty(expanded);\n\n // Only emit events and update the internal value if the value changes.\n if (this._expanded !== expanded) {\n this._expanded = expanded;\n this.expandedChange.emit(expanded);\n\n if (expanded) {\n this.opened.emit();\n /**\n * In the unique selection dispatcher, the id parameter is the id of the CdkAccordionItem,\n * the name value is the id of the accordion.\n */\n const accordionId = this.accordion ? this.accordion.id : this.id;\n this._expansionDispatcher.notify(this.id, accordionId);\n } else {\n this.closed.emit();\n }\n\n // Ensures that the animation will run when the value is set outside of an `@Input`.\n // This includes cases like the open, close and toggle methods.\n this._changeDetectorRef.markForCheck();\n }\n }\n private _expanded = false;\n\n /** Whether the AccordionItem is disabled. */\n @Input()\n get disabled() { return this._disabled; }\n set disabled(disabled: any) { this._disabled = coerceBooleanProperty(disabled); }\n private _disabled: boolean = false;\n\n /** Unregister function for _expansionDispatcher. */\n private _removeUniqueSelectionListener: () => void = () => {};\n\n constructor(@Optional() @Inject(CDK_ACCORDION) @SkipSelf() public accordion: CdkAccordion,\n private _changeDetectorRef: ChangeDetectorRef,\n protected _expansionDispatcher: UniqueSelectionDispatcher) {\n this._removeUniqueSelectionListener =\n _expansionDispatcher.listen((id: string, accordionId: string) => {\n if (this.accordion && !this.accordion.multi &&\n this.accordion.id === accordionId && this.id !== id) {\n this.expanded = false;\n }\n });\n\n // When an accordion item is hosted in an accordion, subscribe to open/close events.\n if (this.accordion) {\n this._openCloseAllSubscription = this._subscribeToOpenCloseAllActions();\n }\n }\n\n /** Emits an event for the accordion item being destroyed. */\n ngOnDestroy() {\n this.opened.complete();\n this.closed.complete();\n this.destroyed.emit();\n this.destroyed.complete();\n this._removeUniqueSelectionListener();\n this._openCloseAllSubscription.unsubscribe();\n }\n\n /** Toggles the expanded state of the accordion item. */\n toggle(): void {\n if (!this.disabled) {\n this.expanded = !this.expanded;\n }\n }\n\n /** Sets the expanded state of the accordion item to false. */\n close(): void {\n if (!this.disabled) {\n this.expanded = false;\n }\n }\n\n /** Sets the expanded state of the accordion item to true. */\n open(): void {\n if (!this.disabled) {\n this.expanded = true;\n }\n }\n\n private _subscribeToOpenCloseAllActions(): Subscription {\n return this.accordion._openCloseAllActions.subscribe(expanded => {\n // Only change expanded state if item is enabled\n if (!this.disabled) {\n this.expanded = expanded;\n }\n });\n }\n\n static ngAcceptInputType_expanded: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {CdkAccordion} from './accordion';\nimport {CdkAccordionItem} from './accordion-item';\n\n\n@NgModule({\n exports: [CdkAccordion, CdkAccordionItem],\n declarations: [CdkAccordion, CdkAccordionItem],\n})\nexport class CdkAccordionModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport {CdkAccordionItem} from './accordion-item';\nexport {CdkAccordion} from './accordion';\nexport * from './accordion-module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {CDK_ACCORDION as ɵangular_material_src_cdk_accordion_accordion_a} from './accordion';","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {DOCUMENT} from '@angular/common';\nimport {inject, InjectionToken} from '@angular/core';\n\n\n/**\n * Injection token used to inject the document into Directionality.\n * This is used so that the value can be faked in tests.\n *\n * We can't use the real document in tests because changing the real `dir` causes geometry-based\n * tests in Safari to fail.\n *\n * We also can't re-provide the DOCUMENT token from platform-brower because the unit tests\n * themselves use things like `querySelector` in test code.\n *\n * This token is defined in a separate file from Directionality as a workaround for\n * https://github.com/angular/angular/issues/22559\n *\n * @docs-private\n */\nexport const DIR_DOCUMENT = new InjectionToken('cdk-dir-doc', {\n providedIn: 'root',\n factory: DIR_DOCUMENT_FACTORY,\n});\n\n/** @docs-private */\nexport function DIR_DOCUMENT_FACTORY(): Document {\n return inject(DOCUMENT);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {EventEmitter, Inject, Injectable, Optional, OnDestroy} from '@angular/core';\nimport {DIR_DOCUMENT} from './dir-document-token';\n\n\nexport type Direction = 'ltr' | 'rtl';\n\n\n/**\n * The directionality (LTR / RTL) context for the application (or a subtree of it).\n * Exposes the current direction and a stream of direction changes.\n */\n@Injectable({providedIn: 'root'})\nexport class Directionality implements OnDestroy {\n /** The current 'ltr' or 'rtl' value. */\n readonly value: Direction = 'ltr';\n\n /** Stream that emits whenever the 'ltr' / 'rtl' state changes. */\n readonly change = new EventEmitter();\n\n constructor(@Optional() @Inject(DIR_DOCUMENT) _document?: any) {\n if (_document) {\n // TODO: handle 'auto' value -\n // We still need to account for dir=\"auto\".\n // It looks like HTMLElemenet.dir is also \"auto\" when that's set to the attribute,\n // but getComputedStyle return either \"ltr\" or \"rtl\". avoiding getComputedStyle for now\n const bodyDir = _document.body ? _document.body.dir : null;\n const htmlDir = _document.documentElement ? _document.documentElement.dir : null;\n const value = bodyDir || htmlDir;\n this.value = (value === 'ltr' || value === 'rtl') ? value : 'ltr';\n }\n }\n\n ngOnDestroy() {\n this.change.complete();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n Directive,\n Output,\n Input,\n EventEmitter,\n AfterContentInit,\n OnDestroy,\n} from '@angular/core';\n\nimport {Direction, Directionality} from './directionality';\n\n/**\n * Directive to listen for changes of direction of part of the DOM.\n *\n * Provides itself as Directionality such that descendant directives only need to ever inject\n * Directionality to get the closest direction.\n */\n@Directive({\n selector: '[dir]',\n providers: [{provide: Directionality, useExisting: Dir}],\n host: {'[attr.dir]': '_rawDir'},\n exportAs: 'dir',\n})\nexport class Dir implements Directionality, AfterContentInit, OnDestroy {\n /** Normalized direction that accounts for invalid/unsupported values. */\n private _dir: Direction = 'ltr';\n\n /** Whether the `value` has been set to its initial value. */\n private _isInitialized: boolean = false;\n\n /** Direction as passed in by the consumer. */\n _rawDir: string;\n\n /** Event emitted when the direction changes. */\n @Output('dirChange') change = new EventEmitter();\n\n /** @docs-private */\n @Input()\n get dir(): Direction { return this._dir; }\n set dir(value: Direction) {\n const old = this._dir;\n const normalizedValue = value ? value.toLowerCase() : value;\n\n this._rawDir = value;\n this._dir = (normalizedValue === 'ltr' || normalizedValue === 'rtl') ? normalizedValue : 'ltr';\n\n if (old !== this._dir && this._isInitialized) {\n this.change.emit(this._dir);\n }\n }\n\n /** Current layout direction of the element. */\n get value(): Direction { return this.dir; }\n\n /** Initialize once default value has been set. */\n ngAfterContentInit() {\n this._isInitialized = true;\n }\n\n ngOnDestroy() {\n this.change.complete();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {Dir} from './dir';\n\n\n@NgModule({\n exports: [Dir],\n declarations: [Dir],\n})\nexport class BidiModule { }\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport {Directionality, Direction} from './directionality';\nexport {DIR_DOCUMENT} from './dir-document-token';\nexport {Dir} from './dir';\nexport * from './bidi-module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {DIR_DOCUMENT_FACTORY as ɵangular_material_src_cdk_bidi_bidi_a} from './dir-document-token';","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Observable} from 'rxjs';\nimport {CollectionViewer} from './collection-viewer';\n\nexport abstract class DataSource {\n /**\n * Connects a collection viewer (such as a data-table) to this data source. Note that\n * the stream provided will be accessed during change detection and should not directly change\n * values that are bound in template views.\n * @param collectionViewer The component that exposes a view over the data provided by this\n * data source.\n * @returns Observable that emits a new value when the data changes.\n */\n abstract connect(collectionViewer: CollectionViewer): Observable>;\n\n /**\n * Disconnects a collection viewer (such as a data-table) from this data source. Can be used\n * to perform any clean-up or tear-down operations when a view is being destroyed.\n *\n * @param collectionViewer The component that exposes a view over the data provided by this\n * data source.\n */\n abstract disconnect(collectionViewer: CollectionViewer): void;\n}\n\n/** Checks whether an object is a data source. */\nexport function isDataSource(value: any): value is DataSource {\n // Check if the value is a DataSource by observing if it has a connect function. Cannot\n // be checked as an `instanceof DataSource` since people could create their own sources\n // that match the interface, but don't extend DataSource.\n return value && typeof value.connect === 'function';\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Observable, isObservable, of as observableOf} from 'rxjs';\nimport {DataSource} from './data-source';\n\n\n/** DataSource wrapper for a native array. */\nexport class ArrayDataSource extends DataSource {\n constructor(private _data: T[] | ReadonlyArray | Observable>) {\n super();\n }\n\n connect(): Observable> {\n return isObservable(this._data) ? this._data : observableOf(this._data);\n }\n\n disconnect() {}\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Observable} from 'rxjs';\n\n\n/** Represents a range of numbers with a specified start and end. */\nexport type ListRange = {start: number, end: number};\n\n\n/**\n * Interface for any component that provides a view of some data collection and wants to provide\n * information regarding the view and any changes made.\n */\nexport interface CollectionViewer {\n /**\n * A stream that emits whenever the `CollectionViewer` starts looking at a new portion of the\n * data. The `start` index is inclusive, while the `end` is exclusive.\n */\n viewChange: Observable;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n EmbeddedViewRef,\n IterableChangeRecord,\n IterableChanges,\n ViewContainerRef\n} from '@angular/core';\nimport {\n _ViewRepeater,\n _ViewRepeaterItemChanged,\n _ViewRepeaterItemContext,\n _ViewRepeaterItemContextFactory,\n _ViewRepeaterItemValueResolver,\n _ViewRepeaterOperation\n} from './view-repeater';\n\n/**\n * A repeater that destroys views when they are removed from a\n * {@link ViewContainerRef}. When new items are inserted into the container,\n * the repeater will always construct a new embedded view for each item.\n *\n * @template T The type for the embedded view's $implicit property.\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nexport class _DisposeViewRepeaterStrategy>\n implements _ViewRepeater {\n applyChanges(changes: IterableChanges,\n viewContainerRef: ViewContainerRef,\n itemContextFactory: _ViewRepeaterItemContextFactory,\n itemValueResolver: _ViewRepeaterItemValueResolver,\n itemViewChanged?: _ViewRepeaterItemChanged) {\n changes.forEachOperation(\n (record: IterableChangeRecord,\n adjustedPreviousIndex: number | null,\n currentIndex: number | null) => {\n let view: EmbeddedViewRef | undefined;\n let operation: _ViewRepeaterOperation;\n if (record.previousIndex == null) {\n const insertContext = itemContextFactory(record, adjustedPreviousIndex, currentIndex);\n view = viewContainerRef.createEmbeddedView(\n insertContext.templateRef, insertContext.context, insertContext.index);\n operation = _ViewRepeaterOperation.INSERTED;\n } else if (currentIndex == null) {\n viewContainerRef.remove(adjustedPreviousIndex!);\n operation = _ViewRepeaterOperation.REMOVED;\n } else {\n view = viewContainerRef.get(adjustedPreviousIndex!) as EmbeddedViewRef;\n viewContainerRef.move(view!, currentIndex);\n operation = _ViewRepeaterOperation.MOVED;\n }\n\n if (itemViewChanged) {\n itemViewChanged({\n context: view?.context,\n operation,\n record,\n });\n }\n });\n }\n\n detach() {\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n EmbeddedViewRef,\n IterableChangeRecord,\n IterableChanges,\n ViewContainerRef\n} from '@angular/core';\nimport {\n _ViewRepeater,\n _ViewRepeaterItemChanged,\n _ViewRepeaterItemContext,\n _ViewRepeaterItemContextFactory,\n _ViewRepeaterItemInsertArgs,\n _ViewRepeaterItemValueResolver,\n _ViewRepeaterOperation\n} from './view-repeater';\n\n\n/**\n * A repeater that caches views when they are removed from a\n * {@link ViewContainerRef}. When new items are inserted into the container,\n * the repeater will reuse one of the cached views instead of creating a new\n * embedded view. Recycling cached views reduces the quantity of expensive DOM\n * inserts.\n *\n * @template T The type for the embedded view's $implicit property.\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nexport class _RecycleViewRepeaterStrategy>\n implements _ViewRepeater {\n /**\n * The size of the cache used to store unused views.\n * Setting the cache size to `0` will disable caching. Defaults to 20 views.\n */\n viewCacheSize: number = 20;\n\n /**\n * View cache that stores embedded view instances that have been previously stamped out,\n * but don't are not currently rendered. The view repeater will reuse these views rather than\n * creating brand new ones.\n *\n * TODO(michaeljamesparsons) Investigate whether using a linked list would improve performance.\n */\n private _viewCache: EmbeddedViewRef[] = [];\n\n /** Apply changes to the DOM. */\n applyChanges(changes: IterableChanges,\n viewContainerRef: ViewContainerRef,\n itemContextFactory: _ViewRepeaterItemContextFactory,\n itemValueResolver: _ViewRepeaterItemValueResolver,\n itemViewChanged?: _ViewRepeaterItemChanged) {\n // Rearrange the views to put them in the right location.\n changes.forEachOperation((record: IterableChangeRecord,\n adjustedPreviousIndex: number | null,\n currentIndex: number | null) => {\n let view: EmbeddedViewRef | undefined;\n let operation: _ViewRepeaterOperation;\n if (record.previousIndex == null) { // Item added.\n const viewArgsFactory = () => itemContextFactory(\n record, adjustedPreviousIndex, currentIndex);\n view = this._insertView(viewArgsFactory, currentIndex!, viewContainerRef,\n itemValueResolver(record));\n operation = view ? _ViewRepeaterOperation.INSERTED : _ViewRepeaterOperation.REPLACED;\n } else if (currentIndex == null) { // Item removed.\n this._detachAndCacheView(adjustedPreviousIndex!, viewContainerRef);\n operation = _ViewRepeaterOperation.REMOVED;\n } else { // Item moved.\n view = this._moveView(adjustedPreviousIndex!, currentIndex!, viewContainerRef,\n itemValueResolver(record));\n operation = _ViewRepeaterOperation.MOVED;\n }\n\n if (itemViewChanged) {\n itemViewChanged({\n context: view?.context,\n operation,\n record,\n });\n }\n });\n }\n\n detach() {\n for (const view of this._viewCache) {\n view.destroy();\n }\n }\n\n /**\n * Inserts a view for a new item, either from the cache or by creating a new\n * one. Returns `undefined` if the item was inserted into a cached view.\n */\n private _insertView(viewArgsFactory: () => _ViewRepeaterItemInsertArgs, currentIndex: number,\n viewContainerRef: ViewContainerRef,\n value: T): EmbeddedViewRef | undefined {\n let cachedView = this._insertViewFromCache(currentIndex!, viewContainerRef);\n if (cachedView) {\n cachedView.context.$implicit = value;\n return undefined;\n }\n\n const viewArgs = viewArgsFactory();\n return viewContainerRef.createEmbeddedView(\n viewArgs.templateRef, viewArgs.context, viewArgs.index);\n }\n\n /** Detaches the view at the given index and inserts into the view cache. */\n private _detachAndCacheView(index: number, viewContainerRef: ViewContainerRef) {\n const detachedView = this._detachView(index, viewContainerRef);\n this._maybeCacheView(detachedView, viewContainerRef);\n }\n\n /** Moves view at the previous index to the current index. */\n private _moveView(adjustedPreviousIndex: number, currentIndex: number,\n viewContainerRef: ViewContainerRef, value: T): EmbeddedViewRef {\n const view = viewContainerRef.get(adjustedPreviousIndex!) as\n EmbeddedViewRef;\n viewContainerRef.move(view, currentIndex);\n view.context.$implicit = value;\n return view;\n }\n\n /**\n * Cache the given detached view. If the cache is full, the view will be\n * destroyed.\n */\n private _maybeCacheView(view: EmbeddedViewRef, viewContainerRef: ViewContainerRef) {\n if (this._viewCache.length < this.viewCacheSize) {\n this._viewCache.push(view);\n } else {\n const index = viewContainerRef.indexOf(view);\n\n // The host component could remove views from the container outside of\n // the view repeater. It's unlikely this will occur, but just in case,\n // destroy the view on its own, otherwise destroy it through the\n // container to ensure that all the references are removed.\n if (index === -1) {\n view.destroy();\n } else {\n viewContainerRef.remove(index);\n }\n }\n }\n\n /** Inserts a recycled view from the cache at the given index. */\n private _insertViewFromCache(index: number,\n viewContainerRef: ViewContainerRef): EmbeddedViewRef | null {\n const cachedView = this._viewCache.pop();\n if (cachedView) {\n viewContainerRef.insert(cachedView, index);\n }\n return cachedView || null;\n }\n\n /** Detaches the embedded view at the given index. */\n private _detachView(index: number, viewContainerRef: ViewContainerRef): EmbeddedViewRef {\n return viewContainerRef.detach(index) as EmbeddedViewRef;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Subject} from 'rxjs';\n\n/**\n * Class to be used to power selecting one or more options from a list.\n */\nexport class SelectionModel {\n /** Currently-selected values. */\n private _selection = new Set();\n\n /** Keeps track of the deselected options that haven't been emitted by the change event. */\n private _deselectedToEmit: T[] = [];\n\n /** Keeps track of the selected options that haven't been emitted by the change event. */\n private _selectedToEmit: T[] = [];\n\n /** Cache for the array value of the selected items. */\n private _selected: T[] | null;\n\n /** Selected values. */\n get selected(): T[] {\n if (!this._selected) {\n this._selected = Array.from(this._selection.values());\n }\n\n return this._selected;\n }\n\n /** Event emitted when the value has changed. */\n changed: Subject> = new Subject();\n\n constructor(\n private _multiple = false,\n initiallySelectedValues?: T[],\n private _emitChanges = true) {\n\n if (initiallySelectedValues && initiallySelectedValues.length) {\n if (_multiple) {\n initiallySelectedValues.forEach(value => this._markSelected(value));\n } else {\n this._markSelected(initiallySelectedValues[0]);\n }\n\n // Clear the array in order to avoid firing the change event for preselected values.\n this._selectedToEmit.length = 0;\n }\n }\n\n /**\n * Selects a value or an array of values.\n */\n select(...values: T[]): void {\n this._verifyValueAssignment(values);\n values.forEach(value => this._markSelected(value));\n this._emitChangeEvent();\n }\n\n /**\n * Deselects a value or an array of values.\n */\n deselect(...values: T[]): void {\n this._verifyValueAssignment(values);\n values.forEach(value => this._unmarkSelected(value));\n this._emitChangeEvent();\n }\n\n /**\n * Toggles a value between selected and deselected.\n */\n toggle(value: T): void {\n this.isSelected(value) ? this.deselect(value) : this.select(value);\n }\n\n /**\n * Clears all of the selected values.\n */\n clear(): void {\n this._unmarkAll();\n this._emitChangeEvent();\n }\n\n /**\n * Determines whether a value is selected.\n */\n isSelected(value: T): boolean {\n return this._selection.has(value);\n }\n\n /**\n * Determines whether the model does not have a value.\n */\n isEmpty(): boolean {\n return this._selection.size === 0;\n }\n\n /**\n * Determines whether the model has a value.\n */\n hasValue(): boolean {\n return !this.isEmpty();\n }\n\n /**\n * Sorts the selected values based on a predicate function.\n */\n sort(predicate?: (a: T, b: T) => number): void {\n if (this._multiple && this.selected) {\n this._selected!.sort(predicate);\n }\n }\n\n /**\n * Gets whether multiple values can be selected.\n */\n isMultipleSelection() {\n return this._multiple;\n }\n\n /** Emits a change event and clears the records of selected and deselected values. */\n private _emitChangeEvent() {\n // Clear the selected values so they can be re-cached.\n this._selected = null;\n\n if (this._selectedToEmit.length || this._deselectedToEmit.length) {\n this.changed.next({\n source: this,\n added: this._selectedToEmit,\n removed: this._deselectedToEmit\n });\n\n this._deselectedToEmit = [];\n this._selectedToEmit = [];\n }\n }\n\n /** Selects a value. */\n private _markSelected(value: T) {\n if (!this.isSelected(value)) {\n if (!this._multiple) {\n this._unmarkAll();\n }\n\n this._selection.add(value);\n\n if (this._emitChanges) {\n this._selectedToEmit.push(value);\n }\n }\n }\n\n /** Deselects a value. */\n private _unmarkSelected(value: T) {\n if (this.isSelected(value)) {\n this._selection.delete(value);\n\n if (this._emitChanges) {\n this._deselectedToEmit.push(value);\n }\n }\n }\n\n /** Clears out the selected values. */\n private _unmarkAll() {\n if (!this.isEmpty()) {\n this._selection.forEach(value => this._unmarkSelected(value));\n }\n }\n\n /**\n * Verifies the value assignment and throws an error if the specified value array is\n * including multiple values while the selection model is not supporting multiple values.\n */\n private _verifyValueAssignment(values: T[]) {\n if (values.length > 1 && !this._multiple && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMultipleValuesInSingleSelectionError();\n }\n }\n}\n\n/**\n * Event emitted when the value of a MatSelectionModel has changed.\n * @docs-private\n */\nexport interface SelectionChange {\n /** Model that dispatched the event. */\n source: SelectionModel;\n /** Options that were added to the model. */\n added: T[];\n /** Options that were removed from the model. */\n removed: T[];\n}\n\n/**\n * Returns an error that reports that multiple values are passed into a selection model\n * with a single value.\n * @docs-private\n */\nexport function getMultipleValuesInSingleSelectionError() {\n return Error('Cannot pass multiple values into SelectionModel with single-value mode.');\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, OnDestroy} from '@angular/core';\n\n\n// Users of the Dispatcher never need to see this type, but TypeScript requires it to be exported.\nexport type UniqueSelectionDispatcherListener = (id: string, name: string) => void;\n\n/**\n * Class to coordinate unique selection based on name.\n * Intended to be consumed as an Angular service.\n * This service is needed because native radio change events are only fired on the item currently\n * being selected, and we still need to uncheck the previous selection.\n *\n * This service does not *store* any IDs and names because they may change at any time, so it is\n * less error-prone if they are simply passed through when the events occur.\n */\n@Injectable({providedIn: 'root'})\nexport class UniqueSelectionDispatcher implements OnDestroy {\n private _listeners: UniqueSelectionDispatcherListener[] = [];\n\n /**\n * Notify other items that selection for the given name has been set.\n * @param id ID of the item.\n * @param name Name of the item.\n */\n notify(id: string, name: string) {\n for (let listener of this._listeners) {\n listener(id, name);\n }\n }\n\n /**\n * Listen for future changes to item selection.\n * @return Function used to deregister listener\n */\n listen(listener: UniqueSelectionDispatcherListener): () => void {\n this._listeners.push(listener);\n return () => {\n this._listeners = this._listeners.filter((registered: UniqueSelectionDispatcherListener) => {\n return listener !== registered;\n });\n };\n }\n\n ngOnDestroy() {\n this._listeners = [];\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {SelectionModel} from './selection-model';\n\n\n/**\n * Interface for a class that can flatten hierarchical structured data and re-expand the flattened\n * data back into its original structure. Should be used in conjunction with the cdk-tree.\n */\nexport interface TreeDataNodeFlattener {\n /** Transforms a set of hierarchical structured data into a flattened data array. */\n flattenNodes(structuredData: any[]): T[];\n\n /**\n * Expands a flattened array of data into its hierarchical form using the provided expansion\n * model.\n */\n expandFlattenedNodes(nodes: T[], expansionModel: SelectionModel): T[];\n\n /**\n * Put node descendants of node in array.\n * If `onlyExpandable` is true, then only process expandable descendants.\n */\n nodeDescendents(node: T, nodes: T[], onlyExpandable: boolean): void;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n InjectionToken,\n IterableChangeRecord,\n IterableChanges,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\n\n/**\n * The context for an embedded view in the repeater's view container.\n *\n * @template T The type for the embedded view's $implicit property.\n */\nexport interface _ViewRepeaterItemContext {\n $implicit?: T;\n}\n\n/**\n * The arguments needed to construct an embedded view for an item in a view\n * container.\n *\n * @template C The type for the context passed to each embedded view.\n */\nexport interface _ViewRepeaterItemInsertArgs {\n templateRef: TemplateRef;\n context?: C;\n index?: number;\n}\n\n/**\n * A factory that derives the embedded view context for an item in a view\n * container.\n *\n * @template T The type for the embedded view's $implicit property.\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nexport type _ViewRepeaterItemContextFactory> =\n (record: IterableChangeRecord,\n adjustedPreviousIndex: number | null,\n currentIndex: number | null) => _ViewRepeaterItemInsertArgs;\n\n/**\n * Extracts the value of an item from an {@link IterableChangeRecord}.\n *\n * @template T The type for the embedded view's $implicit property.\n * @template R The type for the item in each IterableDiffer change record.\n */\nexport type _ViewRepeaterItemValueResolver =\n (record: IterableChangeRecord) => T;\n\n/** Indicates how a view was changed by a {@link _ViewRepeater}. */\nexport const enum _ViewRepeaterOperation {\n /** The content of an existing view was replaced with another item. */\n REPLACED,\n /** A new view was created with `createEmbeddedView`. */\n INSERTED,\n /** The position of a view changed, but the content remains the same. */\n MOVED,\n /** A view was detached from the view container. */\n REMOVED,\n}\n\n/**\n * Meta data describing the state of a view after it was updated by a\n * {@link _ViewRepeater}.\n *\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nexport interface _ViewRepeaterItemChange {\n /** The view's context after it was changed. */\n context?: C;\n /** Indicates how the view was changed. */\n operation: _ViewRepeaterOperation;\n /** The view's corresponding change record. */\n record: IterableChangeRecord;\n}\n\n/**\n * Type for a callback to be executed after a view has changed.\n *\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nexport type _ViewRepeaterItemChanged =\n (change: _ViewRepeaterItemChange) => void;\n\n/**\n * Describes a strategy for rendering items in a {@link ViewContainerRef}.\n *\n * @template T The type for the embedded view's $implicit property.\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nexport interface _ViewRepeater> {\n applyChanges(\n changes: IterableChanges,\n viewContainerRef: ViewContainerRef,\n itemContextFactory: _ViewRepeaterItemContextFactory,\n itemValueResolver: _ViewRepeaterItemValueResolver,\n itemViewChanged?: _ViewRepeaterItemChanged): void;\n\n detach(): void;\n}\n\n/**\n * Injection token for {@link _ViewRepeater}. This token is for use by Angular Material only.\n * @docs-private\n */\nexport const _VIEW_REPEATER_STRATEGY = new InjectionToken<\n _ViewRepeater>>('_ViewRepeater');\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './array-data-source';\nexport * from './collection-viewer';\nexport * from './data-source';\nexport * from './dispose-view-repeater-strategy';\nexport * from './recycle-view-repeater-strategy';\nexport * from './selection-model';\nexport {\n UniqueSelectionDispatcher,\n UniqueSelectionDispatcherListener,\n} from './unique-selection-dispatcher';\nexport * from './tree-adapter';\nexport * from './view-repeater';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport const MAC_ENTER = 3;\nexport const BACKSPACE = 8;\nexport const TAB = 9;\nexport const NUM_CENTER = 12;\nexport const ENTER = 13;\nexport const SHIFT = 16;\nexport const CONTROL = 17;\nexport const ALT = 18;\nexport const PAUSE = 19;\nexport const CAPS_LOCK = 20;\nexport const ESCAPE = 27;\nexport const SPACE = 32;\nexport const PAGE_UP = 33;\nexport const PAGE_DOWN = 34;\nexport const END = 35;\nexport const HOME = 36;\nexport const LEFT_ARROW = 37;\nexport const UP_ARROW = 38;\nexport const RIGHT_ARROW = 39;\nexport const DOWN_ARROW = 40;\nexport const PLUS_SIGN = 43;\nexport const PRINT_SCREEN = 44;\nexport const INSERT = 45;\nexport const DELETE = 46;\nexport const ZERO = 48;\nexport const ONE = 49;\nexport const TWO = 50;\nexport const THREE = 51;\nexport const FOUR = 52;\nexport const FIVE = 53;\nexport const SIX = 54;\nexport const SEVEN = 55;\nexport const EIGHT = 56;\nexport const NINE = 57;\nexport const FF_SEMICOLON = 59; // Firefox (Gecko) fires this for semicolon instead of 186\nexport const FF_EQUALS = 61; // Firefox (Gecko) fires this for equals instead of 187\nexport const QUESTION_MARK = 63;\nexport const AT_SIGN = 64;\nexport const A = 65;\nexport const B = 66;\nexport const C = 67;\nexport const D = 68;\nexport const E = 69;\nexport const F = 70;\nexport const G = 71;\nexport const H = 72;\nexport const I = 73;\nexport const J = 74;\nexport const K = 75;\nexport const L = 76;\nexport const M = 77;\nexport const N = 78;\nexport const O = 79;\nexport const P = 80;\nexport const Q = 81;\nexport const R = 82;\nexport const S = 83;\nexport const T = 84;\nexport const U = 85;\nexport const V = 86;\nexport const W = 87;\nexport const X = 88;\nexport const Y = 89;\nexport const Z = 90;\nexport const META = 91; // WIN_KEY_LEFT\nexport const MAC_WK_CMD_LEFT = 91;\nexport const MAC_WK_CMD_RIGHT = 93;\nexport const CONTEXT_MENU = 93;\nexport const NUMPAD_ZERO = 96;\nexport const NUMPAD_ONE = 97;\nexport const NUMPAD_TWO = 98;\nexport const NUMPAD_THREE = 99;\nexport const NUMPAD_FOUR = 100;\nexport const NUMPAD_FIVE = 101;\nexport const NUMPAD_SIX = 102;\nexport const NUMPAD_SEVEN = 103;\nexport const NUMPAD_EIGHT = 104;\nexport const NUMPAD_NINE = 105;\nexport const NUMPAD_MULTIPLY = 106;\nexport const NUMPAD_PLUS = 107;\nexport const NUMPAD_MINUS = 109;\nexport const NUMPAD_PERIOD = 110;\nexport const NUMPAD_DIVIDE = 111;\nexport const F1 = 112;\nexport const F2 = 113;\nexport const F3 = 114;\nexport const F4 = 115;\nexport const F5 = 116;\nexport const F6 = 117;\nexport const F7 = 118;\nexport const F8 = 119;\nexport const F9 = 120;\nexport const F10 = 121;\nexport const F11 = 122;\nexport const F12 = 123;\nexport const NUM_LOCK = 144;\nexport const SCROLL_LOCK = 145;\nexport const FIRST_MEDIA = 166;\nexport const FF_MINUS = 173;\nexport const MUTE = 173; // Firefox (Gecko) fires 181 for MUTE\nexport const VOLUME_DOWN = 174; // Firefox (Gecko) fires 182 for VOLUME_DOWN\nexport const VOLUME_UP = 175; // Firefox (Gecko) fires 183 for VOLUME_UP\nexport const FF_MUTE = 181;\nexport const FF_VOLUME_DOWN = 182;\nexport const LAST_MEDIA = 183;\nexport const FF_VOLUME_UP = 183;\nexport const SEMICOLON = 186; // Firefox (Gecko) fires 59 for SEMICOLON\nexport const EQUALS = 187; // Firefox (Gecko) fires 61 for EQUALS\nexport const COMMA = 188;\nexport const DASH = 189; // Firefox (Gecko) fires 173 for DASH/MINUS\nexport const SLASH = 191;\nexport const APOSTROPHE = 192;\nexport const TILDE = 192;\nexport const OPEN_SQUARE_BRACKET = 219;\nexport const BACKSLASH = 220;\nexport const CLOSE_SQUARE_BRACKET = 221;\nexport const SINGLE_QUOTE = 222;\nexport const MAC_META = 224;\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\ntype ModifierKey = 'altKey' | 'shiftKey' | 'ctrlKey' | 'metaKey';\n\n/**\n * Checks whether a modifier key is pressed.\n * @param event Event to be checked.\n */\nexport function hasModifierKey(event: KeyboardEvent, ...modifiers: ModifierKey[]): boolean {\n if (modifiers.length) {\n return modifiers.some(modifier => event[modifier]);\n }\n\n return event.altKey || event.shiftKey || event.ctrlKey || event.metaKey;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './keycodes';\nexport * from './modifiers';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n coerceBooleanProperty,\n coerceNumberProperty,\n coerceElement,\n BooleanInput\n} from '@angular/cdk/coercion';\nimport {\n AfterContentInit,\n Directive,\n ElementRef,\n EventEmitter,\n Injectable,\n Input,\n NgModule,\n NgZone,\n OnDestroy,\n Output,\n} from '@angular/core';\nimport {Observable, Subject, Subscription, Observer} from 'rxjs';\nimport {debounceTime} from 'rxjs/operators';\n\n/**\n * Factory that creates a new MutationObserver and allows us to stub it out in unit tests.\n * @docs-private\n */\n@Injectable({providedIn: 'root'})\nexport class MutationObserverFactory {\n create(callback: MutationCallback): MutationObserver | null {\n return typeof MutationObserver === 'undefined' ? null : new MutationObserver(callback);\n }\n}\n\n\n/** An injectable service that allows watching elements for changes to their content. */\n@Injectable({providedIn: 'root'})\nexport class ContentObserver implements OnDestroy {\n /** Keeps track of the existing MutationObservers so they can be reused. */\n private _observedElements = new Map,\n count: number\n }>();\n\n constructor(private _mutationObserverFactory: MutationObserverFactory) {}\n\n ngOnDestroy() {\n this._observedElements.forEach((_, element) => this._cleanupObserver(element));\n }\n\n /**\n * Observe content changes on an element.\n * @param element The element to observe for content changes.\n */\n observe(element: Element): Observable;\n\n /**\n * Observe content changes on an element.\n * @param element The element to observe for content changes.\n */\n observe(element: ElementRef): Observable;\n\n observe(elementOrRef: Element | ElementRef): Observable {\n const element = coerceElement(elementOrRef);\n\n return new Observable((observer: Observer) => {\n const stream = this._observeElement(element);\n const subscription = stream.subscribe(observer);\n\n return () => {\n subscription.unsubscribe();\n this._unobserveElement(element);\n };\n });\n }\n\n /**\n * Observes the given element by using the existing MutationObserver if available, or creating a\n * new one if not.\n */\n private _observeElement(element: Element): Subject {\n if (!this._observedElements.has(element)) {\n const stream = new Subject();\n const observer = this._mutationObserverFactory.create(mutations => stream.next(mutations));\n if (observer) {\n observer.observe(element, {\n characterData: true,\n childList: true,\n subtree: true\n });\n }\n this._observedElements.set(element, {observer, stream, count: 1});\n } else {\n this._observedElements.get(element)!.count++;\n }\n return this._observedElements.get(element)!.stream;\n }\n\n /**\n * Un-observes the given element and cleans up the underlying MutationObserver if nobody else is\n * observing this element.\n */\n private _unobserveElement(element: Element) {\n if (this._observedElements.has(element)) {\n this._observedElements.get(element)!.count--;\n if (!this._observedElements.get(element)!.count) {\n this._cleanupObserver(element);\n }\n }\n }\n\n /** Clean up the underlying MutationObserver for the specified element. */\n private _cleanupObserver(element: Element) {\n if (this._observedElements.has(element)) {\n const {observer, stream} = this._observedElements.get(element)!;\n if (observer) {\n observer.disconnect();\n }\n stream.complete();\n this._observedElements.delete(element);\n }\n }\n}\n\n\n/**\n * Directive that triggers a callback whenever the content of\n * its associated element has changed.\n */\n@Directive({\n selector: '[cdkObserveContent]',\n exportAs: 'cdkObserveContent',\n})\nexport class CdkObserveContent implements AfterContentInit, OnDestroy {\n /** Event emitted for each change in the element's content. */\n @Output('cdkObserveContent') event = new EventEmitter();\n\n /**\n * Whether observing content is disabled. This option can be used\n * to disconnect the underlying MutationObserver until it is needed.\n */\n @Input('cdkObserveContentDisabled')\n get disabled() { return this._disabled; }\n set disabled(value: any) {\n this._disabled = coerceBooleanProperty(value);\n this._disabled ? this._unsubscribe() : this._subscribe();\n }\n private _disabled = false;\n\n /** Debounce interval for emitting the changes. */\n @Input()\n get debounce(): number { return this._debounce; }\n set debounce(value: number) {\n this._debounce = coerceNumberProperty(value);\n this._subscribe();\n }\n private _debounce: number;\n\n private _currentSubscription: Subscription | null = null;\n\n constructor(private _contentObserver: ContentObserver,\n private _elementRef: ElementRef,\n private _ngZone: NgZone) {}\n\n ngAfterContentInit() {\n if (!this._currentSubscription && !this.disabled) {\n this._subscribe();\n }\n }\n\n ngOnDestroy() {\n this._unsubscribe();\n }\n\n private _subscribe() {\n this._unsubscribe();\n const stream = this._contentObserver.observe(this._elementRef);\n\n // TODO(mmalerba): We shouldn't be emitting on this @Output() outside the zone.\n // Consider brining it back inside the zone next time we're making breaking changes.\n // Bringing it back inside can cause things like infinite change detection loops and changed\n // after checked errors if people's code isn't handling it properly.\n this._ngZone.runOutsideAngular(() => {\n this._currentSubscription =\n (this.debounce ? stream.pipe(debounceTime(this.debounce)) : stream).subscribe(this.event);\n });\n }\n\n private _unsubscribe() {\n if (this._currentSubscription) {\n this._currentSubscription.unsubscribe();\n }\n }\n\n static ngAcceptInputType_disabled: BooleanInput;\n static ngAcceptInputType_debounce: BooleanInput;\n}\n\n\n@NgModule({\n exports: [CdkObserveContent],\n declarations: [CdkObserveContent],\n providers: [MutationObserverFactory]\n})\nexport class ObserversModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './observe-content';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ScrollStrategy} from './scroll-strategy';\nimport {ViewportRuler} from '@angular/cdk/scrolling';\nimport {coerceCssPixelValue} from '@angular/cdk/coercion';\n\n/**\n * Extended `CSSStyleDeclaration` that includes `scrollBehavior` which isn't part of the\n * built-in TS typings. Once it is, this declaration can be removed safely.\n * @docs-private\n */\ntype ScrollBehaviorCSSStyleDeclaration = CSSStyleDeclaration & {scrollBehavior: string};\n\n/**\n * Strategy that will prevent the user from scrolling while the overlay is visible.\n */\nexport class BlockScrollStrategy implements ScrollStrategy {\n private _previousHTMLStyles = {top: '', left: ''};\n private _previousScrollPosition: { top: number, left: number };\n private _isEnabled = false;\n private _document: Document;\n\n constructor(private _viewportRuler: ViewportRuler, document: any) {\n this._document = document;\n }\n\n /** Attaches this scroll strategy to an overlay. */\n attach() { }\n\n /** Blocks page-level scroll while the attached overlay is open. */\n enable() {\n if (this._canBeEnabled()) {\n const root = this._document.documentElement!;\n\n this._previousScrollPosition = this._viewportRuler.getViewportScrollPosition();\n\n // Cache the previous inline styles in case the user had set them.\n this._previousHTMLStyles.left = root.style.left || '';\n this._previousHTMLStyles.top = root.style.top || '';\n\n // Note: we're using the `html` node, instead of the `body`, because the `body` may\n // have the user agent margin, whereas the `html` is guaranteed not to have one.\n root.style.left = coerceCssPixelValue(-this._previousScrollPosition.left);\n root.style.top = coerceCssPixelValue(-this._previousScrollPosition.top);\n root.classList.add('cdk-global-scrollblock');\n this._isEnabled = true;\n }\n }\n\n /** Unblocks page-level scroll while the attached overlay is open. */\n disable() {\n if (this._isEnabled) {\n const html = this._document.documentElement!;\n const body = this._document.body!;\n const htmlStyle = html.style as ScrollBehaviorCSSStyleDeclaration;\n const bodyStyle = body.style as ScrollBehaviorCSSStyleDeclaration;\n const previousHtmlScrollBehavior = htmlStyle.scrollBehavior || '';\n const previousBodyScrollBehavior = bodyStyle.scrollBehavior || '';\n\n this._isEnabled = false;\n\n htmlStyle.left = this._previousHTMLStyles.left;\n htmlStyle.top = this._previousHTMLStyles.top;\n html.classList.remove('cdk-global-scrollblock');\n\n // Disable user-defined smooth scrolling temporarily while we restore the scroll position.\n // See https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior\n htmlStyle.scrollBehavior = bodyStyle.scrollBehavior = 'auto';\n\n window.scroll(this._previousScrollPosition.left, this._previousScrollPosition.top);\n\n htmlStyle.scrollBehavior = previousHtmlScrollBehavior;\n bodyStyle.scrollBehavior = previousBodyScrollBehavior;\n }\n }\n\n private _canBeEnabled(): boolean {\n // Since the scroll strategies can't be singletons, we have to use a global CSS class\n // (`cdk-global-scrollblock`) to make sure that we don't try to disable global\n // scrolling multiple times.\n const html = this._document.documentElement!;\n\n if (html.classList.contains('cdk-global-scrollblock') || this._isEnabled) {\n return false;\n }\n\n const body = this._document.body;\n const viewport = this._viewportRuler.getViewportSize();\n return body.scrollHeight > viewport.height || body.scrollWidth > viewport.width;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {OverlayReference} from '../overlay-reference';\n\n/**\n * Describes a strategy that will be used by an overlay to handle scroll events while it is open.\n */\nexport interface ScrollStrategy {\n /** Enable this scroll strategy (called when the attached overlay is attached to a portal). */\n enable: () => void;\n\n /** Disable this scroll strategy (called when the attached overlay is detached from a portal). */\n disable: () => void;\n\n /** Attaches this `ScrollStrategy` to an overlay. */\n attach: (overlayRef: OverlayReference) => void;\n\n /** Detaches the scroll strategy from the current overlay. */\n detach?: () => void;\n}\n\n/**\n * Returns an error to be thrown when attempting to attach an already-attached scroll strategy.\n */\nexport function getMatScrollStrategyAlreadyAttachedError(): Error {\n return Error(`Scroll strategy has already been attached.`);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {NgZone} from '@angular/core';\nimport {ScrollStrategy, getMatScrollStrategyAlreadyAttachedError} from './scroll-strategy';\nimport {OverlayReference} from '../overlay-reference';\nimport {Subscription} from 'rxjs';\nimport {ScrollDispatcher, ViewportRuler} from '@angular/cdk/scrolling';\n\n/**\n * Config options for the CloseScrollStrategy.\n */\nexport interface CloseScrollStrategyConfig {\n /** Amount of pixels the user has to scroll before the overlay is closed. */\n threshold?: number;\n}\n\n/**\n * Strategy that will close the overlay as soon as the user starts scrolling.\n */\nexport class CloseScrollStrategy implements ScrollStrategy {\n private _scrollSubscription: Subscription|null = null;\n private _overlayRef: OverlayReference;\n private _initialScrollPosition: number;\n\n constructor(\n private _scrollDispatcher: ScrollDispatcher,\n private _ngZone: NgZone,\n private _viewportRuler: ViewportRuler,\n private _config?: CloseScrollStrategyConfig) {}\n\n /** Attaches this scroll strategy to an overlay. */\n attach(overlayRef: OverlayReference) {\n if (this._overlayRef && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMatScrollStrategyAlreadyAttachedError();\n }\n\n this._overlayRef = overlayRef;\n }\n\n /** Enables the closing of the attached overlay on scroll. */\n enable() {\n if (this._scrollSubscription) {\n return;\n }\n\n const stream = this._scrollDispatcher.scrolled(0);\n\n if (this._config && this._config.threshold && this._config.threshold > 1) {\n this._initialScrollPosition = this._viewportRuler.getViewportScrollPosition().top;\n\n this._scrollSubscription = stream.subscribe(() => {\n const scrollPosition = this._viewportRuler.getViewportScrollPosition().top;\n\n if (Math.abs(scrollPosition - this._initialScrollPosition) > this._config!.threshold!) {\n this._detach();\n } else {\n this._overlayRef.updatePosition();\n }\n });\n } else {\n this._scrollSubscription = stream.subscribe(this._detach);\n }\n }\n\n /** Disables the closing the attached overlay on scroll. */\n disable() {\n if (this._scrollSubscription) {\n this._scrollSubscription.unsubscribe();\n this._scrollSubscription = null;\n }\n }\n\n detach() {\n this.disable();\n this._overlayRef = null!;\n }\n\n /** Detaches the overlay ref and disables the scroll strategy. */\n private _detach = () => {\n this.disable();\n\n if (this._overlayRef.hasAttached()) {\n this._ngZone.run(() => this._overlayRef.detach());\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ScrollStrategy} from './scroll-strategy';\n\n/** Scroll strategy that doesn't do anything. */\nexport class NoopScrollStrategy implements ScrollStrategy {\n /** Does nothing, as this scroll strategy is a no-op. */\n enable() { }\n /** Does nothing, as this scroll strategy is a no-op. */\n disable() { }\n /** Does nothing, as this scroll strategy is a no-op. */\n attach() { }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n// TODO(jelbourn): move this to live with the rest of the scrolling code\n// TODO(jelbourn): someday replace this with IntersectionObservers\n\n/**\n * Gets whether an element is scrolled outside of view by any of its parent scrolling containers.\n * @param element Dimensions of the element (from getBoundingClientRect)\n * @param scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)\n * @returns Whether the element is scrolled out of view\n * @docs-private\n */\nexport function isElementScrolledOutsideView(element: ClientRect, scrollContainers: ClientRect[]) {\n return scrollContainers.some(containerBounds => {\n const outsideAbove = element.bottom < containerBounds.top;\n const outsideBelow = element.top > containerBounds.bottom;\n const outsideLeft = element.right < containerBounds.left;\n const outsideRight = element.left > containerBounds.right;\n\n return outsideAbove || outsideBelow || outsideLeft || outsideRight;\n });\n}\n\n\n/**\n * Gets whether an element is clipped by any of its scrolling containers.\n * @param element Dimensions of the element (from getBoundingClientRect)\n * @param scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)\n * @returns Whether the element is clipped\n * @docs-private\n */\nexport function isElementClippedByScrolling(element: ClientRect, scrollContainers: ClientRect[]) {\n return scrollContainers.some(scrollContainerRect => {\n const clippedAbove = element.top < scrollContainerRect.top;\n const clippedBelow = element.bottom > scrollContainerRect.bottom;\n const clippedLeft = element.left < scrollContainerRect.left;\n const clippedRight = element.right > scrollContainerRect.right;\n\n return clippedAbove || clippedBelow || clippedLeft || clippedRight;\n });\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgZone} from '@angular/core';\nimport {Subscription} from 'rxjs';\nimport {ScrollStrategy, getMatScrollStrategyAlreadyAttachedError} from './scroll-strategy';\nimport {OverlayReference} from '../overlay-reference';\nimport {ScrollDispatcher, ViewportRuler} from '@angular/cdk/scrolling';\nimport {isElementScrolledOutsideView} from '../position/scroll-clip';\n\n/**\n * Config options for the RepositionScrollStrategy.\n */\nexport interface RepositionScrollStrategyConfig {\n /** Time in milliseconds to throttle the scroll events. */\n scrollThrottle?: number;\n\n /** Whether to close the overlay once the user has scrolled away completely. */\n autoClose?: boolean;\n}\n\n/**\n * Strategy that will update the element position as the user is scrolling.\n */\nexport class RepositionScrollStrategy implements ScrollStrategy {\n private _scrollSubscription: Subscription|null = null;\n private _overlayRef: OverlayReference;\n\n constructor(\n private _scrollDispatcher: ScrollDispatcher,\n private _viewportRuler: ViewportRuler,\n private _ngZone: NgZone,\n private _config?: RepositionScrollStrategyConfig) { }\n\n /** Attaches this scroll strategy to an overlay. */\n attach(overlayRef: OverlayReference) {\n if (this._overlayRef && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMatScrollStrategyAlreadyAttachedError();\n }\n\n this._overlayRef = overlayRef;\n }\n\n /** Enables repositioning of the attached overlay on scroll. */\n enable() {\n if (!this._scrollSubscription) {\n const throttle = this._config ? this._config.scrollThrottle : 0;\n\n this._scrollSubscription = this._scrollDispatcher.scrolled(throttle).subscribe(() => {\n this._overlayRef.updatePosition();\n\n // TODO(crisbeto): make `close` on by default once all components can handle it.\n if (this._config && this._config.autoClose) {\n const overlayRect = this._overlayRef.overlayElement.getBoundingClientRect();\n const {width, height} = this._viewportRuler.getViewportSize();\n\n // TODO(crisbeto): include all ancestor scroll containers here once\n // we have a way of exposing the trigger element to the scroll strategy.\n const parentRects = [{width, height, bottom: height, right: width, top: 0, left: 0}];\n\n if (isElementScrolledOutsideView(overlayRect, parentRects)) {\n this.disable();\n this._ngZone.run(() => this._overlayRef.detach());\n }\n }\n });\n }\n }\n\n /** Disables repositioning of the attached overlay on scroll. */\n disable() {\n if (this._scrollSubscription) {\n this._scrollSubscription.unsubscribe();\n this._scrollSubscription = null;\n }\n }\n\n detach() {\n this.disable();\n this._overlayRef = null!;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ScrollDispatcher, ViewportRuler} from '@angular/cdk/scrolling';\nimport {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable, NgZone} from '@angular/core';\nimport {BlockScrollStrategy} from './block-scroll-strategy';\nimport {CloseScrollStrategy, CloseScrollStrategyConfig} from './close-scroll-strategy';\nimport {NoopScrollStrategy} from './noop-scroll-strategy';\nimport {\n RepositionScrollStrategy,\n RepositionScrollStrategyConfig,\n} from './reposition-scroll-strategy';\n\n\n/**\n * Options for how an overlay will handle scrolling.\n *\n * Users can provide a custom value for `ScrollStrategyOptions` to replace the default\n * behaviors. This class primarily acts as a factory for ScrollStrategy instances.\n */\n@Injectable({providedIn: 'root'})\nexport class ScrollStrategyOptions {\n private _document: Document;\n\n constructor(\n private _scrollDispatcher: ScrollDispatcher,\n private _viewportRuler: ViewportRuler,\n private _ngZone: NgZone,\n @Inject(DOCUMENT) document: any) {\n this._document = document;\n }\n\n /** Do nothing on scroll. */\n noop = () => new NoopScrollStrategy();\n\n /**\n * Close the overlay as soon as the user scrolls.\n * @param config Configuration to be used inside the scroll strategy.\n */\n close = (config?: CloseScrollStrategyConfig) => new CloseScrollStrategy(this._scrollDispatcher,\n this._ngZone, this._viewportRuler, config)\n\n /** Block scrolling. */\n block = () => new BlockScrollStrategy(this._viewportRuler, this._document);\n\n /**\n * Update the overlay's position on scroll.\n * @param config Configuration to be used inside the scroll strategy.\n * Allows debouncing the reposition calls.\n */\n reposition = (config?: RepositionScrollStrategyConfig) => new RepositionScrollStrategy(\n this._scrollDispatcher, this._viewportRuler, this._ngZone, config)\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport {CdkScrollable, ScrollDispatcher} from '@angular/cdk/scrolling';\n\n// Export pre-defined scroll strategies and interface to build custom ones.\nexport {ScrollStrategy} from './scroll-strategy';\nexport {ScrollStrategyOptions} from './scroll-strategy-options';\nexport {\n RepositionScrollStrategy,\n RepositionScrollStrategyConfig\n} from './reposition-scroll-strategy';\nexport {CloseScrollStrategy} from './close-scroll-strategy';\nexport {NoopScrollStrategy} from './noop-scroll-strategy';\nexport {BlockScrollStrategy} from './block-scroll-strategy';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {PositionStrategy} from './position/position-strategy';\nimport {Direction, Directionality} from '@angular/cdk/bidi';\nimport {ScrollStrategy, NoopScrollStrategy} from './scroll/index';\n\n\n/** Initial configuration used when creating an overlay. */\nexport class OverlayConfig {\n /** Strategy with which to position the overlay. */\n positionStrategy?: PositionStrategy;\n\n /** Strategy to be used when handling scroll events while the overlay is open. */\n scrollStrategy?: ScrollStrategy = new NoopScrollStrategy();\n\n /** Custom class to add to the overlay pane. */\n panelClass?: string | string[] = '';\n\n /** Whether the overlay has a backdrop. */\n hasBackdrop?: boolean = false;\n\n /** Custom class to add to the backdrop */\n backdropClass?: string | string[] = 'cdk-overlay-dark-backdrop';\n\n /** The width of the overlay panel. If a number is provided, pixel units are assumed. */\n width?: number | string;\n\n /** The height of the overlay panel. If a number is provided, pixel units are assumed. */\n height?: number | string;\n\n /** The min-width of the overlay panel. If a number is provided, pixel units are assumed. */\n minWidth?: number | string;\n\n /** The min-height of the overlay panel. If a number is provided, pixel units are assumed. */\n minHeight?: number | string;\n\n /** The max-width of the overlay panel. If a number is provided, pixel units are assumed. */\n maxWidth?: number | string;\n\n /** The max-height of the overlay panel. If a number is provided, pixel units are assumed. */\n maxHeight?: number | string;\n\n /**\n * Direction of the text in the overlay panel. If a `Directionality` instance\n * is passed in, the overlay will handle changes to its value automatically.\n */\n direction?: Direction | Directionality;\n\n /**\n * Whether the overlay should be disposed of when the user goes backwards/forwards in history.\n * Note that this usually doesn't include clicking on links (unless the user is using\n * the `HashLocationStrategy`).\n */\n disposeOnNavigation?: boolean = false;\n\n constructor(config?: OverlayConfig) {\n if (config) {\n // Use `Iterable` instead of `Array` because TypeScript, as of 3.6.3,\n // loses the array generic type in the `for of`. But we *also* have to use `Array` because\n // typescript won't iterate over an `Iterable` unless you compile with `--downlevelIteration`\n const configKeys =\n Object.keys(config) as Iterable & (keyof OverlayConfig)[];\n for (const key of configKeys) {\n if (config[key] !== undefined) {\n // TypeScript, as of version 3.5, sees the left-hand-side of this expression\n // as \"I don't know *which* key this is, so the only valid value is the intersection\n // of all the posible values.\" In this case, that happens to be `undefined`. TypeScript\n // is not smart enough to see that the right-hand-side is actually an access of the same\n // exact type with the same exact key, meaning that the value type must be identical.\n // So we use `any` to work around this.\n this[key] = config[key] as any;\n }\n }\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** Horizontal dimension of a connection point on the perimeter of the origin or overlay element. */\nimport {Optional} from '@angular/core';\nexport type HorizontalConnectionPos = 'start' | 'center' | 'end';\n\n/** Vertical dimension of a connection point on the perimeter of the origin or overlay element. */\nexport type VerticalConnectionPos = 'top' | 'center' | 'bottom';\n\n\n/** A connection point on the origin element. */\nexport interface OriginConnectionPosition {\n originX: HorizontalConnectionPos;\n originY: VerticalConnectionPos;\n}\n\n/** A connection point on the overlay element. */\nexport interface OverlayConnectionPosition {\n overlayX: HorizontalConnectionPos;\n overlayY: VerticalConnectionPos;\n}\n\n/** The points of the origin element and the overlay element to connect. */\nexport class ConnectionPositionPair {\n /** X-axis attachment point for connected overlay origin. Can be 'start', 'end', or 'center'. */\n originX: HorizontalConnectionPos;\n /** Y-axis attachment point for connected overlay origin. Can be 'top', 'bottom', or 'center'. */\n originY: VerticalConnectionPos;\n /** X-axis attachment point for connected overlay. Can be 'start', 'end', or 'center'. */\n overlayX: HorizontalConnectionPos;\n /** Y-axis attachment point for connected overlay. Can be 'top', 'bottom', or 'center'. */\n overlayY: VerticalConnectionPos;\n\n constructor(\n origin: OriginConnectionPosition,\n overlay: OverlayConnectionPosition,\n /** Offset along the X axis. */\n public offsetX?: number,\n /** Offset along the Y axis. */\n public offsetY?: number,\n /** Class(es) to be applied to the panel while this position is active. */\n public panelClass?: string | string[]) {\n\n this.originX = origin.originX;\n this.originY = origin.originY;\n this.overlayX = overlay.overlayX;\n this.overlayY = overlay.overlayY;\n }\n}\n\n/**\n * Set of properties regarding the position of the origin and overlay relative to the viewport\n * with respect to the containing Scrollable elements.\n *\n * The overlay and origin are clipped if any part of their bounding client rectangle exceeds the\n * bounds of any one of the strategy's Scrollable's bounding client rectangle.\n *\n * The overlay and origin are outside view if there is no overlap between their bounding client\n * rectangle and any one of the strategy's Scrollable's bounding client rectangle.\n *\n * ----------- -----------\n * | outside | | clipped |\n * | view | --------------------------\n * | | | | | |\n * ---------- | ----------- |\n * -------------------------- | |\n * | | | Scrollable |\n * | | | |\n * | | --------------------------\n * | Scrollable |\n * | |\n * --------------------------\n *\n * @docs-private\n */\nexport class ScrollingVisibility {\n isOriginClipped: boolean;\n isOriginOutsideView: boolean;\n isOverlayClipped: boolean;\n isOverlayOutsideView: boolean;\n}\n\n/** The change event emitted by the strategy when a fallback position is used. */\nexport class ConnectedOverlayPositionChange {\n constructor(\n /** The position used as a result of this change. */\n public connectionPair: ConnectionPositionPair,\n /** @docs-private */\n @Optional() public scrollableViewProperties: ScrollingVisibility) {}\n}\n\n/**\n * Validates whether a vertical position property matches the expected values.\n * @param property Name of the property being validated.\n * @param value Value of the property being validated.\n * @docs-private\n */\nexport function validateVerticalPosition(property: string, value: VerticalConnectionPos) {\n if (value !== 'top' && value !== 'bottom' && value !== 'center') {\n throw Error(`ConnectedPosition: Invalid ${property} \"${value}\". ` +\n `Expected \"top\", \"bottom\" or \"center\".`);\n }\n}\n\n/**\n * Validates whether a horizontal position property matches the expected values.\n * @param property Name of the property being validated.\n * @param value Value of the property being validated.\n * @docs-private\n */\nexport function validateHorizontalPosition(property: string, value: HorizontalConnectionPos) {\n if (value !== 'start' && value !== 'end' && value !== 'center') {\n throw Error(`ConnectedPosition: Invalid ${property} \"${value}\". ` +\n `Expected \"start\", \"end\" or \"center\".`);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable, OnDestroy} from '@angular/core';\nimport {OverlayReference} from '../overlay-reference';\n\n\n/**\n * Service for dispatching events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\n@Injectable({providedIn: 'root'})\nexport abstract class BaseOverlayDispatcher implements OnDestroy {\n\n /** Currently attached overlays in the order they were attached. */\n _attachedOverlays: OverlayReference[] = [];\n\n protected _document: Document;\n protected _isAttached: boolean;\n\n constructor(@Inject(DOCUMENT) document: any) {\n this._document = document;\n }\n\n ngOnDestroy(): void {\n this.detach();\n }\n\n /** Add a new overlay to the list of attached overlay refs. */\n add(overlayRef: OverlayReference): void {\n // Ensure that we don't get the same overlay multiple times.\n this.remove(overlayRef);\n this._attachedOverlays.push(overlayRef);\n }\n\n /** Remove an overlay from the list of attached overlay refs. */\n remove(overlayRef: OverlayReference): void {\n const index = this._attachedOverlays.indexOf(overlayRef);\n\n if (index > -1) {\n this._attachedOverlays.splice(index, 1);\n }\n\n // Remove the global listener once there are no more overlays.\n if (this._attachedOverlays.length === 0) {\n this.detach();\n }\n }\n\n /** Detaches the global event listener. */\n protected abstract detach(): void;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {DOCUMENT} from '@angular/common';\nimport {\n Inject,\n Injectable,\n InjectionToken,\n Optional,\n SkipSelf,\n} from '@angular/core';\nimport {OverlayReference} from '../overlay-reference';\nimport {BaseOverlayDispatcher} from './base-overlay-dispatcher';\n\n\n/**\n * Service for dispatching keyboard events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\n@Injectable({providedIn: 'root'})\nexport class OverlayKeyboardDispatcher extends BaseOverlayDispatcher {\n\n constructor(@Inject(DOCUMENT) document: any) {\n super(document);\n }\n\n /** Add a new overlay to the list of attached overlay refs. */\n add(overlayRef: OverlayReference): void {\n super.add(overlayRef);\n\n // Lazily start dispatcher once first overlay is added\n if (!this._isAttached) {\n this._document.body.addEventListener('keydown', this._keydownListener);\n this._isAttached = true;\n }\n }\n\n /** Detaches the global keyboard event listener. */\n protected detach() {\n if (this._isAttached) {\n this._document.body.removeEventListener('keydown', this._keydownListener);\n this._isAttached = false;\n }\n }\n\n /** Keyboard event listener that will be attached to the body. */\n private _keydownListener = (event: KeyboardEvent) => {\n const overlays = this._attachedOverlays;\n\n for (let i = overlays.length - 1; i > -1; i--) {\n // Dispatch the keydown event to the top overlay which has subscribers to its keydown events.\n // We want to target the most recent overlay, rather than trying to match where the event came\n // from, because some components might open an overlay, but keep focus on a trigger element\n // (e.g. for select and autocomplete). We skip overlays without keydown event subscriptions,\n // because we don't want overlays that don't handle keyboard events to block the ones below\n // them that do.\n if (overlays[i]._keydownEvents.observers.length > 0) {\n overlays[i]._keydownEvents.next(event);\n break;\n }\n }\n }\n}\n\n\n/** @docs-private @deprecated @breaking-change 8.0.0 */\nexport function OVERLAY_KEYBOARD_DISPATCHER_PROVIDER_FACTORY(\n dispatcher: OverlayKeyboardDispatcher, _document: any) {\n return dispatcher || new OverlayKeyboardDispatcher(_document);\n}\n\n/** @docs-private @deprecated @breaking-change 8.0.0 */\nexport const OVERLAY_KEYBOARD_DISPATCHER_PROVIDER = {\n // If there is already an OverlayKeyboardDispatcher available, use that.\n // Otherwise, provide a new one.\n provide: OverlayKeyboardDispatcher,\n deps: [\n [new Optional(), new SkipSelf(), OverlayKeyboardDispatcher],\n\n // Coerce to `InjectionToken` so that the `deps` match the \"shape\"\n // of the type expected by Angular\n DOCUMENT as InjectionToken\n ],\n useFactory: OVERLAY_KEYBOARD_DISPATCHER_PROVIDER_FACTORY\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable} from '@angular/core';\nimport {OverlayReference} from '../overlay-reference';\nimport {Platform} from '@angular/cdk/platform';\nimport {BaseOverlayDispatcher} from './base-overlay-dispatcher';\n\n/**\n * Service for dispatching mouse click events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\n@Injectable({providedIn: 'root'})\nexport class OverlayOutsideClickDispatcher extends BaseOverlayDispatcher {\n private _cursorOriginalValue: string;\n private _cursorStyleIsSet = false;\n\n constructor(@Inject(DOCUMENT) document: any, private _platform: Platform) {\n super(document);\n }\n\n /** Add a new overlay to the list of attached overlay refs. */\n add(overlayRef: OverlayReference): void {\n super.add(overlayRef);\n\n // tslint:disable: max-line-length\n // Safari on iOS does not generate click events for non-interactive\n // elements. However, we want to receive a click for any element outside\n // the overlay. We can force a \"clickable\" state by setting\n // `cursor: pointer` on the document body.\n // See https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event#Safari_Mobile\n // and https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html\n // tslint:enable: max-line-length\n if (!this._isAttached) {\n this._document.body.addEventListener('click', this._clickListener, true);\n this._document.body.addEventListener('contextmenu', this._clickListener, true);\n\n // click event is not fired on iOS. To make element \"clickable\" we are\n // setting the cursor to pointer\n if (this._platform.IOS && !this._cursorStyleIsSet) {\n this._cursorOriginalValue = this._document.body.style.cursor;\n this._document.body.style.cursor = 'pointer';\n this._cursorStyleIsSet = true;\n }\n\n this._isAttached = true;\n }\n }\n\n /** Detaches the global keyboard event listener. */\n protected detach() {\n if (this._isAttached) {\n this._document.body.removeEventListener('click', this._clickListener, true);\n this._document.body.removeEventListener('contextmenu', this._clickListener, true);\n if (this._platform.IOS && this._cursorStyleIsSet) {\n this._document.body.style.cursor = this._cursorOriginalValue;\n this._cursorStyleIsSet = false;\n }\n this._isAttached = false;\n }\n }\n\n /** Click event listener that will be attached to the body propagate phase. */\n private _clickListener = (event: MouseEvent) => {\n // Get the target through the `composedPath` if possible to account for shadow DOM.\n const target = event.composedPath ? event.composedPath()[0] : event.target;\n // We copy the array because the original may be modified asynchronously if the\n // outsidePointerEvents listener decides to detach overlays resulting in index errors inside\n // the for loop.\n const overlays = this._attachedOverlays.slice();\n\n // Dispatch the mouse event to the top overlay which has subscribers to its mouse events.\n // We want to target all overlays for which the click could be considered as outside click.\n // As soon as we reach an overlay for which the click is not outside click we break off\n // the loop.\n for (let i = overlays.length - 1; i > -1; i--) {\n const overlayRef = overlays[i];\n if (overlayRef._outsidePointerEvents.observers.length < 1 || !overlayRef.hasAttached()) {\n continue;\n }\n\n // If it's a click inside the overlay, just break - we should do nothing\n // If it's an outside click dispatch the mouse event, and proceed with the next overlay\n if (overlayRef.overlayElement.contains(target as Node)) {\n break;\n }\n\n overlayRef._outsidePointerEvents.next(event);\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {DOCUMENT} from '@angular/common';\nimport {\n Inject,\n Injectable,\n InjectionToken,\n OnDestroy,\n Optional,\n SkipSelf,\n} from '@angular/core';\nimport {Platform} from '@angular/cdk/platform';\n\n/**\n * Whether we're in a testing environment.\n * TODO(crisbeto): remove this once we have an overlay testing module.\n */\nconst isTestEnvironment: boolean = typeof window !== 'undefined' && !!window &&\n !!((window as any).__karma__ || (window as any).jasmine);\n\n/** Container inside which all overlays will render. */\n@Injectable({providedIn: 'root'})\nexport class OverlayContainer implements OnDestroy {\n protected _containerElement: HTMLElement;\n protected _document: Document;\n\n constructor(\n @Inject(DOCUMENT) document: any,\n /**\n * @deprecated `platform` parameter to become required.\n * @breaking-change 10.0.0\n */\n protected _platform?: Platform) {\n this._document = document;\n }\n\n ngOnDestroy() {\n const container = this._containerElement;\n\n if (container && container.parentNode) {\n container.parentNode.removeChild(container);\n }\n }\n\n /**\n * This method returns the overlay container element. It will lazily\n * create the element the first time it is called to facilitate using\n * the container in non-browser environments.\n * @returns the container element\n */\n getContainerElement(): HTMLElement {\n if (!this._containerElement) {\n this._createContainer();\n }\n\n return this._containerElement;\n }\n\n /**\n * Create the overlay container element, which is simply a div\n * with the 'cdk-overlay-container' class on the document body.\n */\n protected _createContainer(): void {\n // @breaking-change 10.0.0 Remove null check for `_platform`.\n const isBrowser = this._platform ? this._platform.isBrowser : typeof window !== 'undefined';\n const containerClass = 'cdk-overlay-container';\n\n if (isBrowser || isTestEnvironment) {\n const oppositePlatformContainers =\n this._document.querySelectorAll(`.${containerClass}[platform=\"server\"], ` +\n `.${containerClass}[platform=\"test\"]`);\n\n // Remove any old containers from the opposite platform.\n // This can happen when transitioning from the server to the client.\n for (let i = 0; i < oppositePlatformContainers.length; i++) {\n oppositePlatformContainers[i].parentNode!.removeChild(oppositePlatformContainers[i]);\n }\n }\n\n const container = this._document.createElement('div');\n container.classList.add(containerClass);\n\n // A long time ago we kept adding new overlay containers whenever a new app was instantiated,\n // but at some point we added logic which clears the duplicate ones in order to avoid leaks.\n // The new logic was a little too aggressive since it was breaking some legitimate use cases.\n // To mitigate the problem we made it so that only containers from a different platform are\n // cleared, but the side-effect was that people started depending on the overly-aggressive\n // logic to clean up their tests for them. Until we can introduce an overlay-specific testing\n // module which does the cleanup, we try to detect that we're in a test environment and we\n // always clear the container. See #17006.\n // TODO(crisbeto): remove the test environment check once we have an overlay testing module.\n if (isTestEnvironment) {\n container.setAttribute('platform', 'test');\n } else if (!isBrowser) {\n container.setAttribute('platform', 'server');\n }\n\n this._document.body.appendChild(container);\n this._containerElement = container;\n }\n}\n\n\n/** @docs-private @deprecated @breaking-change 8.0.0 */\nexport function OVERLAY_CONTAINER_PROVIDER_FACTORY(parentContainer: OverlayContainer,\n _document: any) {\n return parentContainer || new OverlayContainer(_document);\n}\n\n/** @docs-private @deprecated @breaking-change 8.0.0 */\nexport const OVERLAY_CONTAINER_PROVIDER = {\n // If there is already an OverlayContainer available, use that. Otherwise, provide a new one.\n provide: OverlayContainer,\n deps: [\n [new Optional(), new SkipSelf(), OverlayContainer],\n DOCUMENT as InjectionToken // We need to use the InjectionToken somewhere to keep TS happy\n ],\n useFactory: OVERLAY_CONTAINER_PROVIDER_FACTORY\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Direction, Directionality} from '@angular/cdk/bidi';\nimport {ComponentPortal, Portal, PortalOutlet, TemplatePortal} from '@angular/cdk/portal';\nimport {ComponentRef, EmbeddedViewRef, NgZone} from '@angular/core';\nimport {Location} from '@angular/common';\nimport {Observable, Subject, merge, SubscriptionLike, Subscription} from 'rxjs';\nimport {take, takeUntil} from 'rxjs/operators';\nimport {OverlayKeyboardDispatcher} from './dispatchers/overlay-keyboard-dispatcher';\nimport {OverlayOutsideClickDispatcher} from './dispatchers/overlay-outside-click-dispatcher';\nimport {OverlayConfig} from './overlay-config';\nimport {coerceCssPixelValue, coerceArray} from '@angular/cdk/coercion';\nimport {OverlayReference} from './overlay-reference';\nimport {PositionStrategy} from './position/position-strategy';\nimport {ScrollStrategy} from './scroll';\n\n\n/** An object where all of its properties cannot be written. */\nexport type ImmutableObject = {\n readonly [P in keyof T]: T[P];\n};\n\n/**\n * Reference to an overlay that has been created with the Overlay service.\n * Used to manipulate or dispose of said overlay.\n */\nexport class OverlayRef implements PortalOutlet, OverlayReference {\n private _backdropElement: HTMLElement | null = null;\n private _backdropClick: Subject = new Subject();\n private _attachments = new Subject();\n private _detachments = new Subject();\n private _positionStrategy: PositionStrategy | undefined;\n private _scrollStrategy: ScrollStrategy | undefined;\n private _locationChanges: SubscriptionLike = Subscription.EMPTY;\n private _backdropClickHandler = (event: MouseEvent) => this._backdropClick.next(event);\n\n /**\n * Reference to the parent of the `_host` at the time it was detached. Used to restore\n * the `_host` to its original position in the DOM when it gets re-attached.\n */\n private _previousHostParent: HTMLElement;\n\n /** Stream of keydown events dispatched to this overlay. */\n _keydownEvents = new Subject();\n\n /** Stream of mouse outside events dispatched to this overlay. */\n _outsidePointerEvents = new Subject();\n\n constructor(\n private _portalOutlet: PortalOutlet,\n private _host: HTMLElement,\n private _pane: HTMLElement,\n private _config: ImmutableObject,\n private _ngZone: NgZone,\n private _keyboardDispatcher: OverlayKeyboardDispatcher,\n private _document: Document,\n // @breaking-change 8.0.0 `_location` parameter to be made required.\n private _location?: Location,\n // @breaking-change 9.0.0 `_mouseClickDispatcher` parameter to be made required.\n private _outsideClickDispatcher?: OverlayOutsideClickDispatcher) {\n\n if (_config.scrollStrategy) {\n this._scrollStrategy = _config.scrollStrategy;\n this._scrollStrategy.attach(this);\n }\n\n this._positionStrategy = _config.positionStrategy;\n }\n\n /** The overlay's HTML element */\n get overlayElement(): HTMLElement {\n return this._pane;\n }\n\n /** The overlay's backdrop HTML element. */\n get backdropElement(): HTMLElement | null {\n return this._backdropElement;\n }\n\n /**\n * Wrapper around the panel element. Can be used for advanced\n * positioning where a wrapper with specific styling is\n * required around the overlay pane.\n */\n get hostElement(): HTMLElement {\n return this._host;\n }\n\n attach(portal: ComponentPortal): ComponentRef;\n attach(portal: TemplatePortal): EmbeddedViewRef;\n attach(portal: any): any;\n\n /**\n * Attaches content, given via a Portal, to the overlay.\n * If the overlay is configured to have a backdrop, it will be created.\n *\n * @param portal Portal instance to which to attach the overlay.\n * @returns The portal attachment result.\n */\n attach(portal: Portal): any {\n let attachResult = this._portalOutlet.attach(portal);\n\n // Update the pane element with the given configuration.\n if (!this._host.parentElement && this._previousHostParent) {\n this._previousHostParent.appendChild(this._host);\n }\n\n if (this._positionStrategy) {\n this._positionStrategy.attach(this);\n }\n\n this._updateStackingOrder();\n this._updateElementSize();\n this._updateElementDirection();\n\n if (this._scrollStrategy) {\n this._scrollStrategy.enable();\n }\n\n // Update the position once the zone is stable so that the overlay will be fully rendered\n // before attempting to position it, as the position may depend on the size of the rendered\n // content.\n this._ngZone.onStable\n .pipe(take(1))\n .subscribe(() => {\n // The overlay could've been detached before the zone has stabilized.\n if (this.hasAttached()) {\n this.updatePosition();\n }\n });\n\n // Enable pointer events for the overlay pane element.\n this._togglePointerEvents(true);\n\n if (this._config.hasBackdrop) {\n this._attachBackdrop();\n }\n\n if (this._config.panelClass) {\n this._toggleClasses(this._pane, this._config.panelClass, true);\n }\n\n // Only emit the `attachments` event once all other setup is done.\n this._attachments.next();\n\n // Track this overlay by the keyboard dispatcher\n this._keyboardDispatcher.add(this);\n\n // @breaking-change 8.0.0 remove the null check for `_location`\n // once the constructor parameter is made required.\n if (this._config.disposeOnNavigation && this._location) {\n this._locationChanges = this._location.subscribe(() => this.dispose());\n }\n\n // @breaking-change 9.0.0 remove the null check for `_mouseClickDispatcher`\n if (this._outsideClickDispatcher) {\n this._outsideClickDispatcher.add(this);\n }\n\n return attachResult;\n }\n\n /**\n * Detaches an overlay from a portal.\n * @returns The portal detachment result.\n */\n detach(): any {\n if (!this.hasAttached()) {\n return;\n }\n\n this.detachBackdrop();\n\n // When the overlay is detached, the pane element should disable pointer events.\n // This is necessary because otherwise the pane element will cover the page and disable\n // pointer events therefore. Depends on the position strategy and the applied pane boundaries.\n this._togglePointerEvents(false);\n\n if (this._positionStrategy && this._positionStrategy.detach) {\n this._positionStrategy.detach();\n }\n\n if (this._scrollStrategy) {\n this._scrollStrategy.disable();\n }\n\n const detachmentResult = this._portalOutlet.detach();\n\n // Only emit after everything is detached.\n this._detachments.next();\n\n // Remove this overlay from keyboard dispatcher tracking.\n this._keyboardDispatcher.remove(this);\n\n // Keeping the host element in the DOM can cause scroll jank, because it still gets\n // rendered, even though it's transparent and unclickable which is why we remove it.\n this._detachContentWhenStable();\n\n // Stop listening for location changes.\n this._locationChanges.unsubscribe();\n\n // @breaking-change 9.0.0 remove the null check for `_outsideClickDispatcher`\n if (this._outsideClickDispatcher) {\n this._outsideClickDispatcher.remove(this);\n }\n\n return detachmentResult;\n }\n\n /** Cleans up the overlay from the DOM. */\n dispose(): void {\n const isAttached = this.hasAttached();\n\n if (this._positionStrategy) {\n this._positionStrategy.dispose();\n }\n\n this._disposeScrollStrategy();\n this.detachBackdrop();\n this._locationChanges.unsubscribe();\n this._keyboardDispatcher.remove(this);\n this._portalOutlet.dispose();\n this._attachments.complete();\n this._backdropClick.complete();\n this._keydownEvents.complete();\n this._outsidePointerEvents.complete();\n\n // @breaking-change 9.0.0 remove the null check for `_outsideClickDispatcher`\n if (this._outsideClickDispatcher) {\n this._outsideClickDispatcher.remove(this);\n }\n\n if (this._host && this._host.parentNode) {\n this._host.parentNode.removeChild(this._host);\n this._host = null!;\n }\n\n this._previousHostParent = this._pane = null!;\n\n if (isAttached) {\n this._detachments.next();\n }\n\n this._detachments.complete();\n }\n\n /** Whether the overlay has attached content. */\n hasAttached(): boolean {\n return this._portalOutlet.hasAttached();\n }\n\n /** Gets an observable that emits when the backdrop has been clicked. */\n backdropClick(): Observable {\n return this._backdropClick;\n }\n\n /** Gets an observable that emits when the overlay has been attached. */\n attachments(): Observable {\n return this._attachments;\n }\n\n /** Gets an observable that emits when the overlay has been detached. */\n detachments(): Observable {\n return this._detachments;\n }\n\n /** Gets an observable of keydown events targeted to this overlay. */\n keydownEvents(): Observable {\n return this._keydownEvents;\n }\n\n /** Gets an observable of pointer events targeted outside this overlay. */\n outsidePointerEvents(): Observable {\n return this._outsidePointerEvents;\n }\n\n /** Gets the current overlay configuration, which is immutable. */\n getConfig(): OverlayConfig {\n return this._config;\n }\n\n /** Updates the position of the overlay based on the position strategy. */\n updatePosition(): void {\n if (this._positionStrategy) {\n this._positionStrategy.apply();\n }\n }\n\n /** Switches to a new position strategy and updates the overlay position. */\n updatePositionStrategy(strategy: PositionStrategy): void {\n if (strategy === this._positionStrategy) {\n return;\n }\n\n if (this._positionStrategy) {\n this._positionStrategy.dispose();\n }\n\n this._positionStrategy = strategy;\n\n if (this.hasAttached()) {\n strategy.attach(this);\n this.updatePosition();\n }\n }\n\n /** Update the size properties of the overlay. */\n updateSize(sizeConfig: OverlaySizeConfig): void {\n this._config = {...this._config, ...sizeConfig};\n this._updateElementSize();\n }\n\n /** Sets the LTR/RTL direction for the overlay. */\n setDirection(dir: Direction | Directionality): void {\n this._config = {...this._config, direction: dir};\n this._updateElementDirection();\n }\n\n /** Add a CSS class or an array of classes to the overlay pane. */\n addPanelClass(classes: string | string[]): void {\n if (this._pane) {\n this._toggleClasses(this._pane, classes, true);\n }\n }\n\n /** Remove a CSS class or an array of classes from the overlay pane. */\n removePanelClass(classes: string | string[]): void {\n if (this._pane) {\n this._toggleClasses(this._pane, classes, false);\n }\n }\n\n /**\n * Returns the layout direction of the overlay panel.\n */\n getDirection(): Direction {\n const direction = this._config.direction;\n\n if (!direction) {\n return 'ltr';\n }\n\n return typeof direction === 'string' ? direction : direction.value;\n }\n\n /** Switches to a new scroll strategy. */\n updateScrollStrategy(strategy: ScrollStrategy): void {\n if (strategy === this._scrollStrategy) {\n return;\n }\n\n this._disposeScrollStrategy();\n this._scrollStrategy = strategy;\n\n if (this.hasAttached()) {\n strategy.attach(this);\n strategy.enable();\n }\n }\n\n /** Updates the text direction of the overlay panel. */\n private _updateElementDirection() {\n this._host.setAttribute('dir', this.getDirection());\n }\n\n /** Updates the size of the overlay element based on the overlay config. */\n private _updateElementSize() {\n if (!this._pane) {\n return;\n }\n\n const style = this._pane.style;\n\n style.width = coerceCssPixelValue(this._config.width);\n style.height = coerceCssPixelValue(this._config.height);\n style.minWidth = coerceCssPixelValue(this._config.minWidth);\n style.minHeight = coerceCssPixelValue(this._config.minHeight);\n style.maxWidth = coerceCssPixelValue(this._config.maxWidth);\n style.maxHeight = coerceCssPixelValue(this._config.maxHeight);\n }\n\n /** Toggles the pointer events for the overlay pane element. */\n private _togglePointerEvents(enablePointer: boolean) {\n this._pane.style.pointerEvents = enablePointer ? 'auto' : 'none';\n }\n\n /** Attaches a backdrop for this overlay. */\n private _attachBackdrop() {\n const showingClass = 'cdk-overlay-backdrop-showing';\n\n this._backdropElement = this._document.createElement('div');\n this._backdropElement.classList.add('cdk-overlay-backdrop');\n\n if (this._config.backdropClass) {\n this._toggleClasses(this._backdropElement, this._config.backdropClass, true);\n }\n\n // Insert the backdrop before the pane in the DOM order,\n // in order to handle stacked overlays properly.\n this._host.parentElement!.insertBefore(this._backdropElement, this._host);\n\n // Forward backdrop clicks such that the consumer of the overlay can perform whatever\n // action desired when such a click occurs (usually closing the overlay).\n this._backdropElement.addEventListener('click', this._backdropClickHandler);\n\n // Add class to fade-in the backdrop after one frame.\n if (typeof requestAnimationFrame !== 'undefined') {\n this._ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => {\n if (this._backdropElement) {\n this._backdropElement.classList.add(showingClass);\n }\n });\n });\n } else {\n this._backdropElement.classList.add(showingClass);\n }\n }\n\n /**\n * Updates the stacking order of the element, moving it to the top if necessary.\n * This is required in cases where one overlay was detached, while another one,\n * that should be behind it, was destroyed. The next time both of them are opened,\n * the stacking will be wrong, because the detached element's pane will still be\n * in its original DOM position.\n */\n private _updateStackingOrder() {\n if (this._host.nextSibling) {\n this._host.parentNode!.appendChild(this._host);\n }\n }\n\n /** Detaches the backdrop (if any) associated with the overlay. */\n detachBackdrop(): void {\n let backdropToDetach = this._backdropElement;\n\n if (!backdropToDetach) {\n return;\n }\n\n let timeoutId: number;\n let finishDetach = () => {\n // It may not be attached to anything in certain cases (e.g. unit tests).\n if (backdropToDetach) {\n backdropToDetach.removeEventListener('click', this._backdropClickHandler);\n backdropToDetach.removeEventListener('transitionend', finishDetach);\n\n if (backdropToDetach.parentNode) {\n backdropToDetach.parentNode.removeChild(backdropToDetach);\n }\n }\n\n // It is possible that a new portal has been attached to this overlay since we started\n // removing the backdrop. If that is the case, only clear the backdrop reference if it\n // is still the same instance that we started to remove.\n if (this._backdropElement == backdropToDetach) {\n this._backdropElement = null;\n }\n\n if (this._config.backdropClass) {\n this._toggleClasses(backdropToDetach!, this._config.backdropClass, false);\n }\n\n clearTimeout(timeoutId);\n };\n\n backdropToDetach.classList.remove('cdk-overlay-backdrop-showing');\n\n this._ngZone.runOutsideAngular(() => {\n backdropToDetach!.addEventListener('transitionend', finishDetach);\n });\n\n // If the backdrop doesn't have a transition, the `transitionend` event won't fire.\n // In this case we make it unclickable and we try to remove it after a delay.\n backdropToDetach.style.pointerEvents = 'none';\n\n // Run this outside the Angular zone because there's nothing that Angular cares about.\n // If it were to run inside the Angular zone, every test that used Overlay would have to be\n // either async or fakeAsync.\n timeoutId = this._ngZone.runOutsideAngular(() => setTimeout(finishDetach, 500));\n }\n\n /** Toggles a single CSS class or an array of classes on an element. */\n private _toggleClasses(element: HTMLElement, cssClasses: string | string[], isAdd: boolean) {\n const classList = element.classList;\n\n coerceArray(cssClasses).forEach(cssClass => {\n // We can't do a spread here, because IE doesn't support setting multiple classes.\n // Also trying to add an empty string to a DOMTokenList will throw.\n if (cssClass) {\n isAdd ? classList.add(cssClass) : classList.remove(cssClass);\n }\n });\n }\n\n /** Detaches the overlay content next time the zone stabilizes. */\n private _detachContentWhenStable() {\n // Normally we wouldn't have to explicitly run this outside the `NgZone`, however\n // if the consumer is using `zone-patch-rxjs`, the `Subscription.unsubscribe` call will\n // be patched to run inside the zone, which will throw us into an infinite loop.\n this._ngZone.runOutsideAngular(() => {\n // We can't remove the host here immediately, because the overlay pane's content\n // might still be animating. This stream helps us avoid interrupting the animation\n // by waiting for the pane to become empty.\n const subscription = this._ngZone.onStable\n .pipe(takeUntil(merge(this._attachments, this._detachments)))\n .subscribe(() => {\n // Needs a couple of checks for the pane and host, because\n // they may have been removed by the time the zone stabilizes.\n if (!this._pane || !this._host || this._pane.children.length === 0) {\n if (this._pane && this._config.panelClass) {\n this._toggleClasses(this._pane, this._config.panelClass, false);\n }\n\n if (this._host && this._host.parentElement) {\n this._previousHostParent = this._host.parentElement;\n this._previousHostParent.removeChild(this._host);\n }\n\n subscription.unsubscribe();\n }\n });\n });\n }\n\n /** Disposes of a scroll strategy. */\n private _disposeScrollStrategy() {\n const scrollStrategy = this._scrollStrategy;\n\n if (scrollStrategy) {\n scrollStrategy.disable();\n\n if (scrollStrategy.detach) {\n scrollStrategy.detach();\n }\n }\n }\n}\n\n\n/** Size properties for an overlay. */\nexport interface OverlaySizeConfig {\n width?: number | string;\n height?: number | string;\n minWidth?: number | string;\n minHeight?: number | string;\n maxWidth?: number | string;\n maxHeight?: number | string;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {PositionStrategy} from './position-strategy';\nimport {ElementRef} from '@angular/core';\nimport {ViewportRuler, CdkScrollable, ViewportScrollPosition} from '@angular/cdk/scrolling';\nimport {\n ConnectedOverlayPositionChange,\n ConnectionPositionPair,\n ScrollingVisibility,\n validateHorizontalPosition,\n validateVerticalPosition,\n} from './connected-position';\nimport {Observable, Subscription, Subject} from 'rxjs';\nimport {OverlayReference} from '../overlay-reference';\nimport {isElementScrolledOutsideView, isElementClippedByScrolling} from './scroll-clip';\nimport {coerceCssPixelValue, coerceArray} from '@angular/cdk/coercion';\nimport {Platform} from '@angular/cdk/platform';\nimport {OverlayContainer} from '../overlay-container';\n\n// TODO: refactor clipping detection into a separate thing (part of scrolling module)\n// TODO: doesn't handle both flexible width and height when it has to scroll along both axis.\n\n/** Class to be added to the overlay bounding box. */\nconst boundingBoxClass = 'cdk-overlay-connected-position-bounding-box';\n\n/** Regex used to split a string on its CSS units. */\nconst cssUnitPattern = /([A-Za-z%]+)$/;\n\n/** Possible values that can be set as the origin of a FlexibleConnectedPositionStrategy. */\nexport type FlexibleConnectedPositionStrategyOrigin = ElementRef | Element | Point & {\n width?: number;\n height?: number;\n};\n\n/**\n * A strategy for positioning overlays. Using this strategy, an overlay is given an\n * implicit position relative some origin element. The relative position is defined in terms of\n * a point on the origin element that is connected to a point on the overlay element. For example,\n * a basic dropdown is connecting the bottom-left corner of the origin to the top-left corner\n * of the overlay.\n */\nexport class FlexibleConnectedPositionStrategy implements PositionStrategy {\n /** The overlay to which this strategy is attached. */\n private _overlayRef: OverlayReference;\n\n /** Whether we're performing the very first positioning of the overlay. */\n private _isInitialRender: boolean;\n\n /** Last size used for the bounding box. Used to avoid resizing the overlay after open. */\n private _lastBoundingBoxSize = {width: 0, height: 0};\n\n /** Whether the overlay was pushed in a previous positioning. */\n private _isPushed = false;\n\n /** Whether the overlay can be pushed on-screen on the initial open. */\n private _canPush = true;\n\n /** Whether the overlay can grow via flexible width/height after the initial open. */\n private _growAfterOpen = false;\n\n /** Whether the overlay's width and height can be constrained to fit within the viewport. */\n private _hasFlexibleDimensions = true;\n\n /** Whether the overlay position is locked. */\n private _positionLocked = false;\n\n /** Cached origin dimensions */\n private _originRect: ClientRect;\n\n /** Cached overlay dimensions */\n private _overlayRect: ClientRect;\n\n /** Cached viewport dimensions */\n private _viewportRect: ClientRect;\n\n /** Amount of space that must be maintained between the overlay and the edge of the viewport. */\n private _viewportMargin = 0;\n\n /** The Scrollable containers used to check scrollable view properties on position change. */\n private _scrollables: CdkScrollable[] = [];\n\n /** Ordered list of preferred positions, from most to least desirable. */\n _preferredPositions: ConnectionPositionPair[] = [];\n\n /** The origin element against which the overlay will be positioned. */\n private _origin: FlexibleConnectedPositionStrategyOrigin;\n\n /** The overlay pane element. */\n private _pane: HTMLElement;\n\n /** Whether the strategy has been disposed of already. */\n private _isDisposed: boolean;\n\n /**\n * Parent element for the overlay panel used to constrain the overlay panel's size to fit\n * within the viewport.\n */\n private _boundingBox: HTMLElement | null;\n\n /** The last position to have been calculated as the best fit position. */\n private _lastPosition: ConnectedPosition | null;\n\n /** Subject that emits whenever the position changes. */\n private _positionChanges = new Subject();\n\n /** Subscription to viewport size changes. */\n private _resizeSubscription = Subscription.EMPTY;\n\n /** Default offset for the overlay along the x axis. */\n private _offsetX = 0;\n\n /** Default offset for the overlay along the y axis. */\n private _offsetY = 0;\n\n /** Selector to be used when finding the elements on which to set the transform origin. */\n private _transformOriginSelector: string;\n\n /** Keeps track of the CSS classes that the position strategy has applied on the overlay panel. */\n private _appliedPanelClasses: string[] = [];\n\n /** Amount by which the overlay was pushed in each axis during the last time it was positioned. */\n private _previousPushAmount: {x: number, y: number} | null;\n\n /** Observable sequence of position changes. */\n positionChanges: Observable = this._positionChanges;\n\n /** Ordered list of preferred positions, from most to least desirable. */\n get positions(): ConnectionPositionPair[] {\n return this._preferredPositions;\n }\n\n constructor(\n connectedTo: FlexibleConnectedPositionStrategyOrigin, private _viewportRuler: ViewportRuler,\n private _document: Document, private _platform: Platform,\n private _overlayContainer: OverlayContainer) {\n this.setOrigin(connectedTo);\n }\n\n /** Attaches this position strategy to an overlay. */\n attach(overlayRef: OverlayReference): void {\n if (this._overlayRef && overlayRef !== this._overlayRef &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('This position strategy is already attached to an overlay');\n }\n\n this._validatePositions();\n\n overlayRef.hostElement.classList.add(boundingBoxClass);\n\n this._overlayRef = overlayRef;\n this._boundingBox = overlayRef.hostElement;\n this._pane = overlayRef.overlayElement;\n this._isDisposed = false;\n this._isInitialRender = true;\n this._lastPosition = null;\n this._resizeSubscription.unsubscribe();\n this._resizeSubscription = this._viewportRuler.change().subscribe(() => {\n // When the window is resized, we want to trigger the next reposition as if it\n // was an initial render, in order for the strategy to pick a new optimal position,\n // otherwise position locking will cause it to stay at the old one.\n this._isInitialRender = true;\n this.apply();\n });\n }\n\n /**\n * Updates the position of the overlay element, using whichever preferred position relative\n * to the origin best fits on-screen.\n *\n * The selection of a position goes as follows:\n * - If any positions fit completely within the viewport as-is,\n * choose the first position that does so.\n * - If flexible dimensions are enabled and at least one satifies the given minimum width/height,\n * choose the position with the greatest available size modified by the positions' weight.\n * - If pushing is enabled, take the position that went off-screen the least and push it\n * on-screen.\n * - If none of the previous criteria were met, use the position that goes off-screen the least.\n * @docs-private\n */\n apply(): void {\n // We shouldn't do anything if the strategy was disposed or we're on the server.\n if (this._isDisposed || !this._platform.isBrowser) {\n return;\n }\n\n // If the position has been applied already (e.g. when the overlay was opened) and the\n // consumer opted into locking in the position, re-use the old position, in order to\n // prevent the overlay from jumping around.\n if (!this._isInitialRender && this._positionLocked && this._lastPosition) {\n this.reapplyLastPosition();\n return;\n }\n\n this._clearPanelClasses();\n this._resetOverlayElementStyles();\n this._resetBoundingBoxStyles();\n\n // We need the bounding rects for the origin and the overlay to determine how to position\n // the overlay relative to the origin.\n // We use the viewport rect to determine whether a position would go off-screen.\n this._viewportRect = this._getNarrowedViewportRect();\n this._originRect = this._getOriginRect();\n this._overlayRect = this._pane.getBoundingClientRect();\n\n const originRect = this._originRect;\n const overlayRect = this._overlayRect;\n const viewportRect = this._viewportRect;\n\n // Positions where the overlay will fit with flexible dimensions.\n const flexibleFits: FlexibleFit[] = [];\n\n // Fallback if none of the preferred positions fit within the viewport.\n let fallback: FallbackPosition | undefined;\n\n // Go through each of the preferred positions looking for a good fit.\n // If a good fit is found, it will be applied immediately.\n for (let pos of this._preferredPositions) {\n // Get the exact (x, y) coordinate for the point-of-origin on the origin element.\n let originPoint = this._getOriginPoint(originRect, pos);\n\n // From that point-of-origin, get the exact (x, y) coordinate for the top-left corner of the\n // overlay in this position. We use the top-left corner for calculations and later translate\n // this into an appropriate (top, left, bottom, right) style.\n let overlayPoint = this._getOverlayPoint(originPoint, overlayRect, pos);\n\n // Calculate how well the overlay would fit into the viewport with this point.\n let overlayFit = this._getOverlayFit(overlayPoint, overlayRect, viewportRect, pos);\n\n // If the overlay, without any further work, fits into the viewport, use this position.\n if (overlayFit.isCompletelyWithinViewport) {\n this._isPushed = false;\n this._applyPosition(pos, originPoint);\n return;\n }\n\n // If the overlay has flexible dimensions, we can use this position\n // so long as there's enough space for the minimum dimensions.\n if (this._canFitWithFlexibleDimensions(overlayFit, overlayPoint, viewportRect)) {\n // Save positions where the overlay will fit with flexible dimensions. We will use these\n // if none of the positions fit *without* flexible dimensions.\n flexibleFits.push({\n position: pos,\n origin: originPoint,\n overlayRect,\n boundingBoxRect: this._calculateBoundingBoxRect(originPoint, pos)\n });\n\n continue;\n }\n\n // If the current preferred position does not fit on the screen, remember the position\n // if it has more visible area on-screen than we've seen and move onto the next preferred\n // position.\n if (!fallback || fallback.overlayFit.visibleArea < overlayFit.visibleArea) {\n fallback = {overlayFit, overlayPoint, originPoint, position: pos, overlayRect};\n }\n }\n\n // If there are any positions where the overlay would fit with flexible dimensions, choose the\n // one that has the greatest area available modified by the position's weight\n if (flexibleFits.length) {\n let bestFit: FlexibleFit | null = null;\n let bestScore = -1;\n for (const fit of flexibleFits) {\n const score =\n fit.boundingBoxRect.width * fit.boundingBoxRect.height * (fit.position.weight || 1);\n if (score > bestScore) {\n bestScore = score;\n bestFit = fit;\n }\n }\n\n this._isPushed = false;\n this._applyPosition(bestFit!.position, bestFit!.origin);\n return;\n }\n\n // When none of the preferred positions fit within the viewport, take the position\n // that went off-screen the least and attempt to push it on-screen.\n if (this._canPush) {\n // TODO(jelbourn): after pushing, the opening \"direction\" of the overlay might not make sense.\n this._isPushed = true;\n this._applyPosition(fallback!.position, fallback!.originPoint);\n return;\n }\n\n // All options for getting the overlay within the viewport have been exhausted, so go with the\n // position that went off-screen the least.\n this._applyPosition(fallback!.position, fallback!.originPoint);\n }\n\n detach(): void {\n this._clearPanelClasses();\n this._lastPosition = null;\n this._previousPushAmount = null;\n this._resizeSubscription.unsubscribe();\n }\n\n /** Cleanup after the element gets destroyed. */\n dispose(): void {\n if (this._isDisposed) {\n return;\n }\n\n // We can't use `_resetBoundingBoxStyles` here, because it resets\n // some properties to zero, rather than removing them.\n if (this._boundingBox) {\n extendStyles(this._boundingBox.style, {\n top: '',\n left: '',\n right: '',\n bottom: '',\n height: '',\n width: '',\n alignItems: '',\n justifyContent: '',\n } as CSSStyleDeclaration);\n }\n\n if (this._pane) {\n this._resetOverlayElementStyles();\n }\n\n if (this._overlayRef) {\n this._overlayRef.hostElement.classList.remove(boundingBoxClass);\n }\n\n this.detach();\n this._positionChanges.complete();\n this._overlayRef = this._boundingBox = null!;\n this._isDisposed = true;\n }\n\n /**\n * This re-aligns the overlay element with the trigger in its last calculated position,\n * even if a position higher in the \"preferred positions\" list would now fit. This\n * allows one to re-align the panel without changing the orientation of the panel.\n */\n reapplyLastPosition(): void {\n if (!this._isDisposed && (!this._platform || this._platform.isBrowser)) {\n this._originRect = this._getOriginRect();\n this._overlayRect = this._pane.getBoundingClientRect();\n this._viewportRect = this._getNarrowedViewportRect();\n\n const lastPosition = this._lastPosition || this._preferredPositions[0];\n const originPoint = this._getOriginPoint(this._originRect, lastPosition);\n\n this._applyPosition(lastPosition, originPoint);\n }\n }\n\n /**\n * Sets the list of Scrollable containers that host the origin element so that\n * on reposition we can evaluate if it or the overlay has been clipped or outside view. Every\n * Scrollable must be an ancestor element of the strategy's origin element.\n */\n withScrollableContainers(scrollables: CdkScrollable[]): this {\n this._scrollables = scrollables;\n return this;\n }\n\n /**\n * Adds new preferred positions.\n * @param positions List of positions options for this overlay.\n */\n withPositions(positions: ConnectedPosition[]): this {\n this._preferredPositions = positions;\n\n // If the last calculated position object isn't part of the positions anymore, clear\n // it in order to avoid it being picked up if the consumer tries to re-apply.\n if (positions.indexOf(this._lastPosition!) === -1) {\n this._lastPosition = null;\n }\n\n this._validatePositions();\n\n return this;\n }\n\n /**\n * Sets a minimum distance the overlay may be positioned to the edge of the viewport.\n * @param margin Required margin between the overlay and the viewport edge in pixels.\n */\n withViewportMargin(margin: number): this {\n this._viewportMargin = margin;\n return this;\n }\n\n /** Sets whether the overlay's width and height can be constrained to fit within the viewport. */\n withFlexibleDimensions(flexibleDimensions = true): this {\n this._hasFlexibleDimensions = flexibleDimensions;\n return this;\n }\n\n /** Sets whether the overlay can grow after the initial open via flexible width/height. */\n withGrowAfterOpen(growAfterOpen = true): this {\n this._growAfterOpen = growAfterOpen;\n return this;\n }\n\n /** Sets whether the overlay can be pushed on-screen if none of the provided positions fit. */\n withPush(canPush = true): this {\n this._canPush = canPush;\n return this;\n }\n\n /**\n * Sets whether the overlay's position should be locked in after it is positioned\n * initially. When an overlay is locked in, it won't attempt to reposition itself\n * when the position is re-applied (e.g. when the user scrolls away).\n * @param isLocked Whether the overlay should locked in.\n */\n withLockedPosition(isLocked = true): this {\n this._positionLocked = isLocked;\n return this;\n }\n\n /**\n * Sets the origin, relative to which to position the overlay.\n * Using an element origin is useful for building components that need to be positioned\n * relatively to a trigger (e.g. dropdown menus or tooltips), whereas using a point can be\n * used for cases like contextual menus which open relative to the user's pointer.\n * @param origin Reference to the new origin.\n */\n setOrigin(origin: FlexibleConnectedPositionStrategyOrigin): this {\n this._origin = origin;\n return this;\n }\n\n /**\n * Sets the default offset for the overlay's connection point on the x-axis.\n * @param offset New offset in the X axis.\n */\n withDefaultOffsetX(offset: number): this {\n this._offsetX = offset;\n return this;\n }\n\n /**\n * Sets the default offset for the overlay's connection point on the y-axis.\n * @param offset New offset in the Y axis.\n */\n withDefaultOffsetY(offset: number): this {\n this._offsetY = offset;\n return this;\n }\n\n /**\n * Configures that the position strategy should set a `transform-origin` on some elements\n * inside the overlay, depending on the current position that is being applied. This is\n * useful for the cases where the origin of an animation can change depending on the\n * alignment of the overlay.\n * @param selector CSS selector that will be used to find the target\n * elements onto which to set the transform origin.\n */\n withTransformOriginOn(selector: string): this {\n this._transformOriginSelector = selector;\n return this;\n }\n\n /**\n * Gets the (x, y) coordinate of a connection point on the origin based on a relative position.\n */\n private _getOriginPoint(originRect: ClientRect, pos: ConnectedPosition): Point {\n let x: number;\n if (pos.originX == 'center') {\n // Note: when centering we should always use the `left`\n // offset, otherwise the position will be wrong in RTL.\n x = originRect.left + (originRect.width / 2);\n } else {\n const startX = this._isRtl() ? originRect.right : originRect.left;\n const endX = this._isRtl() ? originRect.left : originRect.right;\n x = pos.originX == 'start' ? startX : endX;\n }\n\n let y: number;\n if (pos.originY == 'center') {\n y = originRect.top + (originRect.height / 2);\n } else {\n y = pos.originY == 'top' ? originRect.top : originRect.bottom;\n }\n\n return {x, y};\n }\n\n\n /**\n * Gets the (x, y) coordinate of the top-left corner of the overlay given a given position and\n * origin point to which the overlay should be connected.\n */\n private _getOverlayPoint(\n originPoint: Point,\n overlayRect: ClientRect,\n pos: ConnectedPosition): Point {\n\n // Calculate the (overlayStartX, overlayStartY), the start of the\n // potential overlay position relative to the origin point.\n let overlayStartX: number;\n if (pos.overlayX == 'center') {\n overlayStartX = -overlayRect.width / 2;\n } else if (pos.overlayX === 'start') {\n overlayStartX = this._isRtl() ? -overlayRect.width : 0;\n } else {\n overlayStartX = this._isRtl() ? 0 : -overlayRect.width;\n }\n\n let overlayStartY: number;\n if (pos.overlayY == 'center') {\n overlayStartY = -overlayRect.height / 2;\n } else {\n overlayStartY = pos.overlayY == 'top' ? 0 : -overlayRect.height;\n }\n\n // The (x, y) coordinates of the overlay.\n return {\n x: originPoint.x + overlayStartX,\n y: originPoint.y + overlayStartY,\n };\n }\n\n /** Gets how well an overlay at the given point will fit within the viewport. */\n private _getOverlayFit(point: Point, overlay: ClientRect, viewport: ClientRect,\n position: ConnectedPosition): OverlayFit {\n\n let {x, y} = point;\n let offsetX = this._getOffset(position, 'x');\n let offsetY = this._getOffset(position, 'y');\n\n // Account for the offsets since they could push the overlay out of the viewport.\n if (offsetX) {\n x += offsetX;\n }\n\n if (offsetY) {\n y += offsetY;\n }\n\n // How much the overlay would overflow at this position, on each side.\n let leftOverflow = 0 - x;\n let rightOverflow = (x + overlay.width) - viewport.width;\n let topOverflow = 0 - y;\n let bottomOverflow = (y + overlay.height) - viewport.height;\n\n // Visible parts of the element on each axis.\n let visibleWidth = this._subtractOverflows(overlay.width, leftOverflow, rightOverflow);\n let visibleHeight = this._subtractOverflows(overlay.height, topOverflow, bottomOverflow);\n let visibleArea = visibleWidth * visibleHeight;\n\n return {\n visibleArea,\n isCompletelyWithinViewport: (overlay.width * overlay.height) === visibleArea,\n fitsInViewportVertically: visibleHeight === overlay.height,\n fitsInViewportHorizontally: visibleWidth == overlay.width,\n };\n }\n\n /**\n * Whether the overlay can fit within the viewport when it may resize either its width or height.\n * @param fit How well the overlay fits in the viewport at some position.\n * @param point The (x, y) coordinates of the overlat at some position.\n * @param viewport The geometry of the viewport.\n */\n private _canFitWithFlexibleDimensions(fit: OverlayFit, point: Point, viewport: ClientRect) {\n if (this._hasFlexibleDimensions) {\n const availableHeight = viewport.bottom - point.y;\n const availableWidth = viewport.right - point.x;\n const minHeight = getPixelValue(this._overlayRef.getConfig().minHeight);\n const minWidth = getPixelValue(this._overlayRef.getConfig().minWidth);\n\n const verticalFit = fit.fitsInViewportVertically ||\n (minHeight != null && minHeight <= availableHeight);\n const horizontalFit = fit.fitsInViewportHorizontally ||\n (minWidth != null && minWidth <= availableWidth);\n\n return verticalFit && horizontalFit;\n }\n return false;\n }\n\n /**\n * Gets the point at which the overlay can be \"pushed\" on-screen. If the overlay is larger than\n * the viewport, the top-left corner will be pushed on-screen (with overflow occuring on the\n * right and bottom).\n *\n * @param start Starting point from which the overlay is pushed.\n * @param overlay Dimensions of the overlay.\n * @param scrollPosition Current viewport scroll position.\n * @returns The point at which to position the overlay after pushing. This is effectively a new\n * originPoint.\n */\n private _pushOverlayOnScreen(start: Point,\n overlay: ClientRect,\n scrollPosition: ViewportScrollPosition): Point {\n // If the position is locked and we've pushed the overlay already, reuse the previous push\n // amount, rather than pushing it again. If we were to continue pushing, the element would\n // remain in the viewport, which goes against the expectations when position locking is enabled.\n if (this._previousPushAmount && this._positionLocked) {\n return {\n x: start.x + this._previousPushAmount.x,\n y: start.y + this._previousPushAmount.y\n };\n }\n\n const viewport = this._viewportRect;\n\n // Determine how much the overlay goes outside the viewport on each\n // side, which we'll use to decide which direction to push it.\n const overflowRight = Math.max(start.x + overlay.width - viewport.width, 0);\n const overflowBottom = Math.max(start.y + overlay.height - viewport.height, 0);\n const overflowTop = Math.max(viewport.top - scrollPosition.top - start.y, 0);\n const overflowLeft = Math.max(viewport.left - scrollPosition.left - start.x, 0);\n\n // Amount by which to push the overlay in each axis such that it remains on-screen.\n let pushX = 0;\n let pushY = 0;\n\n // If the overlay fits completely within the bounds of the viewport, push it from whichever\n // direction is goes off-screen. Otherwise, push the top-left corner such that its in the\n // viewport and allow for the trailing end of the overlay to go out of bounds.\n if (overlay.width <= viewport.width) {\n pushX = overflowLeft || -overflowRight;\n } else {\n pushX = start.x < this._viewportMargin ? (viewport.left - scrollPosition.left) - start.x : 0;\n }\n\n if (overlay.height <= viewport.height) {\n pushY = overflowTop || -overflowBottom;\n } else {\n pushY = start.y < this._viewportMargin ? (viewport.top - scrollPosition.top) - start.y : 0;\n }\n\n this._previousPushAmount = {x: pushX, y: pushY};\n\n return {\n x: start.x + pushX,\n y: start.y + pushY,\n };\n }\n\n /**\n * Applies a computed position to the overlay and emits a position change.\n * @param position The position preference\n * @param originPoint The point on the origin element where the overlay is connected.\n */\n private _applyPosition(position: ConnectedPosition, originPoint: Point) {\n this._setTransformOrigin(position);\n this._setOverlayElementStyles(originPoint, position);\n this._setBoundingBoxStyles(originPoint, position);\n\n if (position.panelClass) {\n this._addPanelClasses(position.panelClass);\n }\n\n // Save the last connected position in case the position needs to be re-calculated.\n this._lastPosition = position;\n\n // Notify that the position has been changed along with its change properties.\n // We only emit if we've got any subscriptions, because the scroll visibility\n // calculcations can be somewhat expensive.\n if (this._positionChanges.observers.length) {\n const scrollableViewProperties = this._getScrollVisibility();\n const changeEvent = new ConnectedOverlayPositionChange(position, scrollableViewProperties);\n this._positionChanges.next(changeEvent);\n }\n\n this._isInitialRender = false;\n }\n\n /** Sets the transform origin based on the configured selector and the passed-in position. */\n private _setTransformOrigin(position: ConnectedPosition) {\n if (!this._transformOriginSelector) {\n return;\n }\n\n const elements: NodeListOf =\n this._boundingBox!.querySelectorAll(this._transformOriginSelector);\n let xOrigin: 'left' | 'right' | 'center';\n let yOrigin: 'top' | 'bottom' | 'center' = position.overlayY;\n\n if (position.overlayX === 'center') {\n xOrigin = 'center';\n } else if (this._isRtl()) {\n xOrigin = position.overlayX === 'start' ? 'right' : 'left';\n } else {\n xOrigin = position.overlayX === 'start' ? 'left' : 'right';\n }\n\n for (let i = 0; i < elements.length; i++) {\n elements[i].style.transformOrigin = `${xOrigin} ${yOrigin}`;\n }\n }\n\n /**\n * Gets the position and size of the overlay's sizing container.\n *\n * This method does no measuring and applies no styles so that we can cheaply compute the\n * bounds for all positions and choose the best fit based on these results.\n */\n private _calculateBoundingBoxRect(origin: Point, position: ConnectedPosition): BoundingBoxRect {\n const viewport = this._viewportRect;\n const isRtl = this._isRtl();\n let height: number, top: number, bottom: number;\n\n if (position.overlayY === 'top') {\n // Overlay is opening \"downward\" and thus is bound by the bottom viewport edge.\n top = origin.y;\n height = viewport.height - top + this._viewportMargin;\n } else if (position.overlayY === 'bottom') {\n // Overlay is opening \"upward\" and thus is bound by the top viewport edge. We need to add\n // the viewport margin back in, because the viewport rect is narrowed down to remove the\n // margin, whereas the `origin` position is calculated based on its `ClientRect`.\n bottom = viewport.height - origin.y + this._viewportMargin * 2;\n height = viewport.height - bottom + this._viewportMargin;\n } else {\n // If neither top nor bottom, it means that the overlay is vertically centered on the\n // origin point. Note that we want the position relative to the viewport, rather than\n // the page, which is why we don't use something like `viewport.bottom - origin.y` and\n // `origin.y - viewport.top`.\n const smallestDistanceToViewportEdge =\n Math.min(viewport.bottom - origin.y + viewport.top, origin.y);\n\n const previousHeight = this._lastBoundingBoxSize.height;\n\n height = smallestDistanceToViewportEdge * 2;\n top = origin.y - smallestDistanceToViewportEdge;\n\n if (height > previousHeight && !this._isInitialRender && !this._growAfterOpen) {\n top = origin.y - (previousHeight / 2);\n }\n }\n\n // The overlay is opening 'right-ward' (the content flows to the right).\n const isBoundedByRightViewportEdge =\n (position.overlayX === 'start' && !isRtl) ||\n (position.overlayX === 'end' && isRtl);\n\n // The overlay is opening 'left-ward' (the content flows to the left).\n const isBoundedByLeftViewportEdge =\n (position.overlayX === 'end' && !isRtl) ||\n (position.overlayX === 'start' && isRtl);\n\n let width: number, left: number, right: number;\n\n if (isBoundedByLeftViewportEdge) {\n right = viewport.width - origin.x + this._viewportMargin;\n width = origin.x - this._viewportMargin;\n } else if (isBoundedByRightViewportEdge) {\n left = origin.x;\n width = viewport.right - origin.x;\n } else {\n // If neither start nor end, it means that the overlay is horizontally centered on the\n // origin point. Note that we want the position relative to the viewport, rather than\n // the page, which is why we don't use something like `viewport.right - origin.x` and\n // `origin.x - viewport.left`.\n const smallestDistanceToViewportEdge =\n Math.min(viewport.right - origin.x + viewport.left, origin.x);\n const previousWidth = this._lastBoundingBoxSize.width;\n\n width = smallestDistanceToViewportEdge * 2;\n left = origin.x - smallestDistanceToViewportEdge;\n\n if (width > previousWidth && !this._isInitialRender && !this._growAfterOpen) {\n left = origin.x - (previousWidth / 2);\n }\n }\n\n return {top: top!, left: left!, bottom: bottom!, right: right!, width, height};\n }\n\n /**\n * Sets the position and size of the overlay's sizing wrapper. The wrapper is positioned on the\n * origin's connection point and stetches to the bounds of the viewport.\n *\n * @param origin The point on the origin element where the overlay is connected.\n * @param position The position preference\n */\n private _setBoundingBoxStyles(origin: Point, position: ConnectedPosition): void {\n const boundingBoxRect = this._calculateBoundingBoxRect(origin, position);\n\n // It's weird if the overlay *grows* while scrolling, so we take the last size into account\n // when applying a new size.\n if (!this._isInitialRender && !this._growAfterOpen) {\n boundingBoxRect.height = Math.min(boundingBoxRect.height, this._lastBoundingBoxSize.height);\n boundingBoxRect.width = Math.min(boundingBoxRect.width, this._lastBoundingBoxSize.width);\n }\n\n const styles = {} as CSSStyleDeclaration;\n\n if (this._hasExactPosition()) {\n styles.top = styles.left = '0';\n styles.bottom = styles.right = styles.maxHeight = styles.maxWidth = '';\n styles.width = styles.height = '100%';\n } else {\n const maxHeight = this._overlayRef.getConfig().maxHeight;\n const maxWidth = this._overlayRef.getConfig().maxWidth;\n\n styles.height = coerceCssPixelValue(boundingBoxRect.height);\n styles.top = coerceCssPixelValue(boundingBoxRect.top);\n styles.bottom = coerceCssPixelValue(boundingBoxRect.bottom);\n styles.width = coerceCssPixelValue(boundingBoxRect.width);\n styles.left = coerceCssPixelValue(boundingBoxRect.left);\n styles.right = coerceCssPixelValue(boundingBoxRect.right);\n\n // Push the pane content towards the proper direction.\n if (position.overlayX === 'center') {\n styles.alignItems = 'center';\n } else {\n styles.alignItems = position.overlayX === 'end' ? 'flex-end' : 'flex-start';\n }\n\n if (position.overlayY === 'center') {\n styles.justifyContent = 'center';\n } else {\n styles.justifyContent = position.overlayY === 'bottom' ? 'flex-end' : 'flex-start';\n }\n\n if (maxHeight) {\n styles.maxHeight = coerceCssPixelValue(maxHeight);\n }\n\n if (maxWidth) {\n styles.maxWidth = coerceCssPixelValue(maxWidth);\n }\n }\n\n this._lastBoundingBoxSize = boundingBoxRect;\n\n extendStyles(this._boundingBox!.style, styles);\n }\n\n /** Resets the styles for the bounding box so that a new positioning can be computed. */\n private _resetBoundingBoxStyles() {\n extendStyles(this._boundingBox!.style, {\n top: '0',\n left: '0',\n right: '0',\n bottom: '0',\n height: '',\n width: '',\n alignItems: '',\n justifyContent: '',\n } as CSSStyleDeclaration);\n }\n\n /** Resets the styles for the overlay pane so that a new positioning can be computed. */\n private _resetOverlayElementStyles() {\n extendStyles(this._pane.style, {\n top: '',\n left: '',\n bottom: '',\n right: '',\n position: '',\n transform: '',\n } as CSSStyleDeclaration);\n }\n\n /** Sets positioning styles to the overlay element. */\n private _setOverlayElementStyles(originPoint: Point, position: ConnectedPosition): void {\n const styles = {} as CSSStyleDeclaration;\n const hasExactPosition = this._hasExactPosition();\n const hasFlexibleDimensions = this._hasFlexibleDimensions;\n const config = this._overlayRef.getConfig();\n\n if (hasExactPosition) {\n const scrollPosition = this._viewportRuler.getViewportScrollPosition();\n extendStyles(styles, this._getExactOverlayY(position, originPoint, scrollPosition));\n extendStyles(styles, this._getExactOverlayX(position, originPoint, scrollPosition));\n } else {\n styles.position = 'static';\n }\n\n // Use a transform to apply the offsets. We do this because the `center` positions rely on\n // being in the normal flex flow and setting a `top` / `left` at all will completely throw\n // off the position. We also can't use margins, because they won't have an effect in some\n // cases where the element doesn't have anything to \"push off of\". Finally, this works\n // better both with flexible and non-flexible positioning.\n let transformString = '';\n let offsetX = this._getOffset(position, 'x');\n let offsetY = this._getOffset(position, 'y');\n\n if (offsetX) {\n transformString += `translateX(${offsetX}px) `;\n }\n\n if (offsetY) {\n transformString += `translateY(${offsetY}px)`;\n }\n\n styles.transform = transformString.trim();\n\n // If a maxWidth or maxHeight is specified on the overlay, we remove them. We do this because\n // we need these values to both be set to \"100%\" for the automatic flexible sizing to work.\n // The maxHeight and maxWidth are set on the boundingBox in order to enforce the constraint.\n // Note that this doesn't apply when we have an exact position, in which case we do want to\n // apply them because they'll be cleared from the bounding box.\n if (config.maxHeight) {\n if (hasExactPosition) {\n styles.maxHeight = coerceCssPixelValue(config.maxHeight);\n } else if (hasFlexibleDimensions) {\n styles.maxHeight = '';\n }\n }\n\n if (config.maxWidth) {\n if (hasExactPosition) {\n styles.maxWidth = coerceCssPixelValue(config.maxWidth);\n } else if (hasFlexibleDimensions) {\n styles.maxWidth = '';\n }\n }\n\n extendStyles(this._pane.style, styles);\n }\n\n /** Gets the exact top/bottom for the overlay when not using flexible sizing or when pushing. */\n private _getExactOverlayY(position: ConnectedPosition,\n originPoint: Point,\n scrollPosition: ViewportScrollPosition) {\n // Reset any existing styles. This is necessary in case the\n // preferred position has changed since the last `apply`.\n let styles = {top: '', bottom: ''} as CSSStyleDeclaration;\n let overlayPoint = this._getOverlayPoint(originPoint, this._overlayRect, position);\n\n if (this._isPushed) {\n overlayPoint = this._pushOverlayOnScreen(overlayPoint, this._overlayRect, scrollPosition);\n }\n\n let virtualKeyboardOffset =\n this._overlayContainer.getContainerElement().getBoundingClientRect().top;\n\n // Normally this would be zero, however when the overlay is attached to an input (e.g. in an\n // autocomplete), mobile browsers will shift everything in order to put the input in the middle\n // of the screen and to make space for the virtual keyboard. We need to account for this offset,\n // otherwise our positioning will be thrown off.\n overlayPoint.y -= virtualKeyboardOffset;\n\n // We want to set either `top` or `bottom` based on whether the overlay wants to appear\n // above or below the origin and the direction in which the element will expand.\n if (position.overlayY === 'bottom') {\n // When using `bottom`, we adjust the y position such that it is the distance\n // from the bottom of the viewport rather than the top.\n const documentHeight = this._document.documentElement!.clientHeight;\n styles.bottom = `${documentHeight - (overlayPoint.y + this._overlayRect.height)}px`;\n } else {\n styles.top = coerceCssPixelValue(overlayPoint.y);\n }\n\n return styles;\n }\n\n /** Gets the exact left/right for the overlay when not using flexible sizing or when pushing. */\n private _getExactOverlayX(position: ConnectedPosition,\n originPoint: Point,\n scrollPosition: ViewportScrollPosition) {\n // Reset any existing styles. This is necessary in case the preferred position has\n // changed since the last `apply`.\n let styles = {left: '', right: ''} as CSSStyleDeclaration;\n let overlayPoint = this._getOverlayPoint(originPoint, this._overlayRect, position);\n\n if (this._isPushed) {\n overlayPoint = this._pushOverlayOnScreen(overlayPoint, this._overlayRect, scrollPosition);\n }\n\n // We want to set either `left` or `right` based on whether the overlay wants to appear \"before\"\n // or \"after\" the origin, which determines the direction in which the element will expand.\n // For the horizontal axis, the meaning of \"before\" and \"after\" change based on whether the\n // page is in RTL or LTR.\n let horizontalStyleProperty: 'left' | 'right';\n\n if (this._isRtl()) {\n horizontalStyleProperty = position.overlayX === 'end' ? 'left' : 'right';\n } else {\n horizontalStyleProperty = position.overlayX === 'end' ? 'right' : 'left';\n }\n\n // When we're setting `right`, we adjust the x position such that it is the distance\n // from the right edge of the viewport rather than the left edge.\n if (horizontalStyleProperty === 'right') {\n const documentWidth = this._document.documentElement!.clientWidth;\n styles.right = `${documentWidth - (overlayPoint.x + this._overlayRect.width)}px`;\n } else {\n styles.left = coerceCssPixelValue(overlayPoint.x);\n }\n\n return styles;\n }\n\n /**\n * Gets the view properties of the trigger and overlay, including whether they are clipped\n * or completely outside the view of any of the strategy's scrollables.\n */\n private _getScrollVisibility(): ScrollingVisibility {\n // Note: needs fresh rects since the position could've changed.\n const originBounds = this._getOriginRect();\n const overlayBounds = this._pane.getBoundingClientRect();\n\n // TODO(jelbourn): instead of needing all of the client rects for these scrolling containers\n // every time, we should be able to use the scrollTop of the containers if the size of those\n // containers hasn't changed.\n const scrollContainerBounds = this._scrollables.map(scrollable => {\n return scrollable.getElementRef().nativeElement.getBoundingClientRect();\n });\n\n return {\n isOriginClipped: isElementClippedByScrolling(originBounds, scrollContainerBounds),\n isOriginOutsideView: isElementScrolledOutsideView(originBounds, scrollContainerBounds),\n isOverlayClipped: isElementClippedByScrolling(overlayBounds, scrollContainerBounds),\n isOverlayOutsideView: isElementScrolledOutsideView(overlayBounds, scrollContainerBounds),\n };\n }\n\n /** Subtracts the amount that an element is overflowing on an axis from its length. */\n private _subtractOverflows(length: number, ...overflows: number[]): number {\n return overflows.reduce((currentValue: number, currentOverflow: number) => {\n return currentValue - Math.max(currentOverflow, 0);\n }, length);\n }\n\n /** Narrows the given viewport rect by the current _viewportMargin. */\n private _getNarrowedViewportRect(): ClientRect {\n // We recalculate the viewport rect here ourselves, rather than using the ViewportRuler,\n // because we want to use the `clientWidth` and `clientHeight` as the base. The difference\n // being that the client properties don't include the scrollbar, as opposed to `innerWidth`\n // and `innerHeight` that do. This is necessary, because the overlay container uses\n // 100% `width` and `height` which don't include the scrollbar either.\n const width = this._document.documentElement!.clientWidth;\n const height = this._document.documentElement!.clientHeight;\n const scrollPosition = this._viewportRuler.getViewportScrollPosition();\n\n return {\n top: scrollPosition.top + this._viewportMargin,\n left: scrollPosition.left + this._viewportMargin,\n right: scrollPosition.left + width - this._viewportMargin,\n bottom: scrollPosition.top + height - this._viewportMargin,\n width: width - (2 * this._viewportMargin),\n height: height - (2 * this._viewportMargin),\n };\n }\n\n /** Whether the we're dealing with an RTL context */\n private _isRtl() {\n return this._overlayRef.getDirection() === 'rtl';\n }\n\n /** Determines whether the overlay uses exact or flexible positioning. */\n private _hasExactPosition() {\n return !this._hasFlexibleDimensions || this._isPushed;\n }\n\n /** Retrieves the offset of a position along the x or y axis. */\n private _getOffset(position: ConnectedPosition, axis: 'x' | 'y') {\n if (axis === 'x') {\n // We don't do something like `position['offset' + axis]` in\n // order to avoid breking minifiers that rename properties.\n return position.offsetX == null ? this._offsetX : position.offsetX;\n }\n\n return position.offsetY == null ? this._offsetY : position.offsetY;\n }\n\n /** Validates that the current position match the expected values. */\n private _validatePositions(): void {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!this._preferredPositions.length) {\n throw Error('FlexibleConnectedPositionStrategy: At least one position is required.');\n }\n\n // TODO(crisbeto): remove these once Angular's template type\n // checking is advanced enough to catch these cases.\n this._preferredPositions.forEach(pair => {\n validateHorizontalPosition('originX', pair.originX);\n validateVerticalPosition('originY', pair.originY);\n validateHorizontalPosition('overlayX', pair.overlayX);\n validateVerticalPosition('overlayY', pair.overlayY);\n });\n }\n }\n\n /** Adds a single CSS class or an array of classes on the overlay panel. */\n private _addPanelClasses(cssClasses: string | string[]) {\n if (this._pane) {\n coerceArray(cssClasses).forEach(cssClass => {\n if (cssClass !== '' && this._appliedPanelClasses.indexOf(cssClass) === -1) {\n this._appliedPanelClasses.push(cssClass);\n this._pane.classList.add(cssClass);\n }\n });\n }\n }\n\n /** Clears the classes that the position strategy has applied from the overlay panel. */\n private _clearPanelClasses() {\n if (this._pane) {\n this._appliedPanelClasses.forEach(cssClass => {\n this._pane.classList.remove(cssClass);\n });\n this._appliedPanelClasses = [];\n }\n }\n\n /** Returns the ClientRect of the current origin. */\n private _getOriginRect(): ClientRect {\n const origin = this._origin;\n\n if (origin instanceof ElementRef) {\n return origin.nativeElement.getBoundingClientRect();\n }\n\n // Check for Element so SVG elements are also supported.\n if (origin instanceof Element) {\n return origin.getBoundingClientRect();\n }\n\n const width = origin.width || 0;\n const height = origin.height || 0;\n\n // If the origin is a point, return a client rect as if it was a 0x0 element at the point.\n return {\n top: origin.y,\n bottom: origin.y + height,\n left: origin.x,\n right: origin.x + width,\n height,\n width\n };\n }\n}\n\n/** A simple (x, y) coordinate. */\ninterface Point {\n x: number;\n y: number;\n}\n\n/** Record of measurements for how an overlay (at a given position) fits into the viewport. */\ninterface OverlayFit {\n /** Whether the overlay fits completely in the viewport. */\n isCompletelyWithinViewport: boolean;\n\n /** Whether the overlay fits in the viewport on the y-axis. */\n fitsInViewportVertically: boolean;\n\n /** Whether the overlay fits in the viewport on the x-axis. */\n fitsInViewportHorizontally: boolean;\n\n /** The total visible area (in px^2) of the overlay inside the viewport. */\n visibleArea: number;\n}\n\n/** Record of the measurments determining whether an overlay will fit in a specific position. */\ninterface FallbackPosition {\n position: ConnectedPosition;\n originPoint: Point;\n overlayPoint: Point;\n overlayFit: OverlayFit;\n overlayRect: ClientRect;\n}\n\n/** Position and size of the overlay sizing wrapper for a specific position. */\ninterface BoundingBoxRect {\n top: number;\n left: number;\n bottom: number;\n right: number;\n height: number;\n width: number;\n}\n\n/** Record of measures determining how well a given position will fit with flexible dimensions. */\ninterface FlexibleFit {\n position: ConnectedPosition;\n origin: Point;\n overlayRect: ClientRect;\n boundingBoxRect: BoundingBoxRect;\n}\n\n/** A connected position as specified by the user. */\nexport interface ConnectedPosition {\n originX: 'start' | 'center' | 'end';\n originY: 'top' | 'center' | 'bottom';\n\n overlayX: 'start' | 'center' | 'end';\n overlayY: 'top' | 'center' | 'bottom';\n\n weight?: number;\n offsetX?: number;\n offsetY?: number;\n panelClass?: string | string[];\n}\n\n/** Shallow-extends a stylesheet object with another stylesheet object. */\nfunction extendStyles(destination: CSSStyleDeclaration,\n source: CSSStyleDeclaration): CSSStyleDeclaration {\n for (let key in source) {\n if (source.hasOwnProperty(key)) {\n destination[key] = source[key];\n }\n }\n\n return destination;\n}\n\n\n/**\n * Extracts the pixel value as a number from a value, if it's a number\n * or a CSS pixel string (e.g. `1337px`). Otherwise returns null.\n */\nfunction getPixelValue(input: number|string|null|undefined): number|null {\n if (typeof input !== 'number' && input != null) {\n const [value, units] = input.split(cssUnitPattern);\n return (!units || units === 'px') ? parseFloat(value) : null;\n }\n\n return input || null;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Direction} from '@angular/cdk/bidi';\nimport {Platform} from '@angular/cdk/platform';\nimport {CdkScrollable, ViewportRuler} from '@angular/cdk/scrolling';\nimport {ElementRef} from '@angular/core';\nimport {Observable} from 'rxjs';\n\nimport {OverlayContainer} from '../overlay-container';\nimport {OverlayReference} from '../overlay-reference';\n\nimport {\n ConnectedOverlayPositionChange,\n ConnectionPositionPair,\n OriginConnectionPosition,\n OverlayConnectionPosition,\n} from './connected-position';\nimport {FlexibleConnectedPositionStrategy} from './flexible-connected-position-strategy';\nimport {PositionStrategy} from './position-strategy';\n\n/**\n * A strategy for positioning overlays. Using this strategy, an overlay is given an\n * implicit position relative to some origin element. The relative position is defined in terms of\n * a point on the origin element that is connected to a point on the overlay element. For example,\n * a basic dropdown is connecting the bottom-left corner of the origin to the top-left corner\n * of the overlay.\n * @deprecated Use `FlexibleConnectedPositionStrategy` instead.\n * @breaking-change 8.0.0\n */\nexport class ConnectedPositionStrategy implements PositionStrategy {\n /**\n * Reference to the underlying position strategy to which all the API calls are proxied.\n * @docs-private\n */\n _positionStrategy: FlexibleConnectedPositionStrategy;\n\n /** The overlay to which this strategy is attached. */\n private _overlayRef: OverlayReference;\n\n private _direction: Direction | null;\n\n /** Ordered list of preferred positions, from most to least desirable. */\n _preferredPositions: ConnectionPositionPair[] = [];\n\n /** Emits an event when the connection point changes. */\n readonly onPositionChange: Observable;\n\n constructor(\n originPos: OriginConnectionPosition, overlayPos: OverlayConnectionPosition,\n connectedTo: ElementRef, viewportRuler: ViewportRuler, document: Document,\n platform: Platform, overlayContainer: OverlayContainer) {\n // Since the `ConnectedPositionStrategy` is deprecated and we don't want to maintain\n // the extra logic, we create an instance of the positioning strategy that has some\n // defaults that make it behave as the old position strategy and to which we'll\n // proxy all of the API calls.\n this._positionStrategy = new FlexibleConnectedPositionStrategy(\n connectedTo, viewportRuler, document, platform, overlayContainer)\n .withFlexibleDimensions(false)\n .withPush(false)\n .withViewportMargin(0);\n\n this.withFallbackPosition(originPos, overlayPos);\n this.onPositionChange = this._positionStrategy.positionChanges;\n }\n\n /** Ordered list of preferred positions, from most to least desirable. */\n get positions(): ConnectionPositionPair[] {\n return this._preferredPositions;\n }\n\n /** Attach this position strategy to an overlay. */\n attach(overlayRef: OverlayReference): void {\n this._overlayRef = overlayRef;\n this._positionStrategy.attach(overlayRef);\n\n if (this._direction) {\n overlayRef.setDirection(this._direction);\n this._direction = null;\n }\n }\n\n /** Disposes all resources used by the position strategy. */\n dispose() {\n this._positionStrategy.dispose();\n }\n\n /** @docs-private */\n detach() {\n this._positionStrategy.detach();\n }\n\n /**\n * Updates the position of the overlay element, using whichever preferred position relative\n * to the origin fits on-screen.\n * @docs-private\n */\n apply(): void {\n this._positionStrategy.apply();\n }\n\n /**\n * Re-positions the overlay element with the trigger in its last calculated position,\n * even if a position higher in the \"preferred positions\" list would now fit. This\n * allows one to re-align the panel without changing the orientation of the panel.\n */\n recalculateLastPosition(): void {\n this._positionStrategy.reapplyLastPosition();\n }\n\n /**\n * Sets the list of Scrollable containers that host the origin element so that\n * on reposition we can evaluate if it or the overlay has been clipped or outside view. Every\n * Scrollable must be an ancestor element of the strategy's origin element.\n */\n withScrollableContainers(scrollables: CdkScrollable[]) {\n this._positionStrategy.withScrollableContainers(scrollables);\n }\n\n /**\n * Adds a new preferred fallback position.\n * @param originPos\n * @param overlayPos\n */\n withFallbackPosition(\n originPos: OriginConnectionPosition,\n overlayPos: OverlayConnectionPosition,\n offsetX?: number,\n offsetY?: number): this {\n\n const position = new ConnectionPositionPair(originPos, overlayPos, offsetX, offsetY);\n this._preferredPositions.push(position);\n this._positionStrategy.withPositions(this._preferredPositions);\n return this;\n }\n\n /**\n * Sets the layout direction so the overlay's position can be adjusted to match.\n * @param dir New layout direction.\n */\n withDirection(dir: 'ltr' | 'rtl'): this {\n // Since the direction might be declared before the strategy is attached,\n // we save the value in a temporary property and we'll transfer it to the\n // overlay ref on attachment.\n if (this._overlayRef) {\n this._overlayRef.setDirection(dir);\n } else {\n this._direction = dir;\n }\n\n return this;\n }\n\n /**\n * Sets an offset for the overlay's connection point on the x-axis\n * @param offset New offset in the X axis.\n */\n withOffsetX(offset: number): this {\n this._positionStrategy.withDefaultOffsetX(offset);\n return this;\n }\n\n /**\n * Sets an offset for the overlay's connection point on the y-axis\n * @param offset New offset in the Y axis.\n */\n withOffsetY(offset: number): this {\n this._positionStrategy.withDefaultOffsetY(offset);\n return this;\n }\n\n /**\n * Sets whether the overlay's position should be locked in after it is positioned\n * initially. When an overlay is locked in, it won't attempt to reposition itself\n * when the position is re-applied (e.g. when the user scrolls away).\n * @param isLocked Whether the overlay should locked in.\n */\n withLockedPosition(isLocked: boolean): this {\n this._positionStrategy.withLockedPosition(isLocked);\n return this;\n }\n\n /**\n * Overwrites the current set of positions with an array of new ones.\n * @param positions Position pairs to be set on the strategy.\n */\n withPositions(positions: ConnectionPositionPair[]): this {\n this._preferredPositions = positions.slice();\n this._positionStrategy.withPositions(this._preferredPositions);\n return this;\n }\n\n /**\n * Sets the origin element, relative to which to position the overlay.\n * @param origin Reference to the new origin element.\n */\n setOrigin(origin: ElementRef): this {\n this._positionStrategy.setOrigin(origin);\n return this;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {PositionStrategy} from './position-strategy';\nimport {OverlayReference} from '../overlay-reference';\n\n/** Class to be added to the overlay pane wrapper. */\nconst wrapperClass = 'cdk-global-overlay-wrapper';\n\n/**\n * A strategy for positioning overlays. Using this strategy, an overlay is given an\n * explicit position relative to the browser's viewport. We use flexbox, instead of\n * transforms, in order to avoid issues with subpixel rendering which can cause the\n * element to become blurry.\n */\nexport class GlobalPositionStrategy implements PositionStrategy {\n /** The overlay to which this strategy is attached. */\n private _overlayRef: OverlayReference;\n private _cssPosition: string = 'static';\n private _topOffset: string = '';\n private _bottomOffset: string = '';\n private _leftOffset: string = '';\n private _rightOffset: string = '';\n private _alignItems: string = '';\n private _justifyContent: string = '';\n private _width: string = '';\n private _height: string = '';\n private _isDisposed: boolean;\n\n attach(overlayRef: OverlayReference): void {\n const config = overlayRef.getConfig();\n\n this._overlayRef = overlayRef;\n\n if (this._width && !config.width) {\n overlayRef.updateSize({width: this._width});\n }\n\n if (this._height && !config.height) {\n overlayRef.updateSize({height: this._height});\n }\n\n overlayRef.hostElement.classList.add(wrapperClass);\n this._isDisposed = false;\n }\n\n /**\n * Sets the top position of the overlay. Clears any previously set vertical position.\n * @param value New top offset.\n */\n top(value: string = ''): this {\n this._bottomOffset = '';\n this._topOffset = value;\n this._alignItems = 'flex-start';\n return this;\n }\n\n /**\n * Sets the left position of the overlay. Clears any previously set horizontal position.\n * @param value New left offset.\n */\n left(value: string = ''): this {\n this._rightOffset = '';\n this._leftOffset = value;\n this._justifyContent = 'flex-start';\n return this;\n }\n\n /**\n * Sets the bottom position of the overlay. Clears any previously set vertical position.\n * @param value New bottom offset.\n */\n bottom(value: string = ''): this {\n this._topOffset = '';\n this._bottomOffset = value;\n this._alignItems = 'flex-end';\n return this;\n }\n\n /**\n * Sets the right position of the overlay. Clears any previously set horizontal position.\n * @param value New right offset.\n */\n right(value: string = ''): this {\n this._leftOffset = '';\n this._rightOffset = value;\n this._justifyContent = 'flex-end';\n return this;\n }\n\n /**\n * Sets the overlay width and clears any previously set width.\n * @param value New width for the overlay\n * @deprecated Pass the `width` through the `OverlayConfig`.\n * @breaking-change 8.0.0\n */\n width(value: string = ''): this {\n if (this._overlayRef) {\n this._overlayRef.updateSize({width: value});\n } else {\n this._width = value;\n }\n\n return this;\n }\n\n /**\n * Sets the overlay height and clears any previously set height.\n * @param value New height for the overlay\n * @deprecated Pass the `height` through the `OverlayConfig`.\n * @breaking-change 8.0.0\n */\n height(value: string = ''): this {\n if (this._overlayRef) {\n this._overlayRef.updateSize({height: value});\n } else {\n this._height = value;\n }\n\n return this;\n }\n\n /**\n * Centers the overlay horizontally with an optional offset.\n * Clears any previously set horizontal position.\n *\n * @param offset Overlay offset from the horizontal center.\n */\n centerHorizontally(offset: string = ''): this {\n this.left(offset);\n this._justifyContent = 'center';\n return this;\n }\n\n /**\n * Centers the overlay vertically with an optional offset.\n * Clears any previously set vertical position.\n *\n * @param offset Overlay offset from the vertical center.\n */\n centerVertically(offset: string = ''): this {\n this.top(offset);\n this._alignItems = 'center';\n return this;\n }\n\n /**\n * Apply the position to the element.\n * @docs-private\n */\n apply(): void {\n // Since the overlay ref applies the strategy asynchronously, it could\n // have been disposed before it ends up being applied. If that is the\n // case, we shouldn't do anything.\n if (!this._overlayRef || !this._overlayRef.hasAttached()) {\n return;\n }\n\n const styles = this._overlayRef.overlayElement.style;\n const parentStyles = this._overlayRef.hostElement.style;\n const config = this._overlayRef.getConfig();\n const {width, height, maxWidth, maxHeight} = config;\n const shouldBeFlushHorizontally = (width === '100%' || width === '100vw') &&\n (!maxWidth || maxWidth === '100%' || maxWidth === '100vw');\n const shouldBeFlushVertically = (height === '100%' || height === '100vh') &&\n (!maxHeight || maxHeight === '100%' || maxHeight === '100vh');\n\n styles.position = this._cssPosition;\n styles.marginLeft = shouldBeFlushHorizontally ? '0' : this._leftOffset;\n styles.marginTop = shouldBeFlushVertically ? '0' : this._topOffset;\n styles.marginBottom = this._bottomOffset;\n styles.marginRight = this._rightOffset;\n\n if (shouldBeFlushHorizontally) {\n parentStyles.justifyContent = 'flex-start';\n } else if (this._justifyContent === 'center') {\n parentStyles.justifyContent = 'center';\n } else if (this._overlayRef.getConfig().direction === 'rtl') {\n // In RTL the browser will invert `flex-start` and `flex-end` automatically, but we\n // don't want that because our positioning is explicitly `left` and `right`, hence\n // why we do another inversion to ensure that the overlay stays in the same position.\n // TODO: reconsider this if we add `start` and `end` methods.\n if (this._justifyContent === 'flex-start') {\n parentStyles.justifyContent = 'flex-end';\n } else if (this._justifyContent === 'flex-end') {\n parentStyles.justifyContent = 'flex-start';\n }\n } else {\n parentStyles.justifyContent = this._justifyContent;\n }\n\n parentStyles.alignItems = shouldBeFlushVertically ? 'flex-start' : this._alignItems;\n }\n\n /**\n * Cleans up the DOM changes from the position strategy.\n * @docs-private\n */\n dispose(): void {\n if (this._isDisposed || !this._overlayRef) {\n return;\n }\n\n const styles = this._overlayRef.overlayElement.style;\n const parent = this._overlayRef.hostElement;\n const parentStyles = parent.style;\n\n parent.classList.remove(wrapperClass);\n parentStyles.justifyContent = parentStyles.alignItems = styles.marginTop =\n styles.marginBottom = styles.marginLeft = styles.marginRight = styles.position = '';\n\n this._overlayRef = null!;\n this._isDisposed = true;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Platform} from '@angular/cdk/platform';\nimport {ViewportRuler} from '@angular/cdk/scrolling';\nimport {DOCUMENT} from '@angular/common';\nimport {ElementRef, Inject, Injectable} from '@angular/core';\n\nimport {OverlayContainer} from '../overlay-container';\n\nimport {OriginConnectionPosition, OverlayConnectionPosition} from './connected-position';\nimport {ConnectedPositionStrategy} from './connected-position-strategy';\nimport {\n FlexibleConnectedPositionStrategy,\n FlexibleConnectedPositionStrategyOrigin,\n} from './flexible-connected-position-strategy';\nimport {GlobalPositionStrategy} from './global-position-strategy';\n\n\n/** Builder for overlay position strategy. */\n@Injectable({providedIn: 'root'})\nexport class OverlayPositionBuilder {\n constructor(\n private _viewportRuler: ViewportRuler, @Inject(DOCUMENT) private _document: any,\n private _platform: Platform, private _overlayContainer: OverlayContainer) {}\n\n /**\n * Creates a global position strategy.\n */\n global(): GlobalPositionStrategy {\n return new GlobalPositionStrategy();\n }\n\n /**\n * Creates a relative position strategy.\n * @param elementRef\n * @param originPos\n * @param overlayPos\n * @deprecated Use `flexibleConnectedTo` instead.\n * @breaking-change 8.0.0\n */\n connectedTo(\n elementRef: ElementRef,\n originPos: OriginConnectionPosition,\n overlayPos: OverlayConnectionPosition): ConnectedPositionStrategy {\n return new ConnectedPositionStrategy(\n originPos, overlayPos, elementRef, this._viewportRuler, this._document, this._platform,\n this._overlayContainer);\n }\n\n /**\n * Creates a flexible position strategy.\n * @param origin Origin relative to which to position the overlay.\n */\n flexibleConnectedTo(origin: FlexibleConnectedPositionStrategyOrigin):\n FlexibleConnectedPositionStrategy {\n return new FlexibleConnectedPositionStrategy(origin, this._viewportRuler, this._document,\n this._platform, this._overlayContainer);\n }\n\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directionality} from '@angular/cdk/bidi';\nimport {DomPortalOutlet} from '@angular/cdk/portal';\nimport {DOCUMENT, Location} from '@angular/common';\nimport {\n ApplicationRef,\n ComponentFactoryResolver,\n Inject,\n Injectable,\n Injector,\n NgZone,\n} from '@angular/core';\nimport {OverlayKeyboardDispatcher} from './dispatchers/overlay-keyboard-dispatcher';\nimport {OverlayOutsideClickDispatcher} from './dispatchers/overlay-outside-click-dispatcher';\nimport {OverlayConfig} from './overlay-config';\nimport {OverlayContainer} from './overlay-container';\nimport {OverlayRef} from './overlay-ref';\nimport {OverlayPositionBuilder} from './position/overlay-position-builder';\nimport {ScrollStrategyOptions} from './scroll/index';\n\n\n/** Next overlay unique ID. */\nlet nextUniqueId = 0;\n\n// Note that Overlay is *not* scoped to the app root because of the ComponentFactoryResolver\n// which needs to be different depending on where OverlayModule is imported.\n\n/**\n * Service to create Overlays. Overlays are dynamically added pieces of floating UI, meant to be\n * used as a low-level building block for other components. Dialogs, tooltips, menus,\n * selects, etc. can all be built using overlays. The service should primarily be used by authors\n * of re-usable components rather than developers building end-user applications.\n *\n * An overlay *is* a PortalOutlet, so any kind of Portal can be loaded into one.\n */\n@Injectable()\nexport class Overlay {\n private _appRef: ApplicationRef;\n\n constructor(\n /** Scrolling strategies that can be used when creating an overlay. */\n public scrollStrategies: ScrollStrategyOptions,\n private _overlayContainer: OverlayContainer,\n private _componentFactoryResolver: ComponentFactoryResolver,\n private _positionBuilder: OverlayPositionBuilder,\n private _keyboardDispatcher: OverlayKeyboardDispatcher,\n private _injector: Injector,\n private _ngZone: NgZone,\n @Inject(DOCUMENT) private _document: any,\n private _directionality: Directionality,\n // @breaking-change 8.0.0 `_location` parameter to be made required.\n private _location?: Location,\n // @breaking-change 9.0.0 `_outsideClickDispatcher` parameter to be made required.\n private _outsideClickDispatcher?: OverlayOutsideClickDispatcher) { }\n\n /**\n * Creates an overlay.\n * @param config Configuration applied to the overlay.\n * @returns Reference to the created overlay.\n */\n create(config?: OverlayConfig): OverlayRef {\n const host = this._createHostElement();\n const pane = this._createPaneElement(host);\n const portalOutlet = this._createPortalOutlet(pane);\n const overlayConfig = new OverlayConfig(config);\n\n overlayConfig.direction = overlayConfig.direction || this._directionality.value;\n\n return new OverlayRef(portalOutlet, host, pane, overlayConfig, this._ngZone,\n this._keyboardDispatcher, this._document, this._location, this._outsideClickDispatcher);\n }\n\n /**\n * Gets a position builder that can be used, via fluent API,\n * to construct and configure a position strategy.\n * @returns An overlay position builder.\n */\n position(): OverlayPositionBuilder {\n return this._positionBuilder;\n }\n\n /**\n * Creates the DOM element for an overlay and appends it to the overlay container.\n * @returns Newly-created pane element\n */\n private _createPaneElement(host: HTMLElement): HTMLElement {\n const pane = this._document.createElement('div');\n\n pane.id = `cdk-overlay-${nextUniqueId++}`;\n pane.classList.add('cdk-overlay-pane');\n host.appendChild(pane);\n\n return pane;\n }\n\n /**\n * Creates the host element that wraps around an overlay\n * and can be used for advanced positioning.\n * @returns Newly-create host element.\n */\n private _createHostElement(): HTMLElement {\n const host = this._document.createElement('div');\n this._overlayContainer.getContainerElement().appendChild(host);\n return host;\n }\n\n /**\n * Create a DomPortalOutlet into which the overlay content can be loaded.\n * @param pane The DOM element to turn into a portal outlet.\n * @returns A portal outlet for the given DOM element.\n */\n private _createPortalOutlet(pane: HTMLElement): DomPortalOutlet {\n // We have to resolve the ApplicationRef later in order to allow people\n // to use overlay-based providers during app initialization.\n if (!this._appRef) {\n this._appRef = this._injector.get(ApplicationRef);\n }\n\n return new DomPortalOutlet(pane, this._componentFactoryResolver, this._appRef, this._injector,\n this._document);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Direction, Directionality} from '@angular/cdk/bidi';\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {ESCAPE, hasModifierKey} from '@angular/cdk/keycodes';\nimport {TemplatePortal} from '@angular/cdk/portal';\nimport {\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\nimport {Subscription} from 'rxjs';\nimport {takeWhile} from 'rxjs/operators';\nimport {Overlay} from './overlay';\nimport {OverlayConfig} from './overlay-config';\nimport {OverlayRef} from './overlay-ref';\nimport {ConnectedOverlayPositionChange} from './position/connected-position';\nimport {\n ConnectedPosition,\n FlexibleConnectedPositionStrategy,\n} from './position/flexible-connected-position-strategy';\nimport {\n RepositionScrollStrategy,\n RepositionScrollStrategyConfig,\n ScrollStrategy,\n} from './scroll/index';\n\n\n/** Default set of positions for the overlay. Follows the behavior of a dropdown. */\nconst defaultPositionList: ConnectedPosition[] = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top'\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom'\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom'\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top'\n }\n];\n\n/** Injection token that determines the scroll handling while the connected overlay is open. */\nexport const CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY =\n new InjectionToken<() => ScrollStrategy>('cdk-connected-overlay-scroll-strategy');\n\n/** @docs-private @deprecated @breaking-change 8.0.0 */\nexport function CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_FACTORY(overlay: Overlay):\n () => ScrollStrategy {\n return (config?: RepositionScrollStrategyConfig) => overlay.scrollStrategies.reposition(config);\n}\n\n/**\n * Directive applied to an element to make it usable as an origin for an Overlay using a\n * ConnectedPositionStrategy.\n */\n@Directive({\n selector: '[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]',\n exportAs: 'cdkOverlayOrigin',\n})\nexport class CdkOverlayOrigin {\n constructor(\n /** Reference to the element on which the directive is applied. */\n public elementRef: ElementRef) { }\n}\n\n\n/**\n * Directive to facilitate declarative creation of an\n * Overlay using a FlexibleConnectedPositionStrategy.\n */\n@Directive({\n selector: '[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]',\n exportAs: 'cdkConnectedOverlay'\n})\nexport class CdkConnectedOverlay implements OnDestroy, OnChanges {\n private _overlayRef: OverlayRef;\n private _templatePortal: TemplatePortal;\n private _hasBackdrop = false;\n private _lockPosition = false;\n private _growAfterOpen = false;\n private _flexibleDimensions = false;\n private _push = false;\n private _backdropSubscription = Subscription.EMPTY;\n private _attachSubscription = Subscription.EMPTY;\n private _detachSubscription = Subscription.EMPTY;\n private _positionSubscription = Subscription.EMPTY;\n private _offsetX: number;\n private _offsetY: number;\n private _position: FlexibleConnectedPositionStrategy;\n private _scrollStrategyFactory: () => ScrollStrategy;\n\n /** Origin for the connected overlay. */\n @Input('cdkConnectedOverlayOrigin') origin: CdkOverlayOrigin;\n\n /** Registered connected position pairs. */\n @Input('cdkConnectedOverlayPositions') positions: ConnectedPosition[];\n\n /**\n * This input overrides the positions input if specified. It lets users pass\n * in arbitrary positioning strategies.\n */\n @Input('cdkConnectedOverlayPositionStrategy') positionStrategy: FlexibleConnectedPositionStrategy;\n\n /** The offset in pixels for the overlay connection point on the x-axis */\n @Input('cdkConnectedOverlayOffsetX')\n get offsetX(): number { return this._offsetX; }\n set offsetX(offsetX: number) {\n this._offsetX = offsetX;\n\n if (this._position) {\n this._updatePositionStrategy(this._position);\n }\n }\n\n /** The offset in pixels for the overlay connection point on the y-axis */\n @Input('cdkConnectedOverlayOffsetY')\n get offsetY() { return this._offsetY; }\n set offsetY(offsetY: number) {\n this._offsetY = offsetY;\n\n if (this._position) {\n this._updatePositionStrategy(this._position);\n }\n }\n\n /** The width of the overlay panel. */\n @Input('cdkConnectedOverlayWidth') width: number | string;\n\n /** The height of the overlay panel. */\n @Input('cdkConnectedOverlayHeight') height: number | string;\n\n /** The min width of the overlay panel. */\n @Input('cdkConnectedOverlayMinWidth') minWidth: number | string;\n\n /** The min height of the overlay panel. */\n @Input('cdkConnectedOverlayMinHeight') minHeight: number | string;\n\n /** The custom class to be set on the backdrop element. */\n @Input('cdkConnectedOverlayBackdropClass') backdropClass: string;\n\n /** The custom class to add to the overlay pane element. */\n @Input('cdkConnectedOverlayPanelClass') panelClass: string | string[];\n\n /** Margin between the overlay and the viewport edges. */\n @Input('cdkConnectedOverlayViewportMargin') viewportMargin: number = 0;\n\n /** Strategy to be used when handling scroll events while the overlay is open. */\n @Input('cdkConnectedOverlayScrollStrategy') scrollStrategy: ScrollStrategy;\n\n /** Whether the overlay is open. */\n @Input('cdkConnectedOverlayOpen') open: boolean = false;\n\n /** CSS selector which to set the transform origin. */\n @Input('cdkConnectedOverlayTransformOriginOn') transformOriginSelector: string;\n\n /** Whether or not the overlay should attach a backdrop. */\n @Input('cdkConnectedOverlayHasBackdrop')\n get hasBackdrop() { return this._hasBackdrop; }\n set hasBackdrop(value: any) { this._hasBackdrop = coerceBooleanProperty(value); }\n\n /** Whether or not the overlay should be locked when scrolling. */\n @Input('cdkConnectedOverlayLockPosition')\n get lockPosition() { return this._lockPosition; }\n set lockPosition(value: any) { this._lockPosition = coerceBooleanProperty(value); }\n\n /** Whether the overlay's width and height can be constrained to fit within the viewport. */\n @Input('cdkConnectedOverlayFlexibleDimensions')\n get flexibleDimensions() { return this._flexibleDimensions; }\n set flexibleDimensions(value: boolean) {\n this._flexibleDimensions = coerceBooleanProperty(value);\n }\n\n /** Whether the overlay can grow after the initial open when flexible positioning is turned on. */\n @Input('cdkConnectedOverlayGrowAfterOpen')\n get growAfterOpen() { return this._growAfterOpen; }\n set growAfterOpen(value: boolean) { this._growAfterOpen = coerceBooleanProperty(value); }\n\n /** Whether the overlay can be pushed on-screen if none of the provided positions fit. */\n @Input('cdkConnectedOverlayPush')\n get push() { return this._push; }\n set push(value: boolean) { this._push = coerceBooleanProperty(value); }\n\n /** Event emitted when the backdrop is clicked. */\n @Output() backdropClick = new EventEmitter();\n\n /** Event emitted when the position has changed. */\n @Output() positionChange = new EventEmitter();\n\n /** Event emitted when the overlay has been attached. */\n @Output() attach = new EventEmitter();\n\n /** Event emitted when the overlay has been detached. */\n @Output() detach = new EventEmitter();\n\n /** Emits when there are keyboard events that are targeted at the overlay. */\n @Output() overlayKeydown = new EventEmitter();\n\n /** Emits when there are mouse outside click events that are targeted at the overlay. */\n @Output() overlayOutsideClick = new EventEmitter();\n\n // TODO(jelbourn): inputs for size, scroll behavior, animation, etc.\n\n constructor(\n private _overlay: Overlay,\n templateRef: TemplateRef,\n viewContainerRef: ViewContainerRef,\n @Inject(CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY) scrollStrategyFactory: any,\n @Optional() private _dir: Directionality) {\n this._templatePortal = new TemplatePortal(templateRef, viewContainerRef);\n this._scrollStrategyFactory = scrollStrategyFactory;\n this.scrollStrategy = this._scrollStrategyFactory();\n }\n\n /** The associated overlay reference. */\n get overlayRef(): OverlayRef {\n return this._overlayRef;\n }\n\n /** The element's layout direction. */\n get dir(): Direction {\n return this._dir ? this._dir.value : 'ltr';\n }\n\n ngOnDestroy() {\n this._attachSubscription.unsubscribe();\n this._detachSubscription.unsubscribe();\n this._backdropSubscription.unsubscribe();\n this._positionSubscription.unsubscribe();\n\n if (this._overlayRef) {\n this._overlayRef.dispose();\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (this._position) {\n this._updatePositionStrategy(this._position);\n this._overlayRef.updateSize({\n width: this.width,\n minWidth: this.minWidth,\n height: this.height,\n minHeight: this.minHeight,\n });\n\n if (changes['origin'] && this.open) {\n this._position.apply();\n }\n }\n\n if (changes['open']) {\n this.open ? this._attachOverlay() : this._detachOverlay();\n }\n }\n\n /** Creates an overlay */\n private _createOverlay() {\n if (!this.positions || !this.positions.length) {\n this.positions = defaultPositionList;\n }\n\n const overlayRef = this._overlayRef = this._overlay.create(this._buildConfig());\n this._attachSubscription = overlayRef.attachments().subscribe(() => this.attach.emit());\n this._detachSubscription = overlayRef.detachments().subscribe(() => this.detach.emit());\n overlayRef.keydownEvents().subscribe((event: KeyboardEvent) => {\n this.overlayKeydown.next(event);\n\n if (event.keyCode === ESCAPE && !hasModifierKey(event)) {\n event.preventDefault();\n this._detachOverlay();\n }\n });\n\n this._overlayRef.outsidePointerEvents().subscribe((event: MouseEvent) => {\n this.overlayOutsideClick.next(event);\n });\n }\n\n /** Builds the overlay config based on the directive's inputs */\n private _buildConfig(): OverlayConfig {\n const positionStrategy = this._position =\n this.positionStrategy || this._createPositionStrategy();\n const overlayConfig = new OverlayConfig({\n direction: this._dir,\n positionStrategy,\n scrollStrategy: this.scrollStrategy,\n hasBackdrop: this.hasBackdrop\n });\n\n if (this.width || this.width === 0) {\n overlayConfig.width = this.width;\n }\n\n if (this.height || this.height === 0) {\n overlayConfig.height = this.height;\n }\n\n if (this.minWidth || this.minWidth === 0) {\n overlayConfig.minWidth = this.minWidth;\n }\n\n if (this.minHeight || this.minHeight === 0) {\n overlayConfig.minHeight = this.minHeight;\n }\n\n if (this.backdropClass) {\n overlayConfig.backdropClass = this.backdropClass;\n }\n\n if (this.panelClass) {\n overlayConfig.panelClass = this.panelClass;\n }\n\n return overlayConfig;\n }\n\n /** Updates the state of a position strategy, based on the values of the directive inputs. */\n private _updatePositionStrategy(positionStrategy: FlexibleConnectedPositionStrategy) {\n const positions: ConnectedPosition[] = this.positions.map(currentPosition => ({\n originX: currentPosition.originX,\n originY: currentPosition.originY,\n overlayX: currentPosition.overlayX,\n overlayY: currentPosition.overlayY,\n offsetX: currentPosition.offsetX || this.offsetX,\n offsetY: currentPosition.offsetY || this.offsetY,\n panelClass: currentPosition.panelClass || undefined,\n }));\n\n return positionStrategy\n .setOrigin(this.origin.elementRef)\n .withPositions(positions)\n .withFlexibleDimensions(this.flexibleDimensions)\n .withPush(this.push)\n .withGrowAfterOpen(this.growAfterOpen)\n .withViewportMargin(this.viewportMargin)\n .withLockedPosition(this.lockPosition)\n .withTransformOriginOn(this.transformOriginSelector);\n }\n\n /** Returns the position strategy of the overlay to be set on the overlay config */\n private _createPositionStrategy(): FlexibleConnectedPositionStrategy {\n const strategy = this._overlay.position().flexibleConnectedTo(this.origin.elementRef);\n this._updatePositionStrategy(strategy);\n return strategy;\n }\n\n /** Attaches the overlay and subscribes to backdrop clicks if backdrop exists */\n private _attachOverlay() {\n if (!this._overlayRef) {\n this._createOverlay();\n } else {\n // Update the overlay size, in case the directive's inputs have changed\n this._overlayRef.getConfig().hasBackdrop = this.hasBackdrop;\n }\n\n if (!this._overlayRef.hasAttached()) {\n this._overlayRef.attach(this._templatePortal);\n }\n\n if (this.hasBackdrop) {\n this._backdropSubscription = this._overlayRef.backdropClick().subscribe(event => {\n this.backdropClick.emit(event);\n });\n } else {\n this._backdropSubscription.unsubscribe();\n }\n\n this._positionSubscription.unsubscribe();\n\n // Only subscribe to `positionChanges` if requested, because putting\n // together all the information for it can be expensive.\n if (this.positionChange.observers.length > 0) {\n this._positionSubscription = this._position.positionChanges\n .pipe(takeWhile(() => this.positionChange.observers.length > 0))\n .subscribe(position => {\n this.positionChange.emit(position);\n\n if (this.positionChange.observers.length === 0) {\n this._positionSubscription.unsubscribe();\n }\n });\n }\n }\n\n /** Detaches the overlay and unsubscribes to backdrop clicks if backdrop exists */\n private _detachOverlay() {\n if (this._overlayRef) {\n this._overlayRef.detach();\n }\n\n this._backdropSubscription.unsubscribe();\n this._positionSubscription.unsubscribe();\n }\n\n static ngAcceptInputType_hasBackdrop: BooleanInput;\n static ngAcceptInputType_lockPosition: BooleanInput;\n static ngAcceptInputType_flexibleDimensions: BooleanInput;\n static ngAcceptInputType_growAfterOpen: BooleanInput;\n static ngAcceptInputType_push: BooleanInput;\n}\n\n\n/** @docs-private */\nexport function CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay: Overlay):\n () => RepositionScrollStrategy {\n return () => overlay.scrollStrategies.reposition();\n}\n\n/** @docs-private */\nexport const CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER = {\n provide: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY,\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {BidiModule} from '@angular/cdk/bidi';\nimport {PortalModule} from '@angular/cdk/portal';\nimport {ScrollingModule} from '@angular/cdk/scrolling';\nimport {NgModule, Provider} from '@angular/core';\nimport {OVERLAY_KEYBOARD_DISPATCHER_PROVIDER} from './dispatchers/overlay-keyboard-dispatcher';\nimport {Overlay} from './overlay';\nimport {OVERLAY_CONTAINER_PROVIDER} from './overlay-container';\nimport {\n CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER,\n CdkConnectedOverlay,\n CdkOverlayOrigin,\n} from './overlay-directives';\nimport {OverlayPositionBuilder} from './position/overlay-position-builder';\n\n\n@NgModule({\n imports: [BidiModule, PortalModule, ScrollingModule],\n exports: [CdkConnectedOverlay, CdkOverlayOrigin, ScrollingModule],\n declarations: [CdkConnectedOverlay, CdkOverlayOrigin],\n providers: [\n Overlay,\n CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER,\n ],\n})\nexport class OverlayModule {}\n\n\n/**\n * @deprecated Use `OverlayModule` instead.\n * @breaking-change 8.0.0\n * @docs-private\n */\nexport const OVERLAY_PROVIDERS: Provider[] = [\n Overlay,\n OverlayPositionBuilder,\n OVERLAY_KEYBOARD_DISPATCHER_PROVIDER,\n OVERLAY_CONTAINER_PROVIDER,\n CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER,\n];\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport {OverlayOutsideClickDispatcher} from './overlay-outside-click-dispatcher';\nexport {OverlayKeyboardDispatcher} from './overlay-keyboard-dispatcher';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, Inject, OnDestroy} from '@angular/core';\nimport {OverlayContainer} from './overlay-container';\nimport {DOCUMENT} from '@angular/common';\nimport {Platform} from '@angular/cdk/platform';\n\n\n/**\n * Alternative to OverlayContainer that supports correct displaying of overlay elements in\n * Fullscreen mode\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullScreen\n *\n * Should be provided in the root component.\n */\n@Injectable({providedIn: 'root'})\nexport class FullscreenOverlayContainer extends OverlayContainer implements OnDestroy {\n private _fullScreenEventName: string | undefined;\n private _fullScreenListener: () => void;\n\n constructor(\n @Inject(DOCUMENT) _document: any,\n /**\n * @deprecated `platform` parameter to become required.\n * @breaking-change 10.0.0\n */\n platform?: Platform) {\n super(_document, platform);\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n\n if (this._fullScreenEventName && this._fullScreenListener) {\n this._document.removeEventListener(this._fullScreenEventName, this._fullScreenListener);\n }\n }\n\n protected _createContainer(): void {\n super._createContainer();\n this._adjustParentForFullscreenChange();\n this._addFullscreenChangeListener(() => this._adjustParentForFullscreenChange());\n }\n\n private _adjustParentForFullscreenChange(): void {\n if (!this._containerElement) {\n return;\n }\n\n const fullscreenElement = this.getFullscreenElement();\n const parent = fullscreenElement || this._document.body;\n parent.appendChild(this._containerElement);\n }\n\n private _addFullscreenChangeListener(fn: () => void) {\n const eventName = this._getEventName();\n\n if (eventName) {\n if (this._fullScreenListener) {\n this._document.removeEventListener(eventName, this._fullScreenListener);\n }\n\n this._document.addEventListener(eventName, fn);\n this._fullScreenListener = fn;\n }\n }\n\n private _getEventName(): string | undefined {\n if (!this._fullScreenEventName) {\n const _document = this._document as any;\n\n if (_document.fullscreenEnabled) {\n this._fullScreenEventName = 'fullscreenchange';\n } else if (_document.webkitFullscreenEnabled) {\n this._fullScreenEventName = 'webkitfullscreenchange';\n } else if (_document.mozFullScreenEnabled) {\n this._fullScreenEventName = 'mozfullscreenchange';\n } else if (_document.msFullscreenEnabled) {\n this._fullScreenEventName = 'MSFullscreenChange';\n }\n }\n\n return this._fullScreenEventName;\n }\n\n /**\n * When the page is put into fullscreen mode, a specific element is specified.\n * Only that element and its children are visible when in fullscreen mode.\n */\n getFullscreenElement(): Element {\n const _document = this._document as any;\n\n return _document.fullscreenElement ||\n _document.webkitFullscreenElement ||\n _document.mozFullScreenElement ||\n _document.msFullscreenElement ||\n null;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './overlay-config';\nexport * from './position/connected-position';\nexport * from './scroll/index';\nexport * from './overlay-module';\nexport * from './dispatchers/index';\nexport {Overlay} from './overlay';\nexport {OverlayContainer} from './overlay-container';\nexport {CdkOverlayOrigin, CdkConnectedOverlay} from './overlay-directives';\nexport {FullscreenOverlayContainer} from './fullscreen-overlay-container';\nexport {OverlayRef, OverlaySizeConfig} from './overlay-ref';\nexport {ViewportRuler} from '@angular/cdk/scrolling';\nexport {ComponentType} from '@angular/cdk/portal';\nexport {OverlayPositionBuilder} from './position/overlay-position-builder';\n\n// Export pre-defined position strategies and interface to build custom ones.\nexport {PositionStrategy} from './position/position-strategy';\nexport {GlobalPositionStrategy} from './position/global-position-strategy';\nexport {ConnectedPositionStrategy} from './position/connected-position-strategy';\nexport {\n ConnectedPosition,\n FlexibleConnectedPositionStrategy,\n FlexibleConnectedPositionStrategyOrigin,\n} from './position/flexible-connected-position-strategy';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {BaseOverlayDispatcher as ɵangular_material_src_cdk_overlay_overlay_h} from './dispatchers/base-overlay-dispatcher';\nexport {OVERLAY_KEYBOARD_DISPATCHER_PROVIDER as ɵangular_material_src_cdk_overlay_overlay_b,OVERLAY_KEYBOARD_DISPATCHER_PROVIDER_FACTORY as ɵangular_material_src_cdk_overlay_overlay_a} from './dispatchers/overlay-keyboard-dispatcher';\nexport {OVERLAY_CONTAINER_PROVIDER as ɵangular_material_src_cdk_overlay_overlay_d,OVERLAY_CONTAINER_PROVIDER_FACTORY as ɵangular_material_src_cdk_overlay_overlay_c} from './overlay-container';\nexport {CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY as ɵangular_material_src_cdk_overlay_overlay_e,CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER as ɵangular_material_src_cdk_overlay_overlay_g,CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY as ɵangular_material_src_cdk_overlay_overlay_f} from './overlay-directives';","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Inject, Injectable, PLATFORM_ID} from '@angular/core';\nimport {isPlatformBrowser} from '@angular/common';\n\n// Whether the current platform supports the V8 Break Iterator. The V8 check\n// is necessary to detect all Blink based browsers.\nlet hasV8BreakIterator: boolean;\n\n// We need a try/catch around the reference to `Intl`, because accessing it in some cases can\n// cause IE to throw. These cases are tied to particular versions of Windows and can happen if\n// the consumer is providing a polyfilled `Map`. See:\n// https://github.com/Microsoft/ChakraCore/issues/3189\n// https://github.com/angular/components/issues/15687\ntry {\n hasV8BreakIterator = (typeof Intl !== 'undefined' && (Intl as any).v8BreakIterator);\n} catch {\n hasV8BreakIterator = false;\n}\n\n/**\n * Service to detect the current platform by comparing the userAgent strings and\n * checking browser-specific global properties.\n */\n@Injectable({providedIn: 'root'})\nexport class Platform {\n // We want to use the Angular platform check because if the Document is shimmed\n // without the navigator, the following checks will fail. This is preferred because\n // sometimes the Document may be shimmed without the user's knowledge or intention\n /** Whether the Angular application is being rendered in the browser. */\n isBrowser: boolean = this._platformId ?\n isPlatformBrowser(this._platformId) : typeof document === 'object' && !!document;\n\n /** Whether the current browser is Microsoft Edge. */\n EDGE: boolean = this.isBrowser && /(edge)/i.test(navigator.userAgent);\n\n /** Whether the current rendering engine is Microsoft Trident. */\n TRIDENT: boolean = this.isBrowser && /(msie|trident)/i.test(navigator.userAgent);\n\n // EdgeHTML and Trident mock Blink specific things and need to be excluded from this check.\n /** Whether the current rendering engine is Blink. */\n BLINK: boolean = this.isBrowser && (!!((window as any).chrome || hasV8BreakIterator) &&\n typeof CSS !== 'undefined' && !this.EDGE && !this.TRIDENT);\n\n // Webkit is part of the userAgent in EdgeHTML, Blink and Trident. Therefore we need to\n // ensure that Webkit runs standalone and is not used as another engine's base.\n /** Whether the current rendering engine is WebKit. */\n WEBKIT: boolean = this.isBrowser &&\n /AppleWebKit/i.test(navigator.userAgent) && !this.BLINK && !this.EDGE && !this.TRIDENT;\n\n /** Whether the current platform is Apple iOS. */\n IOS: boolean = this.isBrowser && /iPad|iPhone|iPod/.test(navigator.userAgent) &&\n !('MSStream' in window);\n\n // It's difficult to detect the plain Gecko engine, because most of the browsers identify\n // them self as Gecko-like browsers and modify the userAgent's according to that.\n // Since we only cover one explicit Firefox case, we can simply check for Firefox\n // instead of having an unstable check for Gecko.\n /** Whether the current browser is Firefox. */\n FIREFOX: boolean = this.isBrowser && /(firefox|minefield)/i.test(navigator.userAgent);\n\n /** Whether the current platform is Android. */\n // Trident on mobile adds the android platform to the userAgent to trick detections.\n ANDROID: boolean = this.isBrowser && /android/i.test(navigator.userAgent) && !this.TRIDENT;\n\n // Safari browsers will include the Safari keyword in their userAgent. Some browsers may fake\n // this and just place the Safari keyword in the userAgent. To be more safe about Safari every\n // Safari browser should also use Webkit as its layout engine.\n /** Whether the current browser is Safari. */\n SAFARI: boolean = this.isBrowser && /safari/i.test(navigator.userAgent) && this.WEBKIT;\n\n constructor(@Inject(PLATFORM_ID) private _platformId: Object) {}\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\n\n\n@NgModule({})\nexport class PlatformModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** Cached result Set of input types support by the current browser. */\nlet supportedInputTypes: Set;\n\n/** Types of `` that *might* be supported. */\nconst candidateInputTypes = [\n // `color` must come first. Chrome 56 shows a warning if we change the type to `color` after\n // first changing it to something else:\n // The specified value \"\" does not conform to the required format.\n // The format is \"#rrggbb\" where rr, gg, bb are two-digit hexadecimal numbers.\n 'color',\n 'button',\n 'checkbox',\n 'date',\n 'datetime-local',\n 'email',\n 'file',\n 'hidden',\n 'image',\n 'month',\n 'number',\n 'password',\n 'radio',\n 'range',\n 'reset',\n 'search',\n 'submit',\n 'tel',\n 'text',\n 'time',\n 'url',\n 'week',\n];\n\n/** @returns The input types supported by this browser. */\nexport function getSupportedInputTypes(): Set {\n // Result is cached.\n if (supportedInputTypes) {\n return supportedInputTypes;\n }\n\n // We can't check if an input type is not supported until we're on the browser, so say that\n // everything is supported when not on the browser. We don't use `Platform` here since it's\n // just a helper function and can't inject it.\n if (typeof document !== 'object' || !document) {\n supportedInputTypes = new Set(candidateInputTypes);\n return supportedInputTypes;\n }\n\n let featureTestInput = document.createElement('input');\n supportedInputTypes = new Set(candidateInputTypes.filter(value => {\n featureTestInput.setAttribute('type', value);\n return featureTestInput.type === value;\n }));\n\n return supportedInputTypes;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** Cached result of whether the user's browser supports passive event listeners. */\nlet supportsPassiveEvents: boolean;\n\n/**\n * Checks whether the user's browser supports passive event listeners.\n * See: https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md\n */\nexport function supportsPassiveEventListeners(): boolean {\n if (supportsPassiveEvents == null && typeof window !== 'undefined') {\n try {\n window.addEventListener('test', null!, Object.defineProperty({}, 'passive', {\n get: () => supportsPassiveEvents = true\n }));\n } finally {\n supportsPassiveEvents = supportsPassiveEvents || false;\n }\n }\n\n return supportsPassiveEvents;\n}\n\n/**\n * Normalizes an `AddEventListener` object to something that can be passed\n * to `addEventListener` on any browser, no matter whether it supports the\n * `options` parameter.\n * @param options Object to be normalized.\n */\nexport function normalizePassiveListenerOptions(options: AddEventListenerOptions):\n AddEventListenerOptions | boolean {\n return supportsPassiveEventListeners() ? options : !!options.capture;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** The possible ways the browser may handle the horizontal scroll axis in RTL languages. */\nexport const enum RtlScrollAxisType {\n /**\n * scrollLeft is 0 when scrolled all the way left and (scrollWidth - clientWidth) when scrolled\n * all the way right.\n */\n NORMAL,\n /**\n * scrollLeft is -(scrollWidth - clientWidth) when scrolled all the way left and 0 when scrolled\n * all the way right.\n */\n NEGATED,\n /**\n * scrollLeft is (scrollWidth - clientWidth) when scrolled all the way left and 0 when scrolled\n * all the way right.\n */\n INVERTED\n}\n\n/** Cached result of the way the browser handles the horizontal scroll axis in RTL mode. */\nlet rtlScrollAxisType: RtlScrollAxisType|undefined;\n\n/** Cached result of the check that indicates whether the browser supports scroll behaviors. */\nlet scrollBehaviorSupported: boolean|undefined;\n\n/** Check whether the browser supports scroll behaviors. */\nexport function supportsScrollBehavior(): boolean {\n if (scrollBehaviorSupported == null) {\n // If we're not in the browser, it can't be supported.\n if (typeof document !== 'object' || !document) {\n scrollBehaviorSupported = false;\n }\n\n // If the element can have a `scrollBehavior` style, we can be sure that it's supported.\n if ('scrollBehavior' in document.documentElement!.style) {\n scrollBehaviorSupported = true;\n } else {\n // At this point we have 3 possibilities: `scrollTo` isn't supported at all, it's\n // supported but it doesn't handle scroll behavior, or it has been polyfilled.\n const scrollToFunction: Function|undefined = Element.prototype.scrollTo;\n\n if (scrollToFunction) {\n // We can detect if the function has been polyfilled by calling `toString` on it. Native\n // functions are obfuscated using `[native code]`, whereas if it was overwritten we'd get\n // the actual function source. Via https://davidwalsh.name/detect-native-function. Consider\n // polyfilled functions as supporting scroll behavior.\n scrollBehaviorSupported = !/\\{\\s*\\[native code\\]\\s*\\}/.test(scrollToFunction.toString());\n } else {\n scrollBehaviorSupported = false;\n }\n }\n }\n\n return scrollBehaviorSupported;\n}\n\n/**\n * Checks the type of RTL scroll axis used by this browser. As of time of writing, Chrome is NORMAL,\n * Firefox & Safari are NEGATED, and IE & Edge are INVERTED.\n */\nexport function getRtlScrollAxisType(): RtlScrollAxisType {\n // We can't check unless we're on the browser. Just assume 'normal' if we're not.\n if (typeof document !== 'object' || !document) {\n return RtlScrollAxisType.NORMAL;\n }\n\n if (rtlScrollAxisType == null) {\n // Create a 1px wide scrolling container and a 2px wide content element.\n const scrollContainer = document.createElement('div');\n const containerStyle = scrollContainer.style;\n scrollContainer.dir = 'rtl';\n containerStyle.width = '1px';\n containerStyle.overflow = 'auto';\n containerStyle.visibility = 'hidden';\n containerStyle.pointerEvents = 'none';\n containerStyle.position = 'absolute';\n\n const content = document.createElement('div');\n const contentStyle = content.style;\n contentStyle.width = '2px';\n contentStyle.height = '1px';\n\n scrollContainer.appendChild(content);\n document.body.appendChild(scrollContainer);\n\n rtlScrollAxisType = RtlScrollAxisType.NORMAL;\n\n // The viewport starts scrolled all the way to the right in RTL mode. If we are in a NORMAL\n // browser this would mean that the scrollLeft should be 1. If it's zero instead we know we're\n // dealing with one of the other two types of browsers.\n if (scrollContainer.scrollLeft === 0) {\n // In a NEGATED browser the scrollLeft is always somewhere in [-maxScrollAmount, 0]. For an\n // INVERTED browser it is always somewhere in [0, maxScrollAmount]. We can determine which by\n // setting to the scrollLeft to 1. This is past the max for a NEGATED browser, so it will\n // return 0 when we read it again.\n scrollContainer.scrollLeft = 1;\n rtlScrollAxisType =\n scrollContainer.scrollLeft === 0 ? RtlScrollAxisType.NEGATED : RtlScrollAxisType.INVERTED;\n }\n\n scrollContainer.parentNode!.removeChild(scrollContainer);\n }\n return rtlScrollAxisType;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nlet shadowDomIsSupported: boolean;\n\n/** Checks whether the user's browser support Shadow DOM. */\nexport function _supportsShadowDom(): boolean {\n if (shadowDomIsSupported == null) {\n const head = typeof document !== 'undefined' ? document.head : null;\n shadowDomIsSupported = !!(head && ((head as any).createShadowRoot || head.attachShadow));\n }\n\n return shadowDomIsSupported;\n}\n\n/** Gets the shadow root of an element, if supported and the element is inside the Shadow DOM. */\nexport function _getShadowRoot(element: HTMLElement): Node | null {\n if (_supportsShadowDom()) {\n const rootNode = element.getRootNode ? element.getRootNode() : null;\n\n // Note that this should be caught by `_supportsShadowDom`, but some\n // teams have been able to hit this code path on unsupported browsers.\n if (typeof ShadowRoot !== 'undefined' && ShadowRoot && rootNode instanceof ShadowRoot) {\n return rootNode;\n }\n }\n\n return null;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './platform';\nexport * from './platform-module';\nexport * from './features/input-types';\nexport * from './features/passive-listeners';\nexport * from './features/scrolling';\nexport * from './features/shadow-dom';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Throws an exception when attempting to attach a null portal to a host.\n * @docs-private\n */\nexport function throwNullPortalError() {\n throw Error('Must provide a portal to attach');\n}\n\n/**\n * Throws an exception when attempting to attach a portal to a host that is already attached.\n * @docs-private\n */\nexport function throwPortalAlreadyAttachedError() {\n throw Error('Host already has a portal attached');\n}\n\n/**\n * Throws an exception when attempting to attach a portal to an already-disposed host.\n * @docs-private\n */\nexport function throwPortalOutletAlreadyDisposedError() {\n throw Error('This PortalOutlet has already been disposed');\n}\n\n/**\n * Throws an exception when attempting to attach an unknown portal type.\n * @docs-private\n */\nexport function throwUnknownPortalTypeError() {\n throw Error('Attempting to attach an unknown Portal type. BasePortalOutlet accepts either ' +\n 'a ComponentPortal or a TemplatePortal.');\n}\n\n/**\n * Throws an exception when attempting to attach a portal to a null host.\n * @docs-private\n */\nexport function throwNullPortalOutletError() {\n throw Error('Attempting to attach a portal to a null PortalOutlet');\n}\n\n/**\n * Throws an exception when attempting to detach a portal that is not attached.\n * @docs-private\n */\nexport function throwNoPortalAttachedError() {\n throw Error('Attempting to detach a portal that is not attached to a host');\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n TemplateRef,\n ViewContainerRef,\n ElementRef,\n ComponentRef,\n EmbeddedViewRef,\n Injector,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport {\n throwNullPortalOutletError,\n throwPortalAlreadyAttachedError,\n throwNoPortalAttachedError,\n throwNullPortalError,\n throwPortalOutletAlreadyDisposedError,\n throwUnknownPortalTypeError\n} from './portal-errors';\n\n/** Interface that can be used to generically type a class. */\nexport interface ComponentType {\n new (...args: any[]): T;\n}\n\n/**\n * A `Portal` is something that you want to render somewhere else.\n * It can be attach to / detached from a `PortalOutlet`.\n */\nexport abstract class Portal {\n private _attachedHost: PortalOutlet | null;\n\n /** Attach this portal to a host. */\n attach(host: PortalOutlet): T {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (host == null) {\n throwNullPortalOutletError();\n }\n\n if (host.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n }\n\n this._attachedHost = host;\n return host.attach(this);\n }\n\n /** Detach this portal from its host */\n detach(): void {\n let host = this._attachedHost;\n\n if (host != null) {\n this._attachedHost = null;\n host.detach();\n } else if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throwNoPortalAttachedError();\n }\n }\n\n /** Whether this portal is attached to a host. */\n get isAttached(): boolean {\n return this._attachedHost != null;\n }\n\n /**\n * Sets the PortalOutlet reference without performing `attach()`. This is used directly by\n * the PortalOutlet when it is performing an `attach()` or `detach()`.\n */\n setAttachedHost(host: PortalOutlet | null) {\n this._attachedHost = host;\n }\n}\n\n\n/**\n * A `ComponentPortal` is a portal that instantiates some Component upon attachment.\n */\nexport class ComponentPortal extends Portal> {\n /** The type of the component that will be instantiated for attachment. */\n component: ComponentType;\n\n /**\n * [Optional] Where the attached component should live in Angular's *logical* component tree.\n * This is different from where the component *renders*, which is determined by the PortalOutlet.\n * The origin is necessary when the host is outside of the Angular application context.\n */\n viewContainerRef?: ViewContainerRef | null;\n\n /** [Optional] Injector used for the instantiation of the component. */\n injector?: Injector | null;\n\n /**\n * Alternate `ComponentFactoryResolver` to use when resolving the associated component.\n * Defaults to using the resolver from the outlet that the portal is attached to.\n */\n componentFactoryResolver?: ComponentFactoryResolver | null;\n\n constructor(\n component: ComponentType,\n viewContainerRef?: ViewContainerRef | null,\n injector?: Injector | null,\n componentFactoryResolver?: ComponentFactoryResolver | null) {\n super();\n this.component = component;\n this.viewContainerRef = viewContainerRef;\n this.injector = injector;\n this.componentFactoryResolver = componentFactoryResolver;\n }\n}\n\n/**\n * A `TemplatePortal` is a portal that represents some embedded template (TemplateRef).\n */\nexport class TemplatePortal extends Portal> {\n /** The embedded template that will be used to instantiate an embedded View in the host. */\n templateRef: TemplateRef;\n\n /** Reference to the ViewContainer into which the template will be stamped out. */\n viewContainerRef: ViewContainerRef;\n\n /** Contextual data to be passed in to the embedded view. */\n context: C | undefined;\n\n constructor(template: TemplateRef, viewContainerRef: ViewContainerRef, context?: C) {\n super();\n this.templateRef = template;\n this.viewContainerRef = viewContainerRef;\n this.context = context;\n }\n\n get origin(): ElementRef {\n return this.templateRef.elementRef;\n }\n\n /**\n * Attach the portal to the provided `PortalOutlet`.\n * When a context is provided it will override the `context` property of the `TemplatePortal`\n * instance.\n */\n attach(host: PortalOutlet, context: C | undefined = this.context): EmbeddedViewRef {\n this.context = context;\n return super.attach(host);\n }\n\n detach(): void {\n this.context = undefined;\n return super.detach();\n }\n}\n\n/**\n * A `DomPortal` is a portal whose DOM element will be taken from its current position\n * in the DOM and moved into a portal outlet, when it is attached. On detach, the content\n * will be restored to its original position.\n */\nexport class DomPortal extends Portal {\n /** DOM node hosting the portal's content. */\n readonly element: T;\n\n constructor(element: T | ElementRef) {\n super();\n this.element = element instanceof ElementRef ? element.nativeElement : element;\n }\n}\n\n\n/** A `PortalOutlet` is an space that can contain a single `Portal`. */\nexport interface PortalOutlet {\n /** Attaches a portal to this outlet. */\n attach(portal: Portal): any;\n\n /** Detaches the currently attached portal from this outlet. */\n detach(): any;\n\n /** Performs cleanup before the outlet is destroyed. */\n dispose(): void;\n\n /** Whether there is currently a portal attached to this outlet. */\n hasAttached(): boolean;\n}\n\n/**\n * @deprecated Use `PortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nexport type PortalHost = PortalOutlet;\n\n/**\n * Partial implementation of PortalOutlet that handles attaching\n * ComponentPortal and TemplatePortal.\n */\nexport abstract class BasePortalOutlet implements PortalOutlet {\n /** The portal currently attached to the host. */\n protected _attachedPortal: Portal | null;\n\n /** A function that will permanently dispose this host. */\n private _disposeFn: (() => void) | null;\n\n /** Whether this host has already been permanently disposed. */\n private _isDisposed: boolean = false;\n\n /** Whether this host has an attached portal. */\n hasAttached(): boolean {\n return !!this._attachedPortal;\n }\n\n attach(portal: ComponentPortal): ComponentRef;\n attach(portal: TemplatePortal): EmbeddedViewRef;\n attach(portal: any): any;\n\n /** Attaches a portal. */\n attach(portal: Portal): any {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!portal) {\n throwNullPortalError();\n }\n\n if (this.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n\n if (this._isDisposed) {\n throwPortalOutletAlreadyDisposedError();\n }\n }\n\n if (portal instanceof ComponentPortal) {\n this._attachedPortal = portal;\n return this.attachComponentPortal(portal);\n } else if (portal instanceof TemplatePortal) {\n this._attachedPortal = portal;\n return this.attachTemplatePortal(portal);\n // @breaking-change 10.0.0 remove null check for `this.attachDomPortal`.\n } else if (this.attachDomPortal && portal instanceof DomPortal) {\n this._attachedPortal = portal;\n return this.attachDomPortal(portal);\n }\n\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throwUnknownPortalTypeError();\n }\n }\n\n abstract attachComponentPortal(portal: ComponentPortal): ComponentRef;\n\n abstract attachTemplatePortal(portal: TemplatePortal): EmbeddedViewRef;\n\n // @breaking-change 10.0.0 `attachDomPortal` to become a required abstract method.\n readonly attachDomPortal: null | ((portal: DomPortal) => any) = null;\n\n /** Detaches a previously attached portal. */\n detach(): void {\n if (this._attachedPortal) {\n this._attachedPortal.setAttachedHost(null);\n this._attachedPortal = null;\n }\n\n this._invokeDisposeFn();\n }\n\n /** Permanently dispose of this portal host. */\n dispose(): void {\n if (this.hasAttached()) {\n this.detach();\n }\n\n this._invokeDisposeFn();\n this._isDisposed = true;\n }\n\n /** @docs-private */\n setDisposeFn(fn: () => void) {\n this._disposeFn = fn;\n }\n\n private _invokeDisposeFn() {\n if (this._disposeFn) {\n this._disposeFn();\n this._disposeFn = null;\n }\n }\n}\n\n/**\n * @deprecated Use `BasePortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nexport abstract class BasePortalHost extends BasePortalOutlet {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n ComponentFactoryResolver,\n ComponentRef,\n EmbeddedViewRef,\n ApplicationRef,\n Injector,\n} from '@angular/core';\nimport {BasePortalOutlet, ComponentPortal, TemplatePortal, DomPortal} from './portal';\n\n\n/**\n * A PortalOutlet for attaching portals to an arbitrary DOM element outside of the Angular\n * application context.\n */\nexport class DomPortalOutlet extends BasePortalOutlet {\n private _document: Document;\n\n constructor(\n /** Element into which the content is projected. */\n public outletElement: Element,\n private _componentFactoryResolver: ComponentFactoryResolver,\n private _appRef: ApplicationRef,\n private _defaultInjector: Injector,\n\n /**\n * @deprecated `_document` Parameter to be made required.\n * @breaking-change 10.0.0\n */\n _document?: any) {\n super();\n this._document = _document;\n }\n\n /**\n * Attach the given ComponentPortal to DOM element using the ComponentFactoryResolver.\n * @param portal Portal to be attached\n * @returns Reference to the created component.\n */\n attachComponentPortal(portal: ComponentPortal): ComponentRef {\n const resolver = portal.componentFactoryResolver || this._componentFactoryResolver;\n const componentFactory = resolver.resolveComponentFactory(portal.component);\n let componentRef: ComponentRef;\n\n // If the portal specifies a ViewContainerRef, we will use that as the attachment point\n // for the component (in terms of Angular's component tree, not rendering).\n // When the ViewContainerRef is missing, we use the factory to create the component directly\n // and then manually attach the view to the application.\n if (portal.viewContainerRef) {\n componentRef = portal.viewContainerRef.createComponent(\n componentFactory,\n portal.viewContainerRef.length,\n portal.injector || portal.viewContainerRef.injector);\n\n this.setDisposeFn(() => componentRef.destroy());\n } else {\n componentRef = componentFactory.create(portal.injector || this._defaultInjector);\n this._appRef.attachView(componentRef.hostView);\n this.setDisposeFn(() => {\n this._appRef.detachView(componentRef.hostView);\n componentRef.destroy();\n });\n }\n // At this point the component has been instantiated, so we move it to the location in the DOM\n // where we want it to be rendered.\n this.outletElement.appendChild(this._getComponentRootNode(componentRef));\n\n return componentRef;\n }\n\n /**\n * Attaches a template portal to the DOM as an embedded view.\n * @param portal Portal to be attached.\n * @returns Reference to the created embedded view.\n */\n attachTemplatePortal(portal: TemplatePortal): EmbeddedViewRef {\n let viewContainer = portal.viewContainerRef;\n let viewRef = viewContainer.createEmbeddedView(portal.templateRef, portal.context);\n\n // The method `createEmbeddedView` will add the view as a child of the viewContainer.\n // But for the DomPortalOutlet the view can be added everywhere in the DOM\n // (e.g Overlay Container) To move the view to the specified host element. We just\n // re-append the existing root nodes.\n viewRef.rootNodes.forEach(rootNode => this.outletElement.appendChild(rootNode));\n\n // Note that we want to detect changes after the nodes have been moved so that\n // any directives inside the portal that are looking at the DOM inside a lifecycle\n // hook won't be invoked too early.\n viewRef.detectChanges();\n\n this.setDisposeFn((() => {\n let index = viewContainer.indexOf(viewRef);\n if (index !== -1) {\n viewContainer.remove(index);\n }\n }));\n\n // TODO(jelbourn): Return locals from view.\n return viewRef;\n }\n\n /**\n * Attaches a DOM portal by transferring its content into the outlet.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n attachDomPortal = (portal: DomPortal) => {\n // @breaking-change 10.0.0 Remove check and error once the\n // `_document` constructor parameter is required.\n if (!this._document && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Cannot attach DOM portal without _document constructor parameter');\n }\n\n const element = portal.element;\n if (!element.parentNode && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('DOM portal content must be attached to a parent node.');\n }\n\n // Anchor used to save the element's previous position so\n // that we can restore it when the portal is detached.\n const anchorNode = this._document.createComment('dom-portal');\n\n element.parentNode!.insertBefore(anchorNode, element);\n this.outletElement.appendChild(element);\n\n super.setDisposeFn(() => {\n // We can't use `replaceWith` here because IE doesn't support it.\n if (anchorNode.parentNode) {\n anchorNode.parentNode.replaceChild(element, anchorNode);\n }\n });\n }\n\n /**\n * Clears out a portal from the DOM.\n */\n dispose(): void {\n super.dispose();\n if (this.outletElement.parentNode != null) {\n this.outletElement.parentNode.removeChild(this.outletElement);\n }\n }\n\n /** Gets the root HTMLElement for an instantiated component. */\n private _getComponentRootNode(componentRef: ComponentRef): HTMLElement {\n return (componentRef.hostView as EmbeddedViewRef).rootNodes[0] as HTMLElement;\n }\n}\n\n/**\n * @deprecated Use `DomPortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nexport class DomPortalHost extends DomPortalOutlet {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n EmbeddedViewRef,\n EventEmitter,\n NgModule,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n ViewContainerRef,\n Inject,\n} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {BasePortalOutlet, ComponentPortal, Portal, TemplatePortal, DomPortal} from './portal';\n\n\n/**\n * Directive version of a `TemplatePortal`. Because the directive *is* a TemplatePortal,\n * the directive instance itself can be attached to a host, enabling declarative use of portals.\n */\n@Directive({\n selector: '[cdkPortal]',\n exportAs: 'cdkPortal',\n})\nexport class CdkPortal extends TemplatePortal {\n constructor(templateRef: TemplateRef, viewContainerRef: ViewContainerRef) {\n super(templateRef, viewContainerRef);\n }\n}\n\n/**\n * @deprecated Use `CdkPortal` instead.\n * @breaking-change 9.0.0\n */\n@Directive({\n selector: '[cdk-portal], [portal]',\n exportAs: 'cdkPortal',\n providers: [{\n provide: CdkPortal,\n useExisting: TemplatePortalDirective\n }]\n})\nexport class TemplatePortalDirective extends CdkPortal {}\n\n/**\n * Possible attached references to the CdkPortalOutlet.\n */\nexport type CdkPortalOutletAttachedRef = ComponentRef | EmbeddedViewRef | null;\n\n\n/**\n * Directive version of a PortalOutlet. Because the directive *is* a PortalOutlet, portals can be\n * directly attached to it, enabling declarative use.\n *\n * Usage:\n * ``\n */\n@Directive({\n selector: '[cdkPortalOutlet]',\n exportAs: 'cdkPortalOutlet',\n inputs: ['portal: cdkPortalOutlet']\n})\nexport class CdkPortalOutlet extends BasePortalOutlet implements OnInit, OnDestroy {\n private _document: Document;\n\n /** Whether the portal component is initialized. */\n private _isInitialized = false;\n\n /** Reference to the currently-attached component/view ref. */\n private _attachedRef: CdkPortalOutletAttachedRef;\n\n constructor(\n private _componentFactoryResolver: ComponentFactoryResolver,\n private _viewContainerRef: ViewContainerRef,\n\n /**\n * @deprecated `_document` parameter to be made required.\n * @breaking-change 9.0.0\n */\n @Inject(DOCUMENT) _document?: any) {\n super();\n this._document = _document;\n }\n\n /** Portal associated with the Portal outlet. */\n get portal(): Portal | null {\n return this._attachedPortal;\n }\n\n set portal(portal: Portal | null) {\n // Ignore the cases where the `portal` is set to a falsy value before the lifecycle hooks have\n // run. This handles the cases where the user might do something like `
`\n // and attach a portal programmatically in the parent component. When Angular does the first CD\n // round, it will fire the setter with empty string, causing the user's content to be cleared.\n if (this.hasAttached() && !portal && !this._isInitialized) {\n return;\n }\n\n if (this.hasAttached()) {\n super.detach();\n }\n\n if (portal) {\n super.attach(portal);\n }\n\n this._attachedPortal = portal;\n }\n\n /** Emits when a portal is attached to the outlet. */\n @Output() attached: EventEmitter =\n new EventEmitter();\n\n /** Component or view reference that is attached to the portal. */\n get attachedRef(): CdkPortalOutletAttachedRef {\n return this._attachedRef;\n }\n\n ngOnInit() {\n this._isInitialized = true;\n }\n\n ngOnDestroy() {\n super.dispose();\n this._attachedPortal = null;\n this._attachedRef = null;\n }\n\n /**\n * Attach the given ComponentPortal to this PortalOutlet using the ComponentFactoryResolver.\n *\n * @param portal Portal to be attached to the portal outlet.\n * @returns Reference to the created component.\n */\n attachComponentPortal(portal: ComponentPortal): ComponentRef {\n portal.setAttachedHost(this);\n\n // If the portal specifies an origin, use that as the logical location of the component\n // in the application tree. Otherwise use the location of this PortalOutlet.\n const viewContainerRef = portal.viewContainerRef != null ?\n portal.viewContainerRef :\n this._viewContainerRef;\n\n const resolver = portal.componentFactoryResolver || this._componentFactoryResolver;\n const componentFactory = resolver.resolveComponentFactory(portal.component);\n const ref = viewContainerRef.createComponent(\n componentFactory, viewContainerRef.length,\n portal.injector || viewContainerRef.injector);\n\n // If we're using a view container that's different from the injected one (e.g. when the portal\n // specifies its own) we need to move the component into the outlet, otherwise it'll be rendered\n // inside of the alternate view container.\n if (viewContainerRef !== this._viewContainerRef) {\n this._getRootNode().appendChild((ref.hostView as EmbeddedViewRef).rootNodes[0]);\n }\n\n super.setDisposeFn(() => ref.destroy());\n this._attachedPortal = portal;\n this._attachedRef = ref;\n this.attached.emit(ref);\n\n return ref;\n }\n\n /**\n * Attach the given TemplatePortal to this PortalHost as an embedded View.\n * @param portal Portal to be attached.\n * @returns Reference to the created embedded view.\n */\n attachTemplatePortal(portal: TemplatePortal): EmbeddedViewRef {\n portal.setAttachedHost(this);\n const viewRef = this._viewContainerRef.createEmbeddedView(portal.templateRef, portal.context);\n super.setDisposeFn(() => this._viewContainerRef.clear());\n\n this._attachedPortal = portal;\n this._attachedRef = viewRef;\n this.attached.emit(viewRef);\n\n return viewRef;\n }\n\n /**\n * Attaches the given DomPortal to this PortalHost by moving all of the portal content into it.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n attachDomPortal = (portal: DomPortal) => {\n // @breaking-change 9.0.0 Remove check and error once the\n // `_document` constructor parameter is required.\n if (!this._document && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Cannot attach DOM portal without _document constructor parameter');\n }\n\n const element = portal.element;\n if (!element.parentNode && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('DOM portal content must be attached to a parent node.');\n }\n\n // Anchor used to save the element's previous position so\n // that we can restore it when the portal is detached.\n const anchorNode = this._document.createComment('dom-portal');\n\n portal.setAttachedHost(this);\n element.parentNode!.insertBefore(anchorNode, element);\n this._getRootNode().appendChild(element);\n\n super.setDisposeFn(() => {\n if (anchorNode.parentNode) {\n anchorNode.parentNode!.replaceChild(element, anchorNode);\n }\n });\n }\n\n /** Gets the root node of the portal outlet. */\n private _getRootNode(): HTMLElement {\n const nativeElement: Node = this._viewContainerRef.element.nativeElement;\n\n // The directive could be set on a template which will result in a comment\n // node being the root. Use the comment's parent node if that is the case.\n return (nativeElement.nodeType === nativeElement.ELEMENT_NODE ?\n nativeElement : nativeElement.parentNode!) as HTMLElement;\n }\n\n static ngAcceptInputType_portal: Portal | null | undefined | '';\n}\n\n/**\n * @deprecated Use `CdkPortalOutlet` instead.\n * @breaking-change 9.0.0\n */\n@Directive({\n selector: '[cdkPortalHost], [portalHost]',\n exportAs: 'cdkPortalHost',\n inputs: ['portal: cdkPortalHost'],\n providers: [{\n provide: CdkPortalOutlet,\n useExisting: PortalHostDirective\n }]\n})\nexport class PortalHostDirective extends CdkPortalOutlet {}\n\n\n@NgModule({\n exports: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective],\n declarations: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective],\n})\nexport class PortalModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injector} from '@angular/core';\n\n/**\n * Custom injector to be used when providing custom\n * injection tokens to components inside a portal.\n * @docs-private\n * @deprecated Use `Injector.create` instead.\n * @breaking-change 11.0.0\n */\nexport class PortalInjector implements Injector {\n constructor(\n private _parentInjector: Injector,\n private _customTokens: WeakMap) { }\n\n get(token: any, notFoundValue?: any): any {\n const value = this._customTokens.get(token);\n\n if (typeof value !== 'undefined') {\n return value;\n }\n\n return this._parentInjector.get(token, notFoundValue);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './portal';\nexport * from './dom-portal-outlet';\nexport * from './portal-directives';\nexport * from './portal-injector';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {InjectionToken} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {CdkVirtualScrollViewport} from './virtual-scroll-viewport';\n\n\n/** The injection token used to specify the virtual scrolling strategy. */\nexport const VIRTUAL_SCROLL_STRATEGY =\n new InjectionToken('VIRTUAL_SCROLL_STRATEGY');\n\n\n/** A strategy that dictates which items should be rendered in the viewport. */\nexport interface VirtualScrollStrategy {\n /** Emits when the index of the first element visible in the viewport changes. */\n scrolledIndexChange: Observable;\n\n /**\n * Attaches this scroll strategy to a viewport.\n * @param viewport The viewport to attach this strategy to.\n */\n attach(viewport: CdkVirtualScrollViewport): void;\n\n /** Detaches this scroll strategy from the currently attached viewport. */\n detach(): void;\n\n /** Called when the viewport is scrolled (debounced using requestAnimationFrame). */\n onContentScrolled(): void;\n\n /** Called when the length of the data changes. */\n onDataLengthChanged(): void;\n\n /** Called when the range of items rendered in the DOM has changed. */\n onContentRendered(): void;\n\n /** Called when the offset of the rendered items changed. */\n onRenderedOffsetChanged(): void;\n\n /**\n * Scroll to the offset for the given index.\n * @param index The index of the element to scroll to.\n * @param behavior The ScrollBehavior to use when scrolling.\n */\n scrollToIndex(index: number, behavior: ScrollBehavior): void;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {coerceNumberProperty, NumberInput} from '@angular/cdk/coercion';\nimport {Directive, forwardRef, Input, OnChanges} from '@angular/core';\nimport {Observable, Subject} from 'rxjs';\nimport {distinctUntilChanged} from 'rxjs/operators';\nimport {VIRTUAL_SCROLL_STRATEGY, VirtualScrollStrategy} from './virtual-scroll-strategy';\nimport {CdkVirtualScrollViewport} from './virtual-scroll-viewport';\n\n\n/** Virtual scrolling strategy for lists with items of known fixed size. */\nexport class FixedSizeVirtualScrollStrategy implements VirtualScrollStrategy {\n private _scrolledIndexChange = new Subject();\n\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n scrolledIndexChange: Observable = this._scrolledIndexChange.pipe(distinctUntilChanged());\n\n /** The attached viewport. */\n private _viewport: CdkVirtualScrollViewport | null = null;\n\n /** The size of the items in the virtually scrolling list. */\n private _itemSize: number;\n\n /** The minimum amount of buffer rendered beyond the viewport (in pixels). */\n private _minBufferPx: number;\n\n /** The number of buffer items to render beyond the edge of the viewport (in pixels). */\n private _maxBufferPx: number;\n\n /**\n * @param itemSize The size of the items in the virtually scrolling list.\n * @param minBufferPx The minimum amount of buffer (in pixels) before needing to render more\n * @param maxBufferPx The amount of buffer (in pixels) to render when rendering more.\n */\n constructor(itemSize: number, minBufferPx: number, maxBufferPx: number) {\n this._itemSize = itemSize;\n this._minBufferPx = minBufferPx;\n this._maxBufferPx = maxBufferPx;\n }\n\n /**\n * Attaches this scroll strategy to a viewport.\n * @param viewport The viewport to attach this strategy to.\n */\n attach(viewport: CdkVirtualScrollViewport) {\n this._viewport = viewport;\n this._updateTotalContentSize();\n this._updateRenderedRange();\n }\n\n /** Detaches this scroll strategy from the currently attached viewport. */\n detach() {\n this._scrolledIndexChange.complete();\n this._viewport = null;\n }\n\n /**\n * Update the item size and buffer size.\n * @param itemSize The size of the items in the virtually scrolling list.\n * @param minBufferPx The minimum amount of buffer (in pixels) before needing to render more\n * @param maxBufferPx The amount of buffer (in pixels) to render when rendering more.\n */\n updateItemAndBufferSize(itemSize: number, minBufferPx: number, maxBufferPx: number) {\n if (maxBufferPx < minBufferPx && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CDK virtual scroll: maxBufferPx must be greater than or equal to minBufferPx');\n }\n this._itemSize = itemSize;\n this._minBufferPx = minBufferPx;\n this._maxBufferPx = maxBufferPx;\n this._updateTotalContentSize();\n this._updateRenderedRange();\n }\n\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onContentScrolled() {\n this._updateRenderedRange();\n }\n\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onDataLengthChanged() {\n this._updateTotalContentSize();\n this._updateRenderedRange();\n }\n\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onContentRendered() { /* no-op */ }\n\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onRenderedOffsetChanged() { /* no-op */ }\n\n /**\n * Scroll to the offset for the given index.\n * @param index The index of the element to scroll to.\n * @param behavior The ScrollBehavior to use when scrolling.\n */\n scrollToIndex(index: number, behavior: ScrollBehavior): void {\n if (this._viewport) {\n this._viewport.scrollToOffset(index * this._itemSize, behavior);\n }\n }\n\n /** Update the viewport's total content size. */\n private _updateTotalContentSize() {\n if (!this._viewport) {\n return;\n }\n\n this._viewport.setTotalContentSize(this._viewport.getDataLength() * this._itemSize);\n }\n\n /** Update the viewport's rendered range. */\n private _updateRenderedRange() {\n if (!this._viewport) {\n return;\n }\n\n const renderedRange = this._viewport.getRenderedRange();\n const newRange = {start: renderedRange.start, end: renderedRange.end};\n const viewportSize = this._viewport.getViewportSize();\n const dataLength = this._viewport.getDataLength();\n let scrollOffset = this._viewport.measureScrollOffset();\n let firstVisibleIndex = scrollOffset / this._itemSize;\n\n // If user scrolls to the bottom of the list and data changes to a smaller list\n if (newRange.end > dataLength) {\n // We have to recalculate the first visible index based on new data length and viewport size.\n const maxVisibleItems = Math.ceil(viewportSize / this._itemSize);\n const newVisibleIndex = Math.max(0,\n Math.min(firstVisibleIndex, dataLength - maxVisibleItems));\n\n // If first visible index changed we must update scroll offset to handle start/end buffers\n // Current range must also be adjusted to cover the new position (bottom of new list).\n if (firstVisibleIndex != newVisibleIndex) {\n firstVisibleIndex = newVisibleIndex;\n scrollOffset = newVisibleIndex * this._itemSize;\n newRange.start = Math.floor(firstVisibleIndex);\n }\n\n newRange.end = Math.max(0, Math.min(dataLength, newRange.start + maxVisibleItems));\n }\n\n const startBuffer = scrollOffset - newRange.start * this._itemSize;\n if (startBuffer < this._minBufferPx && newRange.start != 0) {\n const expandStart = Math.ceil((this._maxBufferPx - startBuffer) / this._itemSize);\n newRange.start = Math.max(0, newRange.start - expandStart);\n newRange.end = Math.min(dataLength,\n Math.ceil(firstVisibleIndex + (viewportSize + this._minBufferPx) / this._itemSize));\n } else {\n const endBuffer = newRange.end * this._itemSize - (scrollOffset + viewportSize);\n if (endBuffer < this._minBufferPx && newRange.end != dataLength) {\n const expandEnd = Math.ceil((this._maxBufferPx - endBuffer) / this._itemSize);\n if (expandEnd > 0) {\n newRange.end = Math.min(dataLength, newRange.end + expandEnd);\n newRange.start = Math.max(0,\n Math.floor(firstVisibleIndex - this._minBufferPx / this._itemSize));\n }\n }\n }\n\n this._viewport.setRenderedRange(newRange);\n this._viewport.setRenderedContentOffset(this._itemSize * newRange.start);\n this._scrolledIndexChange.next(Math.floor(firstVisibleIndex));\n }\n}\n\n\n/**\n * Provider factory for `FixedSizeVirtualScrollStrategy` that simply extracts the already created\n * `FixedSizeVirtualScrollStrategy` from the given directive.\n * @param fixedSizeDir The instance of `CdkFixedSizeVirtualScroll` to extract the\n * `FixedSizeVirtualScrollStrategy` from.\n */\nexport function _fixedSizeVirtualScrollStrategyFactory(fixedSizeDir: CdkFixedSizeVirtualScroll) {\n return fixedSizeDir._scrollStrategy;\n}\n\n\n/** A virtual scroll strategy that supports fixed-size items. */\n@Directive({\n selector: 'cdk-virtual-scroll-viewport[itemSize]',\n providers: [{\n provide: VIRTUAL_SCROLL_STRATEGY,\n useFactory: _fixedSizeVirtualScrollStrategyFactory,\n deps: [forwardRef(() => CdkFixedSizeVirtualScroll)],\n }],\n})\nexport class CdkFixedSizeVirtualScroll implements OnChanges {\n /** The size of the items in the list (in pixels). */\n @Input()\n get itemSize(): number { return this._itemSize; }\n set itemSize(value: number) { this._itemSize = coerceNumberProperty(value); }\n _itemSize = 20;\n\n /**\n * The minimum amount of buffer rendered beyond the viewport (in pixels).\n * If the amount of buffer dips below this number, more items will be rendered. Defaults to 100px.\n */\n @Input()\n get minBufferPx(): number { return this._minBufferPx; }\n set minBufferPx(value: number) { this._minBufferPx = coerceNumberProperty(value); }\n _minBufferPx = 100;\n\n /**\n * The number of pixels worth of buffer to render for when rendering new items. Defaults to 200px.\n */\n @Input()\n get maxBufferPx(): number { return this._maxBufferPx; }\n set maxBufferPx(value: number) { this._maxBufferPx = coerceNumberProperty(value); }\n _maxBufferPx = 200;\n\n /** The scroll strategy used by this directive. */\n _scrollStrategy =\n new FixedSizeVirtualScrollStrategy(this.itemSize, this.minBufferPx, this.maxBufferPx);\n\n ngOnChanges() {\n this._scrollStrategy.updateItemAndBufferSize(this.itemSize, this.minBufferPx, this.maxBufferPx);\n }\n\n static ngAcceptInputType_itemSize: NumberInput;\n static ngAcceptInputType_minBufferPx: NumberInput;\n static ngAcceptInputType_maxBufferPx: NumberInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Platform} from '@angular/cdk/platform';\nimport {ElementRef, Injectable, NgZone, OnDestroy, Optional, Inject} from '@angular/core';\nimport {fromEvent, of as observableOf, Subject, Subscription, Observable, Observer} from 'rxjs';\nimport {auditTime, filter} from 'rxjs/operators';\nimport {CdkScrollable} from './scrollable';\nimport {DOCUMENT} from '@angular/common';\n\n/** Time in ms to throttle the scrolling events by default. */\nexport const DEFAULT_SCROLL_TIME = 20;\n\n/**\n * Service contained all registered Scrollable references and emits an event when any one of the\n * Scrollable references emit a scrolled event.\n */\n@Injectable({providedIn: 'root'})\nexport class ScrollDispatcher implements OnDestroy {\n /** Used to reference correct document/window */\n protected _document?: Document;\n\n constructor(private _ngZone: NgZone,\n private _platform: Platform,\n /** @breaking-change 11.0.0 make document required */\n @Optional() @Inject(DOCUMENT) document?: any) {\n this._document = document;\n }\n\n /** Subject for notifying that a registered scrollable reference element has been scrolled. */\n private _scrolled = new Subject();\n\n /** Keeps track of the global `scroll` and `resize` subscriptions. */\n _globalSubscription: Subscription | null = null;\n\n /** Keeps track of the amount of subscriptions to `scrolled`. Used for cleaning up afterwards. */\n private _scrolledCount = 0;\n\n /**\n * Map of all the scrollable references that are registered with the service and their\n * scroll event subscriptions.\n */\n scrollContainers: Map = new Map();\n\n /**\n * Registers a scrollable instance with the service and listens for its scrolled events. When the\n * scrollable is scrolled, the service emits the event to its scrolled observable.\n * @param scrollable Scrollable instance to be registered.\n */\n register(scrollable: CdkScrollable): void {\n if (!this.scrollContainers.has(scrollable)) {\n this.scrollContainers.set(scrollable, scrollable.elementScrolled()\n .subscribe(() => this._scrolled.next(scrollable)));\n }\n }\n\n /**\n * Deregisters a Scrollable reference and unsubscribes from its scroll event observable.\n * @param scrollable Scrollable instance to be deregistered.\n */\n deregister(scrollable: CdkScrollable): void {\n const scrollableReference = this.scrollContainers.get(scrollable);\n\n if (scrollableReference) {\n scrollableReference.unsubscribe();\n this.scrollContainers.delete(scrollable);\n }\n }\n\n /**\n * Returns an observable that emits an event whenever any of the registered Scrollable\n * references (or window, document, or body) fire a scrolled event. Can provide a time in ms\n * to override the default \"throttle\" time.\n *\n * **Note:** in order to avoid hitting change detection for every scroll event,\n * all of the events emitted from this stream will be run outside the Angular zone.\n * If you need to update any data bindings as a result of a scroll event, you have\n * to run the callback using `NgZone.run`.\n */\n scrolled(auditTimeInMs: number = DEFAULT_SCROLL_TIME): Observable {\n if (!this._platform.isBrowser) {\n return observableOf();\n }\n\n return new Observable((observer: Observer) => {\n if (!this._globalSubscription) {\n this._addGlobalListener();\n }\n\n // In the case of a 0ms delay, use an observable without auditTime\n // since it does add a perceptible delay in processing overhead.\n const subscription = auditTimeInMs > 0 ?\n this._scrolled.pipe(auditTime(auditTimeInMs)).subscribe(observer) :\n this._scrolled.subscribe(observer);\n\n this._scrolledCount++;\n\n return () => {\n subscription.unsubscribe();\n this._scrolledCount--;\n\n if (!this._scrolledCount) {\n this._removeGlobalListener();\n }\n };\n });\n }\n\n ngOnDestroy() {\n this._removeGlobalListener();\n this.scrollContainers.forEach((_, container) => this.deregister(container));\n this._scrolled.complete();\n }\n\n /**\n * Returns an observable that emits whenever any of the\n * scrollable ancestors of an element are scrolled.\n * @param elementRef Element whose ancestors to listen for.\n * @param auditTimeInMs Time to throttle the scroll events.\n */\n ancestorScrolled(elementRef: ElementRef, auditTimeInMs?: number): Observable {\n const ancestors = this.getAncestorScrollContainers(elementRef);\n\n return this.scrolled(auditTimeInMs).pipe(filter(target => {\n return !target || ancestors.indexOf(target) > -1;\n }));\n }\n\n /** Returns all registered Scrollables that contain the provided element. */\n getAncestorScrollContainers(elementRef: ElementRef): CdkScrollable[] {\n const scrollingContainers: CdkScrollable[] = [];\n\n this.scrollContainers.forEach((_subscription: Subscription, scrollable: CdkScrollable) => {\n if (this._scrollableContainsElement(scrollable, elementRef)) {\n scrollingContainers.push(scrollable);\n }\n });\n\n return scrollingContainers;\n }\n\n /** Access injected document if available or fallback to global document reference */\n private _getDocument(): Document {\n return this._document || document;\n }\n\n /** Use defaultView of injected document if available or fallback to global window reference */\n private _getWindow(): Window {\n const doc = this._getDocument();\n return doc.defaultView || window;\n }\n\n /** Returns true if the element is contained within the provided Scrollable. */\n private _scrollableContainsElement(scrollable: CdkScrollable, elementRef: ElementRef): boolean {\n let element: HTMLElement | null = elementRef.nativeElement;\n let scrollableElement = scrollable.getElementRef().nativeElement;\n\n // Traverse through the element parents until we reach null, checking if any of the elements\n // are the scrollable's element.\n do {\n if (element == scrollableElement) { return true; }\n } while (element = element!.parentElement);\n\n return false;\n }\n\n /** Sets up the global scroll listeners. */\n private _addGlobalListener() {\n this._globalSubscription = this._ngZone.runOutsideAngular(() => {\n const window = this._getWindow();\n return fromEvent(window.document, 'scroll').subscribe(() => this._scrolled.next());\n });\n }\n\n /** Cleans up the global scroll listener. */\n private _removeGlobalListener() {\n if (this._globalSubscription) {\n this._globalSubscription.unsubscribe();\n this._globalSubscription = null;\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directionality} from '@angular/cdk/bidi';\nimport {\n getRtlScrollAxisType,\n RtlScrollAxisType,\n supportsScrollBehavior\n} from '@angular/cdk/platform';\nimport {Directive, ElementRef, NgZone, OnDestroy, OnInit, Optional} from '@angular/core';\nimport {fromEvent, Observable, Subject, Observer} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\nimport {ScrollDispatcher} from './scroll-dispatcher';\n\nexport type _Without = {[P in keyof T]?: never};\nexport type _XOR = (_Without & U) | (_Without & T);\nexport type _Top = {top?: number};\nexport type _Bottom = {bottom?: number};\nexport type _Left = {left?: number};\nexport type _Right = {right?: number};\nexport type _Start = {start?: number};\nexport type _End = {end?: number};\nexport type _XAxis = _XOR<_XOR<_Left, _Right>, _XOR<_Start, _End>>;\nexport type _YAxis = _XOR<_Top, _Bottom>;\n\n/**\n * An extended version of ScrollToOptions that allows expressing scroll offsets relative to the\n * top, bottom, left, right, start, or end of the viewport rather than just the top and left.\n * Please note: the top and bottom properties are mutually exclusive, as are the left, right,\n * start, and end properties.\n */\nexport type ExtendedScrollToOptions = _XAxis & _YAxis & ScrollOptions;\n\n/**\n * Sends an event when the directive's element is scrolled. Registers itself with the\n * ScrollDispatcher service to include itself as part of its collection of scrolling events that it\n * can be listened to through the service.\n */\n@Directive({\n selector: '[cdk-scrollable], [cdkScrollable]'\n})\nexport class CdkScrollable implements OnInit, OnDestroy {\n private _destroyed = new Subject();\n\n private _elementScrolled: Observable = new Observable((observer: Observer) =>\n this.ngZone.runOutsideAngular(() =>\n fromEvent(this.elementRef.nativeElement, 'scroll').pipe(takeUntil(this._destroyed))\n .subscribe(observer)));\n\n constructor(protected elementRef: ElementRef,\n protected scrollDispatcher: ScrollDispatcher,\n protected ngZone: NgZone,\n @Optional() protected dir?: Directionality) {}\n\n ngOnInit() {\n this.scrollDispatcher.register(this);\n }\n\n ngOnDestroy() {\n this.scrollDispatcher.deregister(this);\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n /** Returns observable that emits when a scroll event is fired on the host element. */\n elementScrolled(): Observable {\n return this._elementScrolled;\n }\n\n /** Gets the ElementRef for the viewport. */\n getElementRef(): ElementRef {\n return this.elementRef;\n }\n\n /**\n * Scrolls to the specified offsets. This is a normalized version of the browser's native scrollTo\n * method, since browsers are not consistent about what scrollLeft means in RTL. For this method\n * left and right always refer to the left and right side of the scrolling container irrespective\n * of the layout direction. start and end refer to left and right in an LTR context and vice-versa\n * in an RTL context.\n * @param options specified the offsets to scroll to.\n */\n scrollTo(options: ExtendedScrollToOptions): void {\n const el = this.elementRef.nativeElement;\n const isRtl = this.dir && this.dir.value == 'rtl';\n\n // Rewrite start & end offsets as right or left offsets.\n if (options.left == null) {\n options.left = isRtl ? options.end : options.start;\n }\n\n if (options.right == null) {\n options.right = isRtl ? options.start : options.end;\n }\n\n // Rewrite the bottom offset as a top offset.\n if (options.bottom != null) {\n (options as _Without<_Bottom> & _Top).top =\n el.scrollHeight - el.clientHeight - options.bottom;\n }\n\n // Rewrite the right offset as a left offset.\n if (isRtl && getRtlScrollAxisType() != RtlScrollAxisType.NORMAL) {\n if (options.left != null) {\n (options as _Without<_Left> & _Right).right =\n el.scrollWidth - el.clientWidth - options.left;\n }\n\n if (getRtlScrollAxisType() == RtlScrollAxisType.INVERTED) {\n options.left = options.right;\n } else if (getRtlScrollAxisType() == RtlScrollAxisType.NEGATED) {\n options.left = options.right ? -options.right : options.right;\n }\n } else {\n if (options.right != null) {\n (options as _Without<_Right> & _Left).left =\n el.scrollWidth - el.clientWidth - options.right;\n }\n }\n\n this._applyScrollToOptions(options);\n }\n\n private _applyScrollToOptions(options: ScrollToOptions): void {\n const el = this.elementRef.nativeElement;\n\n if (supportsScrollBehavior()) {\n el.scrollTo(options);\n } else {\n if (options.top != null) {\n el.scrollTop = options.top;\n }\n if (options.left != null) {\n el.scrollLeft = options.left;\n }\n }\n }\n\n /**\n * Measures the scroll offset relative to the specified edge of the viewport. This method can be\n * used instead of directly checking scrollLeft or scrollTop, since browsers are not consistent\n * about what scrollLeft means in RTL. The values returned by this method are normalized such that\n * left and right always refer to the left and right side of the scrolling container irrespective\n * of the layout direction. start and end refer to left and right in an LTR context and vice-versa\n * in an RTL context.\n * @param from The edge to measure from.\n */\n measureScrollOffset(from: 'top' | 'left' | 'right' | 'bottom' | 'start' | 'end'): number {\n const LEFT = 'left';\n const RIGHT = 'right';\n const el = this.elementRef.nativeElement;\n if (from == 'top') {\n return el.scrollTop;\n }\n if (from == 'bottom') {\n return el.scrollHeight - el.clientHeight - el.scrollTop;\n }\n\n // Rewrite start & end as left or right offsets.\n const isRtl = this.dir && this.dir.value == 'rtl';\n if (from == 'start') {\n from = isRtl ? RIGHT : LEFT;\n } else if (from == 'end') {\n from = isRtl ? LEFT : RIGHT;\n }\n\n if (isRtl && getRtlScrollAxisType() == RtlScrollAxisType.INVERTED) {\n // For INVERTED, scrollLeft is (scrollWidth - clientWidth) when scrolled all the way left and\n // 0 when scrolled all the way right.\n if (from == LEFT) {\n return el.scrollWidth - el.clientWidth - el.scrollLeft;\n } else {\n return el.scrollLeft;\n }\n } else if (isRtl && getRtlScrollAxisType() == RtlScrollAxisType.NEGATED) {\n // For NEGATED, scrollLeft is -(scrollWidth - clientWidth) when scrolled all the way left and\n // 0 when scrolled all the way right.\n if (from == LEFT) {\n return el.scrollLeft + el.scrollWidth - el.clientWidth;\n } else {\n return -el.scrollLeft;\n }\n } else {\n // For NORMAL, as well as non-RTL contexts, scrollLeft is 0 when scrolled all the way left and\n // (scrollWidth - clientWidth) when scrolled all the way right.\n if (from == LEFT) {\n return el.scrollLeft;\n } else {\n return el.scrollWidth - el.clientWidth - el.scrollLeft;\n }\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Platform} from '@angular/cdk/platform';\nimport {Injectable, NgZone, OnDestroy, Optional, Inject} from '@angular/core';\nimport {Observable, Subject} from 'rxjs';\nimport {auditTime} from 'rxjs/operators';\nimport {DOCUMENT} from '@angular/common';\n\n/** Time in ms to throttle the resize events by default. */\nexport const DEFAULT_RESIZE_TIME = 20;\n\n/** Object that holds the scroll position of the viewport in each direction. */\nexport interface ViewportScrollPosition {\n top: number;\n left: number;\n}\n\n/**\n * Simple utility for getting the bounds of the browser viewport.\n * @docs-private\n */\n@Injectable({providedIn: 'root'})\nexport class ViewportRuler implements OnDestroy {\n /** Cached viewport dimensions. */\n private _viewportSize: {width: number; height: number};\n\n /** Stream of viewport change events. */\n private _change = new Subject();\n\n /** Event listener that will be used to handle the viewport change events. */\n private _changeListener = (event: Event) => {\n this._change.next(event);\n }\n\n /** Used to reference correct document/window */\n protected _document?: Document;\n\n constructor(private _platform: Platform,\n ngZone: NgZone,\n /** @breaking-change 11.0.0 make document required */\n @Optional() @Inject(DOCUMENT) document?: any) {\n this._document = document;\n\n ngZone.runOutsideAngular(() => {\n if (_platform.isBrowser) {\n const window = this._getWindow();\n\n // Note that bind the events ourselves, rather than going through something like RxJS's\n // `fromEvent` so that we can ensure that they're bound outside of the NgZone.\n window.addEventListener('resize', this._changeListener);\n window.addEventListener('orientationchange', this._changeListener);\n }\n\n // We don't need to keep track of the subscription,\n // because we complete the `change` stream on destroy.\n this.change().subscribe(() => this._updateViewportSize());\n });\n }\n\n ngOnDestroy() {\n if (this._platform.isBrowser) {\n const window = this._getWindow();\n window.removeEventListener('resize', this._changeListener);\n window.removeEventListener('orientationchange', this._changeListener);\n }\n\n this._change.complete();\n }\n\n /** Returns the viewport's width and height. */\n getViewportSize(): Readonly<{width: number, height: number}> {\n if (!this._viewportSize) {\n this._updateViewportSize();\n }\n\n const output = {width: this._viewportSize.width, height: this._viewportSize.height};\n\n // If we're not on a browser, don't cache the size since it'll be mocked out anyway.\n if (!this._platform.isBrowser) {\n this._viewportSize = null!;\n }\n\n return output;\n }\n\n /** Gets a ClientRect for the viewport's bounds. */\n getViewportRect(): ClientRect {\n // Use the document element's bounding rect rather than the window scroll properties\n // (e.g. pageYOffset, scrollY) due to in issue in Chrome and IE where window scroll\n // properties and client coordinates (boundingClientRect, clientX/Y, etc.) are in different\n // conceptual viewports. Under most circumstances these viewports are equivalent, but they\n // can disagree when the page is pinch-zoomed (on devices that support touch).\n // See https://bugs.chromium.org/p/chromium/issues/detail?id=489206#c4\n // We use the documentElement instead of the body because, by default (without a css reset)\n // browsers typically give the document body an 8px margin, which is not included in\n // getBoundingClientRect().\n const scrollPosition = this.getViewportScrollPosition();\n const {width, height} = this.getViewportSize();\n\n return {\n top: scrollPosition.top,\n left: scrollPosition.left,\n bottom: scrollPosition.top + height,\n right: scrollPosition.left + width,\n height,\n width,\n };\n }\n\n /** Gets the (top, left) scroll position of the viewport. */\n getViewportScrollPosition(): ViewportScrollPosition {\n // While we can get a reference to the fake document\n // during SSR, it doesn't have getBoundingClientRect.\n if (!this._platform.isBrowser) {\n return {top: 0, left: 0};\n }\n\n // The top-left-corner of the viewport is determined by the scroll position of the document\n // body, normally just (scrollLeft, scrollTop). However, Chrome and Firefox disagree about\n // whether `document.body` or `document.documentElement` is the scrolled element, so reading\n // `scrollTop` and `scrollLeft` is inconsistent. However, using the bounding rect of\n // `document.documentElement` works consistently, where the `top` and `left` values will\n // equal negative the scroll position.\n const document = this._getDocument();\n const window = this._getWindow();\n const documentElement = document.documentElement!;\n const documentRect = documentElement.getBoundingClientRect();\n\n const top = -documentRect.top || document.body.scrollTop || window.scrollY ||\n documentElement.scrollTop || 0;\n\n const left = -documentRect.left || document.body.scrollLeft || window.scrollX ||\n documentElement.scrollLeft || 0;\n\n return {top, left};\n }\n\n /**\n * Returns a stream that emits whenever the size of the viewport changes.\n * @param throttleTime Time in milliseconds to throttle the stream.\n */\n change(throttleTime: number = DEFAULT_RESIZE_TIME): Observable {\n return throttleTime > 0 ? this._change.pipe(auditTime(throttleTime)) : this._change;\n }\n\n /** Access injected document if available or fallback to global document reference */\n private _getDocument(): Document {\n return this._document || document;\n }\n\n /** Use defaultView of injected document if available or fallback to global window reference */\n private _getWindow(): Window {\n const doc = this._getDocument();\n return doc.defaultView || window;\n }\n\n /** Updates the cached viewport size. */\n private _updateViewportSize() {\n const window = this._getWindow();\n this._viewportSize = this._platform.isBrowser ?\n {width: window.innerWidth, height: window.innerHeight} :\n {width: 0, height: 0};\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directionality} from '@angular/cdk/bidi';\nimport {ListRange} from '@angular/cdk/collections';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n animationFrameScheduler,\n asapScheduler,\n Observable,\n Subject,\n Observer,\n Subscription,\n} from 'rxjs';\nimport {auditTime, startWith, takeUntil} from 'rxjs/operators';\nimport {ScrollDispatcher} from './scroll-dispatcher';\nimport {CdkScrollable, ExtendedScrollToOptions} from './scrollable';\nimport {VIRTUAL_SCROLL_STRATEGY, VirtualScrollStrategy} from './virtual-scroll-strategy';\nimport {ViewportRuler} from './viewport-ruler';\nimport {CdkVirtualScrollRepeater} from './virtual-scroll-repeater';\n\n/** Checks if the given ranges are equal. */\nfunction rangesEqual(r1: ListRange, r2: ListRange): boolean {\n return r1.start == r2.start && r1.end == r2.end;\n}\n\n/**\n * Scheduler to be used for scroll events. Needs to fall back to\n * something that doesn't rely on requestAnimationFrame on environments\n * that don't support it (e.g. server-side rendering).\n */\nconst SCROLL_SCHEDULER =\n typeof requestAnimationFrame !== 'undefined' ? animationFrameScheduler : asapScheduler;\n\n\n/** A viewport that virtualizes its scrolling with the help of `CdkVirtualForOf`. */\n@Component({\n selector: 'cdk-virtual-scroll-viewport',\n templateUrl: 'virtual-scroll-viewport.html',\n styleUrls: ['virtual-scroll-viewport.css'],\n host: {\n 'class': 'cdk-virtual-scroll-viewport',\n '[class.cdk-virtual-scroll-orientation-horizontal]': 'orientation === \"horizontal\"',\n '[class.cdk-virtual-scroll-orientation-vertical]': 'orientation !== \"horizontal\"',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{\n provide: CdkScrollable,\n useExisting: CdkVirtualScrollViewport,\n }]\n})\nexport class CdkVirtualScrollViewport extends CdkScrollable implements OnInit, OnDestroy {\n /** Emits when the viewport is detached from a CdkVirtualForOf. */\n private _detachedSubject = new Subject();\n\n /** Emits when the rendered range changes. */\n private _renderedRangeSubject = new Subject();\n\n /** The direction the viewport scrolls. */\n @Input()\n get orientation() {\n return this._orientation;\n }\n set orientation(orientation: 'horizontal' | 'vertical') {\n if (this._orientation !== orientation) {\n this._orientation = orientation;\n this._calculateSpacerSize();\n }\n }\n private _orientation: 'horizontal' | 'vertical' = 'vertical';\n\n // Note: we don't use the typical EventEmitter here because we need to subscribe to the scroll\n // strategy lazily (i.e. only if the user is actually listening to the events). We do this because\n // depending on how the strategy calculates the scrolled index, it may come at a cost to\n // performance.\n /** Emits when the index of the first element visible in the viewport changes. */\n @Output() scrolledIndexChange: Observable =\n new Observable((observer: Observer) =>\n this._scrollStrategy.scrolledIndexChange.subscribe(index =>\n Promise.resolve().then(() => this.ngZone.run(() => observer.next(index)))));\n\n /** The element that wraps the rendered content. */\n @ViewChild('contentWrapper', {static: true}) _contentWrapper: ElementRef;\n\n /** A stream that emits whenever the rendered range changes. */\n renderedRangeStream: Observable = this._renderedRangeSubject;\n\n /**\n * The total size of all content (in pixels), including content that is not currently rendered.\n */\n private _totalContentSize = 0;\n\n /** A string representing the `style.width` property value to be used for the spacer element. */\n _totalContentWidth = '';\n\n /** A string representing the `style.height` property value to be used for the spacer element. */\n _totalContentHeight = '';\n\n /**\n * The CSS transform applied to the rendered subset of items so that they appear within the bounds\n * of the visible viewport.\n */\n private _renderedContentTransform: string;\n\n /** The currently rendered range of indices. */\n private _renderedRange: ListRange = {start: 0, end: 0};\n\n /** The length of the data bound to this viewport (in number of items). */\n private _dataLength = 0;\n\n /** The size of the viewport (in pixels). */\n private _viewportSize = 0;\n\n /** the currently attached CdkVirtualScrollRepeater. */\n private _forOf: CdkVirtualScrollRepeater | null;\n\n /** The last rendered content offset that was set. */\n private _renderedContentOffset = 0;\n\n /**\n * Whether the last rendered content offset was to the end of the content (and therefore needs to\n * be rewritten as an offset to the start of the content).\n */\n private _renderedContentOffsetNeedsRewrite = false;\n\n /** Whether there is a pending change detection cycle. */\n private _isChangeDetectionPending = false;\n\n /** A list of functions to run after the next change detection cycle. */\n private _runAfterChangeDetection: Function[] = [];\n\n /** Subscription to changes in the viewport size. */\n private _viewportChanges = Subscription.EMPTY;\n\n constructor(public elementRef: ElementRef,\n private _changeDetectorRef: ChangeDetectorRef,\n ngZone: NgZone,\n @Optional() @Inject(VIRTUAL_SCROLL_STRATEGY)\n private _scrollStrategy: VirtualScrollStrategy,\n @Optional() dir: Directionality,\n scrollDispatcher: ScrollDispatcher,\n /**\n * @deprecated `viewportRuler` parameter to become required.\n * @breaking-change 11.0.0\n */\n viewportRuler?: ViewportRuler) {\n super(elementRef, scrollDispatcher, ngZone, dir);\n\n if (!_scrollStrategy && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Error: cdk-virtual-scroll-viewport requires the \"itemSize\" property to be set.');\n }\n\n // @breaking-change 11.0.0 Remove null check for `viewportRuler`.\n if (viewportRuler) {\n this._viewportChanges = viewportRuler.change().subscribe(() => {\n this.checkViewportSize();\n });\n }\n }\n\n ngOnInit() {\n super.ngOnInit();\n\n // It's still too early to measure the viewport at this point. Deferring with a promise allows\n // the Viewport to be rendered with the correct size before we measure. We run this outside the\n // zone to avoid causing more change detection cycles. We handle the change detection loop\n // ourselves instead.\n this.ngZone.runOutsideAngular(() => Promise.resolve().then(() => {\n this._measureViewportSize();\n this._scrollStrategy.attach(this);\n\n this.elementScrolled()\n .pipe(\n // Start off with a fake scroll event so we properly detect our initial position.\n startWith(null!),\n // Collect multiple events into one until the next animation frame. This way if\n // there are multiple scroll events in the same frame we only need to recheck\n // our layout once.\n auditTime(0, SCROLL_SCHEDULER))\n .subscribe(() => this._scrollStrategy.onContentScrolled());\n\n this._markChangeDetectionNeeded();\n }));\n }\n\n ngOnDestroy() {\n this.detach();\n this._scrollStrategy.detach();\n\n // Complete all subjects\n this._renderedRangeSubject.complete();\n this._detachedSubject.complete();\n this._viewportChanges.unsubscribe();\n\n super.ngOnDestroy();\n }\n\n /** Attaches a `CdkVirtualScrollRepeater` to this viewport. */\n attach(forOf: CdkVirtualScrollRepeater) {\n if (this._forOf && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkVirtualScrollViewport is already attached.');\n }\n\n // Subscribe to the data stream of the CdkVirtualForOf to keep track of when the data length\n // changes. Run outside the zone to avoid triggering change detection, since we're managing the\n // change detection loop ourselves.\n this.ngZone.runOutsideAngular(() => {\n this._forOf = forOf;\n this._forOf.dataStream.pipe(takeUntil(this._detachedSubject)).subscribe(data => {\n const newLength = data.length;\n if (newLength !== this._dataLength) {\n this._dataLength = newLength;\n this._scrollStrategy.onDataLengthChanged();\n }\n this._doChangeDetection();\n });\n });\n }\n\n /** Detaches the current `CdkVirtualForOf`. */\n detach() {\n this._forOf = null;\n this._detachedSubject.next();\n }\n\n /** Gets the length of the data bound to this viewport (in number of items). */\n getDataLength(): number {\n return this._dataLength;\n }\n\n /** Gets the size of the viewport (in pixels). */\n getViewportSize(): number {\n return this._viewportSize;\n }\n\n // TODO(mmalerba): This is technically out of sync with what's really rendered until a render\n // cycle happens. I'm being careful to only call it after the render cycle is complete and before\n // setting it to something else, but its error prone and should probably be split into\n // `pendingRange` and `renderedRange`, the latter reflecting whats actually in the DOM.\n\n /** Get the current rendered range of items. */\n getRenderedRange(): ListRange {\n return this._renderedRange;\n }\n\n /**\n * Sets the total size of all content (in pixels), including content that is not currently\n * rendered.\n */\n setTotalContentSize(size: number) {\n if (this._totalContentSize !== size) {\n this._totalContentSize = size;\n this._calculateSpacerSize();\n this._markChangeDetectionNeeded();\n }\n }\n\n /** Sets the currently rendered range of indices. */\n setRenderedRange(range: ListRange) {\n if (!rangesEqual(this._renderedRange, range)) {\n this._renderedRangeSubject.next(this._renderedRange = range);\n this._markChangeDetectionNeeded(() => this._scrollStrategy.onContentRendered());\n }\n }\n\n /**\n * Gets the offset from the start of the viewport to the start of the rendered data (in pixels).\n */\n getOffsetToRenderedContentStart(): number | null {\n return this._renderedContentOffsetNeedsRewrite ? null : this._renderedContentOffset;\n }\n\n /**\n * Sets the offset from the start of the viewport to either the start or end of the rendered data\n * (in pixels).\n */\n setRenderedContentOffset(offset: number, to: 'to-start' | 'to-end' = 'to-start') {\n // For a horizontal viewport in a right-to-left language we need to translate along the x-axis\n // in the negative direction.\n const isRtl = this.dir && this.dir.value == 'rtl';\n const isHorizontal = this.orientation == 'horizontal';\n const axis = isHorizontal ? 'X' : 'Y';\n const axisDirection = isHorizontal && isRtl ? -1 : 1;\n let transform = `translate${axis}(${Number(axisDirection * offset)}px)`;\n this._renderedContentOffset = offset;\n if (to === 'to-end') {\n transform += ` translate${axis}(-100%)`;\n // The viewport should rewrite this as a `to-start` offset on the next render cycle. Otherwise\n // elements will appear to expand in the wrong direction (e.g. `mat-expansion-panel` would\n // expand upward).\n this._renderedContentOffsetNeedsRewrite = true;\n }\n if (this._renderedContentTransform != transform) {\n // We know this value is safe because we parse `offset` with `Number()` before passing it\n // into the string.\n this._renderedContentTransform = transform;\n this._markChangeDetectionNeeded(() => {\n if (this._renderedContentOffsetNeedsRewrite) {\n this._renderedContentOffset -= this.measureRenderedContentSize();\n this._renderedContentOffsetNeedsRewrite = false;\n this.setRenderedContentOffset(this._renderedContentOffset);\n } else {\n this._scrollStrategy.onRenderedOffsetChanged();\n }\n });\n }\n }\n\n /**\n * Scrolls to the given offset from the start of the viewport. Please note that this is not always\n * the same as setting `scrollTop` or `scrollLeft`. In a horizontal viewport with right-to-left\n * direction, this would be the equivalent of setting a fictional `scrollRight` property.\n * @param offset The offset to scroll to.\n * @param behavior The ScrollBehavior to use when scrolling. Default is behavior is `auto`.\n */\n scrollToOffset(offset: number, behavior: ScrollBehavior = 'auto') {\n const options: ExtendedScrollToOptions = {behavior};\n if (this.orientation === 'horizontal') {\n options.start = offset;\n } else {\n options.top = offset;\n }\n this.scrollTo(options);\n }\n\n /**\n * Scrolls to the offset for the given index.\n * @param index The index of the element to scroll to.\n * @param behavior The ScrollBehavior to use when scrolling. Default is behavior is `auto`.\n */\n scrollToIndex(index: number, behavior: ScrollBehavior = 'auto') {\n this._scrollStrategy.scrollToIndex(index, behavior);\n }\n\n /**\n * Gets the current scroll offset from the start of the viewport (in pixels).\n * @param from The edge to measure the offset from. Defaults to 'top' in vertical mode and 'start'\n * in horizontal mode.\n */\n measureScrollOffset(from?: 'top' | 'left' | 'right' | 'bottom' | 'start' | 'end'): number {\n return from ?\n super.measureScrollOffset(from) :\n super.measureScrollOffset(this.orientation === 'horizontal' ? 'start' : 'top');\n }\n\n /** Measure the combined size of all of the rendered items. */\n measureRenderedContentSize(): number {\n const contentEl = this._contentWrapper.nativeElement;\n return this.orientation === 'horizontal' ? contentEl.offsetWidth : contentEl.offsetHeight;\n }\n\n /**\n * Measure the total combined size of the given range. Throws if the range includes items that are\n * not rendered.\n */\n measureRangeSize(range: ListRange): number {\n if (!this._forOf) {\n return 0;\n }\n return this._forOf.measureRangeSize(range, this.orientation);\n }\n\n /** Update the viewport dimensions and re-render. */\n checkViewportSize() {\n // TODO: Cleanup later when add logic for handling content resize\n this._measureViewportSize();\n this._scrollStrategy.onDataLengthChanged();\n }\n\n /** Measure the viewport size. */\n private _measureViewportSize() {\n const viewportEl = this.elementRef.nativeElement;\n this._viewportSize = this.orientation === 'horizontal' ?\n viewportEl.clientWidth : viewportEl.clientHeight;\n }\n\n /** Queue up change detection to run. */\n private _markChangeDetectionNeeded(runAfter?: Function) {\n if (runAfter) {\n this._runAfterChangeDetection.push(runAfter);\n }\n\n // Use a Promise to batch together calls to `_doChangeDetection`. This way if we set a bunch of\n // properties sequentially we only have to run `_doChangeDetection` once at the end.\n if (!this._isChangeDetectionPending) {\n this._isChangeDetectionPending = true;\n this.ngZone.runOutsideAngular(() => Promise.resolve().then(() => {\n this._doChangeDetection();\n }));\n }\n }\n\n /** Run change detection. */\n private _doChangeDetection() {\n this._isChangeDetectionPending = false;\n\n // Apply the content transform. The transform can't be set via an Angular binding because\n // bypassSecurityTrustStyle is banned in Google. However the value is safe, it's composed of\n // string literals, a variable that can only be 'X' or 'Y', and user input that is run through\n // the `Number` function first to coerce it to a numeric value.\n this._contentWrapper.nativeElement.style.transform = this._renderedContentTransform;\n // Apply changes to Angular bindings. Note: We must call `markForCheck` to run change detection\n // from the root, since the repeated items are content projected in. Calling `detectChanges`\n // instead does not properly check the projected content.\n this.ngZone.run(() => this._changeDetectorRef.markForCheck());\n\n const runAfterChangeDetection = this._runAfterChangeDetection;\n this._runAfterChangeDetection = [];\n for (const fn of runAfterChangeDetection) {\n fn();\n }\n }\n\n /** Calculates the `style.width` and `style.height` for the spacer element. */\n private _calculateSpacerSize() {\n this._totalContentHeight =\n this.orientation === 'horizontal' ? '' : `${this._totalContentSize}px`;\n this._totalContentWidth =\n this.orientation === 'horizontal' ? `${this._totalContentSize}px` : '';\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n ArrayDataSource,\n CollectionViewer,\n DataSource,\n ListRange,\n isDataSource,\n _RecycleViewRepeaterStrategy,\n _VIEW_REPEATER_STRATEGY,\n _ViewRepeaterItemInsertArgs,\n} from '@angular/cdk/collections';\nimport {\n Directive,\n DoCheck,\n EmbeddedViewRef,\n Inject,\n Input,\n IterableChangeRecord,\n IterableChanges,\n IterableDiffer,\n IterableDiffers,\n NgIterable,\n NgZone,\n OnDestroy,\n SkipSelf,\n TemplateRef,\n TrackByFunction,\n ViewContainerRef,\n} from '@angular/core';\nimport {coerceNumberProperty, NumberInput} from '@angular/cdk/coercion';\nimport {Observable, Subject, of as observableOf, isObservable} from 'rxjs';\nimport {pairwise, shareReplay, startWith, switchMap, takeUntil} from 'rxjs/operators';\nimport {CdkVirtualScrollRepeater} from './virtual-scroll-repeater';\nimport {CdkVirtualScrollViewport} from './virtual-scroll-viewport';\n\n\n/** The context for an item rendered by `CdkVirtualForOf` */\nexport type CdkVirtualForOfContext = {\n /** The item value. */\n $implicit: T;\n /** The DataSource, Observable, or NgIterable that was passed to *cdkVirtualFor. */\n cdkVirtualForOf: DataSource | Observable | NgIterable;\n /** The index of the item in the DataSource. */\n index: number;\n /** The number of items in the DataSource. */\n count: number;\n /** Whether this is the first item in the DataSource. */\n first: boolean;\n /** Whether this is the last item in the DataSource. */\n last: boolean;\n /** Whether the index is even. */\n even: boolean;\n /** Whether the index is odd. */\n odd: boolean;\n};\n\n\n/** Helper to extract the offset of a DOM Node in a certain direction. */\nfunction getOffset(orientation: 'horizontal' | 'vertical', direction: 'start' | 'end', node: Node) {\n const el = node as Element;\n if (!el.getBoundingClientRect) {\n return 0;\n }\n const rect = el.getBoundingClientRect();\n\n if (orientation === 'horizontal') {\n return direction === 'start' ? rect.left : rect.right;\n }\n\n return direction === 'start' ? rect.top : rect.bottom;\n}\n\n/**\n * A directive similar to `ngForOf` to be used for rendering data inside a virtual scrolling\n * container.\n */\n@Directive({\n selector: '[cdkVirtualFor][cdkVirtualForOf]',\n providers: [\n {provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy},\n ]\n})\nexport class CdkVirtualForOf implements\n CdkVirtualScrollRepeater, CollectionViewer, DoCheck, OnDestroy {\n /** Emits when the rendered view of the data changes. */\n viewChange = new Subject();\n\n /** Subject that emits when a new DataSource instance is given. */\n private _dataSourceChanges = new Subject>();\n\n /** The DataSource to display. */\n @Input()\n get cdkVirtualForOf(): DataSource | Observable | NgIterable | null | undefined {\n return this._cdkVirtualForOf;\n }\n set cdkVirtualForOf(value: DataSource | Observable | NgIterable | null | undefined) {\n this._cdkVirtualForOf = value;\n if (isDataSource(value)) {\n this._dataSourceChanges.next(value);\n } else {\n // If value is an an NgIterable, convert it to an array.\n this._dataSourceChanges.next(new ArrayDataSource(\n isObservable(value) ? value : Array.from(value || [])));\n }\n }\n\n _cdkVirtualForOf: DataSource | Observable | NgIterable | null | undefined;\n\n /**\n * The `TrackByFunction` to use for tracking changes. The `TrackByFunction` takes the index and\n * the item and produces a value to be used as the item's identity when tracking changes.\n */\n @Input()\n get cdkVirtualForTrackBy(): TrackByFunction | undefined {\n return this._cdkVirtualForTrackBy;\n }\n set cdkVirtualForTrackBy(fn: TrackByFunction | undefined) {\n this._needsUpdate = true;\n this._cdkVirtualForTrackBy = fn ?\n (index, item) => fn(index + (this._renderedRange ? this._renderedRange.start : 0), item) :\n undefined;\n }\n private _cdkVirtualForTrackBy: TrackByFunction | undefined;\n\n /** The template used to stamp out new elements. */\n @Input()\n set cdkVirtualForTemplate(value: TemplateRef>) {\n if (value) {\n this._needsUpdate = true;\n this._template = value;\n }\n }\n\n /**\n * The size of the cache used to store templates that are not being used for re-use later.\n * Setting the cache size to `0` will disable caching. Defaults to 20 templates.\n */\n @Input()\n get cdkVirtualForTemplateCacheSize() {\n return this._viewRepeater.viewCacheSize;\n }\n set cdkVirtualForTemplateCacheSize(size: number) {\n this._viewRepeater.viewCacheSize = coerceNumberProperty(size);\n }\n\n /** Emits whenever the data in the current DataSource changes. */\n dataStream: Observable> = this._dataSourceChanges\n .pipe(\n // Start off with null `DataSource`.\n startWith(null!),\n // Bundle up the previous and current data sources so we can work with both.\n pairwise(),\n // Use `_changeDataSource` to disconnect from the previous data source and connect to the\n // new one, passing back a stream of data changes which we run through `switchMap` to give\n // us a data stream that emits the latest data from whatever the current `DataSource` is.\n switchMap(([prev, cur]) => this._changeDataSource(prev, cur)),\n // Replay the last emitted data when someone subscribes.\n shareReplay(1));\n\n /** The differ used to calculate changes to the data. */\n private _differ: IterableDiffer | null = null;\n\n /** The most recent data emitted from the DataSource. */\n private _data: T[] | ReadonlyArray;\n\n /** The currently rendered items. */\n private _renderedItems: T[];\n\n /** The currently rendered range of indices. */\n private _renderedRange: ListRange;\n\n /** Whether the rendered data should be updated during the next ngDoCheck cycle. */\n private _needsUpdate = false;\n\n private _destroyed = new Subject();\n\n constructor(\n /** The view container to add items to. */\n private _viewContainerRef: ViewContainerRef,\n /** The template to use when stamping out new items. */\n private _template: TemplateRef>,\n /** The set of available differs. */\n private _differs: IterableDiffers,\n /** The strategy used to render items in the virtual scroll viewport. */\n @Inject(_VIEW_REPEATER_STRATEGY)\n private _viewRepeater: _RecycleViewRepeaterStrategy>,\n /** The virtual scrolling viewport that these items are being rendered in. */\n @SkipSelf() private _viewport: CdkVirtualScrollViewport,\n ngZone: NgZone) {\n this.dataStream.subscribe(data => {\n this._data = data;\n this._onRenderedDataChange();\n });\n this._viewport.renderedRangeStream.pipe(takeUntil(this._destroyed)).subscribe(range => {\n this._renderedRange = range;\n ngZone.run(() => this.viewChange.next(this._renderedRange));\n this._onRenderedDataChange();\n });\n this._viewport.attach(this);\n }\n\n /**\n * Measures the combined size (width for horizontal orientation, height for vertical) of all items\n * in the specified range. Throws an error if the range includes items that are not currently\n * rendered.\n */\n measureRangeSize(range: ListRange, orientation: 'horizontal' | 'vertical'): number {\n if (range.start >= range.end) {\n return 0;\n }\n if ((range.start < this._renderedRange.start || range.end > this._renderedRange.end) &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error(`Error: attempted to measure an item that isn't rendered.`);\n }\n\n // The index into the list of rendered views for the first item in the range.\n const renderedStartIndex = range.start - this._renderedRange.start;\n // The length of the range we're measuring.\n const rangeLen = range.end - range.start;\n\n // Loop over all the views, find the first and land node and compute the size by subtracting\n // the top of the first node from the bottom of the last one.\n let firstNode: HTMLElement | undefined;\n let lastNode: HTMLElement | undefined;\n\n // Find the first node by starting from the beginning and going forwards.\n for (let i = 0; i < rangeLen; i++) {\n const view = this._viewContainerRef.get(i + renderedStartIndex) as\n EmbeddedViewRef> | null;\n if (view && view.rootNodes.length) {\n firstNode = lastNode = view.rootNodes[0];\n break;\n }\n }\n\n // Find the last node by starting from the end and going backwards.\n for (let i = rangeLen - 1; i > -1; i--) {\n const view = this._viewContainerRef.get(i + renderedStartIndex) as\n EmbeddedViewRef> | null;\n if (view && view.rootNodes.length) {\n lastNode = view.rootNodes[view.rootNodes.length - 1];\n break;\n }\n }\n\n return firstNode && lastNode ?\n getOffset(orientation, 'end', lastNode) - getOffset(orientation, 'start', firstNode) : 0;\n }\n\n ngDoCheck() {\n if (this._differ && this._needsUpdate) {\n // TODO(mmalerba): We should differentiate needs update due to scrolling and a new portion of\n // this list being rendered (can use simpler algorithm) vs needs update due to data actually\n // changing (need to do this diff).\n const changes = this._differ.diff(this._renderedItems);\n if (!changes) {\n this._updateContext();\n } else {\n this._applyChanges(changes);\n }\n this._needsUpdate = false;\n }\n }\n\n ngOnDestroy() {\n this._viewport.detach();\n\n this._dataSourceChanges.next(undefined!);\n this._dataSourceChanges.complete();\n this.viewChange.complete();\n\n this._destroyed.next();\n this._destroyed.complete();\n this._viewRepeater.detach();\n }\n\n /** React to scroll state changes in the viewport. */\n private _onRenderedDataChange() {\n if (!this._renderedRange) {\n return;\n }\n this._renderedItems = this._data.slice(this._renderedRange.start, this._renderedRange.end);\n if (!this._differ) {\n this._differ = this._differs.find(this._renderedItems).create(this.cdkVirtualForTrackBy);\n }\n this._needsUpdate = true;\n }\n\n /** Swap out one `DataSource` for another. */\n private _changeDataSource(oldDs: DataSource | null, newDs: DataSource | null):\n Observable> {\n\n if (oldDs) {\n oldDs.disconnect(this);\n }\n\n this._needsUpdate = true;\n return newDs ? newDs.connect(this) : observableOf();\n }\n\n /** Update the `CdkVirtualForOfContext` for all views. */\n private _updateContext() {\n const count = this._data.length;\n let i = this._viewContainerRef.length;\n while (i--) {\n let view = this._viewContainerRef.get(i) as EmbeddedViewRef>;\n view.context.index = this._renderedRange.start + i;\n view.context.count = count;\n this._updateComputedContextProperties(view.context);\n view.detectChanges();\n }\n }\n\n /** Apply changes to the DOM. */\n private _applyChanges(changes: IterableChanges) {\n this._viewRepeater.applyChanges(\n changes,\n this._viewContainerRef,\n (record: IterableChangeRecord,\n adjustedPreviousIndex: number | null,\n currentIndex: number | null) => this._getEmbeddedViewArgs(record, currentIndex!),\n (record) => record.item);\n\n // Update $implicit for any items that had an identity change.\n changes.forEachIdentityChange((record: IterableChangeRecord) => {\n const view = this._viewContainerRef.get(record.currentIndex!) as\n EmbeddedViewRef>;\n view.context.$implicit = record.item;\n });\n\n // Update the context variables on all items.\n const count = this._data.length;\n let i = this._viewContainerRef.length;\n while (i--) {\n const view = this._viewContainerRef.get(i) as EmbeddedViewRef>;\n view.context.index = this._renderedRange.start + i;\n view.context.count = count;\n this._updateComputedContextProperties(view.context);\n }\n }\n\n /** Update the computed properties on the `CdkVirtualForOfContext`. */\n private _updateComputedContextProperties(context: CdkVirtualForOfContext) {\n context.first = context.index === 0;\n context.last = context.index === context.count - 1;\n context.even = context.index % 2 === 0;\n context.odd = !context.even;\n }\n\n private _getEmbeddedViewArgs(record: IterableChangeRecord, index: number):\n _ViewRepeaterItemInsertArgs> {\n // Note that it's important that we insert the item directly at the proper index,\n // rather than inserting it and the moving it in place, because if there's a directive\n // on the same node that injects the `ViewContainerRef`, Angular will insert another\n // comment node which can throw off the move when it's being repeated for all items.\n return {\n templateRef: this._template,\n context: {\n $implicit: record.item,\n // It's guaranteed that the iterable is not \"undefined\" or \"null\" because we only\n // generate views for elements if the \"cdkVirtualForOf\" iterable has elements.\n cdkVirtualForOf: this._cdkVirtualForOf!,\n index: -1,\n count: -1,\n first: false,\n last: false,\n odd: false,\n even: false\n },\n index,\n };\n }\n\n static ngAcceptInputType_cdkVirtualForTemplateCacheSize: NumberInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {BidiModule} from '@angular/cdk/bidi';\nimport {PlatformModule} from '@angular/cdk/platform';\nimport {NgModule} from '@angular/core';\nimport {CdkFixedSizeVirtualScroll} from './fixed-size-virtual-scroll';\nimport {CdkScrollable} from './scrollable';\nimport {CdkVirtualForOf} from './virtual-for-of';\nimport {CdkVirtualScrollViewport} from './virtual-scroll-viewport';\n\n@NgModule({\n exports: [CdkScrollable],\n declarations: [CdkScrollable]\n})\nexport class CdkScrollableModule {}\n\n/**\n * @docs-primary-export\n */\n@NgModule({\n imports: [\n BidiModule,\n PlatformModule,\n CdkScrollableModule\n ],\n exports: [\n BidiModule,\n CdkScrollableModule,\n CdkFixedSizeVirtualScroll,\n CdkVirtualForOf,\n CdkVirtualScrollViewport,\n ],\n declarations: [\n CdkFixedSizeVirtualScroll,\n CdkVirtualForOf,\n CdkVirtualScrollViewport,\n ],\n})\nexport class ScrollingModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Observable} from 'rxjs';\nimport {ListRange} from '@angular/cdk/collections';\n\n/**\n * An item to be repeated by the VirtualScrollViewport\n */\nexport interface CdkVirtualScrollRepeater {\n dataStream: Observable>;\n measureRangeSize(range: ListRange, orientation: 'horizontal' | 'vertical'): number;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './fixed-size-virtual-scroll';\nexport * from './scroll-dispatcher';\nexport * from './scrollable';\nexport * from './scrolling-module';\nexport * from './viewport-ruler';\nexport * from './virtual-for-of';\nexport * from './virtual-scroll-strategy';\nexport * from './virtual-scroll-viewport';\nexport * from './virtual-scroll-repeater';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, ElementRef} from '@angular/core';\nimport {FocusableOption} from '@angular/cdk/a11y';\n\n\n@Directive({\n selector: '[cdkStepHeader]',\n host: {\n 'role': 'tab',\n },\n})\nexport class CdkStepHeader implements FocusableOption {\n constructor(protected _elementRef: ElementRef) {}\n\n /** Focuses the step header. */\n focus() {\n this._elementRef.nativeElement.focus();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: '[cdkStepLabel]',\n})\nexport class CdkStepLabel {\n constructor(/** @docs-private */ public template: TemplateRef) { }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {FocusableOption, FocusKeyManager} from '@angular/cdk/a11y';\nimport {Direction, Directionality} from '@angular/cdk/bidi';\nimport {\n BooleanInput,\n coerceBooleanProperty,\n coerceNumberProperty,\n NumberInput\n} from '@angular/cdk/coercion';\nimport {ENTER, hasModifierKey, SPACE} from '@angular/cdk/keycodes';\nimport {DOCUMENT} from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n InjectionToken,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n AfterContentInit,\n} from '@angular/core';\nimport {Observable, of as observableOf, Subject} from 'rxjs';\nimport {startWith, takeUntil} from 'rxjs/operators';\n\nimport {CdkStepHeader} from './step-header';\nimport {CdkStepLabel} from './step-label';\n\n/** Used to generate unique ID for each stepper component. */\nlet nextId = 0;\n\n/**\n * Position state of the content of each step in stepper that is used for transitioning\n * the content into correct position upon step selection change.\n */\nexport type StepContentPositionState = 'previous'|'current'|'next';\n\n/** Possible orientation of a stepper. */\nexport type StepperOrientation = 'horizontal'|'vertical';\n\n/** Change event emitted on selection changes. */\nexport class StepperSelectionEvent {\n /** Index of the step now selected. */\n selectedIndex: number;\n\n /** Index of the step previously selected. */\n previouslySelectedIndex: number;\n\n /** The step instance now selected. */\n selectedStep: CdkStep;\n\n /** The step instance previously selected. */\n previouslySelectedStep: CdkStep;\n}\n\n/** The state of each step. */\nexport type StepState = 'number'|'edit'|'done'|'error'|string;\n\n/** Enum to represent the different states of the steps. */\nexport const STEP_STATE = {\n NUMBER: 'number',\n EDIT: 'edit',\n DONE: 'done',\n ERROR: 'error'\n};\n\n/** InjectionToken that can be used to specify the global stepper options. */\nexport const STEPPER_GLOBAL_OPTIONS = new InjectionToken('STEPPER_GLOBAL_OPTIONS');\n\n/**\n * InjectionToken that can be used to specify the global stepper options.\n * @deprecated Use `STEPPER_GLOBAL_OPTIONS` instead.\n * @breaking-change 8.0.0.\n */\nexport const MAT_STEPPER_GLOBAL_OPTIONS = STEPPER_GLOBAL_OPTIONS;\n\n/** Configurable options for stepper. */\nexport interface StepperOptions {\n /**\n * Whether the stepper should display an error state or not.\n * Default behavior is assumed to be false.\n */\n showError?: boolean;\n\n /**\n * Whether the stepper should display the default indicator type\n * or not.\n * Default behavior is assumed to be true.\n */\n displayDefaultIndicatorType?: boolean;\n}\n\n@Component({\n selector: 'cdk-step',\n exportAs: 'cdkStep',\n template: '',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CdkStep implements OnChanges {\n private _stepperOptions: StepperOptions;\n _showError: boolean;\n _displayDefaultIndicatorType: boolean;\n\n /** Template for step label if it exists. */\n @ContentChild(CdkStepLabel) stepLabel: CdkStepLabel;\n\n /** Template for step content. */\n @ViewChild(TemplateRef, {static: true}) content: TemplateRef;\n\n /** The top level abstract control of the step. */\n @Input() stepControl: AbstractControlLike;\n\n /** Whether user has seen the expanded step content or not. */\n interacted = false;\n\n /** Plain text label of the step. */\n @Input() label: string;\n\n /** Error message to display when there's an error. */\n @Input() errorMessage: string;\n\n /** Aria label for the tab. */\n @Input('aria-label') ariaLabel: string;\n\n /**\n * Reference to the element that the tab is labelled by.\n * Will be cleared if `aria-label` is set at the same time.\n */\n @Input('aria-labelledby') ariaLabelledby: string;\n\n /** State of the step. */\n @Input() state: StepState;\n\n /** Whether the user can return to this step once it has been marked as completed. */\n @Input()\n get editable(): boolean {\n return this._editable;\n }\n set editable(value: boolean) {\n this._editable = coerceBooleanProperty(value);\n }\n private _editable = true;\n\n /** Whether the completion of step is optional. */\n @Input()\n get optional(): boolean {\n return this._optional;\n }\n set optional(value: boolean) {\n this._optional = coerceBooleanProperty(value);\n }\n private _optional = false;\n\n /** Whether step is marked as completed. */\n @Input()\n get completed(): boolean {\n return this._completedOverride == null ? this._getDefaultCompleted() : this._completedOverride;\n }\n set completed(value: boolean) {\n this._completedOverride = coerceBooleanProperty(value);\n }\n _completedOverride: boolean|null = null;\n\n private _getDefaultCompleted() {\n return this.stepControl ? this.stepControl.valid && this.interacted : this.interacted;\n }\n\n /** Whether step has an error. */\n @Input()\n get hasError(): boolean {\n return this._customError == null ? this._getDefaultError() : this._customError;\n }\n set hasError(value: boolean) {\n this._customError = coerceBooleanProperty(value);\n }\n private _customError: boolean|null = null;\n\n private _getDefaultError() {\n return this.stepControl && this.stepControl.invalid && this.interacted;\n }\n\n /** @breaking-change 8.0.0 remove the `?` after `stepperOptions` */\n constructor(\n @Inject(forwardRef(() => CdkStepper)) public _stepper: CdkStepper,\n @Optional() @Inject(STEPPER_GLOBAL_OPTIONS) stepperOptions?: StepperOptions) {\n this._stepperOptions = stepperOptions ? stepperOptions : {};\n this._displayDefaultIndicatorType = this._stepperOptions.displayDefaultIndicatorType !== false;\n this._showError = !!this._stepperOptions.showError;\n }\n\n /** Selects this step component. */\n select(): void {\n this._stepper.selected = this;\n }\n\n /** Resets the step to its initial state. Note that this includes resetting form data. */\n reset(): void {\n this.interacted = false;\n\n if (this._completedOverride != null) {\n this._completedOverride = false;\n }\n\n if (this._customError != null) {\n this._customError = false;\n }\n\n if (this.stepControl) {\n this.stepControl.reset();\n }\n }\n\n ngOnChanges() {\n // Since basically all inputs of the MatStep get proxied through the view down to the\n // underlying MatStepHeader, we have to make sure that change detection runs correctly.\n this._stepper._stateChanged();\n }\n\n static ngAcceptInputType_editable: BooleanInput;\n static ngAcceptInputType_hasError: BooleanInput;\n static ngAcceptInputType_optional: BooleanInput;\n static ngAcceptInputType_completed: BooleanInput;\n}\n\n@Directive({\n selector: '[cdkStepper]',\n exportAs: 'cdkStepper',\n})\nexport class CdkStepper implements AfterContentInit, AfterViewInit, OnDestroy {\n /** Emits when the component is destroyed. */\n protected _destroyed = new Subject();\n\n /** Used for managing keyboard focus. */\n private _keyManager: FocusKeyManager;\n\n /**\n * @breaking-change 8.0.0 Remove `| undefined` once the `_document`\n * constructor param is required.\n */\n private _document: Document|undefined;\n\n /** Full list of steps inside the stepper, including inside nested steppers. */\n @ContentChildren(CdkStep, {descendants: true}) _steps: QueryList;\n\n /** Steps that belong to the current stepper, excluding ones from nested steppers. */\n readonly steps: QueryList = new QueryList();\n\n /**\n * The list of step headers of the steps in the stepper.\n * @deprecated Type to be changed to `QueryList`.\n * @breaking-change 8.0.0\n */\n @ContentChildren(CdkStepHeader, {descendants: true}) _stepHeader: QueryList;\n\n /** Whether the validity of previous steps should be checked or not. */\n @Input()\n get linear(): boolean {\n return this._linear;\n }\n set linear(value: boolean) {\n this._linear = coerceBooleanProperty(value);\n }\n private _linear = false;\n\n /** The index of the selected step. */\n @Input()\n get selectedIndex() {\n return this._selectedIndex;\n }\n set selectedIndex(index: number) {\n const newIndex = coerceNumberProperty(index);\n\n if (this.steps && this._steps) {\n // Ensure that the index can't be out of bounds.\n if ((newIndex < 0 || newIndex > this.steps.length - 1) &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('cdkStepper: Cannot assign out-of-bounds value to `selectedIndex`.');\n }\n\n if (this._selectedIndex != newIndex && !this._anyControlsInvalidOrPending(newIndex) &&\n (newIndex >= this._selectedIndex || this.steps.toArray()[newIndex].editable)) {\n this._updateSelectedItemIndex(index);\n }\n } else {\n this._selectedIndex = newIndex;\n }\n }\n private _selectedIndex = 0;\n\n /** The step that is selected. */\n @Input()\n get selected(): CdkStep {\n // @breaking-change 8.0.0 Change return type to `CdkStep | undefined`.\n return this.steps ? this.steps.toArray()[this.selectedIndex] : undefined!;\n }\n set selected(step: CdkStep) {\n this.selectedIndex = this.steps ? this.steps.toArray().indexOf(step) : -1;\n }\n\n /** Event emitted when the selected step has changed. */\n @Output()\n selectionChange: EventEmitter = new EventEmitter();\n\n /** Used to track unique ID for each stepper component. */\n _groupId: number;\n\n protected _orientation: StepperOrientation = 'horizontal';\n\n constructor(\n @Optional() private _dir: Directionality, private _changeDetectorRef: ChangeDetectorRef,\n // @breaking-change 8.0.0 `_elementRef` and `_document` parameters to become required.\n private _elementRef?: ElementRef, @Inject(DOCUMENT) _document?: any) {\n this._groupId = nextId++;\n this._document = _document;\n }\n\n ngAfterContentInit() {\n this._steps.changes\n .pipe(startWith(this._steps), takeUntil(this._destroyed))\n .subscribe((steps: QueryList) => {\n this.steps.reset(steps.filter(step => step._stepper === this));\n this.steps.notifyOnChanges();\n });\n }\n\n ngAfterViewInit() {\n // Note that while the step headers are content children by default, any components that\n // extend this one might have them as view children. We initialize the keyboard handling in\n // AfterViewInit so we're guaranteed for both view and content children to be defined.\n this._keyManager = new FocusKeyManager(this._stepHeader)\n .withWrap()\n .withHomeAndEnd()\n .withVerticalOrientation(this._orientation === 'vertical');\n\n (this._dir ? (this._dir.change as Observable) : observableOf())\n .pipe(startWith(this._layoutDirection()), takeUntil(this._destroyed))\n .subscribe(direction => this._keyManager.withHorizontalOrientation(direction));\n\n this._keyManager.updateActiveItem(this._selectedIndex);\n\n // No need to `takeUntil` here, because we're the ones destroying `steps`.\n this.steps.changes.subscribe(() => {\n if (!this.selected) {\n this._selectedIndex = Math.max(this._selectedIndex - 1, 0);\n }\n });\n }\n\n ngOnDestroy() {\n this.steps.destroy();\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n /** Selects and focuses the next step in list. */\n next(): void {\n this.selectedIndex = Math.min(this._selectedIndex + 1, this.steps.length - 1);\n }\n\n /** Selects and focuses the previous step in list. */\n previous(): void {\n this.selectedIndex = Math.max(this._selectedIndex - 1, 0);\n }\n\n /** Resets the stepper to its initial state. Note that this includes clearing form data. */\n reset(): void {\n this._updateSelectedItemIndex(0);\n this.steps.forEach(step => step.reset());\n this._stateChanged();\n }\n\n /** Returns a unique id for each step label element. */\n _getStepLabelId(i: number): string {\n return `cdk-step-label-${this._groupId}-${i}`;\n }\n\n /** Returns unique id for each step content element. */\n _getStepContentId(i: number): string {\n return `cdk-step-content-${this._groupId}-${i}`;\n }\n\n /** Marks the component to be change detected. */\n _stateChanged() {\n this._changeDetectorRef.markForCheck();\n }\n\n /** Returns position state of the step with the given index. */\n _getAnimationDirection(index: number): StepContentPositionState {\n const position = index - this._selectedIndex;\n if (position < 0) {\n return this._layoutDirection() === 'rtl' ? 'next' : 'previous';\n } else if (position > 0) {\n return this._layoutDirection() === 'rtl' ? 'previous' : 'next';\n }\n return 'current';\n }\n\n /** Returns the type of icon to be displayed. */\n _getIndicatorType(index: number, state: StepState = STEP_STATE.NUMBER): StepState {\n const step = this.steps.toArray()[index];\n const isCurrentStep = this._isCurrentStep(index);\n\n return step._displayDefaultIndicatorType ? this._getDefaultIndicatorLogic(step, isCurrentStep) :\n this._getGuidelineLogic(step, isCurrentStep, state);\n }\n\n private _getDefaultIndicatorLogic(step: CdkStep, isCurrentStep: boolean): StepState {\n if (step._showError && step.hasError && !isCurrentStep) {\n return STEP_STATE.ERROR;\n } else if (!step.completed || isCurrentStep) {\n return STEP_STATE.NUMBER;\n } else {\n return step.editable ? STEP_STATE.EDIT : STEP_STATE.DONE;\n }\n }\n\n private _getGuidelineLogic(\n step: CdkStep, isCurrentStep: boolean, state: StepState = STEP_STATE.NUMBER): StepState {\n if (step._showError && step.hasError && !isCurrentStep) {\n return STEP_STATE.ERROR;\n } else if (step.completed && !isCurrentStep) {\n return STEP_STATE.DONE;\n } else if (step.completed && isCurrentStep) {\n return state;\n } else if (step.editable && isCurrentStep) {\n return STEP_STATE.EDIT;\n } else {\n return state;\n }\n }\n\n private _isCurrentStep(index: number) {\n return this._selectedIndex === index;\n }\n\n /** Returns the index of the currently-focused step header. */\n _getFocusIndex() {\n return this._keyManager ? this._keyManager.activeItemIndex : this._selectedIndex;\n }\n\n private _updateSelectedItemIndex(newIndex: number): void {\n const stepsArray = this.steps.toArray();\n this.selectionChange.emit({\n selectedIndex: newIndex,\n previouslySelectedIndex: this._selectedIndex,\n selectedStep: stepsArray[newIndex],\n previouslySelectedStep: stepsArray[this._selectedIndex],\n });\n\n // If focus is inside the stepper, move it to the next header, otherwise it may become\n // lost when the active step content is hidden. We can't be more granular with the check\n // (e.g. checking whether focus is inside the active step), because we don't have a\n // reference to the elements that are rendering out the content.\n this._containsFocus() ? this._keyManager.setActiveItem(newIndex) :\n this._keyManager.updateActiveItem(newIndex);\n\n this._selectedIndex = newIndex;\n this._stateChanged();\n }\n\n _onKeydown(event: KeyboardEvent) {\n const hasModifier = hasModifierKey(event);\n const keyCode = event.keyCode;\n const manager = this._keyManager;\n\n if (manager.activeItemIndex != null && !hasModifier &&\n (keyCode === SPACE || keyCode === ENTER)) {\n this.selectedIndex = manager.activeItemIndex;\n event.preventDefault();\n } else {\n manager.onKeydown(event);\n }\n }\n\n private _anyControlsInvalidOrPending(index: number): boolean {\n const steps = this.steps.toArray();\n\n steps[this._selectedIndex].interacted = true;\n\n if (this._linear && index >= 0) {\n return steps.slice(0, index).some(step => {\n const control = step.stepControl;\n const isIncomplete =\n control ? (control.invalid || control.pending || !step.interacted) : !step.completed;\n return isIncomplete && !step.optional && !step._completedOverride;\n });\n }\n\n return false;\n }\n\n private _layoutDirection(): Direction {\n return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\n }\n\n /** Checks whether the stepper contains the focused element. */\n private _containsFocus(): boolean {\n if (!this._document || !this._elementRef) {\n return false;\n }\n\n const stepperElement = this._elementRef.nativeElement;\n const focusedElement = this._document.activeElement;\n return stepperElement === focusedElement || stepperElement.contains(focusedElement);\n }\n\n static ngAcceptInputType_editable: BooleanInput;\n static ngAcceptInputType_optional: BooleanInput;\n static ngAcceptInputType_completed: BooleanInput;\n static ngAcceptInputType_hasError: BooleanInput;\n static ngAcceptInputType_linear: BooleanInput;\n static ngAcceptInputType_selectedIndex: NumberInput;\n}\n\n\n/**\n * Simplified representation of an \"AbstractControl\" from @angular/forms.\n * Used to avoid having to bring in @angular/forms for a single optional interface.\n * @docs-private\n */\ninterface AbstractControlLike {\n asyncValidator: ((control: any) => any) | null;\n dirty: boolean;\n disabled: boolean;\n enabled: boolean;\n errors: {[key: string]: any} | null;\n invalid: boolean;\n parent: any;\n pending: boolean;\n pristine: boolean;\n root: AbstractControlLike;\n status: string;\n statusChanges: Observable;\n touched: boolean;\n untouched: boolean;\n updateOn: any;\n valid: boolean;\n validator: ((control: any) => any) | null;\n value: any;\n valueChanges: Observable;\n clearAsyncValidators(): void;\n clearValidators(): void;\n disable(opts?: any): void;\n enable(opts?: any): void;\n get(path: (string | number)[] | string): AbstractControlLike | null;\n getError(errorCode: string, path?: (string | number)[] | string): any;\n hasError(errorCode: string, path?: (string | number)[] | string): boolean;\n markAllAsTouched(): void;\n markAsDirty(opts?: any): void;\n markAsPending(opts?: any): void;\n markAsPristine(opts?: any): void;\n markAsTouched(opts?: any): void;\n markAsUntouched(opts?: any): void;\n patchValue(value: any, options?: Object): void;\n reset(value?: any, options?: Object): void;\n setAsyncValidators(newValidator: (control: any) => any |\n ((control: any) => any)[] | null): void;\n setErrors(errors: {[key: string]: any} | null, opts?: any): void;\n setParent(parent: any): void;\n setValidators(newValidator: (control: any) => any |\n ((control: any) => any)[] | null): void;\n setValue(value: any, options?: Object): void;\n updateValueAndValidity(opts?: any): void;\n patchValue(value: any, options?: any): void;\n reset(formState?: any, options?: any): void;\n setValue(value: any, options?: any): void;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, HostListener, Input} from '@angular/core';\n\nimport {CdkStepper} from './stepper';\n\n/** Button that moves to the next step in a stepper workflow. */\n@Directive({\n selector: 'button[cdkStepperNext]',\n host: {\n '[type]': 'type',\n }\n})\nexport class CdkStepperNext {\n /** Type of the next button. Defaults to \"submit\" if not specified. */\n @Input() type: string = 'submit';\n\n constructor(public _stepper: CdkStepper) {}\n\n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n @HostListener('click')\n _handleClick() {\n this._stepper.next();\n }\n}\n\n/** Button that moves to the previous step in a stepper workflow. */\n@Directive({\n selector: 'button[cdkStepperPrevious]',\n host: {\n '[type]': 'type',\n }\n})\nexport class CdkStepperPrevious {\n /** Type of the previous button. Defaults to \"button\" if not specified. */\n @Input() type: string = 'button';\n\n constructor(public _stepper: CdkStepper) {}\n\n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n @HostListener('click')\n _handleClick() {\n this._stepper.previous();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {CdkStepper, CdkStep} from './stepper';\nimport {CdkStepLabel} from './step-label';\nimport {CdkStepperNext, CdkStepperPrevious} from './stepper-button';\nimport {CdkStepHeader} from './step-header';\nimport {BidiModule} from '@angular/cdk/bidi';\n\n@NgModule({\n imports: [BidiModule],\n exports: [\n CdkStep,\n CdkStepper,\n CdkStepHeader,\n CdkStepLabel,\n CdkStepperNext,\n CdkStepperPrevious,\n ],\n declarations: [\n CdkStep,\n CdkStepper,\n CdkStepHeader,\n CdkStepLabel,\n CdkStepperNext,\n CdkStepperPrevious,\n ]\n})\nexport class CdkStepperModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './stepper';\nexport * from './step-label';\nexport * from './stepper-button';\nexport * from './stepper-module';\nexport * from './step-header';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Platform, normalizePassiveListenerOptions} from '@angular/cdk/platform';\nimport {\n Directive,\n ElementRef,\n EventEmitter,\n Injectable,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\nimport {coerceElement} from '@angular/cdk/coercion';\nimport {EMPTY, Observable, Subject} from 'rxjs';\n\n\n/** An event that is emitted when the autofill state of an input changes. */\nexport type AutofillEvent = {\n /** The element whose autofill state changes. */\n target: Element;\n /** Whether the element is currently autofilled. */\n isAutofilled: boolean;\n};\n\n\n/** Used to track info about currently monitored elements. */\ntype MonitoredElementInfo = {\n subject: Subject;\n unlisten: () => void;\n};\n\n\n/** Options to pass to the animationstart listener. */\nconst listenerOptions = normalizePassiveListenerOptions({passive: true});\n\n\n/**\n * An injectable service that can be used to monitor the autofill state of an input.\n * Based on the following blog post:\n * https://medium.com/@brunn/detecting-autofilled-fields-in-javascript-aed598d25da7\n */\n@Injectable({providedIn: 'root'})\nexport class AutofillMonitor implements OnDestroy {\n private _monitoredElements = new Map();\n\n constructor(private _platform: Platform, private _ngZone: NgZone) {}\n\n /**\n * Monitor for changes in the autofill state of the given input element.\n * @param element The element to monitor.\n * @return A stream of autofill state changes.\n */\n monitor(element: Element): Observable;\n\n /**\n * Monitor for changes in the autofill state of the given input element.\n * @param element The element to monitor.\n * @return A stream of autofill state changes.\n */\n monitor(element: ElementRef): Observable;\n\n monitor(elementOrRef: Element | ElementRef): Observable {\n if (!this._platform.isBrowser) {\n return EMPTY;\n }\n\n const element = coerceElement(elementOrRef);\n const info = this._monitoredElements.get(element);\n\n if (info) {\n return info.subject;\n }\n\n const result = new Subject();\n const cssClass = 'cdk-text-field-autofilled';\n const listener = ((event: AnimationEvent) => {\n // Animation events fire on initial element render, we check for the presence of the autofill\n // CSS class to make sure this is a real change in state, not just the initial render before\n // we fire off events.\n if (event.animationName === 'cdk-text-field-autofill-start' &&\n !element.classList.contains(cssClass)) {\n element.classList.add(cssClass);\n this._ngZone.run(() => result.next({target: event.target as Element, isAutofilled: true}));\n } else if (event.animationName === 'cdk-text-field-autofill-end' &&\n element.classList.contains(cssClass)) {\n element.classList.remove(cssClass);\n this._ngZone.run(() => result.next({target: event.target as Element, isAutofilled: false}));\n }\n }) as EventListenerOrEventListenerObject;\n\n this._ngZone.runOutsideAngular(() => {\n element.addEventListener('animationstart', listener, listenerOptions);\n element.classList.add('cdk-text-field-autofill-monitored');\n });\n\n this._monitoredElements.set(element, {\n subject: result,\n unlisten: () => {\n element.removeEventListener('animationstart', listener, listenerOptions);\n }\n });\n\n return result;\n }\n\n /**\n * Stop monitoring the autofill state of the given input element.\n * @param element The element to stop monitoring.\n */\n stopMonitoring(element: Element): void;\n\n /**\n * Stop monitoring the autofill state of the given input element.\n * @param element The element to stop monitoring.\n */\n stopMonitoring(element: ElementRef): void;\n\n stopMonitoring(elementOrRef: Element | ElementRef): void {\n const element = coerceElement(elementOrRef);\n const info = this._monitoredElements.get(element);\n\n if (info) {\n info.unlisten();\n info.subject.complete();\n element.classList.remove('cdk-text-field-autofill-monitored');\n element.classList.remove('cdk-text-field-autofilled');\n this._monitoredElements.delete(element);\n }\n }\n\n ngOnDestroy() {\n this._monitoredElements.forEach((_info, element) => this.stopMonitoring(element));\n }\n}\n\n\n/** A directive that can be used to monitor the autofill state of an input. */\n@Directive({\n selector: '[cdkAutofill]',\n})\nexport class CdkAutofill implements OnDestroy, OnInit {\n /** Emits when the autofill state of the element changes. */\n @Output() cdkAutofill: EventEmitter = new EventEmitter();\n\n constructor(private _elementRef: ElementRef,\n private _autofillMonitor: AutofillMonitor) {}\n\n ngOnInit() {\n this._autofillMonitor\n .monitor(this._elementRef)\n .subscribe(event => this.cdkAutofill.emit(event));\n }\n\n ngOnDestroy() {\n this._autofillMonitor.stopMonitoring(this._elementRef);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n BooleanInput,\n coerceBooleanProperty,\n coerceNumberProperty,\n NumberInput\n} from '@angular/cdk/coercion';\nimport {\n Directive,\n ElementRef,\n Input,\n AfterViewInit,\n DoCheck,\n OnDestroy,\n NgZone,\n HostListener,\n Optional,\n Inject,\n} from '@angular/core';\nimport {Platform} from '@angular/cdk/platform';\nimport {auditTime, takeUntil} from 'rxjs/operators';\nimport {fromEvent, Subject} from 'rxjs';\nimport {DOCUMENT} from '@angular/common';\n\n/** Directive to automatically resize a textarea to fit its content. */\n@Directive({\n selector: 'textarea[cdkTextareaAutosize]',\n exportAs: 'cdkTextareaAutosize',\n host: {\n 'class': 'cdk-textarea-autosize',\n // Textarea elements that have the directive applied should have a single row by default.\n // Browsers normally show two rows by default and therefore this limits the minRows binding.\n 'rows': '1',\n },\n})\nexport class CdkTextareaAutosize implements AfterViewInit, DoCheck, OnDestroy {\n /** Keep track of the previous textarea value to avoid resizing when the value hasn't changed. */\n private _previousValue?: string;\n private _initialHeight: string | undefined;\n private readonly _destroyed = new Subject();\n\n private _minRows: number;\n private _maxRows: number;\n private _enabled: boolean = true;\n\n /**\n * Value of minRows as of last resize. If the minRows has decreased, the\n * height of the textarea needs to be recomputed to reflect the new minimum. The maxHeight\n * does not have the same problem because it does not affect the textarea's scrollHeight.\n */\n private _previousMinRows: number = -1;\n\n private _textareaElement: HTMLTextAreaElement;\n\n /** Minimum amount of rows in the textarea. */\n @Input('cdkAutosizeMinRows')\n get minRows(): number { return this._minRows; }\n set minRows(value: number) {\n this._minRows = coerceNumberProperty(value);\n this._setMinHeight();\n }\n\n /** Maximum amount of rows in the textarea. */\n @Input('cdkAutosizeMaxRows')\n get maxRows(): number { return this._maxRows; }\n set maxRows(value: number) {\n this._maxRows = coerceNumberProperty(value);\n this._setMaxHeight();\n }\n\n /** Whether autosizing is enabled or not */\n @Input('cdkTextareaAutosize')\n get enabled(): boolean { return this._enabled; }\n set enabled(value: boolean) {\n value = coerceBooleanProperty(value);\n\n // Only act if the actual value changed. This specifically helps to not run\n // resizeToFitContent too early (i.e. before ngAfterViewInit)\n if (this._enabled !== value) {\n (this._enabled = value) ? this.resizeToFitContent(true) : this.reset();\n }\n }\n\n /** Cached height of a textarea with a single row. */\n private _cachedLineHeight: number;\n\n /** Used to reference correct document/window */\n protected _document?: Document;\n\n /** Class that should be applied to the textarea while it's being measured. */\n private _measuringClass: string;\n\n constructor(private _elementRef: ElementRef,\n private _platform: Platform,\n private _ngZone: NgZone,\n /** @breaking-change 11.0.0 make document required */\n @Optional() @Inject(DOCUMENT) document?: any) {\n this._document = document;\n\n this._textareaElement = this._elementRef.nativeElement as HTMLTextAreaElement;\n this._measuringClass = _platform.FIREFOX ?\n 'cdk-textarea-autosize-measuring-firefox' :\n 'cdk-textarea-autosize-measuring';\n }\n\n /** Sets the minimum height of the textarea as determined by minRows. */\n _setMinHeight(): void {\n const minHeight = this.minRows && this._cachedLineHeight ?\n `${this.minRows * this._cachedLineHeight}px` : null;\n\n if (minHeight) {\n this._textareaElement.style.minHeight = minHeight;\n }\n }\n\n /** Sets the maximum height of the textarea as determined by maxRows. */\n _setMaxHeight(): void {\n const maxHeight = this.maxRows && this._cachedLineHeight ?\n `${this.maxRows * this._cachedLineHeight}px` : null;\n\n if (maxHeight) {\n this._textareaElement.style.maxHeight = maxHeight;\n }\n }\n\n ngAfterViewInit() {\n if (this._platform.isBrowser) {\n // Remember the height which we started with in case autosizing is disabled\n this._initialHeight = this._textareaElement.style.height;\n\n this.resizeToFitContent();\n\n this._ngZone.runOutsideAngular(() => {\n const window = this._getWindow();\n\n fromEvent(window, 'resize')\n .pipe(auditTime(16), takeUntil(this._destroyed))\n .subscribe(() => this.resizeToFitContent(true));\n });\n }\n }\n\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n /**\n * Cache the height of a single-row textarea if it has not already been cached.\n *\n * We need to know how large a single \"row\" of a textarea is in order to apply minRows and\n * maxRows. For the initial version, we will assume that the height of a single line in the\n * textarea does not ever change.\n */\n private _cacheTextareaLineHeight(): void {\n if (this._cachedLineHeight) {\n return;\n }\n\n // Use a clone element because we have to override some styles.\n let textareaClone = this._textareaElement.cloneNode(false) as HTMLTextAreaElement;\n textareaClone.rows = 1;\n\n // Use `position: absolute` so that this doesn't cause a browser layout and use\n // `visibility: hidden` so that nothing is rendered. Clear any other styles that\n // would affect the height.\n textareaClone.style.position = 'absolute';\n textareaClone.style.visibility = 'hidden';\n textareaClone.style.border = 'none';\n textareaClone.style.padding = '0';\n textareaClone.style.height = '';\n textareaClone.style.minHeight = '';\n textareaClone.style.maxHeight = '';\n\n // In Firefox it happens that textarea elements are always bigger than the specified amount\n // of rows. This is because Firefox tries to add extra space for the horizontal scrollbar.\n // As a workaround that removes the extra space for the scrollbar, we can just set overflow\n // to hidden. This ensures that there is no invalid calculation of the line height.\n // See Firefox bug report: https://bugzilla.mozilla.org/show_bug.cgi?id=33654\n textareaClone.style.overflow = 'hidden';\n\n this._textareaElement.parentNode!.appendChild(textareaClone);\n this._cachedLineHeight = textareaClone.clientHeight;\n this._textareaElement.parentNode!.removeChild(textareaClone);\n\n // Min and max heights have to be re-calculated if the cached line height changes\n this._setMinHeight();\n this._setMaxHeight();\n }\n\n ngDoCheck() {\n if (this._platform.isBrowser) {\n this.resizeToFitContent();\n }\n }\n\n /**\n * Resize the textarea to fit its content.\n * @param force Whether to force a height recalculation. By default the height will be\n * recalculated only if the value changed since the last call.\n */\n resizeToFitContent(force: boolean = false) {\n // If autosizing is disabled, just skip everything else\n if (!this._enabled) {\n return;\n }\n\n this._cacheTextareaLineHeight();\n\n // If we haven't determined the line-height yet, we know we're still hidden and there's no point\n // in checking the height of the textarea.\n if (!this._cachedLineHeight) {\n return;\n }\n\n const textarea = this._elementRef.nativeElement as HTMLTextAreaElement;\n const value = textarea.value;\n\n // Only resize if the value or minRows have changed since these calculations can be expensive.\n if (!force && this._minRows === this._previousMinRows && value === this._previousValue) {\n return;\n }\n\n const placeholderText = textarea.placeholder;\n\n // Reset the textarea height to auto in order to shrink back to its default size.\n // Also temporarily force overflow:hidden, so scroll bars do not interfere with calculations.\n // Long placeholders that are wider than the textarea width may lead to a bigger scrollHeight\n // value. To ensure that the scrollHeight is not bigger than the content, the placeholders\n // need to be removed temporarily.\n textarea.classList.add(this._measuringClass);\n textarea.placeholder = '';\n\n // The measuring class includes a 2px padding to workaround an issue with Chrome,\n // so we account for that extra space here by subtracting 4 (2px top + 2px bottom).\n const height = textarea.scrollHeight - 4;\n\n // Use the scrollHeight to know how large the textarea *would* be if fit its entire value.\n textarea.style.height = `${height}px`;\n textarea.classList.remove(this._measuringClass);\n textarea.placeholder = placeholderText;\n\n this._ngZone.runOutsideAngular(() => {\n if (typeof requestAnimationFrame !== 'undefined') {\n requestAnimationFrame(() => this._scrollToCaretPosition(textarea));\n } else {\n setTimeout(() => this._scrollToCaretPosition(textarea));\n }\n });\n\n this._previousValue = value;\n this._previousMinRows = this._minRows;\n }\n\n /**\n * Resets the textarea to its original size\n */\n reset() {\n // Do not try to change the textarea, if the initialHeight has not been determined yet\n // This might potentially remove styles when reset() is called before ngAfterViewInit\n if (this._initialHeight !== undefined) {\n this._textareaElement.style.height = this._initialHeight;\n }\n }\n\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable:no-host-decorator-in-concrete\n @HostListener('input')\n _noopInputHandler() {\n // no-op handler that ensures we're running change detection on input events.\n }\n\n /** Access injected document if available or fallback to global document reference */\n private _getDocument(): Document {\n return this._document || document;\n }\n\n /** Use defaultView of injected document if available or fallback to global window reference */\n private _getWindow(): Window {\n const doc = this._getDocument();\n return doc.defaultView || window;\n }\n\n /**\n * Scrolls a textarea to the caret position. On Firefox resizing the textarea will\n * prevent it from scrolling to the caret position. We need to re-set the selection\n * in order for it to scroll to the proper position.\n */\n private _scrollToCaretPosition(textarea: HTMLTextAreaElement) {\n const {selectionStart, selectionEnd} = textarea;\n const document = this._getDocument();\n\n // IE will throw an \"Unspecified error\" if we try to set the selection range after the\n // element has been removed from the DOM. Assert that the directive hasn't been destroyed\n // between the time we requested the animation frame and when it was executed.\n // Also note that we have to assert that the textarea is focused before we set the\n // selection range. Setting the selection range on a non-focused textarea will cause\n // it to receive focus on IE and Edge.\n if (!this._destroyed.isStopped && document.activeElement === textarea) {\n textarea.setSelectionRange(selectionStart, selectionEnd);\n }\n }\n\n static ngAcceptInputType_minRows: NumberInput;\n static ngAcceptInputType_maxRows: NumberInput;\n static ngAcceptInputType_enabled: BooleanInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {PlatformModule} from '@angular/cdk/platform';\nimport {NgModule} from '@angular/core';\nimport {CdkAutofill} from './autofill';\nimport {CdkTextareaAutosize} from './autosize';\n\n\n@NgModule({\n declarations: [CdkAutofill, CdkTextareaAutosize],\n imports: [PlatformModule],\n exports: [CdkAutofill, CdkTextareaAutosize],\n})\nexport class TextFieldModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './autofill';\nexport * from './autosize';\nexport * from './text-field-module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Version} from '@angular/core';\n\n/** Current version of the Angular Component Development Kit. */\nexport const VERSION = new Version('10.2.7');\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './version';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Type describing the allowed values for a boolean input.\n * @docs-private\n */\nexport type BooleanInput = string | boolean | null | undefined;\n\n/** Coerces a data-bound value (typically a string) to a boolean. */\nexport function coerceBooleanProperty(value: any): boolean {\n return value != null && `${value}` !== 'false';\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Type describing the allowed values for a number input\n * @docs-private\n */\nexport type NumberInput = string | number | null | undefined;\n\n/** Coerces a data-bound value (typically a string) to a number. */\nexport function coerceNumberProperty(value: any): number;\nexport function coerceNumberProperty(value: any, fallback: D): number | D;\nexport function coerceNumberProperty(value: any, fallbackValue = 0) {\n return _isNumberValue(value) ? Number(value) : fallbackValue;\n}\n\n/**\n * Whether the provided value is considered a number.\n * @docs-private\n */\nexport function _isNumberValue(value: any): boolean {\n // parseFloat(value) handles most of the cases we're interested in (it treats null, empty string,\n // and other non-number values as NaN, where Number just uses 0) but it considers the string\n // '123hello' to be a valid number. Therefore we also check if Number(value) is NaN.\n return !isNaN(parseFloat(value as any)) && !isNaN(Number(value));\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** Wraps the provided value in an array, unless the provided value is an array. */\nexport function coerceArray(value: T | T[]): T[];\nexport function coerceArray(value: T | readonly T[]): readonly T[];\nexport function coerceArray(value: T | T[]): T[] {\n return Array.isArray(value) ? value : [value];\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** Coerces a value to a CSS pixel value. */\nexport function coerceCssPixelValue(value: any): string {\n if (value == null) {\n return '';\n }\n\n return typeof value === 'string' ? value : `${value}px`;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ElementRef} from '@angular/core';\n\n/**\n * Coerces an ElementRef or an Element into an element.\n * Useful for APIs that can accept either a ref or the native element itself.\n */\nexport function coerceElement(elementOrRef: ElementRef | T): T {\n return elementOrRef instanceof ElementRef ? elementOrRef.nativeElement : elementOrRef;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './boolean-property';\nexport * from './number-property';\nexport * from './array';\nexport * from './css-pixel-value';\nexport * from './element';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nlet _DOM: DomAdapter = null!;\n\nexport function getDOM(): DomAdapter {\n return _DOM;\n}\n\nexport function setDOM(adapter: DomAdapter) {\n _DOM = adapter;\n}\n\nexport function setRootDomAdapter(adapter: DomAdapter) {\n if (!_DOM) {\n _DOM = adapter;\n }\n}\n\n/* tslint:disable:requireParameterType */\n/**\n * Provides DOM operations in an environment-agnostic way.\n *\n * @security Tread carefully! Interacting with the DOM directly is dangerous and\n * can introduce XSS risks.\n */\nexport abstract class DomAdapter {\n // Needs Domino-friendly test utility\n abstract getProperty(el: Element, name: string): any;\n abstract dispatchEvent(el: any, evt: any): any;\n\n // Used by router\n abstract log(error: any): any;\n abstract logGroup(error: any): any;\n abstract logGroupEnd(): any;\n\n // Used by Meta\n abstract remove(el: any): Node;\n abstract createElement(tagName: any, doc?: any): HTMLElement;\n abstract createHtmlDocument(): HTMLDocument;\n abstract getDefaultDocument(): Document;\n\n // Used by By.css\n abstract isElementNode(node: any): boolean;\n\n // Used by Testability\n abstract isShadowRoot(node: any): boolean;\n\n // Used by KeyEventsPlugin\n abstract onAndCancel(el: any, evt: any, listener: any): Function;\n abstract supportsDOMEvents(): boolean;\n\n // Used by PlatformLocation and ServerEventManagerPlugin\n abstract getGlobalEventTarget(doc: Document, target: string): any;\n\n // Used by PlatformLocation\n abstract getHistory(): History;\n abstract getLocation():\n any; /** This is the ambient Location definition, NOT Location from @angular/common. */\n abstract getBaseHref(doc: Document): string|null;\n abstract resetBaseElement(): void;\n\n // TODO: remove dependency in DefaultValueAccessor\n abstract getUserAgent(): string;\n\n // Used by AngularProfiler\n abstract performanceNow(): number;\n\n // Used by CookieXSRFStrategy\n abstract supportsCookies(): boolean;\n abstract getCookie(name: string): string|null;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {InjectionToken} from '@angular/core';\n\n/**\n * A DI Token representing the main rendering context. In a browser this is the DOM Document.\n *\n * Note: Document might not be available in the Application Context when Application and Rendering\n * Contexts are not the same (e.g. when running the application in a Web Worker).\n *\n * @publicApi\n */\nexport const DOCUMENT = new InjectionToken('DocumentToken');\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Inject, Injectable, InjectionToken, ɵɵinject} from '@angular/core';\nimport {getDOM} from '../dom_adapter';\nimport {DOCUMENT} from '../dom_tokens';\n\n/**\n * This class should not be used directly by an application developer. Instead, use\n * {@link Location}.\n *\n * `PlatformLocation` encapsulates all calls to DOM APIs, which allows the Router to be\n * platform-agnostic.\n * This means that we can have different implementation of `PlatformLocation` for the different\n * platforms that Angular supports. For example, `@angular/platform-browser` provides an\n * implementation specific to the browser environment, while `@angular/platform-server` provides\n * one suitable for use with server-side rendering.\n *\n * The `PlatformLocation` class is used directly by all implementations of {@link LocationStrategy}\n * when they need to interact with the DOM APIs like pushState, popState, etc.\n *\n * {@link LocationStrategy} in turn is used by the {@link Location} service which is used directly\n * by the {@link Router} in order to navigate between routes. Since all interactions between {@link\n * Router} /\n * {@link Location} / {@link LocationStrategy} and DOM APIs flow through the `PlatformLocation`\n * class, they are all platform-agnostic.\n *\n * @publicApi\n */\n@Injectable({\n providedIn: 'platform',\n // See #23917\n useFactory: useBrowserPlatformLocation\n})\nexport abstract class PlatformLocation {\n abstract getBaseHrefFromDOM(): string;\n abstract getState(): unknown;\n abstract onPopState(fn: LocationChangeListener): void;\n abstract onHashChange(fn: LocationChangeListener): void;\n\n abstract get href(): string;\n abstract get protocol(): string;\n abstract get hostname(): string;\n abstract get port(): string;\n abstract get pathname(): string;\n abstract get search(): string;\n abstract get hash(): string;\n\n abstract replaceState(state: any, title: string, url: string): void;\n\n abstract pushState(state: any, title: string, url: string): void;\n\n abstract forward(): void;\n\n abstract back(): void;\n}\n\nexport function useBrowserPlatformLocation() {\n return ɵɵinject(BrowserPlatformLocation);\n}\n\n/**\n * @description\n * Indicates when a location is initialized.\n *\n * @publicApi\n */\nexport const LOCATION_INITIALIZED = new InjectionToken>('Location Initialized');\n\n/**\n * @description\n * A serializable version of the event from `onPopState` or `onHashChange`\n *\n * @publicApi\n */\nexport interface LocationChangeEvent {\n type: string;\n state: any;\n}\n\n/**\n * @publicApi\n */\nexport interface LocationChangeListener {\n (event: LocationChangeEvent): any;\n}\n\n\n\n/**\n * `PlatformLocation` encapsulates all of the direct calls to platform APIs.\n * This class should not be used directly by an application developer. Instead, use\n * {@link Location}.\n */\n@Injectable({\n providedIn: 'platform',\n // See #23917\n useFactory: createBrowserPlatformLocation,\n})\nexport class BrowserPlatformLocation extends PlatformLocation {\n public readonly location!: Location;\n private _history!: History;\n\n constructor(@Inject(DOCUMENT) private _doc: any) {\n super();\n this._init();\n }\n\n // This is moved to its own method so that `MockPlatformLocationStrategy` can overwrite it\n /** @internal */\n _init() {\n (this as {location: Location}).location = getDOM().getLocation();\n this._history = getDOM().getHistory();\n }\n\n getBaseHrefFromDOM(): string {\n return getDOM().getBaseHref(this._doc)!;\n }\n\n onPopState(fn: LocationChangeListener): void {\n getDOM().getGlobalEventTarget(this._doc, 'window').addEventListener('popstate', fn, false);\n }\n\n onHashChange(fn: LocationChangeListener): void {\n getDOM().getGlobalEventTarget(this._doc, 'window').addEventListener('hashchange', fn, false);\n }\n\n get href(): string {\n return this.location.href;\n }\n get protocol(): string {\n return this.location.protocol;\n }\n get hostname(): string {\n return this.location.hostname;\n }\n get port(): string {\n return this.location.port;\n }\n get pathname(): string {\n return this.location.pathname;\n }\n get search(): string {\n return this.location.search;\n }\n get hash(): string {\n return this.location.hash;\n }\n set pathname(newPath: string) {\n this.location.pathname = newPath;\n }\n\n pushState(state: any, title: string, url: string): void {\n if (supportsState()) {\n this._history.pushState(state, title, url);\n } else {\n this.location.hash = url;\n }\n }\n\n replaceState(state: any, title: string, url: string): void {\n if (supportsState()) {\n this._history.replaceState(state, title, url);\n } else {\n this.location.hash = url;\n }\n }\n\n forward(): void {\n this._history.forward();\n }\n\n back(): void {\n this._history.back();\n }\n\n getState(): unknown {\n return this._history.state;\n }\n}\n\nexport function supportsState(): boolean {\n return !!window.history.pushState;\n}\nexport function createBrowserPlatformLocation() {\n return new BrowserPlatformLocation(ɵɵinject(DOCUMENT));\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport {DomAdapter as ɵDomAdapter, getDOM as ɵgetDOM, setRootDomAdapter as ɵsetRootDomAdapter} from './dom_adapter';\nexport {BrowserPlatformLocation as ɵBrowserPlatformLocation} from './location/platform_location';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n\n/**\n * Joins two parts of a URL with a slash if needed.\n *\n * @param start URL string\n * @param end URL string\n *\n *\n * @returns The joined URL string.\n */\nexport function joinWithSlash(start: string, end: string): string {\n if (start.length == 0) {\n return end;\n }\n if (end.length == 0) {\n return start;\n }\n let slashes = 0;\n if (start.endsWith('/')) {\n slashes++;\n }\n if (end.startsWith('/')) {\n slashes++;\n }\n if (slashes == 2) {\n return start + end.substring(1);\n }\n if (slashes == 1) {\n return start + end;\n }\n return start + '/' + end;\n}\n\n/**\n * Removes a trailing slash from a URL string if needed.\n * Looks for the first occurrence of either `#`, `?`, or the end of the\n * line as `/` characters and removes the trailing slash if one exists.\n *\n * @param url URL string.\n *\n * @returns The URL string, modified if needed.\n */\nexport function stripTrailingSlash(url: string): string {\n const match = url.match(/#|\\?|$/);\n const pathEndIdx = match && match.index || url.length;\n const droppedSlashIdx = pathEndIdx - (url[pathEndIdx - 1] === '/' ? 1 : 0);\n return url.slice(0, droppedSlashIdx) + url.slice(pathEndIdx);\n}\n\n/**\n * Normalizes URL parameters by prepending with `?` if needed.\n *\n * @param params String of URL parameters.\n *\n * @returns The normalized URL parameters string.\n */\nexport function normalizeQueryParams(params: string): string {\n return params && params[0] !== '?' ? '?' + params : params;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Inject, Injectable, InjectionToken, Optional, ɵɵinject} from '@angular/core';\nimport {DOCUMENT} from '../dom_tokens';\nimport {LocationChangeListener, PlatformLocation} from './platform_location';\nimport {joinWithSlash, normalizeQueryParams} from './util';\n\n/**\n * Enables the `Location` service to read route state from the browser's URL.\n * Angular provides two strategies:\n * `HashLocationStrategy` and `PathLocationStrategy`.\n *\n * Applications should use the `Router` or `Location` services to\n * interact with application route state.\n *\n * For instance, `HashLocationStrategy` produces URLs like\n * http://example.com#/foo,\n * and `PathLocationStrategy` produces\n * http://example.com/foo as an equivalent URL.\n *\n * See these two classes for more.\n *\n * @publicApi\n */\n@Injectable({providedIn: 'root', useFactory: provideLocationStrategy})\nexport abstract class LocationStrategy {\n abstract path(includeHash?: boolean): string;\n abstract prepareExternalUrl(internal: string): string;\n abstract pushState(state: any, title: string, url: string, queryParams: string): void;\n abstract replaceState(state: any, title: string, url: string, queryParams: string): void;\n abstract forward(): void;\n abstract back(): void;\n abstract onPopState(fn: LocationChangeListener): void;\n abstract getBaseHref(): string;\n}\n\nexport function provideLocationStrategy(platformLocation: PlatformLocation) {\n // See #23917\n const location = ɵɵinject(DOCUMENT).location;\n return new PathLocationStrategy(\n ɵɵinject(PlatformLocation as any), location && location.origin || '');\n}\n\n\n/**\n * A predefined [DI token](guide/glossary#di-token) for the base href\n * to be used with the `PathLocationStrategy`.\n * The base href is the URL prefix that should be preserved when generating\n * and recognizing URLs.\n *\n * @usageNotes\n *\n * The following example shows how to use this token to configure the root app injector\n * with a base href value, so that the DI framework can supply the dependency anywhere in the app.\n *\n * ```typescript\n * import {Component, NgModule} from '@angular/core';\n * import {APP_BASE_HREF} from '@angular/common';\n *\n * @NgModule({\n * providers: [{provide: APP_BASE_HREF, useValue: '/my/app'}]\n * })\n * class AppModule {}\n * ```\n *\n * @publicApi\n */\nexport const APP_BASE_HREF = new InjectionToken('appBaseHref');\n\n/**\n * @description\n * A {@link LocationStrategy} used to configure the {@link Location} service to\n * represent its state in the\n * [path](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax) of the\n * browser's URL.\n *\n * If you're using `PathLocationStrategy`, you must provide a {@link APP_BASE_HREF}\n * or add a `` element to the document.\n *\n * For instance, if you provide an `APP_BASE_HREF` of `'/my/app/'` and call\n * `location.go('/foo')`, the browser's URL will become\n * `example.com/my/app/foo`. To ensure all relative URIs resolve correctly,\n * the `` and/or `APP_BASE_HREF` should end with a `/`.\n *\n * Similarly, if you add `` to the document and call\n * `location.go('/foo')`, the browser's URL will become\n * `example.com/my/app/foo`.\n *\n * Note that when using `PathLocationStrategy`, neither the query nor\n * the fragment in the `` will be preserved, as outlined\n * by the [RFC](https://tools.ietf.org/html/rfc3986#section-5.2.2).\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/location/ts/path_location_component.ts region='LocationComponent'}\n *\n * @publicApi\n */\n@Injectable()\nexport class PathLocationStrategy extends LocationStrategy {\n private _baseHref: string;\n\n constructor(\n private _platformLocation: PlatformLocation,\n @Optional() @Inject(APP_BASE_HREF) href?: string) {\n super();\n\n if (href == null) {\n href = this._platformLocation.getBaseHrefFromDOM();\n }\n\n if (href == null) {\n throw new Error(\n `No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.`);\n }\n\n this._baseHref = href;\n }\n\n onPopState(fn: LocationChangeListener): void {\n this._platformLocation.onPopState(fn);\n this._platformLocation.onHashChange(fn);\n }\n\n getBaseHref(): string {\n return this._baseHref;\n }\n\n prepareExternalUrl(internal: string): string {\n return joinWithSlash(this._baseHref, internal);\n }\n\n path(includeHash: boolean = false): string {\n const pathname =\n this._platformLocation.pathname + normalizeQueryParams(this._platformLocation.search);\n const hash = this._platformLocation.hash;\n return hash && includeHash ? `${pathname}${hash}` : pathname;\n }\n\n pushState(state: any, title: string, url: string, queryParams: string) {\n const externalUrl = this.prepareExternalUrl(url + normalizeQueryParams(queryParams));\n this._platformLocation.pushState(state, title, externalUrl);\n }\n\n replaceState(state: any, title: string, url: string, queryParams: string) {\n const externalUrl = this.prepareExternalUrl(url + normalizeQueryParams(queryParams));\n this._platformLocation.replaceState(state, title, externalUrl);\n }\n\n forward(): void {\n this._platformLocation.forward();\n }\n\n back(): void {\n this._platformLocation.back();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Inject, Injectable, Optional} from '@angular/core';\nimport {APP_BASE_HREF, LocationStrategy} from './location_strategy';\nimport {LocationChangeListener, PlatformLocation} from './platform_location';\nimport {joinWithSlash, normalizeQueryParams} from './util';\n\n\n\n/**\n * @description\n * A {@link LocationStrategy} used to configure the {@link Location} service to\n * represent its state in the\n * [hash fragment](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax)\n * of the browser's URL.\n *\n * For instance, if you call `location.go('/foo')`, the browser's URL will become\n * `example.com#/foo`.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/location/ts/hash_location_component.ts region='LocationComponent'}\n *\n * @publicApi\n */\n@Injectable()\nexport class HashLocationStrategy extends LocationStrategy {\n private _baseHref: string = '';\n constructor(\n private _platformLocation: PlatformLocation,\n @Optional() @Inject(APP_BASE_HREF) _baseHref?: string) {\n super();\n if (_baseHref != null) {\n this._baseHref = _baseHref;\n }\n }\n\n onPopState(fn: LocationChangeListener): void {\n this._platformLocation.onPopState(fn);\n this._platformLocation.onHashChange(fn);\n }\n\n getBaseHref(): string {\n return this._baseHref;\n }\n\n path(includeHash: boolean = false): string {\n // the hash value is always prefixed with a `#`\n // and if it is empty then it will stay empty\n let path = this._platformLocation.hash;\n if (path == null) path = '#';\n\n return path.length > 0 ? path.substring(1) : path;\n }\n\n prepareExternalUrl(internal: string): string {\n const url = joinWithSlash(this._baseHref, internal);\n return url.length > 0 ? ('#' + url) : url;\n }\n\n pushState(state: any, title: string, path: string, queryParams: string) {\n let url: string|null = this.prepareExternalUrl(path + normalizeQueryParams(queryParams));\n if (url.length == 0) {\n url = this._platformLocation.pathname;\n }\n this._platformLocation.pushState(state, title, url);\n }\n\n replaceState(state: any, title: string, path: string, queryParams: string) {\n let url = this.prepareExternalUrl(path + normalizeQueryParams(queryParams));\n if (url.length == 0) {\n url = this._platformLocation.pathname;\n }\n this._platformLocation.replaceState(state, title, url);\n }\n\n forward(): void {\n this._platformLocation.forward();\n }\n\n back(): void {\n this._platformLocation.back();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {EventEmitter, Injectable, ɵɵinject} from '@angular/core';\nimport {SubscriptionLike} from 'rxjs';\nimport {LocationStrategy} from './location_strategy';\nimport {PlatformLocation} from './platform_location';\nimport {joinWithSlash, normalizeQueryParams, stripTrailingSlash} from './util';\n\n/** @publicApi */\nexport interface PopStateEvent {\n pop?: boolean;\n state?: any;\n type?: string;\n url?: string;\n}\n\n/**\n * @description\n *\n * A service that applications can use to interact with a browser's URL.\n *\n * Depending on the `LocationStrategy` used, `Location` persists\n * to the URL's path or the URL's hash segment.\n *\n * @usageNotes\n *\n * It's better to use the `Router#navigate` service to trigger route changes. Use\n * `Location` only if you need to interact with or create normalized URLs outside of\n * routing.\n *\n * `Location` is responsible for normalizing the URL against the application's base href.\n * A normalized URL is absolute from the URL host, includes the application's base href, and has no\n * trailing slash:\n * - `/my/app/user/123` is normalized\n * - `my/app/user/123` **is not** normalized\n * - `/my/app/user/123/` **is not** normalized\n *\n * ### Example\n *\n * \n *\n * @publicApi\n */\n@Injectable({\n providedIn: 'root',\n // See #23917\n useFactory: createLocation,\n})\nexport class Location {\n /** @internal */\n _subject: EventEmitter = new EventEmitter();\n /** @internal */\n _baseHref: string;\n /** @internal */\n _platformStrategy: LocationStrategy;\n /** @internal */\n _platformLocation: PlatformLocation;\n /** @internal */\n _urlChangeListeners: ((url: string, state: unknown) => void)[] = [];\n /** @internal */\n _urlChangeSubscription?: SubscriptionLike;\n\n constructor(platformStrategy: LocationStrategy, platformLocation: PlatformLocation) {\n this._platformStrategy = platformStrategy;\n const browserBaseHref = this._platformStrategy.getBaseHref();\n this._platformLocation = platformLocation;\n this._baseHref = stripTrailingSlash(_stripIndexHtml(browserBaseHref));\n this._platformStrategy.onPopState((ev) => {\n this._subject.emit({\n 'url': this.path(true),\n 'pop': true,\n 'state': ev.state,\n 'type': ev.type,\n });\n });\n }\n\n /**\n * Normalizes the URL path for this location.\n *\n * @param includeHash True to include an anchor fragment in the path.\n *\n * @returns The normalized URL path.\n */\n // TODO: vsavkin. Remove the boolean flag and always include hash once the deprecated router is\n // removed.\n path(includeHash: boolean = false): string {\n return this.normalize(this._platformStrategy.path(includeHash));\n }\n\n /**\n * Reports the current state of the location history.\n * @returns The current value of the `history.state` object.\n */\n getState(): unknown {\n return this._platformLocation.getState();\n }\n\n /**\n * Normalizes the given path and compares to the current normalized path.\n *\n * @param path The given URL path.\n * @param query Query parameters.\n *\n * @returns True if the given URL path is equal to the current normalized path, false\n * otherwise.\n */\n isCurrentPathEqualTo(path: string, query: string = ''): boolean {\n return this.path() == this.normalize(path + normalizeQueryParams(query));\n }\n\n /**\n * Normalizes a URL path by stripping any trailing slashes.\n *\n * @param url String representing a URL.\n *\n * @returns The normalized URL string.\n */\n normalize(url: string): string {\n return Location.stripTrailingSlash(_stripBaseHref(this._baseHref, _stripIndexHtml(url)));\n }\n\n /**\n * Normalizes an external URL path.\n * If the given URL doesn't begin with a leading slash (`'/'`), adds one\n * before normalizing. Adds a hash if `HashLocationStrategy` is\n * in use, or the `APP_BASE_HREF` if the `PathLocationStrategy` is in use.\n *\n * @param url String representing a URL.\n *\n * @returns A normalized platform-specific URL.\n */\n prepareExternalUrl(url: string): string {\n if (url && url[0] !== '/') {\n url = '/' + url;\n }\n return this._platformStrategy.prepareExternalUrl(url);\n }\n\n // TODO: rename this method to pushState\n /**\n * Changes the browser's URL to a normalized version of a given URL, and pushes a\n * new item onto the platform's history.\n *\n * @param path URL path to normalize.\n * @param query Query parameters.\n * @param state Location history state.\n *\n */\n go(path: string, query: string = '', state: any = null): void {\n this._platformStrategy.pushState(state, '', path, query);\n this._notifyUrlChangeListeners(\n this.prepareExternalUrl(path + normalizeQueryParams(query)), state);\n }\n\n /**\n * Changes the browser's URL to a normalized version of the given URL, and replaces\n * the top item on the platform's history stack.\n *\n * @param path URL path to normalize.\n * @param query Query parameters.\n * @param state Location history state.\n */\n replaceState(path: string, query: string = '', state: any = null): void {\n this._platformStrategy.replaceState(state, '', path, query);\n this._notifyUrlChangeListeners(\n this.prepareExternalUrl(path + normalizeQueryParams(query)), state);\n }\n\n /**\n * Navigates forward in the platform's history.\n */\n forward(): void {\n this._platformStrategy.forward();\n }\n\n /**\n * Navigates back in the platform's history.\n */\n back(): void {\n this._platformStrategy.back();\n }\n\n /**\n * Registers a URL change listener. Use to catch updates performed by the Angular\n * framework that are not detectible through \"popstate\" or \"hashchange\" events.\n *\n * @param fn The change handler function, which take a URL and a location history state.\n */\n onUrlChange(fn: (url: string, state: unknown) => void) {\n this._urlChangeListeners.push(fn);\n\n if (!this._urlChangeSubscription) {\n this._urlChangeSubscription = this.subscribe(v => {\n this._notifyUrlChangeListeners(v.url, v.state);\n });\n }\n }\n\n /** @internal */\n _notifyUrlChangeListeners(url: string = '', state: unknown) {\n this._urlChangeListeners.forEach(fn => fn(url, state));\n }\n\n /**\n * Subscribes to the platform's `popState` events.\n *\n * @param value Event that is triggered when the state history changes.\n * @param exception The exception to throw.\n *\n * @returns Subscribed events.\n */\n subscribe(\n onNext: (value: PopStateEvent) => void, onThrow?: ((exception: any) => void)|null,\n onReturn?: (() => void)|null): SubscriptionLike {\n return this._subject.subscribe({next: onNext, error: onThrow, complete: onReturn});\n }\n\n /**\n * Normalizes URL parameters by prepending with `?` if needed.\n *\n * @param params String of URL parameters.\n *\n * @returns The normalized URL parameters string.\n */\n public static normalizeQueryParams: (params: string) => string = normalizeQueryParams;\n\n /**\n * Joins two parts of a URL with a slash if needed.\n *\n * @param start URL string\n * @param end URL string\n *\n *\n * @returns The joined URL string.\n */\n public static joinWithSlash: (start: string, end: string) => string = joinWithSlash;\n\n /**\n * Removes a trailing slash from a URL string if needed.\n * Looks for the first occurrence of either `#`, `?`, or the end of the\n * line as `/` characters and removes the trailing slash if one exists.\n *\n * @param url URL string.\n *\n * @returns The URL string, modified if needed.\n */\n public static stripTrailingSlash: (url: string) => string = stripTrailingSlash;\n}\n\nexport function createLocation() {\n return new Location(ɵɵinject(LocationStrategy as any), ɵɵinject(PlatformLocation as any));\n}\n\nfunction _stripBaseHref(baseHref: string, url: string): string {\n return baseHref && url.startsWith(baseHref) ? url.substring(baseHref.length) : url;\n}\n\nfunction _stripIndexHtml(url: string): string {\n return url.replace(/\\/index.html$/, '');\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport {HashLocationStrategy} from './hash_location_strategy';\nexport {Location, PopStateEvent} from './location';\nexport {APP_BASE_HREF, LocationStrategy, PathLocationStrategy} from './location_strategy';\nexport {LOCATION_INITIALIZED, LocationChangeEvent, LocationChangeListener, PlatformLocation} from './platform_location';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n// THIS CODE IS GENERATED - DO NOT MODIFY\n// See angular/tools/gulp-tasks/cldr/extract.js\n\nexport type CurrenciesSymbols = [string]|[string | undefined, string];\n\n/** @internal */\nexport const CURRENCIES_EN:\n {[code: string]: CurrenciesSymbols|[string | undefined, string | undefined, number]} = {\n 'ADP': [undefined, undefined, 0],\n 'AFN': [undefined, undefined, 0],\n 'ALL': [undefined, undefined, 0],\n 'AMD': [undefined, undefined, 2],\n 'AOA': [undefined, 'Kz'],\n 'ARS': [undefined, '$'],\n 'AUD': ['A$', '$'],\n 'BAM': [undefined, 'KM'],\n 'BBD': [undefined, '$'],\n 'BDT': [undefined, '৳'],\n 'BHD': [undefined, undefined, 3],\n 'BIF': [undefined, undefined, 0],\n 'BMD': [undefined, '$'],\n 'BND': [undefined, '$'],\n 'BOB': [undefined, 'Bs'],\n 'BRL': ['R$'],\n 'BSD': [undefined, '$'],\n 'BWP': [undefined, 'P'],\n 'BYN': [undefined, 'р.', 2],\n 'BYR': [undefined, undefined, 0],\n 'BZD': [undefined, '$'],\n 'CAD': ['CA$', '$', 2],\n 'CHF': [undefined, undefined, 2],\n 'CLF': [undefined, undefined, 4],\n 'CLP': [undefined, '$', 0],\n 'CNY': ['CN¥', '¥'],\n 'COP': [undefined, '$', 2],\n 'CRC': [undefined, '₡', 2],\n 'CUC': [undefined, '$'],\n 'CUP': [undefined, '$'],\n 'CZK': [undefined, 'Kč', 2],\n 'DJF': [undefined, undefined, 0],\n 'DKK': [undefined, 'kr', 2],\n 'DOP': [undefined, '$'],\n 'EGP': [undefined, 'E£'],\n 'ESP': [undefined, '₧', 0],\n 'EUR': ['€'],\n 'FJD': [undefined, '$'],\n 'FKP': [undefined, '£'],\n 'GBP': ['£'],\n 'GEL': [undefined, '₾'],\n 'GIP': [undefined, '£'],\n 'GNF': [undefined, 'FG', 0],\n 'GTQ': [undefined, 'Q'],\n 'GYD': [undefined, '$', 2],\n 'HKD': ['HK$', '$'],\n 'HNL': [undefined, 'L'],\n 'HRK': [undefined, 'kn'],\n 'HUF': [undefined, 'Ft', 2],\n 'IDR': [undefined, 'Rp', 2],\n 'ILS': ['₪'],\n 'INR': ['₹'],\n 'IQD': [undefined, undefined, 0],\n 'IRR': [undefined, undefined, 0],\n 'ISK': [undefined, 'kr', 0],\n 'ITL': [undefined, undefined, 0],\n 'JMD': [undefined, '$'],\n 'JOD': [undefined, undefined, 3],\n 'JPY': ['¥', undefined, 0],\n 'KHR': [undefined, '៛'],\n 'KMF': [undefined, 'CF', 0],\n 'KPW': [undefined, '₩', 0],\n 'KRW': ['₩', undefined, 0],\n 'KWD': [undefined, undefined, 3],\n 'KYD': [undefined, '$'],\n 'KZT': [undefined, '₸'],\n 'LAK': [undefined, '₭', 0],\n 'LBP': [undefined, 'L£', 0],\n 'LKR': [undefined, 'Rs'],\n 'LRD': [undefined, '$'],\n 'LTL': [undefined, 'Lt'],\n 'LUF': [undefined, undefined, 0],\n 'LVL': [undefined, 'Ls'],\n 'LYD': [undefined, undefined, 3],\n 'MGA': [undefined, 'Ar', 0],\n 'MGF': [undefined, undefined, 0],\n 'MMK': [undefined, 'K', 0],\n 'MNT': [undefined, '₮', 2],\n 'MRO': [undefined, undefined, 0],\n 'MUR': [undefined, 'Rs', 2],\n 'MXN': ['MX$', '$'],\n 'MYR': [undefined, 'RM'],\n 'NAD': [undefined, '$'],\n 'NGN': [undefined, '₦'],\n 'NIO': [undefined, 'C$'],\n 'NOK': [undefined, 'kr', 2],\n 'NPR': [undefined, 'Rs'],\n 'NZD': ['NZ$', '$'],\n 'OMR': [undefined, undefined, 3],\n 'PHP': [undefined, '₱'],\n 'PKR': [undefined, 'Rs', 2],\n 'PLN': [undefined, 'zł'],\n 'PYG': [undefined, '₲', 0],\n 'RON': [undefined, 'lei'],\n 'RSD': [undefined, undefined, 0],\n 'RUB': [undefined, '₽'],\n 'RUR': [undefined, 'р.'],\n 'RWF': [undefined, 'RF', 0],\n 'SBD': [undefined, '$'],\n 'SEK': [undefined, 'kr', 2],\n 'SGD': [undefined, '$'],\n 'SHP': [undefined, '£'],\n 'SLL': [undefined, undefined, 0],\n 'SOS': [undefined, undefined, 0],\n 'SRD': [undefined, '$'],\n 'SSP': [undefined, '£'],\n 'STD': [undefined, undefined, 0],\n 'STN': [undefined, 'Db'],\n 'SYP': [undefined, '£', 0],\n 'THB': [undefined, '฿'],\n 'TMM': [undefined, undefined, 0],\n 'TND': [undefined, undefined, 3],\n 'TOP': [undefined, 'T$'],\n 'TRL': [undefined, undefined, 0],\n 'TRY': [undefined, '₺'],\n 'TTD': [undefined, '$'],\n 'TWD': ['NT$', '$', 2],\n 'TZS': [undefined, undefined, 2],\n 'UAH': [undefined, '₴'],\n 'UGX': [undefined, undefined, 0],\n 'USD': ['$'],\n 'UYI': [undefined, undefined, 0],\n 'UYU': [undefined, '$'],\n 'UYW': [undefined, undefined, 4],\n 'UZS': [undefined, undefined, 2],\n 'VEF': [undefined, 'Bs', 2],\n 'VND': ['₫', undefined, 0],\n 'VUV': [undefined, undefined, 0],\n 'XAF': ['FCFA', undefined, 0],\n 'XCD': ['EC$', '$'],\n 'XOF': ['CFA', undefined, 0],\n 'XPF': ['CFPF', undefined, 0],\n 'XXX': ['¤'],\n 'YER': [undefined, undefined, 0],\n 'ZAR': [undefined, 'R'],\n 'ZMK': [undefined, undefined, 0],\n 'ZMW': [undefined, 'ZK'],\n 'ZWD': [undefined, undefined, 0]\n };\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ɵCurrencyIndex, ɵExtraLocaleDataIndex, ɵfindLocaleData, ɵgetLocaleCurrencyCode, ɵgetLocalePluralCase, ɵLocaleDataIndex} from '@angular/core';\n\nimport {CURRENCIES_EN, CurrenciesSymbols} from './currencies';\n\n\n/**\n * Format styles that can be used to represent numbers.\n * @see `getLocaleNumberFormat()`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport enum NumberFormatStyle {\n Decimal,\n Percent,\n Currency,\n Scientific\n}\n\n/**\n * Plurality cases used for translating plurals to different languages.\n *\n * @see `NgPlural`\n * @see `NgPluralCase`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport enum Plural {\n Zero = 0,\n One = 1,\n Two = 2,\n Few = 3,\n Many = 4,\n Other = 5,\n}\n\n/**\n * Context-dependant translation forms for strings.\n * Typically the standalone version is for the nominative form of the word,\n * and the format version is used for the genitive case.\n * @see [CLDR website](http://cldr.unicode.org/translation/date-time-1/date-time#TOC-Standalone-vs.-Format-Styles)\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport enum FormStyle {\n Format,\n Standalone\n}\n\n/**\n * String widths available for translations.\n * The specific character widths are locale-specific.\n * Examples are given for the word \"Sunday\" in English.\n *\n * @publicApi\n */\nexport enum TranslationWidth {\n /** 1 character for `en-US`. For example: 'S' */\n Narrow,\n /** 3 characters for `en-US`. For example: 'Sun' */\n Abbreviated,\n /** Full length for `en-US`. For example: \"Sunday\" */\n Wide,\n /** 2 characters for `en-US`, For example: \"Su\" */\n Short\n}\n\n/**\n * String widths available for date-time formats.\n * The specific character widths are locale-specific.\n * Examples are given for `en-US`.\n *\n * @see `getLocaleDateFormat()`\n * @see `getLocaleTimeFormat()``\n * @see `getLocaleDateTimeFormat()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n * @publicApi\n */\nexport enum FormatWidth {\n /**\n * For `en-US`, 'M/d/yy, h:mm a'`\n * (Example: `6/15/15, 9:03 AM`)\n */\n Short,\n /**\n * For `en-US`, `'MMM d, y, h:mm:ss a'`\n * (Example: `Jun 15, 2015, 9:03:01 AM`)\n */\n Medium,\n /**\n * For `en-US`, `'MMMM d, y, h:mm:ss a z'`\n * (Example: `June 15, 2015 at 9:03:01 AM GMT+1`)\n */\n Long,\n /**\n * For `en-US`, `'EEEE, MMMM d, y, h:mm:ss a zzzz'`\n * (Example: `Monday, June 15, 2015 at 9:03:01 AM GMT+01:00`)\n */\n Full\n}\n\n/**\n * Symbols that can be used to replace placeholders in number patterns.\n * Examples are based on `en-US` values.\n *\n * @see `getLocaleNumberSymbol()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport enum NumberSymbol {\n /**\n * Decimal separator.\n * For `en-US`, the dot character.\n * Example : 2,345`.`67\n */\n Decimal,\n /**\n * Grouping separator, typically for thousands.\n * For `en-US`, the comma character.\n * Example: 2`,`345.67\n */\n Group,\n /**\n * List-item separator.\n * Example: \"one, two, and three\"\n */\n List,\n /**\n * Sign for percentage (out of 100).\n * Example: 23.4%\n */\n PercentSign,\n /**\n * Sign for positive numbers.\n * Example: +23\n */\n PlusSign,\n /**\n * Sign for negative numbers.\n * Example: -23\n */\n MinusSign,\n /**\n * Computer notation for exponential value (n times a power of 10).\n * Example: 1.2E3\n */\n Exponential,\n /**\n * Human-readable format of exponential.\n * Example: 1.2x103\n */\n SuperscriptingExponent,\n /**\n * Sign for permille (out of 1000).\n * Example: 23.4‰\n */\n PerMille,\n /**\n * Infinity, can be used with plus and minus.\n * Example: ∞, +∞, -∞\n */\n Infinity,\n /**\n * Not a number.\n * Example: NaN\n */\n NaN,\n /**\n * Symbol used between time units.\n * Example: 10:52\n */\n TimeSeparator,\n /**\n * Decimal separator for currency values (fallback to `Decimal`).\n * Example: $2,345.67\n */\n CurrencyDecimal,\n /**\n * Group separator for currency values (fallback to `Group`).\n * Example: $2,345.67\n */\n CurrencyGroup\n}\n\n/**\n * The value for each day of the week, based on the `en-US` locale\n *\n * @publicApi\n */\nexport enum WeekDay {\n Sunday = 0,\n Monday,\n Tuesday,\n Wednesday,\n Thursday,\n Friday,\n Saturday\n}\n\n/**\n * Retrieves the locale ID from the currently loaded locale.\n * The loaded locale could be, for example, a global one rather than a regional one.\n * @param locale A locale code, such as `fr-FR`.\n * @returns The locale code. For example, `fr`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getLocaleId(locale: string): string {\n return ɵfindLocaleData(locale)[ɵLocaleDataIndex.LocaleId];\n}\n\n/**\n * Retrieves day period strings for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized period strings. For example, `[AM, PM]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getLocaleDayPeriods(\n locale: string, formStyle: FormStyle, width: TranslationWidth): [string, string] {\n const data = ɵfindLocaleData(locale);\n const amPmData = <[string, string][][]>[\n data[ɵLocaleDataIndex.DayPeriodsFormat], data[ɵLocaleDataIndex.DayPeriodsStandalone]\n ];\n const amPm = getLastDefinedValue(amPmData, formStyle);\n return getLastDefinedValue(amPm, width);\n}\n\n/**\n * Retrieves days of the week for the given locale, using the Gregorian calendar.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized name strings.\n * For example,`[Sunday, Monday, ... Saturday]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getLocaleDayNames(\n locale: string, formStyle: FormStyle, width: TranslationWidth): string[] {\n const data = ɵfindLocaleData(locale);\n const daysData =\n [data[ɵLocaleDataIndex.DaysFormat], data[ɵLocaleDataIndex.DaysStandalone]];\n const days = getLastDefinedValue(daysData, formStyle);\n return getLastDefinedValue(days, width);\n}\n\n/**\n * Retrieves months of the year for the given locale, using the Gregorian calendar.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized name strings.\n * For example, `[January, February, ...]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getLocaleMonthNames(\n locale: string, formStyle: FormStyle, width: TranslationWidth): string[] {\n const data = ɵfindLocaleData(locale);\n const monthsData =\n [data[ɵLocaleDataIndex.MonthsFormat], data[ɵLocaleDataIndex.MonthsStandalone]];\n const months = getLastDefinedValue(monthsData, formStyle);\n return getLastDefinedValue(months, width);\n}\n\n/**\n * Retrieves Gregorian-calendar eras for the given locale.\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n\n * @returns An array of localized era strings.\n * For example, `[AD, BC]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getLocaleEraNames(locale: string, width: TranslationWidth): [string, string] {\n const data = ɵfindLocaleData(locale);\n const erasData = <[string, string][]>data[ɵLocaleDataIndex.Eras];\n return getLastDefinedValue(erasData, width);\n}\n\n/**\n * Retrieves the first day of the week for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns A day index number, using the 0-based week-day index for `en-US`\n * (Sunday = 0, Monday = 1, ...).\n * For example, for `fr-FR`, returns 1 to indicate that the first day is Monday.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getLocaleFirstDayOfWeek(locale: string): WeekDay {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.FirstDayOfWeek];\n}\n\n/**\n * Range of week days that are considered the week-end for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The range of day values, `[startDay, endDay]`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getLocaleWeekEndRange(locale: string): [WeekDay, WeekDay] {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.WeekendRange];\n}\n\n/**\n * Retrieves a localized date-value formating string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formating string.\n * @see `FormatWidth`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getLocaleDateFormat(locale: string, width: FormatWidth): string {\n const data = ɵfindLocaleData(locale);\n return getLastDefinedValue(data[ɵLocaleDataIndex.DateFormat], width);\n}\n\n/**\n * Retrieves a localized time-value formatting string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formatting string.\n * @see `FormatWidth`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n\n * @publicApi\n */\nexport function getLocaleTimeFormat(locale: string, width: FormatWidth): string {\n const data = ɵfindLocaleData(locale);\n return getLastDefinedValue(data[ɵLocaleDataIndex.TimeFormat], width);\n}\n\n/**\n * Retrieves a localized date-time formatting string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formatting string.\n * @see `FormatWidth`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getLocaleDateTimeFormat(locale: string, width: FormatWidth): string {\n const data = ɵfindLocaleData(locale);\n const dateTimeFormatData = data[ɵLocaleDataIndex.DateTimeFormat];\n return getLastDefinedValue(dateTimeFormatData, width);\n}\n\n/**\n * Retrieves a localized number symbol that can be used to replace placeholders in number formats.\n * @param locale The locale code.\n * @param symbol The symbol to localize.\n * @returns The character for the localized symbol.\n * @see `NumberSymbol`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getLocaleNumberSymbol(locale: string, symbol: NumberSymbol): string {\n const data = ɵfindLocaleData(locale);\n const res = data[ɵLocaleDataIndex.NumberSymbols][symbol];\n if (typeof res === 'undefined') {\n if (symbol === NumberSymbol.CurrencyDecimal) {\n return data[ɵLocaleDataIndex.NumberSymbols][NumberSymbol.Decimal];\n } else if (symbol === NumberSymbol.CurrencyGroup) {\n return data[ɵLocaleDataIndex.NumberSymbols][NumberSymbol.Group];\n }\n }\n return res;\n}\n\n/**\n * Retrieves a number format for a given locale.\n *\n * Numbers are formatted using patterns, like `#,###.00`. For example, the pattern `#,###.00`\n * when used to format the number 12345.678 could result in \"12'345,678\". That would happen if the\n * grouping separator for your language is an apostrophe, and the decimal separator is a comma.\n *\n * Important: The characters `.` `,` `0` `#` (and others below) are special placeholders\n * that stand for the decimal separator, and so on, and are NOT real characters.\n * You must NOT \"translate\" the placeholders. For example, don't change `.` to `,` even though in\n * your language the decimal point is written with a comma. The symbols should be replaced by the\n * local equivalents, using the appropriate `NumberSymbol` for your language.\n *\n * Here are the special characters used in number patterns:\n *\n * | Symbol | Meaning |\n * |--------|---------|\n * | . | Replaced automatically by the character used for the decimal point. |\n * | , | Replaced by the \"grouping\" (thousands) separator. |\n * | 0 | Replaced by a digit (or zero if there aren't enough digits). |\n * | # | Replaced by a digit (or nothing if there aren't enough). |\n * | ¤ | Replaced by a currency symbol, such as $ or USD. |\n * | % | Marks a percent format. The % symbol may change position, but must be retained. |\n * | E | Marks a scientific format. The E symbol may change position, but must be retained. |\n * | ' | Special characters used as literal characters are quoted with ASCII single quotes. |\n *\n * @param locale A locale code for the locale format rules to use.\n * @param type The type of numeric value to be formatted (such as `Decimal` or `Currency`.)\n * @returns The localized format string.\n * @see `NumberFormatStyle`\n * @see [CLDR website](http://cldr.unicode.org/translation/number-patterns)\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getLocaleNumberFormat(locale: string, type: NumberFormatStyle): string {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.NumberFormats][type];\n}\n\n/**\n * Retrieves the symbol used to represent the currency for the main country\n * corresponding to a given locale. For example, '$' for `en-US`.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The localized symbol character,\n * or `null` if the main country cannot be determined.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getLocaleCurrencySymbol(locale: string): string|null {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.CurrencySymbol] || null;\n}\n\n/**\n * Retrieves the name of the currency for the main country corresponding\n * to a given locale. For example, 'US Dollar' for `en-US`.\n * @param locale A locale code for the locale format rules to use.\n * @returns The currency name,\n * or `null` if the main country cannot be determined.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getLocaleCurrencyName(locale: string): string|null {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.CurrencyName] || null;\n}\n\n/**\n * Retrieves the default currency code for the given locale.\n *\n * The default is defined as the first currency which is still in use.\n *\n * @param locale The code of the locale whose currency code we want.\n * @returns The code of the default currency for the given locale.\n *\n * @publicApi\n */\nexport function getLocaleCurrencyCode(locale: string): string|null {\n return ɵgetLocaleCurrencyCode(locale);\n}\n\n/**\n * Retrieves the currency values for a given locale.\n * @param locale A locale code for the locale format rules to use.\n * @returns The currency values.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n */\nfunction getLocaleCurrencies(locale: string): {[code: string]: CurrenciesSymbols} {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.Currencies];\n}\n\n/**\n * @alias core/ɵgetLocalePluralCase\n * @publicApi\n */\nexport const getLocalePluralCase: (locale: string) => ((value: number) => Plural) =\n ɵgetLocalePluralCase;\n\nfunction checkFullData(data: any) {\n if (!data[ɵLocaleDataIndex.ExtraData]) {\n throw new Error(`Missing extra locale data for the locale \"${\n data[ɵLocaleDataIndex\n .LocaleId]}\". Use \"registerLocaleData\" to load new data. See the \"I18n guide\" on angular.io to know more.`);\n }\n}\n\n/**\n * Retrieves locale-specific rules used to determine which day period to use\n * when more than one period is defined for a locale.\n *\n * There is a rule for each defined day period. The\n * first rule is applied to the first day period and so on.\n * Fall back to AM/PM when no rules are available.\n *\n * A rule can specify a period as time range, or as a single time value.\n *\n * This functionality is only available when you have loaded the full locale data.\n * See the [\"I18n guide\"](guide/i18n#i18n-pipes).\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The rules for the locale, a single time value or array of *from-time, to-time*,\n * or null if no periods are available.\n *\n * @see `getLocaleExtraDayPeriods()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getLocaleExtraDayPeriodRules(locale: string): (Time|[Time, Time])[] {\n const data = ɵfindLocaleData(locale);\n checkFullData(data);\n const rules = data[ɵLocaleDataIndex.ExtraData][ɵExtraLocaleDataIndex.ExtraDayPeriodsRules] || [];\n return rules.map((rule: string|[string, string]) => {\n if (typeof rule === 'string') {\n return extractTime(rule);\n }\n return [extractTime(rule[0]), extractTime(rule[1])];\n });\n}\n\n/**\n * Retrieves locale-specific day periods, which indicate roughly how a day is broken up\n * in different languages.\n * For example, for `en-US`, periods are morning, noon, afternoon, evening, and midnight.\n *\n * This functionality is only available when you have loaded the full locale data.\n * See the [\"I18n guide\"](guide/i18n#i18n-pipes).\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns The translated day-period strings.\n * @see `getLocaleExtraDayPeriodRules()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getLocaleExtraDayPeriods(\n locale: string, formStyle: FormStyle, width: TranslationWidth): string[] {\n const data = ɵfindLocaleData(locale);\n checkFullData(data);\n const dayPeriodsData = [\n data[ɵLocaleDataIndex.ExtraData][ɵExtraLocaleDataIndex.ExtraDayPeriodFormats],\n data[ɵLocaleDataIndex.ExtraData][ɵExtraLocaleDataIndex.ExtraDayPeriodStandalone]\n ];\n const dayPeriods = getLastDefinedValue(dayPeriodsData, formStyle) || [];\n return getLastDefinedValue(dayPeriods, width) || [];\n}\n\n/**\n * Retrieves the writing direction of a specified locale\n * @param locale A locale code for the locale format rules to use.\n * @publicApi\n * @returns 'rtl' or 'ltr'\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n */\nexport function getLocaleDirection(locale: string): 'ltr'|'rtl' {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.Directionality];\n}\n\n/**\n * Retrieves the first value that is defined in an array, going backwards from an index position.\n *\n * To avoid repeating the same data (as when the \"format\" and \"standalone\" forms are the same)\n * add the first value to the locale data arrays, and add other values only if they are different.\n *\n * @param data The data array to retrieve from.\n * @param index A 0-based index into the array to start from.\n * @returns The value immediately before the given index position.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nfunction getLastDefinedValue(data: T[], index: number): T {\n for (let i = index; i > -1; i--) {\n if (typeof data[i] !== 'undefined') {\n return data[i];\n }\n }\n throw new Error('Locale data API: locale data undefined');\n}\n\n/**\n * Represents a time value with hours and minutes.\n *\n * @publicApi\n */\nexport type Time = {\n hours: number,\n minutes: number\n};\n\n/**\n * Extracts the hours and minutes from a string like \"15:45\"\n */\nfunction extractTime(time: string): Time {\n const [h, m] = time.split(':');\n return {hours: +h, minutes: +m};\n}\n\n\n\n/**\n * Retrieves the currency symbol for a given currency code.\n *\n * For example, for the default `en-US` locale, the code `USD` can\n * be represented by the narrow symbol `$` or the wide symbol `US$`.\n *\n * @param code The currency code.\n * @param format The format, `wide` or `narrow`.\n * @param locale A locale code for the locale format rules to use.\n *\n * @returns The symbol, or the currency code if no symbol is available.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getCurrencySymbol(code: string, format: 'wide'|'narrow', locale = 'en'): string {\n const currency = getLocaleCurrencies(locale)[code] || CURRENCIES_EN[code] || [];\n const symbolNarrow = currency[ɵCurrencyIndex.SymbolNarrow];\n\n if (format === 'narrow' && typeof symbolNarrow === 'string') {\n return symbolNarrow;\n }\n\n return currency[ɵCurrencyIndex.Symbol] || code;\n}\n\n// Most currencies have cents, that's why the default is 2\nconst DEFAULT_NB_OF_CURRENCY_DIGITS = 2;\n\n/**\n * Reports the number of decimal digits for a given currency.\n * The value depends upon the presence of cents in that particular currency.\n *\n * @param code The currency code.\n * @returns The number of decimal digits, typically 0 or 2.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function getNumberOfCurrencyDigits(code: string): number {\n let digits;\n const currency = CURRENCIES_EN[code];\n if (currency) {\n digits = currency[ɵCurrencyIndex.NbOfDigits];\n }\n return typeof digits === 'number' ? digits : DEFAULT_NB_OF_CURRENCY_DIGITS;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {FormatWidth, FormStyle, getLocaleDateFormat, getLocaleDateTimeFormat, getLocaleDayNames, getLocaleDayPeriods, getLocaleEraNames, getLocaleExtraDayPeriodRules, getLocaleExtraDayPeriods, getLocaleId, getLocaleMonthNames, getLocaleNumberSymbol, getLocaleTimeFormat, NumberSymbol, Time, TranslationWidth} from './locale_data_api';\n\nexport const ISO8601_DATE_REGEX =\n /^(\\d{4})-?(\\d\\d)-?(\\d\\d)(?:T(\\d\\d)(?::?(\\d\\d)(?::?(\\d\\d)(?:\\.(\\d+))?)?)?(Z|([+-])(\\d\\d):?(\\d\\d))?)?$/;\n// 1 2 3 4 5 6 7 8 9 10 11\nconst NAMED_FORMATS: {[localeId: string]: {[format: string]: string}} = {};\nconst DATE_FORMATS_SPLIT =\n /((?:[^GyMLwWdEabBhHmsSzZO']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\\s\\S]*)/;\n\nenum ZoneWidth {\n Short,\n ShortGMT,\n Long,\n Extended\n}\n\nenum DateType {\n FullYear,\n Month,\n Date,\n Hours,\n Minutes,\n Seconds,\n FractionalSeconds,\n Day\n}\n\nenum TranslationType {\n DayPeriods,\n Days,\n Months,\n Eras\n}\n\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a date according to locale rules.\n *\n * @param value The date to format, as a Date, or a number (milliseconds since UTC epoch)\n * or an [ISO date-time string](https://www.w3.org/TR/NOTE-datetime).\n * @param format The date-time components to include. See `DatePipe` for details.\n * @param locale A locale code for the locale format rules to use.\n * @param timezone The time zone. A time zone offset from GMT (such as `'+0430'`),\n * or a standard UTC/GMT or continental US time zone abbreviation.\n * If not specified, uses host system settings.\n *\n * @returns The formatted date string.\n *\n * @see `DatePipe`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function formatDate(\n value: string|number|Date, format: string, locale: string, timezone?: string): string {\n let date = toDate(value);\n const namedFormat = getNamedFormat(locale, format);\n format = namedFormat || format;\n\n let parts: string[] = [];\n let match;\n while (format) {\n match = DATE_FORMATS_SPLIT.exec(format);\n if (match) {\n parts = parts.concat(match.slice(1));\n const part = parts.pop();\n if (!part) {\n break;\n }\n format = part;\n } else {\n parts.push(format);\n break;\n }\n }\n\n let dateTimezoneOffset = date.getTimezoneOffset();\n if (timezone) {\n dateTimezoneOffset = timezoneToOffset(timezone, dateTimezoneOffset);\n date = convertTimezoneToLocal(date, timezone, true);\n }\n\n let text = '';\n parts.forEach(value => {\n const dateFormatter = getDateFormatter(value);\n text += dateFormatter ?\n dateFormatter(date, locale, dateTimezoneOffset) :\n value === '\\'\\'' ? '\\'' : value.replace(/(^'|'$)/g, '').replace(/''/g, '\\'');\n });\n\n return text;\n}\n\nfunction getNamedFormat(locale: string, format: string): string {\n const localeId = getLocaleId(locale);\n NAMED_FORMATS[localeId] = NAMED_FORMATS[localeId] || {};\n\n if (NAMED_FORMATS[localeId][format]) {\n return NAMED_FORMATS[localeId][format];\n }\n\n let formatValue = '';\n switch (format) {\n case 'shortDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Short);\n break;\n case 'mediumDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Medium);\n break;\n case 'longDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Long);\n break;\n case 'fullDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Full);\n break;\n case 'shortTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Short);\n break;\n case 'mediumTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Medium);\n break;\n case 'longTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Long);\n break;\n case 'fullTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Full);\n break;\n case 'short':\n const shortTime = getNamedFormat(locale, 'shortTime');\n const shortDate = getNamedFormat(locale, 'shortDate');\n formatValue = formatDateTime(\n getLocaleDateTimeFormat(locale, FormatWidth.Short), [shortTime, shortDate]);\n break;\n case 'medium':\n const mediumTime = getNamedFormat(locale, 'mediumTime');\n const mediumDate = getNamedFormat(locale, 'mediumDate');\n formatValue = formatDateTime(\n getLocaleDateTimeFormat(locale, FormatWidth.Medium), [mediumTime, mediumDate]);\n break;\n case 'long':\n const longTime = getNamedFormat(locale, 'longTime');\n const longDate = getNamedFormat(locale, 'longDate');\n formatValue =\n formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Long), [longTime, longDate]);\n break;\n case 'full':\n const fullTime = getNamedFormat(locale, 'fullTime');\n const fullDate = getNamedFormat(locale, 'fullDate');\n formatValue =\n formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Full), [fullTime, fullDate]);\n break;\n }\n if (formatValue) {\n NAMED_FORMATS[localeId][format] = formatValue;\n }\n return formatValue;\n}\n\nfunction formatDateTime(str: string, opt_values: string[]) {\n if (opt_values) {\n str = str.replace(/\\{([^}]+)}/g, function(match, key) {\n return (opt_values != null && key in opt_values) ? opt_values[key] : match;\n });\n }\n return str;\n}\n\nfunction padNumber(\n num: number, digits: number, minusSign = '-', trim?: boolean, negWrap?: boolean): string {\n let neg = '';\n if (num < 0 || (negWrap && num <= 0)) {\n if (negWrap) {\n num = -num + 1;\n } else {\n num = -num;\n neg = minusSign;\n }\n }\n let strNum = String(num);\n while (strNum.length < digits) {\n strNum = '0' + strNum;\n }\n if (trim) {\n strNum = strNum.substr(strNum.length - digits);\n }\n return neg + strNum;\n}\n\nfunction formatFractionalSeconds(milliseconds: number, digits: number): string {\n const strMs = padNumber(milliseconds, 3);\n return strMs.substr(0, digits);\n}\n\n/**\n * Returns a date formatter that transforms a date into its locale digit representation\n */\nfunction dateGetter(\n name: DateType, size: number, offset: number = 0, trim = false,\n negWrap = false): DateFormatter {\n return function(date: Date, locale: string): string {\n let part = getDatePart(name, date);\n if (offset > 0 || part > -offset) {\n part += offset;\n }\n\n if (name === DateType.Hours) {\n if (part === 0 && offset === -12) {\n part = 12;\n }\n } else if (name === DateType.FractionalSeconds) {\n return formatFractionalSeconds(part, size);\n }\n\n const localeMinus = getLocaleNumberSymbol(locale, NumberSymbol.MinusSign);\n return padNumber(part, size, localeMinus, trim, negWrap);\n };\n}\n\nfunction getDatePart(part: DateType, date: Date): number {\n switch (part) {\n case DateType.FullYear:\n return date.getFullYear();\n case DateType.Month:\n return date.getMonth();\n case DateType.Date:\n return date.getDate();\n case DateType.Hours:\n return date.getHours();\n case DateType.Minutes:\n return date.getMinutes();\n case DateType.Seconds:\n return date.getSeconds();\n case DateType.FractionalSeconds:\n return date.getMilliseconds();\n case DateType.Day:\n return date.getDay();\n default:\n throw new Error(`Unknown DateType value \"${part}\".`);\n }\n}\n\n/**\n * Returns a date formatter that transforms a date into its locale string representation\n */\nfunction dateStrGetter(\n name: TranslationType, width: TranslationWidth, form: FormStyle = FormStyle.Format,\n extended = false): DateFormatter {\n return function(date: Date, locale: string): string {\n return getDateTranslation(date, locale, name, width, form, extended);\n };\n}\n\n/**\n * Returns the locale translation of a date for a given form, type and width\n */\nfunction getDateTranslation(\n date: Date, locale: string, name: TranslationType, width: TranslationWidth, form: FormStyle,\n extended: boolean) {\n switch (name) {\n case TranslationType.Months:\n return getLocaleMonthNames(locale, form, width)[date.getMonth()];\n case TranslationType.Days:\n return getLocaleDayNames(locale, form, width)[date.getDay()];\n case TranslationType.DayPeriods:\n const currentHours = date.getHours();\n const currentMinutes = date.getMinutes();\n if (extended) {\n const rules = getLocaleExtraDayPeriodRules(locale);\n const dayPeriods = getLocaleExtraDayPeriods(locale, form, width);\n const index = rules.findIndex(rule => {\n if (Array.isArray(rule)) {\n // morning, afternoon, evening, night\n const [from, to] = rule;\n const afterFrom = currentHours >= from.hours && currentMinutes >= from.minutes;\n const beforeTo =\n (currentHours < to.hours ||\n (currentHours === to.hours && currentMinutes < to.minutes));\n // We must account for normal rules that span a period during the day (e.g. 6am-9am)\n // where `from` is less (earlier) than `to`. But also rules that span midnight (e.g.\n // 10pm - 5am) where `from` is greater (later!) than `to`.\n //\n // In the first case the current time must be BOTH after `from` AND before `to`\n // (e.g. 8am is after 6am AND before 10am).\n //\n // In the second case the current time must be EITHER after `from` OR before `to`\n // (e.g. 4am is before 5am but not after 10pm; and 11pm is not before 5am but it is\n // after 10pm).\n if (from.hours < to.hours) {\n if (afterFrom && beforeTo) {\n return true;\n }\n } else if (afterFrom || beforeTo) {\n return true;\n }\n } else { // noon or midnight\n if (rule.hours === currentHours && rule.minutes === currentMinutes) {\n return true;\n }\n }\n return false;\n });\n if (index !== -1) {\n return dayPeriods[index];\n }\n }\n // if no rules for the day periods, we use am/pm by default\n return getLocaleDayPeriods(locale, form, width)[currentHours < 12 ? 0 : 1];\n case TranslationType.Eras:\n return getLocaleEraNames(locale, width)[date.getFullYear() <= 0 ? 0 : 1];\n default:\n // This default case is not needed by TypeScript compiler, as the switch is exhaustive.\n // However Closure Compiler does not understand that and reports an error in typed mode.\n // The `throw new Error` below works around the problem, and the unexpected: never variable\n // makes sure tsc still checks this code is unreachable.\n const unexpected: never = name;\n throw new Error(`unexpected translation type ${unexpected}`);\n }\n}\n\n/**\n * Returns a date formatter that transforms a date and an offset into a timezone with ISO8601 or\n * GMT format depending on the width (eg: short = +0430, short:GMT = GMT+4, long = GMT+04:30,\n * extended = +04:30)\n */\nfunction timeZoneGetter(width: ZoneWidth): DateFormatter {\n return function(date: Date, locale: string, offset: number) {\n const zone = -1 * offset;\n const minusSign = getLocaleNumberSymbol(locale, NumberSymbol.MinusSign);\n const hours = zone > 0 ? Math.floor(zone / 60) : Math.ceil(zone / 60);\n switch (width) {\n case ZoneWidth.Short:\n return ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n case ZoneWidth.ShortGMT:\n return 'GMT' + ((zone >= 0) ? '+' : '') + padNumber(hours, 1, minusSign);\n case ZoneWidth.Long:\n return 'GMT' + ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) + ':' +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n case ZoneWidth.Extended:\n if (offset === 0) {\n return 'Z';\n } else {\n return ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) + ':' +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n }\n default:\n throw new Error(`Unknown zone width \"${width}\"`);\n }\n };\n}\n\nconst JANUARY = 0;\nconst THURSDAY = 4;\nfunction getFirstThursdayOfYear(year: number) {\n const firstDayOfYear = (new Date(year, JANUARY, 1)).getDay();\n return new Date(\n year, 0, 1 + ((firstDayOfYear <= THURSDAY) ? THURSDAY : THURSDAY + 7) - firstDayOfYear);\n}\n\nfunction getThursdayThisWeek(datetime: Date) {\n return new Date(\n datetime.getFullYear(), datetime.getMonth(),\n datetime.getDate() + (THURSDAY - datetime.getDay()));\n}\n\nfunction weekGetter(size: number, monthBased = false): DateFormatter {\n return function(date: Date, locale: string) {\n let result;\n if (monthBased) {\n const nbDaysBefore1stDayOfMonth =\n new Date(date.getFullYear(), date.getMonth(), 1).getDay() - 1;\n const today = date.getDate();\n result = 1 + Math.floor((today + nbDaysBefore1stDayOfMonth) / 7);\n } else {\n const firstThurs = getFirstThursdayOfYear(date.getFullYear());\n const thisThurs = getThursdayThisWeek(date);\n const diff = thisThurs.getTime() - firstThurs.getTime();\n result = 1 + Math.round(diff / 6.048e8); // 6.048e8 ms per week\n }\n\n return padNumber(result, size, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n };\n}\n\ntype DateFormatter = (date: Date, locale: string, offset: number) => string;\n\nconst DATE_FORMATS: {[format: string]: DateFormatter} = {};\n\n// Based on CLDR formats:\n// See complete list: http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n// See also explanations: http://cldr.unicode.org/translation/date-time\n// TODO(ocombe): support all missing cldr formats: Y, U, Q, D, F, e, c, j, J, C, A, v, V, X, x\nfunction getDateFormatter(format: string): DateFormatter|null {\n if (DATE_FORMATS[format]) {\n return DATE_FORMATS[format];\n }\n let formatter;\n switch (format) {\n // Era name (AD/BC)\n case 'G':\n case 'GG':\n case 'GGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Abbreviated);\n break;\n case 'GGGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Wide);\n break;\n case 'GGGGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Narrow);\n break;\n\n // 1 digit representation of the year, e.g. (AD 1 => 1, AD 199 => 199)\n case 'y':\n formatter = dateGetter(DateType.FullYear, 1, 0, false, true);\n break;\n // 2 digit representation of the year, padded (00-99). (e.g. AD 2001 => 01, AD 2010 => 10)\n case 'yy':\n formatter = dateGetter(DateType.FullYear, 2, 0, true, true);\n break;\n // 3 digit representation of the year, padded (000-999). (e.g. AD 2001 => 01, AD 2010 => 10)\n case 'yyy':\n formatter = dateGetter(DateType.FullYear, 3, 0, false, true);\n break;\n // 4 digit representation of the year (e.g. AD 1 => 0001, AD 2010 => 2010)\n case 'yyyy':\n formatter = dateGetter(DateType.FullYear, 4, 0, false, true);\n break;\n\n // Month of the year (1-12), numeric\n case 'M':\n case 'L':\n formatter = dateGetter(DateType.Month, 1, 1);\n break;\n case 'MM':\n case 'LL':\n formatter = dateGetter(DateType.Month, 2, 1);\n break;\n\n // Month of the year (January, ...), string, format\n case 'MMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Abbreviated);\n break;\n case 'MMMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Wide);\n break;\n case 'MMMMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Narrow);\n break;\n\n // Month of the year (January, ...), string, standalone\n case 'LLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Abbreviated, FormStyle.Standalone);\n break;\n case 'LLLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Wide, FormStyle.Standalone);\n break;\n case 'LLLLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Narrow, FormStyle.Standalone);\n break;\n\n // Week of the year (1, ... 52)\n case 'w':\n formatter = weekGetter(1);\n break;\n case 'ww':\n formatter = weekGetter(2);\n break;\n\n // Week of the month (1, ...)\n case 'W':\n formatter = weekGetter(1, true);\n break;\n\n // Day of the month (1-31)\n case 'd':\n formatter = dateGetter(DateType.Date, 1);\n break;\n case 'dd':\n formatter = dateGetter(DateType.Date, 2);\n break;\n\n // Day of the Week\n case 'E':\n case 'EE':\n case 'EEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Abbreviated);\n break;\n case 'EEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Wide);\n break;\n case 'EEEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Narrow);\n break;\n case 'EEEEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Short);\n break;\n\n // Generic period of the day (am-pm)\n case 'a':\n case 'aa':\n case 'aaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated);\n break;\n case 'aaaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide);\n break;\n case 'aaaaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow);\n break;\n\n // Extended period of the day (midnight, at night, ...), standalone\n case 'b':\n case 'bb':\n case 'bbb':\n formatter = dateStrGetter(\n TranslationType.DayPeriods, TranslationWidth.Abbreviated, FormStyle.Standalone, true);\n break;\n case 'bbbb':\n formatter = dateStrGetter(\n TranslationType.DayPeriods, TranslationWidth.Wide, FormStyle.Standalone, true);\n break;\n case 'bbbbb':\n formatter = dateStrGetter(\n TranslationType.DayPeriods, TranslationWidth.Narrow, FormStyle.Standalone, true);\n break;\n\n // Extended period of the day (midnight, night, ...), standalone\n case 'B':\n case 'BB':\n case 'BBB':\n formatter = dateStrGetter(\n TranslationType.DayPeriods, TranslationWidth.Abbreviated, FormStyle.Format, true);\n break;\n case 'BBBB':\n formatter =\n dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide, FormStyle.Format, true);\n break;\n case 'BBBBB':\n formatter = dateStrGetter(\n TranslationType.DayPeriods, TranslationWidth.Narrow, FormStyle.Format, true);\n break;\n\n // Hour in AM/PM, (1-12)\n case 'h':\n formatter = dateGetter(DateType.Hours, 1, -12);\n break;\n case 'hh':\n formatter = dateGetter(DateType.Hours, 2, -12);\n break;\n\n // Hour of the day (0-23)\n case 'H':\n formatter = dateGetter(DateType.Hours, 1);\n break;\n // Hour in day, padded (00-23)\n case 'HH':\n formatter = dateGetter(DateType.Hours, 2);\n break;\n\n // Minute of the hour (0-59)\n case 'm':\n formatter = dateGetter(DateType.Minutes, 1);\n break;\n case 'mm':\n formatter = dateGetter(DateType.Minutes, 2);\n break;\n\n // Second of the minute (0-59)\n case 's':\n formatter = dateGetter(DateType.Seconds, 1);\n break;\n case 'ss':\n formatter = dateGetter(DateType.Seconds, 2);\n break;\n\n // Fractional second\n case 'S':\n formatter = dateGetter(DateType.FractionalSeconds, 1);\n break;\n case 'SS':\n formatter = dateGetter(DateType.FractionalSeconds, 2);\n break;\n case 'SSS':\n formatter = dateGetter(DateType.FractionalSeconds, 3);\n break;\n\n\n // Timezone ISO8601 short format (-0430)\n case 'Z':\n case 'ZZ':\n case 'ZZZ':\n formatter = timeZoneGetter(ZoneWidth.Short);\n break;\n // Timezone ISO8601 extended format (-04:30)\n case 'ZZZZZ':\n formatter = timeZoneGetter(ZoneWidth.Extended);\n break;\n\n // Timezone GMT short format (GMT+4)\n case 'O':\n case 'OO':\n case 'OOO':\n // Should be location, but fallback to format O instead because we don't have the data yet\n case 'z':\n case 'zz':\n case 'zzz':\n formatter = timeZoneGetter(ZoneWidth.ShortGMT);\n break;\n // Timezone GMT long format (GMT+0430)\n case 'OOOO':\n case 'ZZZZ':\n // Should be location, but fallback to format O instead because we don't have the data yet\n case 'zzzz':\n formatter = timeZoneGetter(ZoneWidth.Long);\n break;\n default:\n return null;\n }\n DATE_FORMATS[format] = formatter;\n return formatter;\n}\n\nfunction timezoneToOffset(timezone: string, fallback: number): number {\n // Support: IE 9-11 only, Edge 13-15+\n // IE/Edge do not \"understand\" colon (`:`) in timezone\n timezone = timezone.replace(/:/g, '');\n const requestedTimezoneOffset = Date.parse('Jan 01, 1970 00:00:00 ' + timezone) / 60000;\n return isNaN(requestedTimezoneOffset) ? fallback : requestedTimezoneOffset;\n}\n\nfunction addDateMinutes(date: Date, minutes: number) {\n date = new Date(date.getTime());\n date.setMinutes(date.getMinutes() + minutes);\n return date;\n}\n\nfunction convertTimezoneToLocal(date: Date, timezone: string, reverse: boolean): Date {\n const reverseValue = reverse ? -1 : 1;\n const dateTimezoneOffset = date.getTimezoneOffset();\n const timezoneOffset = timezoneToOffset(timezone, dateTimezoneOffset);\n return addDateMinutes(date, reverseValue * (timezoneOffset - dateTimezoneOffset));\n}\n\n/**\n * Converts a value to date.\n *\n * Supported input formats:\n * - `Date`\n * - number: timestamp\n * - string: numeric (e.g. \"1234\"), ISO and date strings in a format supported by\n * [Date.parse()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse).\n * Note: ISO strings without time return a date without timeoffset.\n *\n * Throws if unable to convert to a date.\n */\nexport function toDate(value: string|number|Date): Date {\n if (isDate(value)) {\n return value;\n }\n\n if (typeof value === 'number' && !isNaN(value)) {\n return new Date(value);\n }\n\n if (typeof value === 'string') {\n value = value.trim();\n\n const parsedNb = parseFloat(value);\n\n // any string that only contains numbers, like \"1234\" but not like \"1234hello\"\n if (!isNaN(value as any - parsedNb)) {\n return new Date(parsedNb);\n }\n\n if (/^(\\d{4}-\\d{1,2}-\\d{1,2})$/.test(value)) {\n /* For ISO Strings without time the day, month and year must be extracted from the ISO String\n before Date creation to avoid time offset and errors in the new Date.\n If we only replace '-' with ',' in the ISO String (\"2015,01,01\"), and try to create a new\n date, some browsers (e.g. IE 9) will throw an invalid Date error.\n If we leave the '-' (\"2015-01-01\") and try to create a new Date(\"2015-01-01\") the timeoffset\n is applied.\n Note: ISO months are 0 for January, 1 for February, ... */\n const [y, m, d] = value.split('-').map((val: string) => +val);\n return new Date(y, m - 1, d);\n }\n\n let match: RegExpMatchArray|null;\n if (match = value.match(ISO8601_DATE_REGEX)) {\n return isoStringToDate(match);\n }\n }\n\n const date = new Date(value as any);\n if (!isDate(date)) {\n throw new Error(`Unable to convert \"${value}\" into a date`);\n }\n return date;\n}\n\n/**\n * Converts a date in ISO8601 to a Date.\n * Used instead of `Date.parse` because of browser discrepancies.\n */\nexport function isoStringToDate(match: RegExpMatchArray): Date {\n const date = new Date(0);\n let tzHour = 0;\n let tzMin = 0;\n\n // match[8] means that the string contains \"Z\" (UTC) or a timezone like \"+01:00\" or \"+0100\"\n const dateSetter = match[8] ? date.setUTCFullYear : date.setFullYear;\n const timeSetter = match[8] ? date.setUTCHours : date.setHours;\n\n // if there is a timezone defined like \"+01:00\" or \"+0100\"\n if (match[9]) {\n tzHour = Number(match[9] + match[10]);\n tzMin = Number(match[9] + match[11]);\n }\n dateSetter.call(date, Number(match[1]), Number(match[2]) - 1, Number(match[3]));\n const h = Number(match[4] || 0) - tzHour;\n const m = Number(match[5] || 0) - tzMin;\n const s = Number(match[6] || 0);\n const ms = Math.round(parseFloat('0.' + (match[7] || 0)) * 1000);\n timeSetter.call(date, h, m, s, ms);\n return date;\n}\n\nexport function isDate(value: any): value is Date {\n return value instanceof Date && !isNaN(value.valueOf());\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {getLocaleNumberFormat, getLocaleNumberSymbol, getNumberOfCurrencyDigits, NumberFormatStyle, NumberSymbol} from './locale_data_api';\n\nexport const NUMBER_FORMAT_REGEXP = /^(\\d+)?\\.((\\d+)(-(\\d+))?)?$/;\nconst MAX_DIGITS = 22;\nconst DECIMAL_SEP = '.';\nconst ZERO_CHAR = '0';\nconst PATTERN_SEP = ';';\nconst GROUP_SEP = ',';\nconst DIGIT_CHAR = '#';\nconst CURRENCY_CHAR = '¤';\nconst PERCENT_CHAR = '%';\n\n/**\n * Transforms a number to a locale string based on a style and a format.\n */\nfunction formatNumberToLocaleString(\n value: number, pattern: ParsedNumberFormat, locale: string, groupSymbol: NumberSymbol,\n decimalSymbol: NumberSymbol, digitsInfo?: string, isPercent = false): string {\n let formattedText = '';\n let isZero = false;\n\n if (!isFinite(value)) {\n formattedText = getLocaleNumberSymbol(locale, NumberSymbol.Infinity);\n } else {\n let parsedNumber = parseNumber(value);\n\n if (isPercent) {\n parsedNumber = toPercent(parsedNumber);\n }\n\n let minInt = pattern.minInt;\n let minFraction = pattern.minFrac;\n let maxFraction = pattern.maxFrac;\n\n if (digitsInfo) {\n const parts = digitsInfo.match(NUMBER_FORMAT_REGEXP);\n if (parts === null) {\n throw new Error(`${digitsInfo} is not a valid digit info`);\n }\n const minIntPart = parts[1];\n const minFractionPart = parts[3];\n const maxFractionPart = parts[5];\n if (minIntPart != null) {\n minInt = parseIntAutoRadix(minIntPart);\n }\n if (minFractionPart != null) {\n minFraction = parseIntAutoRadix(minFractionPart);\n }\n if (maxFractionPart != null) {\n maxFraction = parseIntAutoRadix(maxFractionPart);\n } else if (minFractionPart != null && minFraction > maxFraction) {\n maxFraction = minFraction;\n }\n }\n\n roundNumber(parsedNumber, minFraction, maxFraction);\n\n let digits = parsedNumber.digits;\n let integerLen = parsedNumber.integerLen;\n const exponent = parsedNumber.exponent;\n let decimals = [];\n isZero = digits.every(d => !d);\n\n // pad zeros for small numbers\n for (; integerLen < minInt; integerLen++) {\n digits.unshift(0);\n }\n\n // pad zeros for small numbers\n for (; integerLen < 0; integerLen++) {\n digits.unshift(0);\n }\n\n // extract decimals digits\n if (integerLen > 0) {\n decimals = digits.splice(integerLen, digits.length);\n } else {\n decimals = digits;\n digits = [0];\n }\n\n // format the integer digits with grouping separators\n const groups = [];\n if (digits.length >= pattern.lgSize) {\n groups.unshift(digits.splice(-pattern.lgSize, digits.length).join(''));\n }\n\n while (digits.length > pattern.gSize) {\n groups.unshift(digits.splice(-pattern.gSize, digits.length).join(''));\n }\n\n if (digits.length) {\n groups.unshift(digits.join(''));\n }\n\n formattedText = groups.join(getLocaleNumberSymbol(locale, groupSymbol));\n\n // append the decimal digits\n if (decimals.length) {\n formattedText += getLocaleNumberSymbol(locale, decimalSymbol) + decimals.join('');\n }\n\n if (exponent) {\n formattedText += getLocaleNumberSymbol(locale, NumberSymbol.Exponential) + '+' + exponent;\n }\n }\n\n if (value < 0 && !isZero) {\n formattedText = pattern.negPre + formattedText + pattern.negSuf;\n } else {\n formattedText = pattern.posPre + formattedText + pattern.posSuf;\n }\n\n return formattedText;\n}\n\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as currency using locale rules.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param currency A string containing the currency symbol or its name,\n * such as \"$\" or \"Canadian Dollar\". Used in output string, but does not affect the operation\n * of the function.\n * @param currencyCode The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)\n * currency code, such as `USD` for the US dollar and `EUR` for the euro.\n * Used to determine the number of digits in the decimal part.\n * @param digitInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted currency value.\n *\n * @see `formatNumber()`\n * @see `DecimalPipe`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function formatCurrency(\n value: number, locale: string, currency: string, currencyCode?: string,\n digitsInfo?: string): string {\n const format = getLocaleNumberFormat(locale, NumberFormatStyle.Currency);\n const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n\n pattern.minFrac = getNumberOfCurrencyDigits(currencyCode!);\n pattern.maxFrac = pattern.minFrac;\n\n const res = formatNumberToLocaleString(\n value, pattern, locale, NumberSymbol.CurrencyGroup, NumberSymbol.CurrencyDecimal, digitsInfo);\n return res\n .replace(CURRENCY_CHAR, currency)\n // if we have 2 time the currency character, the second one is ignored\n .replace(CURRENCY_CHAR, '')\n // If there is a spacing between currency character and the value and\n // the currency character is supressed by passing an empty string, the\n // spacing character would remain as part of the string. Then we\n // should remove it.\n .trim();\n}\n\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as a percentage according to locale rules.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param digitInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted percentage value.\n *\n * @see `formatNumber()`\n * @see `DecimalPipe`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n * @publicApi\n *\n */\nexport function formatPercent(value: number, locale: string, digitsInfo?: string): string {\n const format = getLocaleNumberFormat(locale, NumberFormatStyle.Percent);\n const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n const res = formatNumberToLocaleString(\n value, pattern, locale, NumberSymbol.Group, NumberSymbol.Decimal, digitsInfo, true);\n return res.replace(\n new RegExp(PERCENT_CHAR, 'g'), getLocaleNumberSymbol(locale, NumberSymbol.PercentSign));\n}\n\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as text, with group sizing, separator, and other\n * parameters based on the locale.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param digitInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted text string.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)\n *\n * @publicApi\n */\nexport function formatNumber(value: number, locale: string, digitsInfo?: string): string {\n const format = getLocaleNumberFormat(locale, NumberFormatStyle.Decimal);\n const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n return formatNumberToLocaleString(\n value, pattern, locale, NumberSymbol.Group, NumberSymbol.Decimal, digitsInfo);\n}\n\ninterface ParsedNumberFormat {\n minInt: number;\n // the minimum number of digits required in the fraction part of the number\n minFrac: number;\n // the maximum number of digits required in the fraction part of the number\n maxFrac: number;\n // the prefix for a positive number\n posPre: string;\n // the suffix for a positive number\n posSuf: string;\n // the prefix for a negative number (e.g. `-` or `(`))\n negPre: string;\n // the suffix for a negative number (e.g. `)`)\n negSuf: string;\n // number of digits in each group of separated digits\n gSize: number;\n // number of digits in the last group of digits before the decimal separator\n lgSize: number;\n}\n\nfunction parseNumberFormat(format: string, minusSign = '-'): ParsedNumberFormat {\n const p = {\n minInt: 1,\n minFrac: 0,\n maxFrac: 0,\n posPre: '',\n posSuf: '',\n negPre: '',\n negSuf: '',\n gSize: 0,\n lgSize: 0\n };\n\n const patternParts = format.split(PATTERN_SEP);\n const positive = patternParts[0];\n const negative = patternParts[1];\n\n const positiveParts = positive.indexOf(DECIMAL_SEP) !== -1 ?\n positive.split(DECIMAL_SEP) :\n [\n positive.substring(0, positive.lastIndexOf(ZERO_CHAR) + 1),\n positive.substring(positive.lastIndexOf(ZERO_CHAR) + 1)\n ],\n integer = positiveParts[0], fraction = positiveParts[1] || '';\n\n p.posPre = integer.substr(0, integer.indexOf(DIGIT_CHAR));\n\n for (let i = 0; i < fraction.length; i++) {\n const ch = fraction.charAt(i);\n if (ch === ZERO_CHAR) {\n p.minFrac = p.maxFrac = i + 1;\n } else if (ch === DIGIT_CHAR) {\n p.maxFrac = i + 1;\n } else {\n p.posSuf += ch;\n }\n }\n\n const groups = integer.split(GROUP_SEP);\n p.gSize = groups[1] ? groups[1].length : 0;\n p.lgSize = (groups[2] || groups[1]) ? (groups[2] || groups[1]).length : 0;\n\n if (negative) {\n const trunkLen = positive.length - p.posPre.length - p.posSuf.length,\n pos = negative.indexOf(DIGIT_CHAR);\n\n p.negPre = negative.substr(0, pos).replace(/'/g, '');\n p.negSuf = negative.substr(pos + trunkLen).replace(/'/g, '');\n } else {\n p.negPre = minusSign + p.posPre;\n p.negSuf = p.posSuf;\n }\n\n return p;\n}\n\ninterface ParsedNumber {\n // an array of digits containing leading zeros as necessary\n digits: number[];\n // the exponent for numbers that would need more than `MAX_DIGITS` digits in `d`\n exponent: number;\n // the number of the digits in `d` that are to the left of the decimal point\n integerLen: number;\n}\n\n// Transforms a parsed number into a percentage by multiplying it by 100\nfunction toPercent(parsedNumber: ParsedNumber): ParsedNumber {\n // if the number is 0, don't do anything\n if (parsedNumber.digits[0] === 0) {\n return parsedNumber;\n }\n\n // Getting the current number of decimals\n const fractionLen = parsedNumber.digits.length - parsedNumber.integerLen;\n if (parsedNumber.exponent) {\n parsedNumber.exponent += 2;\n } else {\n if (fractionLen === 0) {\n parsedNumber.digits.push(0, 0);\n } else if (fractionLen === 1) {\n parsedNumber.digits.push(0);\n }\n parsedNumber.integerLen += 2;\n }\n\n return parsedNumber;\n}\n\n/**\n * Parses a number.\n * Significant bits of this parse algorithm came from https://github.com/MikeMcl/big.js/\n */\nfunction parseNumber(num: number): ParsedNumber {\n let numStr = Math.abs(num) + '';\n let exponent = 0, digits, integerLen;\n let i, j, zeros;\n\n // Decimal point?\n if ((integerLen = numStr.indexOf(DECIMAL_SEP)) > -1) {\n numStr = numStr.replace(DECIMAL_SEP, '');\n }\n\n // Exponential form?\n if ((i = numStr.search(/e/i)) > 0) {\n // Work out the exponent.\n if (integerLen < 0) integerLen = i;\n integerLen += +numStr.slice(i + 1);\n numStr = numStr.substring(0, i);\n } else if (integerLen < 0) {\n // There was no decimal point or exponent so it is an integer.\n integerLen = numStr.length;\n }\n\n // Count the number of leading zeros.\n for (i = 0; numStr.charAt(i) === ZERO_CHAR; i++) { /* empty */\n }\n\n if (i === (zeros = numStr.length)) {\n // The digits are all zero.\n digits = [0];\n integerLen = 1;\n } else {\n // Count the number of trailing zeros\n zeros--;\n while (numStr.charAt(zeros) === ZERO_CHAR) zeros--;\n\n // Trailing zeros are insignificant so ignore them\n integerLen -= i;\n digits = [];\n // Convert string to array of digits without leading/trailing zeros.\n for (j = 0; i <= zeros; i++, j++) {\n digits[j] = Number(numStr.charAt(i));\n }\n }\n\n // If the number overflows the maximum allowed digits then use an exponent.\n if (integerLen > MAX_DIGITS) {\n digits = digits.splice(0, MAX_DIGITS - 1);\n exponent = integerLen - 1;\n integerLen = 1;\n }\n\n return {digits, exponent, integerLen};\n}\n\n/**\n * Round the parsed number to the specified number of decimal places\n * This function changes the parsedNumber in-place\n */\nfunction roundNumber(parsedNumber: ParsedNumber, minFrac: number, maxFrac: number) {\n if (minFrac > maxFrac) {\n throw new Error(`The minimum number of digits after fraction (${\n minFrac}) is higher than the maximum (${maxFrac}).`);\n }\n\n let digits = parsedNumber.digits;\n let fractionLen = digits.length - parsedNumber.integerLen;\n const fractionSize = Math.min(Math.max(minFrac, fractionLen), maxFrac);\n\n // The index of the digit to where rounding is to occur\n let roundAt = fractionSize + parsedNumber.integerLen;\n let digit = digits[roundAt];\n\n if (roundAt > 0) {\n // Drop fractional digits beyond `roundAt`\n digits.splice(Math.max(parsedNumber.integerLen, roundAt));\n\n // Set non-fractional digits beyond `roundAt` to 0\n for (let j = roundAt; j < digits.length; j++) {\n digits[j] = 0;\n }\n } else {\n // We rounded to zero so reset the parsedNumber\n fractionLen = Math.max(0, fractionLen);\n parsedNumber.integerLen = 1;\n digits.length = Math.max(1, roundAt = fractionSize + 1);\n digits[0] = 0;\n for (let i = 1; i < roundAt; i++) digits[i] = 0;\n }\n\n if (digit >= 5) {\n if (roundAt - 1 < 0) {\n for (let k = 0; k > roundAt; k--) {\n digits.unshift(0);\n parsedNumber.integerLen++;\n }\n digits.unshift(1);\n parsedNumber.integerLen++;\n } else {\n digits[roundAt - 1]++;\n }\n }\n\n // Pad out with zeros to get the required fraction length\n for (; fractionLen < Math.max(0, fractionSize); fractionLen++) digits.push(0);\n\n let dropTrailingZeros = fractionSize !== 0;\n // Minimal length = nb of decimals required + current nb of integers\n // Any number besides that is optional and can be removed if it's a trailing 0\n const minLen = minFrac + parsedNumber.integerLen;\n // Do any carrying, e.g. a digit was rounded up to 10\n const carry = digits.reduceRight(function(carry, d, i, digits) {\n d = d + carry;\n digits[i] = d < 10 ? d : d - 10; // d % 10\n if (dropTrailingZeros) {\n // Do not keep meaningless fractional trailing zeros (e.g. 15.52000 --> 15.52)\n if (digits[i] === 0 && i >= minLen) {\n digits.pop();\n } else {\n dropTrailingZeros = false;\n }\n }\n return d >= 10 ? 1 : 0; // Math.floor(d / 10);\n }, 0);\n if (carry) {\n digits.unshift(carry);\n parsedNumber.integerLen++;\n }\n}\n\nexport function parseIntAutoRadix(text: string): number {\n const result: number = parseInt(text);\n if (isNaN(result)) {\n throw new Error('Invalid integer literal when parsing ' + text);\n }\n return result;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Inject, Injectable, LOCALE_ID} from '@angular/core';\n\nimport {getLocalePluralCase, Plural} from './locale_data_api';\n\n\n/**\n * @publicApi\n */\nexport abstract class NgLocalization {\n abstract getPluralCategory(value: any, locale?: string): string;\n}\n\n\n/**\n * Returns the plural category for a given value.\n * - \"=value\" when the case exists,\n * - the plural category otherwise\n */\nexport function getPluralCategory(\n value: number, cases: string[], ngLocalization: NgLocalization, locale?: string): string {\n let key = `=${value}`;\n\n if (cases.indexOf(key) > -1) {\n return key;\n }\n\n key = ngLocalization.getPluralCategory(value, locale);\n\n if (cases.indexOf(key) > -1) {\n return key;\n }\n\n if (cases.indexOf('other') > -1) {\n return 'other';\n }\n\n throw new Error(`No plural message found for value \"${value}\"`);\n}\n\n/**\n * Returns the plural case based on the locale\n *\n * @publicApi\n */\n@Injectable()\nexport class NgLocaleLocalization extends NgLocalization {\n constructor(@Inject(LOCALE_ID) protected locale: string) {\n super();\n }\n\n getPluralCategory(value: any, locale?: string): string {\n const plural = getLocalePluralCase(locale || this.locale)(value);\n\n switch (plural) {\n case Plural.Zero:\n return 'zero';\n case Plural.One:\n return 'one';\n case Plural.Two:\n return 'two';\n case Plural.Few:\n return 'few';\n case Plural.Many:\n return 'many';\n default:\n return 'other';\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ɵregisterLocaleData} from '@angular/core';\n\n/**\n * Register global data to be used internally by Angular. See the\n * [\"I18n guide\"](guide/i18n#i18n-pipes) to know how to import additional locale data.\n *\n * The signature registerLocaleData(data: any, extraData?: any) is deprecated since v5.1\n *\n * @publicApi\n */\nexport function registerLocaleData(data: any, localeId?: string|any, extraData?: any): void {\n return ɵregisterLocaleData(data, localeId, extraData);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport function parseCookieValue(cookieStr: string, name: string): string|null {\n name = encodeURIComponent(name);\n for (const cookie of cookieStr.split(';')) {\n const eqIndex = cookie.indexOf('=');\n const [cookieName, cookieValue]: string[] =\n eqIndex == -1 ? [cookie, ''] : [cookie.slice(0, eqIndex), cookie.slice(eqIndex + 1)];\n if (cookieName.trim() === name) {\n return decodeURIComponent(cookieValue);\n }\n }\n return null;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {Directive, DoCheck, ElementRef, Input, IterableChanges, IterableDiffer, IterableDiffers, KeyValueChanges, KeyValueDiffer, KeyValueDiffers, Renderer2, ɵisListLikeIterable as isListLikeIterable, ɵstringify as stringify} from '@angular/core';\n\ntype NgClassSupportedTypes = string[]|Set|{[klass: string]: any}|null|undefined;\n\n/**\n * @ngModule CommonModule\n *\n * @usageNotes\n * ```\n * ...\n *\n * ...\n *\n * ...\n *\n * ...\n *\n * ...\n * ```\n *\n * @description\n *\n * Adds and removes CSS classes on an HTML element.\n *\n * The CSS classes are updated as follows, depending on the type of the expression evaluation:\n * - `string` - the CSS classes listed in the string (space delimited) are added,\n * - `Array` - the CSS classes declared as Array elements are added,\n * - `Object` - keys are CSS classes that get added when the expression given in the value\n * evaluates to a truthy value, otherwise they are removed.\n *\n * @publicApi\n */\n@Directive({selector: '[ngClass]'})\nexport class NgClass implements DoCheck {\n private _iterableDiffer: IterableDiffer|null = null;\n private _keyValueDiffer: KeyValueDiffer|null = null;\n private _initialClasses: string[] = [];\n private _rawClass: NgClassSupportedTypes = null;\n\n constructor(\n private _iterableDiffers: IterableDiffers, private _keyValueDiffers: KeyValueDiffers,\n private _ngEl: ElementRef, private _renderer: Renderer2) {}\n\n\n @Input('class')\n set klass(value: string) {\n this._removeClasses(this._initialClasses);\n this._initialClasses = typeof value === 'string' ? value.split(/\\s+/) : [];\n this._applyClasses(this._initialClasses);\n this._applyClasses(this._rawClass);\n }\n\n @Input('ngClass')\n set ngClass(value: string|string[]|Set|{[klass: string]: any}) {\n this._removeClasses(this._rawClass);\n this._applyClasses(this._initialClasses);\n\n this._iterableDiffer = null;\n this._keyValueDiffer = null;\n\n this._rawClass = typeof value === 'string' ? value.split(/\\s+/) : value;\n\n if (this._rawClass) {\n if (isListLikeIterable(this._rawClass)) {\n this._iterableDiffer = this._iterableDiffers.find(this._rawClass).create();\n } else {\n this._keyValueDiffer = this._keyValueDiffers.find(this._rawClass).create();\n }\n }\n }\n\n ngDoCheck() {\n if (this._iterableDiffer) {\n const iterableChanges = this._iterableDiffer.diff(this._rawClass as string[]);\n if (iterableChanges) {\n this._applyIterableChanges(iterableChanges);\n }\n } else if (this._keyValueDiffer) {\n const keyValueChanges = this._keyValueDiffer.diff(this._rawClass as {[k: string]: any});\n if (keyValueChanges) {\n this._applyKeyValueChanges(keyValueChanges);\n }\n }\n }\n\n private _applyKeyValueChanges(changes: KeyValueChanges): void {\n changes.forEachAddedItem((record) => this._toggleClass(record.key, record.currentValue));\n changes.forEachChangedItem((record) => this._toggleClass(record.key, record.currentValue));\n changes.forEachRemovedItem((record) => {\n if (record.previousValue) {\n this._toggleClass(record.key, false);\n }\n });\n }\n\n private _applyIterableChanges(changes: IterableChanges): void {\n changes.forEachAddedItem((record) => {\n if (typeof record.item === 'string') {\n this._toggleClass(record.item, true);\n } else {\n throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${\n stringify(record.item)}`);\n }\n });\n\n changes.forEachRemovedItem((record) => this._toggleClass(record.item, false));\n }\n\n /**\n * Applies a collection of CSS classes to the DOM element.\n *\n * For argument of type Set and Array CSS class names contained in those collections are always\n * added.\n * For argument of type Map CSS class name in the map's key is toggled based on the value (added\n * for truthy and removed for falsy).\n */\n private _applyClasses(rawClassVal: NgClassSupportedTypes) {\n if (rawClassVal) {\n if (Array.isArray(rawClassVal) || rawClassVal instanceof Set) {\n (rawClassVal).forEach((klass: string) => this._toggleClass(klass, true));\n } else {\n Object.keys(rawClassVal).forEach(klass => this._toggleClass(klass, !!rawClassVal[klass]));\n }\n }\n }\n\n /**\n * Removes a collection of CSS classes from the DOM element. This is mostly useful for cleanup\n * purposes.\n */\n private _removeClasses(rawClassVal: NgClassSupportedTypes) {\n if (rawClassVal) {\n if (Array.isArray(rawClassVal) || rawClassVal instanceof Set) {\n (rawClassVal).forEach((klass: string) => this._toggleClass(klass, false));\n } else {\n Object.keys(rawClassVal).forEach(klass => this._toggleClass(klass, false));\n }\n }\n }\n\n private _toggleClass(klass: string, enabled: boolean): void {\n klass = klass.trim();\n if (klass) {\n klass.split(/\\s+/g).forEach(klass => {\n if (enabled) {\n this._renderer.addClass(this._ngEl.nativeElement, klass);\n } else {\n this._renderer.removeClass(this._ngEl.nativeElement, klass);\n }\n });\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ComponentFactoryResolver, ComponentRef, Directive, Injector, Input, NgModuleFactory, NgModuleRef, OnChanges, OnDestroy, SimpleChanges, StaticProvider, Type, ViewContainerRef} from '@angular/core';\n\n\n/**\n * Instantiates a single {@link Component} type and inserts its Host View into current View.\n * `NgComponentOutlet` provides a declarative approach for dynamic component creation.\n *\n * `NgComponentOutlet` requires a component type, if a falsy value is set the view will clear and\n * any existing component will get destroyed.\n *\n * @usageNotes\n *\n * ### Fine tune control\n *\n * You can control the component creation process by using the following optional attributes:\n *\n * * `ngComponentOutletInjector`: Optional custom {@link Injector} that will be used as parent for\n * the Component. Defaults to the injector of the current view container.\n *\n * * `ngComponentOutletContent`: Optional list of projectable nodes to insert into the content\n * section of the component, if exists.\n *\n * * `ngComponentOutletNgModuleFactory`: Optional module factory to allow dynamically loading other\n * module, then load a component from that module.\n *\n * ### Syntax\n *\n * Simple\n * ```\n * \n * ```\n *\n * Customized injector/content\n * ```\n * \n * \n * ```\n *\n * Customized ngModuleFactory\n * ```\n * \n * \n * ```\n *\n * ### A simple example\n *\n * {@example common/ngComponentOutlet/ts/module.ts region='SimpleExample'}\n *\n * A more complete example with additional options:\n *\n * {@example common/ngComponentOutlet/ts/module.ts region='CompleteExample'}\n *\n * @publicApi\n * @ngModule CommonModule\n */\n@Directive({selector: '[ngComponentOutlet]'})\nexport class NgComponentOutlet implements OnChanges, OnDestroy {\n // TODO(issue/24571): remove '!'.\n @Input() ngComponentOutlet!: Type;\n // TODO(issue/24571): remove '!'.\n @Input() ngComponentOutletInjector!: Injector;\n // TODO(issue/24571): remove '!'.\n @Input() ngComponentOutletContent!: any[][];\n // TODO(issue/24571): remove '!'.\n @Input() ngComponentOutletNgModuleFactory!: NgModuleFactory;\n\n private _componentRef: ComponentRef|null = null;\n private _moduleRef: NgModuleRef|null = null;\n\n constructor(private _viewContainerRef: ViewContainerRef) {}\n\n ngOnChanges(changes: SimpleChanges) {\n this._viewContainerRef.clear();\n this._componentRef = null;\n\n if (this.ngComponentOutlet) {\n const elInjector = this.ngComponentOutletInjector || this._viewContainerRef.parentInjector;\n\n if (changes['ngComponentOutletNgModuleFactory']) {\n if (this._moduleRef) this._moduleRef.destroy();\n\n if (this.ngComponentOutletNgModuleFactory) {\n const parentModule = elInjector.get(NgModuleRef);\n this._moduleRef = this.ngComponentOutletNgModuleFactory.create(parentModule.injector);\n } else {\n this._moduleRef = null;\n }\n }\n\n const componentFactoryResolver = this._moduleRef ? this._moduleRef.componentFactoryResolver :\n elInjector.get(ComponentFactoryResolver);\n\n const componentFactory =\n componentFactoryResolver.resolveComponentFactory(this.ngComponentOutlet);\n\n this._componentRef = this._viewContainerRef.createComponent(\n componentFactory, this._viewContainerRef.length, elInjector,\n this.ngComponentOutletContent);\n }\n }\n\n ngOnDestroy() {\n if (this._moduleRef) this._moduleRef.destroy();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, DoCheck, EmbeddedViewRef, Input, isDevMode, IterableChangeRecord, IterableChanges, IterableDiffer, IterableDiffers, NgIterable, TemplateRef, TrackByFunction, ViewContainerRef} from '@angular/core';\n\n/**\n * @publicApi\n */\nexport class NgForOfContext = NgIterable> {\n constructor(public $implicit: T, public ngForOf: U, public index: number, public count: number) {}\n\n get first(): boolean {\n return this.index === 0;\n }\n\n get last(): boolean {\n return this.index === this.count - 1;\n }\n\n get even(): boolean {\n return this.index % 2 === 0;\n }\n\n get odd(): boolean {\n return !this.even;\n }\n}\n\n/**\n * A [structural directive](guide/structural-directives) that renders\n * a template for each item in a collection.\n * The directive is placed on an element, which becomes the parent\n * of the cloned templates.\n *\n * The `ngForOf` directive is generally used in the\n * [shorthand form](guide/structural-directives#the-asterisk--prefix) `*ngFor`.\n * In this form, the template to be rendered for each iteration is the content\n * of an anchor element containing the directive.\n *\n * The following example shows the shorthand syntax with some options,\n * contained in an `
  • ` element.\n *\n * ```\n *
  • ...
  • \n * ```\n *\n * The shorthand form expands into a long form that uses the `ngForOf` selector\n * on an `` element.\n * The content of the `` element is the `
  • ` element that held the\n * short-form directive.\n *\n * Here is the expanded version of the short-form example.\n *\n * ```\n * \n *
  • ...
  • \n *
    \n * ```\n *\n * Angular automatically expands the shorthand syntax as it compiles the template.\n * The context for each embedded view is logically merged to the current component\n * context according to its lexical position.\n *\n * When using the shorthand syntax, Angular allows only [one structural directive\n * on an element](guide/structural-directives#one-structural-directive-per-host-element).\n * If you want to iterate conditionally, for example,\n * put the `*ngIf` on a container element that wraps the `*ngFor` element.\n * For futher discussion, see\n * [Structural Directives](guide/structural-directives#one-per-element).\n *\n * @usageNotes\n *\n * ### Local variables\n *\n * `NgForOf` provides exported values that can be aliased to local variables.\n * For example:\n *\n * ```\n *
  • \n * {{i}}/{{users.length}}. {{user}} default\n *
  • \n * ```\n *\n * The following exported values can be aliased to local variables:\n *\n * - `$implicit: T`: The value of the individual items in the iterable (`ngForOf`).\n * - `ngForOf: NgIterable`: The value of the iterable expression. Useful when the expression is\n * more complex then a property access, for example when using the async pipe (`userStreams |\n * async`).\n * - `index: number`: The index of the current item in the iterable.\n * - `count: number`: The length of the iterable.\n * - `first: boolean`: True when the item is the first item in the iterable.\n * - `last: boolean`: True when the item is the last item in the iterable.\n * - `even: boolean`: True when the item has an even index in the iterable.\n * - `odd: boolean`: True when the item has an odd index in the iterable.\n *\n * ### Change propagation\n *\n * When the contents of the iterator changes, `NgForOf` makes the corresponding changes to the DOM:\n *\n * * When an item is added, a new instance of the template is added to the DOM.\n * * When an item is removed, its template instance is removed from the DOM.\n * * When items are reordered, their respective templates are reordered in the DOM.\n *\n * Angular uses object identity to track insertions and deletions within the iterator and reproduce\n * those changes in the DOM. This has important implications for animations and any stateful\n * controls that are present, such as `` elements that accept user input. Inserted rows can\n * be animated in, deleted rows can be animated out, and unchanged rows retain any unsaved state\n * such as user input.\n * For more on animations, see [Transitions and Triggers](guide/transition-and-triggers).\n *\n * The identities of elements in the iterator can change while the data does not.\n * This can happen, for example, if the iterator is produced from an RPC to the server, and that\n * RPC is re-run. Even if the data hasn't changed, the second response produces objects with\n * different identities, and Angular must tear down the entire DOM and rebuild it (as if all old\n * elements were deleted and all new elements inserted).\n *\n * To avoid this expensive operation, you can customize the default tracking algorithm.\n * by supplying the `trackBy` option to `NgForOf`.\n * `trackBy` takes a function that has two arguments: `index` and `item`.\n * If `trackBy` is given, Angular tracks changes by the return value of the function.\n *\n * @see [Structural Directives](guide/structural-directives)\n * @ngModule CommonModule\n * @publicApi\n */\n@Directive({selector: '[ngFor][ngForOf]'})\nexport class NgForOf = NgIterable> implements DoCheck {\n /**\n * The value of the iterable expression, which can be used as a\n * [template input variable](guide/structural-directives#template-input-variable).\n */\n @Input()\n set ngForOf(ngForOf: U&NgIterable|undefined|null) {\n this._ngForOf = ngForOf;\n this._ngForOfDirty = true;\n }\n /**\n * A function that defines how to track changes for items in the iterable.\n *\n * When items are added, moved, or removed in the iterable,\n * the directive must re-render the appropriate DOM nodes.\n * To minimize churn in the DOM, only nodes that have changed\n * are re-rendered.\n *\n * By default, the change detector assumes that\n * the object instance identifies the node in the iterable.\n * When this function is supplied, the directive uses\n * the result of calling this function to identify the item node,\n * rather than the identity of the object itself.\n *\n * The function receives two inputs,\n * the iteration index and the associated node data.\n */\n @Input()\n set ngForTrackBy(fn: TrackByFunction) {\n if (isDevMode() && fn != null && typeof fn !== 'function') {\n // TODO(vicb): use a log service once there is a public one available\n if (console && console.warn) {\n console.warn(\n `trackBy must be a function, but received ${JSON.stringify(fn)}. ` +\n `See https://angular.io/api/common/NgForOf#change-propagation for more information.`);\n }\n }\n this._trackByFn = fn;\n }\n\n get ngForTrackBy(): TrackByFunction {\n return this._trackByFn;\n }\n\n private _ngForOf: U|undefined|null = null;\n private _ngForOfDirty: boolean = true;\n private _differ: IterableDiffer|null = null;\n // TODO(issue/24571): remove '!'.\n private _trackByFn!: TrackByFunction;\n\n constructor(\n private _viewContainer: ViewContainerRef,\n private _template: TemplateRef>, private _differs: IterableDiffers) {}\n\n /**\n * A reference to the template that is stamped out for each item in the iterable.\n * @see [template reference variable](guide/template-reference-variables)\n */\n @Input()\n set ngForTemplate(value: TemplateRef>) {\n // TODO(TS2.1): make TemplateRef>> once we move to TS v2.1\n // The current type is too restrictive; a template that just uses index, for example,\n // should be acceptable.\n if (value) {\n this._template = value;\n }\n }\n\n /**\n * Applies the changes when needed.\n */\n ngDoCheck(): void {\n if (this._ngForOfDirty) {\n this._ngForOfDirty = false;\n // React on ngForOf changes only once all inputs have been initialized\n const value = this._ngForOf;\n if (!this._differ && value) {\n try {\n this._differ = this._differs.find(value).create(this.ngForTrackBy);\n } catch {\n throw new Error(`Cannot find a differ supporting object '${value}' of type '${\n getTypeName(value)}'. NgFor only supports binding to Iterables such as Arrays.`);\n }\n }\n }\n if (this._differ) {\n const changes = this._differ.diff(this._ngForOf);\n if (changes) this._applyChanges(changes);\n }\n }\n\n private _applyChanges(changes: IterableChanges) {\n const insertTuples: RecordViewTuple[] = [];\n changes.forEachOperation(\n (item: IterableChangeRecord, adjustedPreviousIndex: number|null,\n currentIndex: number|null) => {\n if (item.previousIndex == null) {\n // NgForOf is never \"null\" or \"undefined\" here because the differ detected\n // that a new item needs to be inserted from the iterable. This implies that\n // there is an iterable value for \"_ngForOf\".\n const view = this._viewContainer.createEmbeddedView(\n this._template, new NgForOfContext(null!, this._ngForOf!, -1, -1),\n currentIndex === null ? undefined : currentIndex);\n const tuple = new RecordViewTuple(item, view);\n insertTuples.push(tuple);\n } else if (currentIndex == null) {\n this._viewContainer.remove(\n adjustedPreviousIndex === null ? undefined : adjustedPreviousIndex);\n } else if (adjustedPreviousIndex !== null) {\n const view = this._viewContainer.get(adjustedPreviousIndex)!;\n this._viewContainer.move(view, currentIndex);\n const tuple = new RecordViewTuple(item, >>view);\n insertTuples.push(tuple);\n }\n });\n\n for (let i = 0; i < insertTuples.length; i++) {\n this._perViewChange(insertTuples[i].view, insertTuples[i].record);\n }\n\n for (let i = 0, ilen = this._viewContainer.length; i < ilen; i++) {\n const viewRef = >>this._viewContainer.get(i);\n viewRef.context.index = i;\n viewRef.context.count = ilen;\n viewRef.context.ngForOf = this._ngForOf!;\n }\n\n changes.forEachIdentityChange((record: any) => {\n const viewRef =\n >>this._viewContainer.get(record.currentIndex);\n viewRef.context.$implicit = record.item;\n });\n }\n\n private _perViewChange(\n view: EmbeddedViewRef>, record: IterableChangeRecord) {\n view.context.$implicit = record.item;\n }\n\n /**\n * Asserts the correct type of the context for the template that `NgForOf` will render.\n *\n * The presence of this method is a signal to the Ivy template type-check compiler that the\n * `NgForOf` structural directive renders its template with a specific context type.\n */\n static ngTemplateContextGuard>(dir: NgForOf, ctx: any):\n ctx is NgForOfContext {\n return true;\n }\n}\n\nclass RecordViewTuple> {\n constructor(public record: any, public view: EmbeddedViewRef>) {}\n}\n\nfunction getTypeName(type: any): string {\n return type['name'] || typeof type;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, EmbeddedViewRef, Input, TemplateRef, ViewContainerRef, ɵstringify as stringify} from '@angular/core';\n\n\n/**\n * A structural directive that conditionally includes a template based on the value of\n * an expression coerced to Boolean.\n * When the expression evaluates to true, Angular renders the template\n * provided in a `then` clause, and when false or null,\n * Angular renders the template provided in an optional `else` clause. The default\n * template for the `else` clause is blank.\n *\n * A [shorthand form](guide/structural-directives#the-asterisk--prefix) of the directive,\n * `*ngIf=\"condition\"`, is generally used, provided\n * as an attribute of the anchor element for the inserted template.\n * Angular expands this into a more explicit version, in which the anchor element\n * is contained in an `` element.\n *\n * Simple form with shorthand syntax:\n *\n * ```\n *
    Content to render when condition is true.
    \n * ```\n *\n * Simple form with expanded syntax:\n *\n * ```\n *
    Content to render when condition is\n * true.
    \n * ```\n *\n * Form with an \"else\" block:\n *\n * ```\n *
    Content to render when condition is true.
    \n * Content to render when condition is false.\n * ```\n *\n * Shorthand form with \"then\" and \"else\" blocks:\n *\n * ```\n *
    \n * Content to render when condition is true.\n * Content to render when condition is false.\n * ```\n *\n * Form with storing the value locally:\n *\n * ```\n *
    {{value}}
    \n * Content to render when value is null.\n * ```\n *\n * @usageNotes\n *\n * The `*ngIf` directive is most commonly used to conditionally show an inline template,\n * as seen in the following example.\n * The default `else` template is blank.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfSimple'}\n *\n * ### Showing an alternative template using `else`\n *\n * To display a template when `expression` evaluates to false, use an `else` template\n * binding as shown in the following example.\n * The `else` binding points to an `` element labeled `#elseBlock`.\n * The template can be defined anywhere in the component view, but is typically placed right after\n * `ngIf` for readability.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfElse'}\n *\n * ### Using an external `then` template\n *\n * In the previous example, the then-clause template is specified inline, as the content of the\n * tag that contains the `ngIf` directive. You can also specify a template that is defined\n * externally, by referencing a labeled `` element. When you do this, you can\n * change which template to use at runtime, as shown in the following example.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfThenElse'}\n *\n * ### Storing a conditional result in a variable\n *\n * You might want to show a set of properties from the same object. If you are waiting\n * for asynchronous data, the object can be undefined.\n * In this case, you can use `ngIf` and store the result of the condition in a local\n * variable as shown in the the following example.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfAs'}\n *\n * This code uses only one `AsyncPipe`, so only one subscription is created.\n * The conditional statement stores the result of `userStream|async` in the local variable `user`.\n * You can then bind the local `user` repeatedly.\n *\n * The conditional displays the data only if `userStream` returns a value,\n * so you don't need to use the\n * [safe-navigation-operator](guide/template-expression-operators#safe-navigation-operator) (`?.`)\n * to guard against null values when accessing properties.\n * You can display an alternative template while waiting for the data.\n *\n * ### Shorthand syntax\n *\n * The shorthand syntax `*ngIf` expands into two separate template specifications\n * for the \"then\" and \"else\" clauses. For example, consider the following shorthand statement,\n * that is meant to show a loading page while waiting for data to be loaded.\n *\n * ```\n *
    \n * ...\n *
    \n *\n * \n *
    Loading...
    \n *
    \n * ```\n *\n * You can see that the \"else\" clause references the ``\n * with the `#loading` label, and the template for the \"then\" clause\n * is provided as the content of the anchor element.\n *\n * However, when Angular expands the shorthand syntax, it creates\n * another `` tag, with `ngIf` and `ngIfElse` directives.\n * The anchor element containing the template for the \"then\" clause becomes\n * the content of this unlabeled `` tag.\n *\n * ```\n * \n *
    \n * ...\n *
    \n *
    \n *\n * \n *
    Loading...
    \n *
    \n * ```\n *\n * The presence of the implicit template object has implications for the nesting of\n * structural directives. For more on this subject, see\n * [Structural Directives](https://angular.io/guide/structural-directives#one-per-element).\n *\n * @ngModule CommonModule\n * @publicApi\n */\n@Directive({selector: '[ngIf]'})\nexport class NgIf {\n private _context: NgIfContext = new NgIfContext();\n private _thenTemplateRef: TemplateRef>|null = null;\n private _elseTemplateRef: TemplateRef>|null = null;\n private _thenViewRef: EmbeddedViewRef>|null = null;\n private _elseViewRef: EmbeddedViewRef>|null = null;\n\n constructor(private _viewContainer: ViewContainerRef, templateRef: TemplateRef>) {\n this._thenTemplateRef = templateRef;\n }\n\n /**\n * The Boolean expression to evaluate as the condition for showing a template.\n */\n @Input()\n set ngIf(condition: T) {\n this._context.$implicit = this._context.ngIf = condition;\n this._updateView();\n }\n\n /**\n * A template to show if the condition expression evaluates to true.\n */\n @Input()\n set ngIfThen(templateRef: TemplateRef>|null) {\n assertTemplate('ngIfThen', templateRef);\n this._thenTemplateRef = templateRef;\n this._thenViewRef = null; // clear previous view if any.\n this._updateView();\n }\n\n /**\n * A template to show if the condition expression evaluates to false.\n */\n @Input()\n set ngIfElse(templateRef: TemplateRef>|null) {\n assertTemplate('ngIfElse', templateRef);\n this._elseTemplateRef = templateRef;\n this._elseViewRef = null; // clear previous view if any.\n this._updateView();\n }\n\n private _updateView() {\n if (this._context.$implicit) {\n if (!this._thenViewRef) {\n this._viewContainer.clear();\n this._elseViewRef = null;\n if (this._thenTemplateRef) {\n this._thenViewRef =\n this._viewContainer.createEmbeddedView(this._thenTemplateRef, this._context);\n }\n }\n } else {\n if (!this._elseViewRef) {\n this._viewContainer.clear();\n this._thenViewRef = null;\n if (this._elseTemplateRef) {\n this._elseViewRef =\n this._viewContainer.createEmbeddedView(this._elseTemplateRef, this._context);\n }\n }\n }\n }\n\n /** @internal */\n public static ngIfUseIfTypeGuard: void;\n\n /**\n * Assert the correct type of the expression bound to the `ngIf` input within the template.\n *\n * The presence of this static field is a signal to the Ivy template type check compiler that\n * when the `NgIf` structural directive renders its template, the type of the expression bound\n * to `ngIf` should be narrowed in some way. For `NgIf`, the binding expression itself is used to\n * narrow its type, which allows the strictNullChecks feature of TypeScript to work with `NgIf`.\n */\n static ngTemplateGuard_ngIf: 'binding';\n\n /**\n * Asserts the correct type of the context for the template that `NgIf` will render.\n *\n * The presence of this method is a signal to the Ivy template type-check compiler that the\n * `NgIf` structural directive renders its template with a specific context type.\n */\n static ngTemplateContextGuard(dir: NgIf, ctx: any): ctx is NgIfContext> {\n return true;\n }\n}\n\n/**\n * @publicApi\n */\nexport class NgIfContext {\n public $implicit: T = null!;\n public ngIf: T = null!;\n}\n\nfunction assertTemplate(property: string, templateRef: TemplateRef|null): void {\n const isTemplateRefOrNull = !!(!templateRef || templateRef.createEmbeddedView);\n if (!isTemplateRefOrNull) {\n throw new Error(`${property} must be a TemplateRef, but received '${stringify(templateRef)}'.`);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, DoCheck, Host, Input, TemplateRef, ViewContainerRef} from '@angular/core';\n\nexport class SwitchView {\n private _created = false;\n\n constructor(\n private _viewContainerRef: ViewContainerRef, private _templateRef: TemplateRef) {}\n\n create(): void {\n this._created = true;\n this._viewContainerRef.createEmbeddedView(this._templateRef);\n }\n\n destroy(): void {\n this._created = false;\n this._viewContainerRef.clear();\n }\n\n enforceState(created: boolean) {\n if (created && !this._created) {\n this.create();\n } else if (!created && this._created) {\n this.destroy();\n }\n }\n}\n\n/**\n * @ngModule CommonModule\n *\n * @description\n * The `[ngSwitch]` directive on a container specifies an expression to match against.\n * The expressions to match are provided by `ngSwitchCase` directives on views within the container.\n * - Every view that matches is rendered.\n * - If there are no matches, a view with the `ngSwitchDefault` directive is rendered.\n * - Elements within the `[NgSwitch]` statement but outside of any `NgSwitchCase`\n * or `ngSwitchDefault` directive are preserved at the location.\n *\n * @usageNotes\n * Define a container element for the directive, and specify the switch expression\n * to match against as an attribute:\n *\n * ```\n * \n * ```\n *\n * Within the container, `*ngSwitchCase` statements specify the match expressions\n * as attributes. Include `*ngSwitchDefault` as the final case.\n *\n * ```\n * \n * ...\n * ...\n * ...\n * \n * ```\n *\n * ### Usage Examples\n *\n * The following example shows how to use more than one case to display the same view:\n *\n * ```\n * \n * \n * ...\n * ...\n * ...\n * \n * ...\n * \n * ```\n *\n * The following example shows how cases can be nested:\n * ```\n * \n * ...\n * ...\n * ...\n * \n * \n * \n * \n * \n * ...\n * \n * ```\n *\n * @publicApi\n * @see `NgSwitchCase`\n * @see `NgSwitchDefault`\n * @see [Structural Directives](guide/structural-directives)\n *\n */\n@Directive({selector: '[ngSwitch]'})\nexport class NgSwitch {\n // TODO(issue/24571): remove '!'.\n private _defaultViews!: SwitchView[];\n private _defaultUsed = false;\n private _caseCount = 0;\n private _lastCaseCheckIndex = 0;\n private _lastCasesMatched = false;\n private _ngSwitch: any;\n\n @Input()\n set ngSwitch(newValue: any) {\n this._ngSwitch = newValue;\n if (this._caseCount === 0) {\n this._updateDefaultCases(true);\n }\n }\n\n /** @internal */\n _addCase(): number {\n return this._caseCount++;\n }\n\n /** @internal */\n _addDefault(view: SwitchView) {\n if (!this._defaultViews) {\n this._defaultViews = [];\n }\n this._defaultViews.push(view);\n }\n\n /** @internal */\n _matchCase(value: any): boolean {\n const matched = value == this._ngSwitch;\n this._lastCasesMatched = this._lastCasesMatched || matched;\n this._lastCaseCheckIndex++;\n if (this._lastCaseCheckIndex === this._caseCount) {\n this._updateDefaultCases(!this._lastCasesMatched);\n this._lastCaseCheckIndex = 0;\n this._lastCasesMatched = false;\n }\n return matched;\n }\n\n private _updateDefaultCases(useDefault: boolean) {\n if (this._defaultViews && useDefault !== this._defaultUsed) {\n this._defaultUsed = useDefault;\n for (let i = 0; i < this._defaultViews.length; i++) {\n const defaultView = this._defaultViews[i];\n defaultView.enforceState(useDefault);\n }\n }\n }\n}\n\n/**\n * @ngModule CommonModule\n *\n * @description\n * Provides a switch case expression to match against an enclosing `ngSwitch` expression.\n * When the expressions match, the given `NgSwitchCase` template is rendered.\n * If multiple match expressions match the switch expression value, all of them are displayed.\n *\n * @usageNotes\n *\n * Within a switch container, `*ngSwitchCase` statements specify the match expressions\n * as attributes. Include `*ngSwitchDefault` as the final case.\n *\n * ```\n * \n * ...\n * ...\n * ...\n * \n * ```\n *\n * Each switch-case statement contains an in-line HTML template or template reference\n * that defines the subtree to be selected if the value of the match expression\n * matches the value of the switch expression.\n *\n * Unlike JavaScript, which uses strict equality, Angular uses loose equality.\n * This means that the empty string, `\"\"` matches 0.\n *\n * @publicApi\n * @see `NgSwitch`\n * @see `NgSwitchDefault`\n *\n */\n@Directive({selector: '[ngSwitchCase]'})\nexport class NgSwitchCase implements DoCheck {\n private _view: SwitchView;\n /**\n * Stores the HTML template to be selected on match.\n */\n @Input() ngSwitchCase: any;\n\n constructor(\n viewContainer: ViewContainerRef, templateRef: TemplateRef,\n @Host() private ngSwitch: NgSwitch) {\n ngSwitch._addCase();\n this._view = new SwitchView(viewContainer, templateRef);\n }\n\n /**\n * Performs case matching. For internal use only.\n */\n ngDoCheck() {\n this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase));\n }\n}\n\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Creates a view that is rendered when no `NgSwitchCase` expressions\n * match the `NgSwitch` expression.\n * This statement should be the final case in an `NgSwitch`.\n *\n * @publicApi\n * @see `NgSwitch`\n * @see `NgSwitchCase`\n *\n */\n@Directive({selector: '[ngSwitchDefault]'})\nexport class NgSwitchDefault {\n constructor(\n viewContainer: ViewContainerRef, templateRef: TemplateRef,\n @Host() ngSwitch: NgSwitch) {\n ngSwitch._addDefault(new SwitchView(viewContainer, templateRef));\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Attribute, Directive, Host, Input, TemplateRef, ViewContainerRef} from '@angular/core';\n\nimport {getPluralCategory, NgLocalization} from '../i18n/localization';\n\nimport {SwitchView} from './ng_switch';\n\n\n/**\n * @ngModule CommonModule\n *\n * @usageNotes\n * ```\n * \n * there is nothing\n * there is one\n * there are a few\n * \n * ```\n *\n * @description\n *\n * Adds / removes DOM sub-trees based on a numeric value. Tailored for pluralization.\n *\n * Displays DOM sub-trees that match the switch expression value, or failing that, DOM sub-trees\n * that match the switch expression's pluralization category.\n *\n * To use this directive you must provide a container element that sets the `[ngPlural]` attribute\n * to a switch expression. Inner elements with a `[ngPluralCase]` will display based on their\n * expression:\n * - if `[ngPluralCase]` is set to a value starting with `=`, it will only display if the value\n * matches the switch expression exactly,\n * - otherwise, the view will be treated as a \"category match\", and will only display if exact\n * value matches aren't found and the value maps to its category for the defined locale.\n *\n * See http://cldr.unicode.org/index/cldr-spec/plural-rules\n *\n * @publicApi\n */\n@Directive({selector: '[ngPlural]'})\nexport class NgPlural {\n // TODO(issue/24571): remove '!'.\n private _switchValue!: number;\n // TODO(issue/24571): remove '!'.\n private _activeView!: SwitchView;\n private _caseViews: {[k: string]: SwitchView} = {};\n\n constructor(private _localization: NgLocalization) {}\n\n @Input()\n set ngPlural(value: number) {\n this._switchValue = value;\n this._updateView();\n }\n\n addCase(value: string, switchView: SwitchView): void {\n this._caseViews[value] = switchView;\n }\n\n private _updateView(): void {\n this._clearViews();\n\n const cases = Object.keys(this._caseViews);\n const key = getPluralCategory(this._switchValue, cases, this._localization);\n this._activateView(this._caseViews[key]);\n }\n\n private _clearViews() {\n if (this._activeView) this._activeView.destroy();\n }\n\n private _activateView(view: SwitchView) {\n if (view) {\n this._activeView = view;\n this._activeView.create();\n }\n }\n}\n\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Creates a view that will be added/removed from the parent {@link NgPlural} when the\n * given expression matches the plural expression according to CLDR rules.\n *\n * @usageNotes\n * ```\n * \n * ...\n * ...\n * \n *```\n *\n * See {@link NgPlural} for more details and example.\n *\n * @publicApi\n */\n@Directive({selector: '[ngPluralCase]'})\nexport class NgPluralCase {\n constructor(\n @Attribute('ngPluralCase') public value: string, template: TemplateRef,\n viewContainer: ViewContainerRef, @Host() ngPlural: NgPlural) {\n const isANumber: boolean = !isNaN(Number(value));\n ngPlural.addCase(isANumber ? `=${value}` : value, new SwitchView(viewContainer, template));\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {Directive, DoCheck, ElementRef, Input, KeyValueChanges, KeyValueDiffer, KeyValueDiffers, Renderer2} from '@angular/core';\n\n\n/**\n * @ngModule CommonModule\n *\n * @usageNotes\n *\n * Set the font of the containing element to the result of an expression.\n *\n * ```\n * ...\n * ```\n *\n * Set the width of the containing element to a pixel value returned by an expression.\n *\n * ```\n * ...\n * ```\n *\n * Set a collection of style values using an expression that returns key-value pairs.\n *\n * ```\n * ...\n * ```\n *\n * @description\n *\n * An attribute directive that updates styles for the containing HTML element.\n * Sets one or more style properties, specified as colon-separated key-value pairs.\n * The key is a style name, with an optional `.` suffix\n * (such as 'top.px', 'font-style.em').\n * The value is an expression to be evaluated.\n * The resulting non-null value, expressed in the given unit,\n * is assigned to the given style property.\n * If the result of evaluation is null, the corresponding style is removed.\n *\n * @publicApi\n */\n@Directive({selector: '[ngStyle]'})\nexport class NgStyle implements DoCheck {\n private _ngStyle: {[key: string]: string}|null = null;\n private _differ: KeyValueDiffer|null = null;\n\n constructor(\n private _ngEl: ElementRef, private _differs: KeyValueDiffers, private _renderer: Renderer2) {}\n\n @Input('ngStyle')\n set ngStyle(values: {[klass: string]: any}|null) {\n this._ngStyle = values;\n if (!this._differ && values) {\n this._differ = this._differs.find(values).create();\n }\n }\n\n ngDoCheck() {\n if (this._differ) {\n const changes = this._differ.diff(this._ngStyle!);\n if (changes) {\n this._applyChanges(changes);\n }\n }\n }\n\n private _setStyle(nameAndUnit: string, value: string|number|null|undefined): void {\n const [name, unit] = nameAndUnit.split('.');\n value = value != null && unit ? `${value}${unit}` : value;\n\n if (value != null) {\n this._renderer.setStyle(this._ngEl.nativeElement, name, value as string);\n } else {\n this._renderer.removeStyle(this._ngEl.nativeElement, name);\n }\n }\n\n private _applyChanges(changes: KeyValueChanges): void {\n changes.forEachRemovedItem((record) => this._setStyle(record.key, null));\n changes.forEachAddedItem((record) => this._setStyle(record.key, record.currentValue));\n changes.forEachChangedItem((record) => this._setStyle(record.key, record.currentValue));\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, EmbeddedViewRef, Input, OnChanges, SimpleChange, SimpleChanges, TemplateRef, ViewContainerRef} from '@angular/core';\n\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Inserts an embedded view from a prepared `TemplateRef`.\n *\n * You can attach a context object to the `EmbeddedViewRef` by setting `[ngTemplateOutletContext]`.\n * `[ngTemplateOutletContext]` should be an object, the object's keys will be available for binding\n * by the local template `let` declarations.\n *\n * @usageNotes\n * ```\n * \n * ```\n *\n * Using the key `$implicit` in the context object will set its value as default.\n *\n * ### Example\n *\n * {@example common/ngTemplateOutlet/ts/module.ts region='NgTemplateOutlet'}\n *\n * @publicApi\n */\n@Directive({selector: '[ngTemplateOutlet]'})\nexport class NgTemplateOutlet implements OnChanges {\n private _viewRef: EmbeddedViewRef|null = null;\n\n /**\n * A context object to attach to the {@link EmbeddedViewRef}. This should be an\n * object, the object's keys will be available for binding by the local template `let`\n * declarations.\n * Using the key `$implicit` in the context object will set its value as default.\n */\n @Input() public ngTemplateOutletContext: Object|null = null;\n\n /**\n * A string defining the template reference and optionally the context object for the template.\n */\n @Input() public ngTemplateOutlet: TemplateRef|null = null;\n\n constructor(private _viewContainerRef: ViewContainerRef) {}\n\n ngOnChanges(changes: SimpleChanges) {\n const recreateView = this._shouldRecreateView(changes);\n\n if (recreateView) {\n const viewContainerRef = this._viewContainerRef;\n\n if (this._viewRef) {\n viewContainerRef.remove(viewContainerRef.indexOf(this._viewRef));\n }\n\n this._viewRef = this.ngTemplateOutlet ?\n viewContainerRef.createEmbeddedView(this.ngTemplateOutlet, this.ngTemplateOutletContext) :\n null;\n } else if (this._viewRef && this.ngTemplateOutletContext) {\n this._updateExistingContext(this.ngTemplateOutletContext);\n }\n }\n\n /**\n * We need to re-create existing embedded view if:\n * - templateRef has changed\n * - context has changes\n *\n * We mark context object as changed when the corresponding object\n * shape changes (new properties are added or existing properties are removed).\n * In other words we consider context with the same properties as \"the same\" even\n * if object reference changes (see https://github.com/angular/angular/issues/13407).\n */\n private _shouldRecreateView(changes: SimpleChanges): boolean {\n const ctxChange = changes['ngTemplateOutletContext'];\n return !!changes['ngTemplateOutlet'] || (ctxChange && this._hasContextShapeChanged(ctxChange));\n }\n\n private _hasContextShapeChanged(ctxChange: SimpleChange): boolean {\n const prevCtxKeys = Object.keys(ctxChange.previousValue || {});\n const currCtxKeys = Object.keys(ctxChange.currentValue || {});\n\n if (prevCtxKeys.length === currCtxKeys.length) {\n for (let propName of currCtxKeys) {\n if (prevCtxKeys.indexOf(propName) === -1) {\n return true;\n }\n }\n return false;\n }\n return true;\n }\n\n private _updateExistingContext(ctx: Object): void {\n for (let propName of Object.keys(ctx)) {\n (this._viewRef!.context)[propName] = (this.ngTemplateOutletContext)[propName];\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Provider} from '@angular/core';\nimport {NgClass} from './ng_class';\nimport {NgComponentOutlet} from './ng_component_outlet';\nimport {NgForOf, NgForOfContext} from './ng_for_of';\nimport {NgIf, NgIfContext} from './ng_if';\nimport {NgPlural, NgPluralCase} from './ng_plural';\nimport {NgStyle} from './ng_style';\nimport {NgSwitch, NgSwitchCase, NgSwitchDefault} from './ng_switch';\nimport {NgTemplateOutlet} from './ng_template_outlet';\n\nexport {\n NgClass,\n NgComponentOutlet,\n NgForOf,\n NgForOfContext,\n NgIf,\n NgIfContext,\n NgPlural,\n NgPluralCase,\n NgStyle,\n NgSwitch,\n NgSwitchCase,\n NgSwitchDefault,\n NgTemplateOutlet,\n};\n\n\n\n/**\n * A collection of Angular directives that are likely to be used in each and every Angular\n * application.\n */\nexport const COMMON_DIRECTIVES: Provider[] = [\n NgClass,\n NgComponentOutlet,\n NgForOf,\n NgIf,\n NgTemplateOutlet,\n NgStyle,\n NgSwitch,\n NgSwitchCase,\n NgSwitchDefault,\n NgPlural,\n NgPluralCase,\n];\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Type, ɵstringify as stringify} from '@angular/core';\n\nexport function invalidPipeArgumentError(type: Type, value: Object) {\n return Error(`InvalidPipeArgument: '${value}' for pipe '${stringify(type)}'`);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ChangeDetectorRef, EventEmitter, OnDestroy, Pipe, PipeTransform, ɵisObservable, ɵisPromise} from '@angular/core';\nimport {Observable, SubscriptionLike} from 'rxjs';\nimport {invalidPipeArgumentError} from './invalid_pipe_argument_error';\n\ninterface SubscriptionStrategy {\n createSubscription(async: Observable|Promise, updateLatestValue: any): SubscriptionLike\n |Promise;\n dispose(subscription: SubscriptionLike|Promise): void;\n onDestroy(subscription: SubscriptionLike|Promise): void;\n}\n\nclass ObservableStrategy implements SubscriptionStrategy {\n createSubscription(async: Observable, updateLatestValue: any): SubscriptionLike {\n return async.subscribe({\n next: updateLatestValue,\n error: (e: any) => {\n throw e;\n }\n });\n }\n\n dispose(subscription: SubscriptionLike): void {\n subscription.unsubscribe();\n }\n\n onDestroy(subscription: SubscriptionLike): void {\n subscription.unsubscribe();\n }\n}\n\nclass PromiseStrategy implements SubscriptionStrategy {\n createSubscription(async: Promise, updateLatestValue: (v: any) => any): Promise {\n return async.then(updateLatestValue, e => {\n throw e;\n });\n }\n\n dispose(subscription: Promise): void {}\n\n onDestroy(subscription: Promise): void {}\n}\n\nconst _promiseStrategy = new PromiseStrategy();\nconst _observableStrategy = new ObservableStrategy();\n\n/**\n * @ngModule CommonModule\n * @description\n *\n * Unwraps a value from an asynchronous primitive.\n *\n * The `async` pipe subscribes to an `Observable` or `Promise` and returns the latest value it has\n * emitted. When a new value is emitted, the `async` pipe marks the component to be checked for\n * changes. When the component gets destroyed, the `async` pipe unsubscribes automatically to avoid\n * potential memory leaks.\n *\n * @usageNotes\n *\n * ### Examples\n *\n * This example binds a `Promise` to the view. Clicking the `Resolve` button resolves the\n * promise.\n *\n * {@example common/pipes/ts/async_pipe.ts region='AsyncPipePromise'}\n *\n * It's also possible to use `async` with Observables. The example below binds the `time` Observable\n * to the view. The Observable continuously updates the view with the current time.\n *\n * {@example common/pipes/ts/async_pipe.ts region='AsyncPipeObservable'}\n *\n * @publicApi\n */\n@Pipe({name: 'async', pure: false})\nexport class AsyncPipe implements OnDestroy, PipeTransform {\n private _latestValue: any = null;\n\n private _subscription: SubscriptionLike|Promise|null = null;\n private _obj: Observable|Promise|EventEmitter|null = null;\n private _strategy: SubscriptionStrategy = null!;\n\n constructor(private _ref: ChangeDetectorRef) {}\n\n ngOnDestroy(): void {\n if (this._subscription) {\n this._dispose();\n }\n }\n\n transform(obj: null): null;\n transform(obj: undefined): undefined;\n transform(obj: Observable|null|undefined): T|null;\n transform(obj: Promise|null|undefined): T|null;\n transform(obj: Observable|Promise|null|undefined): any {\n if (!this._obj) {\n if (obj) {\n this._subscribe(obj);\n }\n return this._latestValue;\n }\n\n if (obj !== this._obj) {\n this._dispose();\n return this.transform(obj as any);\n }\n\n return this._latestValue;\n }\n\n private _subscribe(obj: Observable|Promise|EventEmitter): void {\n this._obj = obj;\n this._strategy = this._selectStrategy(obj);\n this._subscription = this._strategy.createSubscription(\n obj, (value: Object) => this._updateLatestValue(obj, value));\n }\n\n private _selectStrategy(obj: Observable|Promise|EventEmitter): any {\n if (ɵisPromise(obj)) {\n return _promiseStrategy;\n }\n\n if (ɵisObservable(obj)) {\n return _observableStrategy;\n }\n\n throw invalidPipeArgumentError(AsyncPipe, obj);\n }\n\n private _dispose(): void {\n this._strategy.dispose(this._subscription!);\n this._latestValue = null;\n this._subscription = null;\n this._obj = null;\n }\n\n private _updateLatestValue(async: any, value: Object): void {\n if (async === this._obj) {\n this._latestValue = value;\n this._ref.markForCheck();\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Pipe, PipeTransform} from '@angular/core';\nimport {invalidPipeArgumentError} from './invalid_pipe_argument_error';\n\n/**\n * Transforms text to all lower case.\n *\n * @see `UpperCasePipe`\n * @see `TitleCasePipe`\n * @usageNotes\n *\n * The following example defines a view that allows the user to enter\n * text, and then uses the pipe to convert the input text to all lower case.\n *\n * \n *\n * @ngModule CommonModule\n * @publicApi\n */\n@Pipe({name: 'lowercase'})\nexport class LowerCasePipe implements PipeTransform {\n /**\n * @param value The string to transform to lower case.\n */\n transform(value: string): string {\n if (!value) return value;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(LowerCasePipe, value);\n }\n return value.toLowerCase();\n }\n}\n\n//\n// Regex below matches any Unicode word and compatible with ES5. In ES2018 the same result\n// can be achieved by using /\\p{L}\\S*/gu and also known as Unicode Property Escapes\n// (http://2ality.com/2017/07/regexp-unicode-property-escapes.html). Since there is no\n// transpilation of this functionality down to ES5 without external tool, the only solution is\n// to use already transpiled form. Example can be found here -\n// https://mothereff.in/regexpu#input=var+regex+%3D+/%5Cp%7BL%7D/u%3B&unicodePropertyEscape=1\n//\n\nconst unicodeWordMatch =\n /(?:[A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312E\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FEA\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF40\\uDF42-\\uDF49\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE83\\uDE86-\\uDE89\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00-\\uDD1E\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D])\\S*/g;\n\n/**\n * Transforms text to title case.\n * Capitalizes the first letter of each word and transforms the\n * rest of the word to lower case.\n * Words are delimited by any whitespace character, such as a space, tab, or line-feed character.\n *\n * @see `LowerCasePipe`\n * @see `UpperCasePipe`\n *\n * @usageNotes\n * The following example shows the result of transforming various strings into title case.\n *\n * \n *\n * @ngModule CommonModule\n * @publicApi\n */\n@Pipe({name: 'titlecase'})\nexport class TitleCasePipe implements PipeTransform {\n /**\n * @param value The string to transform to title case.\n */\n transform(value: string): string {\n if (!value) return value;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(TitleCasePipe, value);\n }\n\n return value.replace(\n unicodeWordMatch, (txt => txt[0].toUpperCase() + txt.substr(1).toLowerCase()));\n }\n}\n\n/**\n * Transforms text to all upper case.\n * @see `LowerCasePipe`\n * @see `TitleCasePipe`\n *\n * @ngModule CommonModule\n * @publicApi\n */\n@Pipe({name: 'uppercase'})\nexport class UpperCasePipe implements PipeTransform {\n /**\n * @param value The string to transform to upper case.\n */\n transform(value: string): string {\n if (!value) return value;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(UpperCasePipe, value);\n }\n return value.toUpperCase();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Inject, LOCALE_ID, Pipe, PipeTransform} from '@angular/core';\nimport {formatDate} from '../i18n/format_date';\nimport {invalidPipeArgumentError} from './invalid_pipe_argument_error';\n\n// clang-format off\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a date value according to locale rules.\n *\n * Only the `en-US` locale data comes with Angular. To localize dates\n * in another language, you must import the corresponding locale data.\n * See the [I18n guide](guide/i18n#i18n-pipes) for more information.\n *\n * @see `formatDate()`\n *\n *\n * @usageNotes\n *\n * The result of this pipe is not reevaluated when the input is mutated. To avoid the need to\n * reformat the date on every change-detection cycle, treat the date as an immutable object\n * and change the reference when the pipe needs to run again.\n *\n * ### Pre-defined format options\n *\n * Examples are given in `en-US` locale.\n *\n * - `'short'`: equivalent to `'M/d/yy, h:mm a'` (`6/15/15, 9:03 AM`).\n * - `'medium'`: equivalent to `'MMM d, y, h:mm:ss a'` (`Jun 15, 2015, 9:03:01 AM`).\n * - `'long'`: equivalent to `'MMMM d, y, h:mm:ss a z'` (`June 15, 2015 at 9:03:01 AM\n * GMT+1`).\n * - `'full'`: equivalent to `'EEEE, MMMM d, y, h:mm:ss a zzzz'` (`Monday, June 15, 2015 at\n * 9:03:01 AM GMT+01:00`).\n * - `'shortDate'`: equivalent to `'M/d/yy'` (`6/15/15`).\n * - `'mediumDate'`: equivalent to `'MMM d, y'` (`Jun 15, 2015`).\n * - `'longDate'`: equivalent to `'MMMM d, y'` (`June 15, 2015`).\n * - `'fullDate'`: equivalent to `'EEEE, MMMM d, y'` (`Monday, June 15, 2015`).\n * - `'shortTime'`: equivalent to `'h:mm a'` (`9:03 AM`).\n * - `'mediumTime'`: equivalent to `'h:mm:ss a'` (`9:03:01 AM`).\n * - `'longTime'`: equivalent to `'h:mm:ss a z'` (`9:03:01 AM GMT+1`).\n * - `'fullTime'`: equivalent to `'h:mm:ss a zzzz'` (`9:03:01 AM GMT+01:00`).\n *\n * ### Custom format options\n *\n * You can construct a format string using symbols to specify the components\n * of a date-time value, as described in the following table.\n * Format details depend on the locale.\n * Fields marked with (*) are only available in the extra data set for the given locale.\n *\n * | Field type | Format | Description | Example Value |\n * |--------------------|-------------|---------------------------------------------------------------|------------------------------------------------------------|\n * | Era | G, GG & GGG | Abbreviated | AD |\n * | | GGGG | Wide | Anno Domini |\n * | | GGGGG | Narrow | A |\n * | Year | y | Numeric: minimum digits | 2, 20, 201, 2017, 20173 |\n * | | yy | Numeric: 2 digits + zero padded | 02, 20, 01, 17, 73 |\n * | | yyy | Numeric: 3 digits + zero padded | 002, 020, 201, 2017, 20173 |\n * | | yyyy | Numeric: 4 digits or more + zero padded | 0002, 0020, 0201, 2017, 20173 |\n * | Month | M | Numeric: 1 digit | 9, 12 |\n * | | MM | Numeric: 2 digits + zero padded | 09, 12 |\n * | | MMM | Abbreviated | Sep |\n * | | MMMM | Wide | September |\n * | | MMMMM | Narrow | S |\n * | Month standalone | L | Numeric: 1 digit | 9, 12 |\n * | | LL | Numeric: 2 digits + zero padded | 09, 12 |\n * | | LLL | Abbreviated | Sep |\n * | | LLLL | Wide | September |\n * | | LLLLL | Narrow | S |\n * | Week of year | w | Numeric: minimum digits | 1... 53 |\n * | | ww | Numeric: 2 digits + zero padded | 01... 53 |\n * | Week of month | W | Numeric: 1 digit | 1... 5 |\n * | Day of month | d | Numeric: minimum digits | 1 |\n * | | dd | Numeric: 2 digits + zero padded | 01 |\n * | Week day | E, EE & EEE | Abbreviated | Tue |\n * | | EEEE | Wide | Tuesday |\n * | | EEEEE | Narrow | T |\n * | | EEEEEE | Short | Tu |\n * | Period | a, aa & aaa | Abbreviated | am/pm or AM/PM |\n * | | aaaa | Wide (fallback to `a` when missing) | ante meridiem/post meridiem |\n * | | aaaaa | Narrow | a/p |\n * | Period* | B, BB & BBB | Abbreviated | mid. |\n * | | BBBB | Wide | am, pm, midnight, noon, morning, afternoon, evening, night |\n * | | BBBBB | Narrow | md |\n * | Period standalone* | b, bb & bbb | Abbreviated | mid. |\n * | | bbbb | Wide | am, pm, midnight, noon, morning, afternoon, evening, night |\n * | | bbbbb | Narrow | md |\n * | Hour 1-12 | h | Numeric: minimum digits | 1, 12 |\n * | | hh | Numeric: 2 digits + zero padded | 01, 12 |\n * | Hour 0-23 | H | Numeric: minimum digits | 0, 23 |\n * | | HH | Numeric: 2 digits + zero padded | 00, 23 |\n * | Minute | m | Numeric: minimum digits | 8, 59 |\n * | | mm | Numeric: 2 digits + zero padded | 08, 59 |\n * | Second | s | Numeric: minimum digits | 0... 59 |\n * | | ss | Numeric: 2 digits + zero padded | 00... 59 |\n * | Fractional seconds | S | Numeric: 1 digit | 0... 9 |\n * | | SS | Numeric: 2 digits + zero padded | 00... 99 |\n * | | SSS | Numeric: 3 digits + zero padded (= milliseconds) | 000... 999 |\n * | Zone | z, zz & zzz | Short specific non location format (fallback to O) | GMT-8 |\n * | | zzzz | Long specific non location format (fallback to OOOO) | GMT-08:00 |\n * | | Z, ZZ & ZZZ | ISO8601 basic format | -0800 |\n * | | ZZZZ | Long localized GMT format | GMT-8:00 |\n * | | ZZZZZ | ISO8601 extended format + Z indicator for offset 0 (= XXXXX) | -08:00 |\n * | | O, OO & OOO | Short localized GMT format | GMT-8 |\n * | | OOOO | Long localized GMT format | GMT-08:00 |\n *\n * Note that timezone correction is not applied to an ISO string that has no time component, such as \"2016-09-19\"\n *\n * ### Format examples\n *\n * These examples transform a date into various formats,\n * assuming that `dateObj` is a JavaScript `Date` object for\n * year: 2015, month: 6, day: 15, hour: 21, minute: 43, second: 11,\n * given in the local time for the `en-US` locale.\n *\n * ```\n * {{ dateObj | date }} // output is 'Jun 15, 2015'\n * {{ dateObj | date:'medium' }} // output is 'Jun 15, 2015, 9:43:11 PM'\n * {{ dateObj | date:'shortTime' }} // output is '9:43 PM'\n * {{ dateObj | date:'mm:ss' }} // output is '43:11'\n * ```\n *\n * ### Usage example\n *\n * The following component uses a date pipe to display the current date in different formats.\n *\n * ```\n * @Component({\n * selector: 'date-pipe',\n * template: `
    \n *

    Today is {{today | date}}

    \n *

    Or if you prefer, {{today | date:'fullDate'}}

    \n *

    The time is {{today | date:'h:mm a z'}}

    \n *
    `\n * })\n * // Get the current date and time as a date-time value.\n * export class DatePipeComponent {\n * today: number = Date.now();\n * }\n * ```\n *\n * @publicApi\n */\n// clang-format on\n@Pipe({name: 'date', pure: true})\nexport class DatePipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private locale: string) {}\n\n /**\n * @param value The date expression: a `Date` object, a number\n * (milliseconds since UTC epoch), or an ISO string (https://www.w3.org/TR/NOTE-datetime).\n * @param format The date/time components to include, using predefined options or a\n * custom format string.\n * @param timezone A timezone offset (such as `'+0430'`), or a standard\n * UTC/GMT or continental US timezone abbreviation.\n * When not supplied, uses the end-user's local system timezone.\n * @param locale A locale code for the locale format rules to use.\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\n * See [Setting your app locale](guide/i18n#setting-up-the-locale-of-your-app).\n * @returns A date string in the desired format.\n */\n transform(value: any, format = 'mediumDate', timezone?: string, locale?: string): string|null {\n if (value == null || value === '' || value !== value) return null;\n\n try {\n return formatDate(value, format, locale || this.locale, timezone);\n } catch (error) {\n throw invalidPipeArgumentError(DatePipe, error.message);\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Pipe, PipeTransform} from '@angular/core';\n\nimport {getPluralCategory, NgLocalization} from '../i18n/localization';\n\nimport {invalidPipeArgumentError} from './invalid_pipe_argument_error';\n\nconst _INTERPOLATION_REGEXP: RegExp = /#/g;\n\n/**\n * @ngModule CommonModule\n * @description\n *\n * Maps a value to a string that pluralizes the value according to locale rules.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/pipes/ts/i18n_pipe.ts region='I18nPluralPipeComponent'}\n *\n * @publicApi\n */\n@Pipe({name: 'i18nPlural', pure: true})\nexport class I18nPluralPipe implements PipeTransform {\n constructor(private _localization: NgLocalization) {}\n\n /**\n * @param value the number to be formatted\n * @param pluralMap an object that mimics the ICU format, see\n * http://userguide.icu-project.org/formatparse/messages.\n * @param locale a `string` defining the locale to use (uses the current {@link LOCALE_ID} by\n * default).\n */\n transform(value: number, pluralMap: {[count: string]: string}, locale?: string): string {\n if (value == null) return '';\n\n if (typeof pluralMap !== 'object' || pluralMap === null) {\n throw invalidPipeArgumentError(I18nPluralPipe, pluralMap);\n }\n\n const key = getPluralCategory(value, Object.keys(pluralMap), this._localization, locale);\n\n return pluralMap[key].replace(_INTERPOLATION_REGEXP, value.toString());\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Pipe, PipeTransform} from '@angular/core';\nimport {invalidPipeArgumentError} from './invalid_pipe_argument_error';\n\n/**\n * @ngModule CommonModule\n * @description\n *\n * Generic selector that displays the string that matches the current value.\n *\n * If none of the keys of the `mapping` match the `value`, then the content\n * of the `other` key is returned when present, otherwise an empty string is returned.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/pipes/ts/i18n_pipe.ts region='I18nSelectPipeComponent'}\n *\n * @publicApi\n */\n@Pipe({name: 'i18nSelect', pure: true})\nexport class I18nSelectPipe implements PipeTransform {\n /**\n * @param value a string to be internationalized.\n * @param mapping an object that indicates the text that should be displayed\n * for different values of the provided `value`.\n */\n transform(value: string|null|undefined, mapping: {[key: string]: string}): string {\n if (value == null) return '';\n\n if (typeof mapping !== 'object' || typeof value !== 'string') {\n throw invalidPipeArgumentError(I18nSelectPipe, mapping);\n }\n\n if (mapping.hasOwnProperty(value)) {\n return mapping[value];\n }\n\n if (mapping.hasOwnProperty('other')) {\n return mapping['other'];\n }\n\n return '';\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Pipe, PipeTransform} from '@angular/core';\n\n/**\n * @ngModule CommonModule\n * @description\n *\n * Converts a value into its JSON-format representation. Useful for debugging.\n *\n * @usageNotes\n *\n * The following component uses a JSON pipe to convert an object\n * to JSON format, and displays the string in both formats for comparison.\n *\n * {@example common/pipes/ts/json_pipe.ts region='JsonPipe'}\n *\n * @publicApi\n */\n@Pipe({name: 'json', pure: false})\nexport class JsonPipe implements PipeTransform {\n /**\n * @param value A value of any type to convert into a JSON-format string.\n */\n transform(value: any): string {\n return JSON.stringify(value, null, 2);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {KeyValueChangeRecord, KeyValueChanges, KeyValueDiffer, KeyValueDiffers, Pipe, PipeTransform} from '@angular/core';\n\nfunction makeKeyValuePair(key: K, value: V): KeyValue {\n return {key: key, value: value};\n}\n\n/**\n * A key value pair.\n * Usually used to represent the key value pairs from a Map or Object.\n *\n * @publicApi\n */\nexport interface KeyValue {\n key: K;\n value: V;\n}\n\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms Object or Map into an array of key value pairs.\n *\n * The output array will be ordered by keys.\n * By default the comparator will be by Unicode point value.\n * You can optionally pass a compareFn if your keys are complex types.\n *\n * @usageNotes\n * ### Examples\n *\n * This examples show how an Object or a Map can be iterated by ngFor with the use of this keyvalue\n * pipe.\n *\n * {@example common/pipes/ts/keyvalue_pipe.ts region='KeyValuePipe'}\n *\n * @publicApi\n */\n@Pipe({name: 'keyvalue', pure: false})\nexport class KeyValuePipe implements PipeTransform {\n constructor(private readonly differs: KeyValueDiffers) {}\n\n private differ!: KeyValueDiffer;\n private keyValues: Array> = [];\n\n transform(input: null, compareFn?: (a: KeyValue, b: KeyValue) => number): null;\n transform(\n input: {[key: string]: V}|Map,\n compareFn?: (a: KeyValue, b: KeyValue) => number):\n Array>;\n transform(\n input: {[key: string]: V}|Map|null,\n compareFn?: (a: KeyValue, b: KeyValue) => number):\n Array>|null;\n transform(\n input: {[key: number]: V}|Map,\n compareFn?: (a: KeyValue, b: KeyValue) => number):\n Array>;\n transform(\n input: {[key: number]: V}|Map|null,\n compareFn?: (a: KeyValue, b: KeyValue) => number):\n Array>|null;\n transform(input: Map, compareFn?: (a: KeyValue, b: KeyValue) => number):\n Array>;\n transform(\n input: Map|null,\n compareFn?: (a: KeyValue, b: KeyValue) => number): Array>|null;\n transform(\n input: null|{[key: string]: V, [key: number]: V}|Map,\n compareFn: (a: KeyValue, b: KeyValue) => number = defaultComparator):\n Array>|null {\n if (!input || (!(input instanceof Map) && typeof input !== 'object')) {\n return null;\n }\n\n if (!this.differ) {\n // make a differ for whatever type we've been passed in\n this.differ = this.differs.find(input).create();\n }\n\n const differChanges: KeyValueChanges|null = this.differ.diff(input as any);\n\n if (differChanges) {\n this.keyValues = [];\n differChanges.forEachItem((r: KeyValueChangeRecord) => {\n this.keyValues.push(makeKeyValuePair(r.key, r.currentValue!));\n });\n this.keyValues.sort(compareFn);\n }\n return this.keyValues;\n }\n}\n\nexport function defaultComparator(\n keyValueA: KeyValue, keyValueB: KeyValue): number {\n const a = keyValueA.key;\n const b = keyValueB.key;\n // if same exit with 0;\n if (a === b) return 0;\n // make sure that undefined are at the end of the sort.\n if (a === undefined) return 1;\n if (b === undefined) return -1;\n // make sure that nulls are at the end of the sort.\n if (a === null) return 1;\n if (b === null) return -1;\n if (typeof a == 'string' && typeof b == 'string') {\n return a < b ? -1 : 1;\n }\n if (typeof a == 'number' && typeof b == 'number') {\n return a - b;\n }\n if (typeof a == 'boolean' && typeof b == 'boolean') {\n return a < b ? -1 : 1;\n }\n // `a` and `b` are of different types. Compare their string values.\n const aString = String(a);\n const bString = String(b);\n return aString == bString ? 0 : aString < bString ? -1 : 1;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {DEFAULT_CURRENCY_CODE, Inject, LOCALE_ID, Pipe, PipeTransform} from '@angular/core';\nimport {formatCurrency, formatNumber, formatPercent} from '../i18n/format_number';\nimport {getCurrencySymbol} from '../i18n/locale_data_api';\n\nimport {invalidPipeArgumentError} from './invalid_pipe_argument_error';\n\n\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms a number into a string,\n * formatted according to locale rules that determine group sizing and\n * separator, decimal-point character, and other locale-specific\n * configurations.\n *\n * If no parameters are specified, the function rounds off to the nearest value using this\n * [rounding method](https://en.wikibooks.org/wiki/Arithmetic/Rounding).\n * The behavior differs from that of the JavaScript ```Math.round()``` function.\n * In the following case for example, the pipe rounds down where\n * ```Math.round()``` rounds up:\n *\n * ```html\n * -2.5 | number:'1.0-0'\n * > -3\n * Math.round(-2.5)\n * > -2\n * ```\n *\n * @see `formatNumber()`\n *\n * @usageNotes\n * The following code shows how the pipe transforms numbers\n * into text strings, according to various format specifications,\n * where the caller's default locale is `en-US`.\n *\n * ### Example\n *\n * \n *\n * @publicApi\n */\n@Pipe({name: 'number'})\nexport class DecimalPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private _locale: string) {}\n\n /**\n * @param value The number to be formatted.\n * @param digitsInfo Decimal representation options, specified by a string\n * in the following format:
    \n * {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}.\n * - `minIntegerDigits`: The minimum number of integer digits before the decimal point.\n * Default is `1`.\n * - `minFractionDigits`: The minimum number of digits after the decimal point.\n * Default is `0`.\n * - `maxFractionDigits`: The maximum number of digits after the decimal point.\n * Default is `3`.\n * @param locale A locale code for the locale format rules to use.\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\n * See [Setting your app locale](guide/i18n#setting-up-the-locale-of-your-app).\n */\n transform(value: any, digitsInfo?: string, locale?: string): string|null {\n if (isEmpty(value)) return null;\n\n locale = locale || this._locale;\n\n try {\n const num = strToNumber(value);\n return formatNumber(num, locale, digitsInfo);\n } catch (error) {\n throw invalidPipeArgumentError(DecimalPipe, error.message);\n }\n }\n}\n\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms a number to a percentage\n * string, formatted according to locale rules that determine group sizing and\n * separator, decimal-point character, and other locale-specific\n * configurations.\n *\n * @see `formatPercent()`\n *\n * @usageNotes\n * The following code shows how the pipe transforms numbers\n * into text strings, according to various format specifications,\n * where the caller's default locale is `en-US`.\n *\n * \n *\n * @publicApi\n */\n@Pipe({name: 'percent'})\nexport class PercentPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private _locale: string) {}\n\n /**\n *\n * @param value The number to be formatted as a percentage.\n * @param digitsInfo Decimal representation options, specified by a string\n * in the following format:
    \n * {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}.\n * - `minIntegerDigits`: The minimum number of integer digits before the decimal point.\n * Default is `1`.\n * - `minFractionDigits`: The minimum number of digits after the decimal point.\n * Default is `0`.\n * - `maxFractionDigits`: The maximum number of digits after the decimal point.\n * Default is `0`.\n * @param locale A locale code for the locale format rules to use.\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\n * See [Setting your app locale](guide/i18n#setting-up-the-locale-of-your-app).\n */\n transform(value: any, digitsInfo?: string, locale?: string): string|null {\n if (isEmpty(value)) return null;\n locale = locale || this._locale;\n try {\n const num = strToNumber(value);\n return formatPercent(num, locale, digitsInfo);\n } catch (error) {\n throw invalidPipeArgumentError(PercentPipe, error.message);\n }\n }\n}\n\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms a number to a currency string, formatted according to locale rules\n * that determine group sizing and separator, decimal-point character,\n * and other locale-specific configurations.\n *\n * {@a currency-code-deprecation}\n *
    \n *\n * **Deprecation notice:**\n *\n * The default currency code is currently always `USD` but this is deprecated from v9.\n *\n * **In v11 the default currency code will be taken from the current locale identified by\n * the `LOCAL_ID` token. See the [i18n guide](guide/i18n#setting-up-the-locale-of-your-app) for\n * more information.**\n *\n * If you need the previous behavior then set it by creating a `DEFAULT_CURRENCY_CODE` provider in\n * your application `NgModule`:\n *\n * ```ts\n * {provide: DEFAULT_CURRENCY_CODE, useValue: 'USD'}\n * ```\n *\n *
    \n *\n * @see `getCurrencySymbol()`\n * @see `formatCurrency()`\n *\n * @usageNotes\n * The following code shows how the pipe transforms numbers\n * into text strings, according to various format specifications,\n * where the caller's default locale is `en-US`.\n *\n * \n *\n * @publicApi\n */\n@Pipe({name: 'currency'})\nexport class CurrencyPipe implements PipeTransform {\n constructor(\n @Inject(LOCALE_ID) private _locale: string,\n @Inject(DEFAULT_CURRENCY_CODE) private _defaultCurrencyCode: string = 'USD') {}\n\n /**\n *\n * @param value The number to be formatted as currency.\n * @param currencyCode The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code,\n * such as `USD` for the US dollar and `EUR` for the euro. The default currency code can be\n * configured using the `DEFAULT_CURRENCY_CODE` injection token.\n * @param display The format for the currency indicator. One of the following:\n * - `code`: Show the code (such as `USD`).\n * - `symbol`(default): Show the symbol (such as `$`).\n * - `symbol-narrow`: Use the narrow symbol for locales that have two symbols for their\n * currency.\n * For example, the Canadian dollar CAD has the symbol `CA$` and the symbol-narrow `$`. If the\n * locale has no narrow symbol, uses the standard symbol for the locale.\n * - String: Use the given string value instead of a code or a symbol.\n * For example, an empty string will suppress the currency & symbol.\n * - Boolean (marked deprecated in v5): `true` for symbol and false for `code`.\n *\n * @param digitsInfo Decimal representation options, specified by a string\n * in the following format:
    \n * {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}.\n * - `minIntegerDigits`: The minimum number of integer digits before the decimal point.\n * Default is `1`.\n * - `minFractionDigits`: The minimum number of digits after the decimal point.\n * Default is `2`.\n * - `maxFractionDigits`: The maximum number of digits after the decimal point.\n * Default is `2`.\n * If not provided, the number will be formatted with the proper amount of digits,\n * depending on what the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) specifies.\n * For example, the Canadian dollar has 2 digits, whereas the Chilean peso has none.\n * @param locale A locale code for the locale format rules to use.\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\n * See [Setting your app locale](guide/i18n#setting-up-the-locale-of-your-app).\n */\n transform(\n value: any, currencyCode?: string,\n display: 'code'|'symbol'|'symbol-narrow'|string|boolean = 'symbol', digitsInfo?: string,\n locale?: string): string|null {\n if (isEmpty(value)) return null;\n\n locale = locale || this._locale;\n\n if (typeof display === 'boolean') {\n if (console && console.warn) {\n console.warn(\n `Warning: the currency pipe has been changed in Angular v5. The symbolDisplay option (third parameter) is now a string instead of a boolean. The accepted values are \"code\", \"symbol\" or \"symbol-narrow\".`);\n }\n display = display ? 'symbol' : 'code';\n }\n\n let currency: string = currencyCode || this._defaultCurrencyCode;\n if (display !== 'code') {\n if (display === 'symbol' || display === 'symbol-narrow') {\n currency = getCurrencySymbol(currency, display === 'symbol' ? 'wide' : 'narrow', locale);\n } else {\n currency = display;\n }\n }\n\n try {\n const num = strToNumber(value);\n return formatCurrency(num, locale, currency, currencyCode, digitsInfo);\n } catch (error) {\n throw invalidPipeArgumentError(CurrencyPipe, error.message);\n }\n }\n}\n\nfunction isEmpty(value: any): boolean {\n return value == null || value === '' || value !== value;\n}\n\n/**\n * Transforms a string into a number (if needed).\n */\nfunction strToNumber(value: number|string): number {\n // Convert strings to numbers\n if (typeof value === 'string' && !isNaN(Number(value) - parseFloat(value))) {\n return Number(value);\n }\n if (typeof value !== 'number') {\n throw new Error(`${value} is not a number`);\n }\n return value;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Pipe, PipeTransform} from '@angular/core';\nimport {invalidPipeArgumentError} from './invalid_pipe_argument_error';\n\n/**\n * @ngModule CommonModule\n * @description\n *\n * Creates a new `Array` or `String` containing a subset (slice) of the elements.\n *\n * @usageNotes\n *\n * All behavior is based on the expected behavior of the JavaScript API `Array.prototype.slice()`\n * and `String.prototype.slice()`.\n *\n * When operating on an `Array`, the returned `Array` is always a copy even when all\n * the elements are being returned.\n *\n * When operating on a blank value, the pipe returns the blank value.\n *\n * ### List Example\n *\n * This `ngFor` example:\n *\n * {@example common/pipes/ts/slice_pipe.ts region='SlicePipe_list'}\n *\n * produces the following:\n *\n * ```html\n *
  • b
  • \n *
  • c
  • \n * ```\n *\n * ### String Examples\n *\n * {@example common/pipes/ts/slice_pipe.ts region='SlicePipe_string'}\n *\n * @publicApi\n */\n@Pipe({name: 'slice', pure: false})\nexport class SlicePipe implements PipeTransform {\n /**\n * @param value a list or a string to be sliced.\n * @param start the starting index of the subset to return:\n * - **a positive integer**: return the item at `start` index and all items after\n * in the list or string expression.\n * - **a negative integer**: return the item at `start` index from the end and all items after\n * in the list or string expression.\n * - **if positive and greater than the size of the expression**: return an empty list or\n * string.\n * - **if negative and greater than the size of the expression**: return entire list or string.\n * @param end the ending index of the subset to return:\n * - **omitted**: return all items until the end.\n * - **if positive**: return all items before `end` index of the list or string.\n * - **if negative**: return all items before `end` index from the end of the list or string.\n */\n transform(value: ReadonlyArray, start: number, end?: number): Array;\n transform(value: string, start: number, end?: number): string;\n transform(value: null, start: number, end?: number): null;\n transform(value: undefined, start: number, end?: number): undefined;\n transform(value: any, start: number, end?: number): any {\n if (value == null) return value;\n\n if (!this.supports(value)) {\n throw invalidPipeArgumentError(SlicePipe, value);\n }\n\n return value.slice(start, end);\n }\n\n private supports(obj: any): boolean {\n return typeof obj === 'string' || Array.isArray(obj);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @module\n * @description\n * This module provides a set of common Pipes.\n */\nimport {AsyncPipe} from './async_pipe';\nimport {LowerCasePipe, TitleCasePipe, UpperCasePipe} from './case_conversion_pipes';\nimport {DatePipe} from './date_pipe';\nimport {I18nPluralPipe} from './i18n_plural_pipe';\nimport {I18nSelectPipe} from './i18n_select_pipe';\nimport {JsonPipe} from './json_pipe';\nimport {KeyValue, KeyValuePipe} from './keyvalue_pipe';\nimport {CurrencyPipe, DecimalPipe, PercentPipe} from './number_pipe';\nimport {SlicePipe} from './slice_pipe';\n\nexport {\n AsyncPipe,\n CurrencyPipe,\n DatePipe,\n DecimalPipe,\n I18nPluralPipe,\n I18nSelectPipe,\n JsonPipe,\n KeyValue,\n KeyValuePipe,\n LowerCasePipe,\n PercentPipe,\n SlicePipe,\n TitleCasePipe,\n UpperCasePipe,\n};\n\n\n/**\n * A collection of Angular pipes that are likely to be used in each and every application.\n */\nexport const COMMON_PIPES = [\n AsyncPipe,\n UpperCasePipe,\n LowerCasePipe,\n JsonPipe,\n SlicePipe,\n DecimalPipe,\n PercentPipe,\n TitleCasePipe,\n CurrencyPipe,\n DatePipe,\n I18nPluralPipe,\n I18nSelectPipe,\n KeyValuePipe,\n];\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {COMMON_DIRECTIVES} from './directives/index';\nimport {NgLocaleLocalization, NgLocalization} from './i18n/localization';\nimport {COMMON_PIPES} from './pipes/index';\n\n\n// Note: This does not contain the location providers,\n// as they need some platform specific implementations to work.\n/**\n * Exports all the basic Angular directives and pipes,\n * such as `NgIf`, `NgForOf`, `DecimalPipe`, and so on.\n * Re-exported by `BrowserModule`, which is included automatically in the root\n * `AppModule` when you create a new app with the CLI `new` command.\n *\n * * The `providers` options configure the NgModule's injector to provide\n * localization dependencies to members.\n * * The `exports` options make the declared directives and pipes available for import\n * by other NgModules.\n *\n * @publicApi\n */\n@NgModule({\n declarations: [COMMON_DIRECTIVES, COMMON_PIPES],\n exports: [COMMON_DIRECTIVES, COMMON_PIPES],\n providers: [\n {provide: NgLocalization, useClass: NgLocaleLocalization},\n ],\n})\nexport class CommonModule {\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport const PLATFORM_BROWSER_ID = 'browser';\nexport const PLATFORM_SERVER_ID = 'server';\nexport const PLATFORM_WORKER_APP_ID = 'browserWorkerApp';\nexport const PLATFORM_WORKER_UI_ID = 'browserWorkerUi';\n\n/**\n * Returns whether a platform id represents a browser platform.\n * @publicApi\n */\nexport function isPlatformBrowser(platformId: Object): boolean {\n return platformId === PLATFORM_BROWSER_ID;\n}\n\n/**\n * Returns whether a platform id represents a server platform.\n * @publicApi\n */\nexport function isPlatformServer(platformId: Object): boolean {\n return platformId === PLATFORM_SERVER_ID;\n}\n\n/**\n * Returns whether a platform id represents a web worker app platform.\n * @publicApi\n */\nexport function isPlatformWorkerApp(platformId: Object): boolean {\n return platformId === PLATFORM_WORKER_APP_ID;\n}\n\n/**\n * Returns whether a platform id represents a web worker UI platform.\n * @publicApi\n */\nexport function isPlatformWorkerUi(platformId: Object): boolean {\n return platformId === PLATFORM_WORKER_UI_ID;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of the common package.\n */\n\nimport {Version} from '@angular/core';\n\n/**\n * @publicApi\n */\nexport const VERSION = new Version('10.0.14');\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ErrorHandler, ɵɵdefineInjectable, ɵɵinject} from '@angular/core';\n\nimport {DOCUMENT} from './dom_tokens';\n\n\n\n/**\n * Defines a scroll position manager. Implemented by `BrowserViewportScroller`.\n *\n * @publicApi\n */\nexport abstract class ViewportScroller {\n // De-sugared tree-shakable injection\n // See #23917\n /** @nocollapse */\n static ɵprov = ɵɵdefineInjectable({\n token: ViewportScroller,\n providedIn: 'root',\n factory: () => new BrowserViewportScroller(ɵɵinject(DOCUMENT), window, ɵɵinject(ErrorHandler))\n });\n\n /**\n * Configures the top offset used when scrolling to an anchor.\n * @param offset A position in screen coordinates (a tuple with x and y values)\n * or a function that returns the top offset position.\n *\n */\n abstract setOffset(offset: [number, number]|(() => [number, number])): void;\n\n /**\n * Retrieves the current scroll position.\n * @returns A position in screen coordinates (a tuple with x and y values).\n */\n abstract getScrollPosition(): [number, number];\n\n /**\n * Scrolls to a specified position.\n * @param position A position in screen coordinates (a tuple with x and y values).\n */\n abstract scrollToPosition(position: [number, number]): void;\n\n /**\n * Scrolls to an anchor element.\n * @param anchor The ID of the anchor element.\n */\n abstract scrollToAnchor(anchor: string): void;\n\n /**\n * Disables automatic scroll restoration provided by the browser.\n * See also [window.history.scrollRestoration\n * info](https://developers.google.com/web/updates/2015/09/history-api-scroll-restoration).\n */\n abstract setHistoryScrollRestoration(scrollRestoration: 'auto'|'manual'): void;\n}\n\n/**\n * Manages the scroll position for a browser window.\n */\nexport class BrowserViewportScroller implements ViewportScroller {\n private offset: () => [number, number] = () => [0, 0];\n\n constructor(private document: any, private window: any, private errorHandler: ErrorHandler) {}\n\n /**\n * Configures the top offset used when scrolling to an anchor.\n * @param offset A position in screen coordinates (a tuple with x and y values)\n * or a function that returns the top offset position.\n *\n */\n setOffset(offset: [number, number]|(() => [number, number])): void {\n if (Array.isArray(offset)) {\n this.offset = () => offset;\n } else {\n this.offset = offset;\n }\n }\n\n /**\n * Retrieves the current scroll position.\n * @returns The position in screen coordinates.\n */\n getScrollPosition(): [number, number] {\n if (this.supportsScrolling()) {\n return [this.window.scrollX, this.window.scrollY];\n } else {\n return [0, 0];\n }\n }\n\n /**\n * Sets the scroll position.\n * @param position The new position in screen coordinates.\n */\n scrollToPosition(position: [number, number]): void {\n if (this.supportsScrolling()) {\n this.window.scrollTo(position[0], position[1]);\n }\n }\n\n /**\n * Scrolls to an anchor element.\n * @param anchor The ID of the anchor element.\n */\n scrollToAnchor(anchor: string): void {\n if (this.supportsScrolling()) {\n const elSelected =\n this.document.getElementById(anchor) || this.document.getElementsByName(anchor)[0];\n if (elSelected) {\n this.scrollToElement(elSelected);\n }\n }\n }\n\n /**\n * Disables automatic scroll restoration provided by the browser.\n */\n setHistoryScrollRestoration(scrollRestoration: 'auto'|'manual'): void {\n if (this.supportScrollRestoration()) {\n const history = this.window.history;\n if (history && history.scrollRestoration) {\n history.scrollRestoration = scrollRestoration;\n }\n }\n }\n\n private scrollToElement(el: any): void {\n const rect = el.getBoundingClientRect();\n const left = rect.left + this.window.pageXOffset;\n const top = rect.top + this.window.pageYOffset;\n const offset = this.offset();\n this.window.scrollTo(left - offset[0], top - offset[1]);\n }\n\n /**\n * We only support scroll restoration when we can get a hold of window.\n * This means that we do not support this behavior when running in a web worker.\n *\n * Lifting this restriction right now would require more changes in the dom adapter.\n * Since webworkers aren't widely used, we will lift it once RouterScroller is\n * battle-tested.\n */\n private supportScrollRestoration(): boolean {\n try {\n if (!this.window || !this.window.scrollTo) {\n return false;\n }\n // The `scrollRestoration` property could be on the `history` instance or its prototype.\n const scrollRestorationDescriptor = getScrollRestorationProperty(this.window.history) ||\n getScrollRestorationProperty(Object.getPrototypeOf(this.window.history));\n // We can write to the `scrollRestoration` property if it is a writable data field or it has a\n // setter function.\n return !!scrollRestorationDescriptor &&\n !!(scrollRestorationDescriptor.writable || scrollRestorationDescriptor.set);\n } catch {\n return false;\n }\n }\n\n private supportsScrolling(): boolean {\n try {\n return !!this.window.scrollTo;\n } catch {\n return false;\n }\n }\n}\n\nfunction getScrollRestorationProperty(obj: any): PropertyDescriptor|undefined {\n return Object.getOwnPropertyDescriptor(obj, 'scrollRestoration');\n}\n\n/**\n * Provides an empty implementation of the viewport scroller. This will\n * live in @angular/common as it will be used by both platform-server and platform-webworker.\n */\nexport class NullViewportScroller implements ViewportScroller {\n /**\n * Empty implementation\n */\n setOffset(offset: [number, number]|(() => [number, number])): void {}\n\n /**\n * Empty implementation\n */\n getScrollPosition(): [number, number] {\n return [0, 0];\n }\n\n /**\n * Empty implementation\n */\n scrollToPosition(position: [number, number]): void {}\n\n /**\n * Empty implementation\n */\n scrollToAnchor(anchor: string): void {}\n\n /**\n * Empty implementation\n */\n setHistoryScrollRestoration(scrollRestoration: 'auto'|'manual'): void {}\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of the common package.\n */\nexport * from './private_export';\nexport * from './location/index';\nexport {formatDate} from './i18n/format_date';\nexport {formatCurrency, formatNumber, formatPercent} from './i18n/format_number';\nexport {NgLocaleLocalization, NgLocalization} from './i18n/localization';\nexport {registerLocaleData} from './i18n/locale_data';\nexport {Plural, NumberFormatStyle, FormStyle, Time, TranslationWidth, FormatWidth, NumberSymbol, WeekDay, getNumberOfCurrencyDigits, getCurrencySymbol, getLocaleDayPeriods, getLocaleDayNames, getLocaleMonthNames, getLocaleId, getLocaleEraNames, getLocaleWeekEndRange, getLocaleFirstDayOfWeek, getLocaleDateFormat, getLocaleDateTimeFormat, getLocaleExtraDayPeriodRules, getLocaleExtraDayPeriods, getLocalePluralCase, getLocaleTimeFormat, getLocaleNumberSymbol, getLocaleNumberFormat, getLocaleCurrencyCode, getLocaleCurrencyName, getLocaleCurrencySymbol, getLocaleDirection} from './i18n/locale_data_api';\nexport {parseCookieValue as ɵparseCookieValue} from './cookie';\nexport {CommonModule} from './common_module';\nexport {NgClass, NgForOf, NgForOfContext, NgIf, NgIfContext, NgPlural, NgPluralCase, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgTemplateOutlet, NgComponentOutlet} from './directives/index';\nexport {DOCUMENT} from './dom_tokens';\nexport {AsyncPipe, DatePipe, I18nPluralPipe, I18nSelectPipe, JsonPipe, LowerCasePipe, CurrencyPipe, DecimalPipe, PercentPipe, SlicePipe, UpperCasePipe, TitleCasePipe, KeyValuePipe, KeyValue} from './pipes/index';\nexport {PLATFORM_BROWSER_ID as ɵPLATFORM_BROWSER_ID, PLATFORM_SERVER_ID as ɵPLATFORM_SERVER_ID, PLATFORM_WORKER_APP_ID as ɵPLATFORM_WORKER_APP_ID, PLATFORM_WORKER_UI_ID as ɵPLATFORM_WORKER_UI_ID, isPlatformBrowser, isPlatformServer, isPlatformWorkerApp, isPlatformWorkerUi} from './platform_id';\nexport {VERSION} from './version';\nexport {ViewportScroller, NullViewportScroller as ɵNullViewportScroller} from './viewport_scroller';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\nexport * from './src/common';\n\n// This file only reexports content of the `src` folder. Keep it that way.\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n// This file is not used to build this module. It is only used during editing\n// by the TypeScript language service and during build for verification. `ngc`\n// replaces this file with production index.ts when it rewrites private symbol\n// names.\n\nexport * from './public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {COMMON_DIRECTIVES as ɵangular_packages_common_common_e} from './src/directives/index';\nexport {createLocation as ɵangular_packages_common_common_c} from './src/location/location';\nexport {provideLocationStrategy as ɵangular_packages_common_common_d} from './src/location/location_strategy';\nexport {createBrowserPlatformLocation as ɵangular_packages_common_common_b,useBrowserPlatformLocation as ɵangular_packages_common_common_a} from './src/location/platform_location';\nexport {COMMON_PIPES as ɵangular_packages_common_common_f} from './src/pipes/index';","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Observable} from 'rxjs';\nimport {HttpRequest} from './request';\nimport {HttpEvent} from './response';\n\n/**\n * Transforms an `HttpRequest` into a stream of `HttpEvent`s, one of which will likely be a\n * `HttpResponse`.\n *\n * `HttpHandler` is injectable. When injected, the handler instance dispatches requests to the\n * first interceptor in the chain, which dispatches to the second, etc, eventually reaching the\n * `HttpBackend`.\n *\n * In an `HttpInterceptor`, the `HttpHandler` parameter is the next interceptor in the chain.\n *\n * @publicApi\n */\nexport abstract class HttpHandler {\n abstract handle(req: HttpRequest): Observable>;\n}\n\n/**\n * A final `HttpHandler` which will dispatch the request via browser HTTP APIs to a backend.\n *\n * Interceptors sit between the `HttpClient` interface and the `HttpBackend`.\n *\n * When injected, `HttpBackend` dispatches requests directly to the backend, without going\n * through the interceptor chain.\n *\n * @publicApi\n */\nexport abstract class HttpBackend implements HttpHandler {\n abstract handle(req: HttpRequest): Observable>;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\ninterface Update {\n name: string;\n value?: string|string[];\n op: 'a'|'s'|'d';\n}\n\n/**\n * Represents the header configuration options for an HTTP request.\n * Instances are immutable. Modifying methods return a cloned\n * instance with the change. The original object is never changed.\n *\n * @publicApi\n */\nexport class HttpHeaders {\n /**\n * Internal map of lowercase header names to values.\n */\n // TODO(issue/24571): remove '!'.\n private headers!: Map;\n\n\n /**\n * Internal map of lowercased header names to the normalized\n * form of the name (the form seen first).\n */\n private normalizedNames: Map = new Map();\n\n /**\n * Complete the lazy initialization of this object (needed before reading).\n */\n private lazyInit!: HttpHeaders|Function|null;\n\n /**\n * Queued updates to be materialized the next initialization.\n */\n private lazyUpdate: Update[]|null = null;\n\n /** Constructs a new HTTP header object with the given values.*/\n\n constructor(headers?: string|{[name: string]: string | string[]}) {\n if (!headers) {\n this.headers = new Map();\n } else if (typeof headers === 'string') {\n this.lazyInit = () => {\n this.headers = new Map();\n headers.split('\\n').forEach(line => {\n const index = line.indexOf(':');\n if (index > 0) {\n const name = line.slice(0, index);\n const key = name.toLowerCase();\n const value = line.slice(index + 1).trim();\n this.maybeSetNormalizedName(name, key);\n if (this.headers.has(key)) {\n this.headers.get(key)!.push(value);\n } else {\n this.headers.set(key, [value]);\n }\n }\n });\n };\n } else {\n this.lazyInit = () => {\n this.headers = new Map();\n Object.keys(headers).forEach(name => {\n let values: string|string[] = headers[name];\n const key = name.toLowerCase();\n if (typeof values === 'string') {\n values = [values];\n }\n if (values.length > 0) {\n this.headers.set(key, values);\n this.maybeSetNormalizedName(name, key);\n }\n });\n };\n }\n }\n\n /**\n * Checks for existence of a given header.\n *\n * @param name The header name to check for existence.\n *\n * @returns True if the header exists, false otherwise.\n */\n has(name: string): boolean {\n this.init();\n\n return this.headers.has(name.toLowerCase());\n }\n\n /**\n * Retrieves the first value of a given header.\n *\n * @param name The header name.\n *\n * @returns The value string if the header exists, null otherwise\n */\n get(name: string): string|null {\n this.init();\n\n const values = this.headers.get(name.toLowerCase());\n return values && values.length > 0 ? values[0] : null;\n }\n\n /**\n * Retrieves the names of the headers.\n *\n * @returns A list of header names.\n */\n keys(): string[] {\n this.init();\n\n return Array.from(this.normalizedNames.values());\n }\n\n /**\n * Retrieves a list of values for a given header.\n *\n * @param name The header name from which to retrieve values.\n *\n * @returns A string of values if the header exists, null otherwise.\n */\n getAll(name: string): string[]|null {\n this.init();\n\n return this.headers.get(name.toLowerCase()) || null;\n }\n\n /**\n * Appends a new value to the existing set of values for a header\n * and returns them in a clone of the original instance.\n *\n * @param name The header name for which to append the values.\n * @param value The value to append.\n *\n * @returns A clone of the HTTP headers object with the value appended to the given header.\n */\n\n append(name: string, value: string|string[]): HttpHeaders {\n return this.clone({name, value, op: 'a'});\n }\n /**\n * Sets or modifies a value for a given header in a clone of the original instance.\n * If the header already exists, its value is replaced with the given value\n * in the returned object.\n *\n * @param name The header name.\n * @param value The value or values to set or overide for the given header.\n *\n * @returns A clone of the HTTP headers object with the newly set header value.\n */\n set(name: string, value: string|string[]): HttpHeaders {\n return this.clone({name, value, op: 's'});\n }\n /**\n * Deletes values for a given header in a clone of the original instance.\n *\n * @param name The header name.\n * @param value The value or values to delete for the given header.\n *\n * @returns A clone of the HTTP headers object with the given value deleted.\n */\n delete(name: string, value?: string|string[]): HttpHeaders {\n return this.clone({name, value, op: 'd'});\n }\n\n private maybeSetNormalizedName(name: string, lcName: string): void {\n if (!this.normalizedNames.has(lcName)) {\n this.normalizedNames.set(lcName, name);\n }\n }\n\n private init(): void {\n if (!!this.lazyInit) {\n if (this.lazyInit instanceof HttpHeaders) {\n this.copyFrom(this.lazyInit);\n } else {\n this.lazyInit();\n }\n this.lazyInit = null;\n if (!!this.lazyUpdate) {\n this.lazyUpdate.forEach(update => this.applyUpdate(update));\n this.lazyUpdate = null;\n }\n }\n }\n\n private copyFrom(other: HttpHeaders) {\n other.init();\n Array.from(other.headers.keys()).forEach(key => {\n this.headers.set(key, other.headers.get(key)!);\n this.normalizedNames.set(key, other.normalizedNames.get(key)!);\n });\n }\n\n private clone(update: Update): HttpHeaders {\n const clone = new HttpHeaders();\n clone.lazyInit =\n (!!this.lazyInit && this.lazyInit instanceof HttpHeaders) ? this.lazyInit : this;\n clone.lazyUpdate = (this.lazyUpdate || []).concat([update]);\n return clone;\n }\n\n private applyUpdate(update: Update): void {\n const key = update.name.toLowerCase();\n switch (update.op) {\n case 'a':\n case 's':\n let value = update.value!;\n if (typeof value === 'string') {\n value = [value];\n }\n if (value.length === 0) {\n return;\n }\n this.maybeSetNormalizedName(update.name, key);\n const base = (update.op === 'a' ? this.headers.get(key) : undefined) || [];\n base.push(...value);\n this.headers.set(key, base);\n break;\n case 'd':\n const toDelete = update.value as string | undefined;\n if (!toDelete) {\n this.headers.delete(key);\n this.normalizedNames.delete(key);\n } else {\n let existing = this.headers.get(key);\n if (!existing) {\n return;\n }\n existing = existing.filter(value => toDelete.indexOf(value) === -1);\n if (existing.length === 0) {\n this.headers.delete(key);\n this.normalizedNames.delete(key);\n } else {\n this.headers.set(key, existing);\n }\n }\n break;\n }\n }\n\n /**\n * @internal\n */\n forEach(fn: (name: string, values: string[]) => void) {\n this.init();\n Array.from(this.normalizedNames.keys())\n .forEach(key => fn(this.normalizedNames.get(key)!, this.headers.get(key)!));\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * A codec for encoding and decoding parameters in URLs.\n *\n * Used by `HttpParams`.\n *\n * @publicApi\n **/\nexport interface HttpParameterCodec {\n encodeKey(key: string): string;\n encodeValue(value: string): string;\n\n decodeKey(key: string): string;\n decodeValue(value: string): string;\n}\n\n/**\n * Provides encoding and decoding of URL parameter and query-string values.\n *\n * Serializes and parses URL parameter keys and values to encode and decode them.\n * If you pass URL query parameters without encoding,\n * the query parameters can be misinterpreted at the receiving end.\n *\n *\n * @publicApi\n */\nexport class HttpUrlEncodingCodec implements HttpParameterCodec {\n /**\n * Encodes a key name for a URL parameter or query-string.\n * @param key The key name.\n * @returns The encoded key name.\n */\n encodeKey(key: string): string {\n return standardEncoding(key);\n }\n\n /**\n * Encodes the value of a URL parameter or query-string.\n * @param value The value.\n * @returns The encoded value.\n */\n encodeValue(value: string): string {\n return standardEncoding(value);\n }\n\n /**\n * Decodes an encoded URL parameter or query-string key.\n * @param key The encoded key name.\n * @returns The decoded key name.\n */\n decodeKey(key: string): string {\n return decodeURIComponent(key);\n }\n\n /**\n * Decodes an encoded URL parameter or query-string value.\n * @param value The encoded value.\n * @returns The decoded value.\n */\n decodeValue(value: string) {\n return decodeURIComponent(value);\n }\n}\n\n\nfunction paramParser(rawParams: string, codec: HttpParameterCodec): Map {\n const map = new Map();\n if (rawParams.length > 0) {\n const params: string[] = rawParams.split('&');\n params.forEach((param: string) => {\n const eqIdx = param.indexOf('=');\n const [key, val]: string[] = eqIdx == -1 ?\n [codec.decodeKey(param), ''] :\n [codec.decodeKey(param.slice(0, eqIdx)), codec.decodeValue(param.slice(eqIdx + 1))];\n const list = map.get(key) || [];\n list.push(val);\n map.set(key, list);\n });\n }\n return map;\n}\nfunction standardEncoding(v: string): string {\n return encodeURIComponent(v)\n .replace(/%40/gi, '@')\n .replace(/%3A/gi, ':')\n .replace(/%24/gi, '$')\n .replace(/%2C/gi, ',')\n .replace(/%3B/gi, ';')\n .replace(/%2B/gi, '+')\n .replace(/%3D/gi, '=')\n .replace(/%3F/gi, '?')\n .replace(/%2F/gi, '/');\n}\n\ninterface Update {\n param: string;\n value?: string;\n op: 'a'|'d'|'s';\n}\n\n/**\n * Options used to construct an `HttpParams` instance.\n *\n * @publicApi\n */\nexport interface HttpParamsOptions {\n /**\n * String representation of the HTTP parameters in URL-query-string format.\n * Mutually exclusive with `fromObject`.\n */\n fromString?: string;\n\n /** Object map of the HTTP parameters. Mutually exclusive with `fromString`. */\n fromObject?: {[param: string]: string|ReadonlyArray};\n\n /** Encoding codec used to parse and serialize the parameters. */\n encoder?: HttpParameterCodec;\n}\n\n/**\n * An HTTP request/response body that represents serialized parameters,\n * per the MIME type `application/x-www-form-urlencoded`.\n *\n * This class is immutable; all mutation operations return a new instance.\n *\n * @publicApi\n */\nexport class HttpParams {\n private map: Map|null;\n private encoder: HttpParameterCodec;\n private updates: Update[]|null = null;\n private cloneFrom: HttpParams|null = null;\n\n constructor(options: HttpParamsOptions = {} as HttpParamsOptions) {\n this.encoder = options.encoder || new HttpUrlEncodingCodec();\n if (!!options.fromString) {\n if (!!options.fromObject) {\n throw new Error(`Cannot specify both fromString and fromObject.`);\n }\n this.map = paramParser(options.fromString, this.encoder);\n } else if (!!options.fromObject) {\n this.map = new Map();\n Object.keys(options.fromObject).forEach(key => {\n const value = (options.fromObject as any)[key];\n this.map!.set(key, Array.isArray(value) ? value : [value]);\n });\n } else {\n this.map = null;\n }\n }\n\n /**\n * Reports whether the body includes one or more values for a given parameter.\n * @param param The parameter name.\n * @returns True if the parameter has one or more values,\n * false if it has no value or is not present.\n */\n has(param: string): boolean {\n this.init();\n return this.map!.has(param);\n }\n\n /**\n * Retrieves the first value for a parameter.\n * @param param The parameter name.\n * @returns The first value of the given parameter,\n * or `null` if the parameter is not present.\n */\n get(param: string): string|null {\n this.init();\n const res = this.map!.get(param);\n return !!res ? res[0] : null;\n }\n\n /**\n * Retrieves all values for a parameter.\n * @param param The parameter name.\n * @returns All values in a string array,\n * or `null` if the parameter not present.\n */\n getAll(param: string): string[]|null {\n this.init();\n return this.map!.get(param) || null;\n }\n\n /**\n * Retrieves all the parameters for this body.\n * @returns The parameter names in a string array.\n */\n keys(): string[] {\n this.init();\n return Array.from(this.map!.keys());\n }\n\n /**\n * Appends a new value to existing values for a parameter.\n * @param param The parameter name.\n * @param value The new value to add.\n * @return A new body with the appended value.\n */\n append(param: string, value: string): HttpParams {\n return this.clone({param, value, op: 'a'});\n }\n\n /**\n * Replaces the value for a parameter.\n * @param param The parameter name.\n * @param value The new value.\n * @return A new body with the new value.\n */\n set(param: string, value: string): HttpParams {\n return this.clone({param, value, op: 's'});\n }\n\n /**\n * Removes a given value or all values from a parameter.\n * @param param The parameter name.\n * @param value The value to remove, if provided.\n * @return A new body with the given value removed, or with all values\n * removed if no value is specified.\n */\n delete(param: string, value?: string): HttpParams {\n return this.clone({param, value, op: 'd'});\n }\n\n /**\n * Serializes the body to an encoded string, where key-value pairs (separated by `=`) are\n * separated by `&`s.\n */\n toString(): string {\n this.init();\n return this.keys()\n .map(key => {\n const eKey = this.encoder.encodeKey(key);\n // `a: ['1']` produces `'a=1'`\n // `b: []` produces `''`\n // `c: ['1', '2']` produces `'c=1&c=2'`\n return this.map!.get(key)!.map(value => eKey + '=' + this.encoder.encodeValue(value))\n .join('&');\n })\n // filter out empty values because `b: []` produces `''`\n // which results in `a=1&&c=1&c=2` instead of `a=1&c=1&c=2` if we don't\n .filter(param => param !== '')\n .join('&');\n }\n\n private clone(update: Update): HttpParams {\n const clone = new HttpParams({encoder: this.encoder} as HttpParamsOptions);\n clone.cloneFrom = this.cloneFrom || this;\n clone.updates = (this.updates || []).concat([update]);\n return clone;\n }\n\n private init() {\n if (this.map === null) {\n this.map = new Map();\n }\n if (this.cloneFrom !== null) {\n this.cloneFrom.init();\n this.cloneFrom.keys().forEach(key => this.map!.set(key, this.cloneFrom!.map!.get(key)!));\n this.updates!.forEach(update => {\n switch (update.op) {\n case 'a':\n case 's':\n const base = (update.op === 'a' ? this.map!.get(update.param) : undefined) || [];\n base.push(update.value!);\n this.map!.set(update.param, base);\n break;\n case 'd':\n if (update.value !== undefined) {\n let base = this.map!.get(update.param) || [];\n const idx = base.indexOf(update.value);\n if (idx !== -1) {\n base.splice(idx, 1);\n }\n if (base.length > 0) {\n this.map!.set(update.param, base);\n } else {\n this.map!.delete(update.param);\n }\n } else {\n this.map!.delete(update.param);\n break;\n }\n }\n });\n this.cloneFrom = this.updates = null;\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {HttpHeaders} from './headers';\nimport {HttpParams} from './params';\n\n/**\n * Construction interface for `HttpRequest`s.\n *\n * All values are optional and will override default values if provided.\n */\ninterface HttpRequestInit {\n headers?: HttpHeaders;\n reportProgress?: boolean;\n params?: HttpParams;\n responseType?: 'arraybuffer'|'blob'|'json'|'text';\n withCredentials?: boolean;\n}\n\n/**\n * Determine whether the given HTTP method may include a body.\n */\nfunction mightHaveBody(method: string): boolean {\n switch (method) {\n case 'DELETE':\n case 'GET':\n case 'HEAD':\n case 'OPTIONS':\n case 'JSONP':\n return false;\n default:\n return true;\n }\n}\n\n/**\n * Safely assert whether the given value is an ArrayBuffer.\n *\n * In some execution environments ArrayBuffer is not defined.\n */\nfunction isArrayBuffer(value: any): value is ArrayBuffer {\n return typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer;\n}\n\n/**\n * Safely assert whether the given value is a Blob.\n *\n * In some execution environments Blob is not defined.\n */\nfunction isBlob(value: any): value is Blob {\n return typeof Blob !== 'undefined' && value instanceof Blob;\n}\n\n/**\n * Safely assert whether the given value is a FormData instance.\n *\n * In some execution environments FormData is not defined.\n */\nfunction isFormData(value: any): value is FormData {\n return typeof FormData !== 'undefined' && value instanceof FormData;\n}\n\n/**\n * An outgoing HTTP request with an optional typed body.\n *\n * `HttpRequest` represents an outgoing request, including URL, method,\n * headers, body, and other request configuration options. Instances should be\n * assumed to be immutable. To modify a `HttpRequest`, the `clone`\n * method should be used.\n *\n * @publicApi\n */\nexport class HttpRequest {\n /**\n * The request body, or `null` if one isn't set.\n *\n * Bodies are not enforced to be immutable, as they can include a reference to any\n * user-defined data type. However, interceptors should take care to preserve\n * idempotence by treating them as such.\n */\n readonly body: T|null = null;\n\n /**\n * Outgoing headers for this request.\n */\n // TODO(issue/24571): remove '!'.\n readonly headers!: HttpHeaders;\n\n /**\n * Whether this request should be made in a way that exposes progress events.\n *\n * Progress events are expensive (change detection runs on each event) and so\n * they should only be requested if the consumer intends to monitor them.\n */\n readonly reportProgress: boolean = false;\n\n /**\n * Whether this request should be sent with outgoing credentials (cookies).\n */\n readonly withCredentials: boolean = false;\n\n /**\n * The expected response type of the server.\n *\n * This is used to parse the response appropriately before returning it to\n * the requestee.\n */\n readonly responseType: 'arraybuffer'|'blob'|'json'|'text' = 'json';\n\n /**\n * The outgoing HTTP request method.\n */\n readonly method: string;\n\n /**\n * Outgoing URL parameters.\n */\n // TODO(issue/24571): remove '!'.\n readonly params!: HttpParams;\n\n /**\n * The outgoing URL with all URL parameters set.\n */\n readonly urlWithParams: string;\n\n constructor(method: 'DELETE'|'GET'|'HEAD'|'JSONP'|'OPTIONS', url: string, init?: {\n headers?: HttpHeaders,\n reportProgress?: boolean,\n params?: HttpParams,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n });\n constructor(method: 'POST'|'PUT'|'PATCH', url: string, body: T|null, init?: {\n headers?: HttpHeaders,\n reportProgress?: boolean,\n params?: HttpParams,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n });\n constructor(method: string, url: string, body: T|null, init?: {\n headers?: HttpHeaders,\n reportProgress?: boolean,\n params?: HttpParams,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n });\n constructor(\n method: string, readonly url: string, third?: T|{\n headers?: HttpHeaders,\n reportProgress?: boolean,\n params?: HttpParams,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n }|null,\n fourth?: {\n headers?: HttpHeaders,\n reportProgress?: boolean,\n params?: HttpParams,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n }) {\n this.method = method.toUpperCase();\n // Next, need to figure out which argument holds the HttpRequestInit\n // options, if any.\n let options: HttpRequestInit|undefined;\n\n // Check whether a body argument is expected. The only valid way to omit\n // the body argument is to use a known no-body method like GET.\n if (mightHaveBody(this.method) || !!fourth) {\n // Body is the third argument, options are the fourth.\n this.body = (third !== undefined) ? third as T : null;\n options = fourth;\n } else {\n // No body required, options are the third argument. The body stays null.\n options = third as HttpRequestInit;\n }\n\n // If options have been passed, interpret them.\n if (options) {\n // Normalize reportProgress and withCredentials.\n this.reportProgress = !!options.reportProgress;\n this.withCredentials = !!options.withCredentials;\n\n // Override default response type of 'json' if one is provided.\n if (!!options.responseType) {\n this.responseType = options.responseType;\n }\n\n // Override headers if they're provided.\n if (!!options.headers) {\n this.headers = options.headers;\n }\n\n if (!!options.params) {\n this.params = options.params;\n }\n }\n\n // If no headers have been passed in, construct a new HttpHeaders instance.\n if (!this.headers) {\n this.headers = new HttpHeaders();\n }\n\n // If no parameters have been passed in, construct a new HttpUrlEncodedParams instance.\n if (!this.params) {\n this.params = new HttpParams();\n this.urlWithParams = url;\n } else {\n // Encode the parameters to a string in preparation for inclusion in the URL.\n const params = this.params.toString();\n if (params.length === 0) {\n // No parameters, the visible URL is just the URL given at creation time.\n this.urlWithParams = url;\n } else {\n // Does the URL already have query parameters? Look for '?'.\n const qIdx = url.indexOf('?');\n // There are 3 cases to handle:\n // 1) No existing parameters -> append '?' followed by params.\n // 2) '?' exists and is followed by existing query string ->\n // append '&' followed by params.\n // 3) '?' exists at the end of the url -> append params directly.\n // This basically amounts to determining the character, if any, with\n // which to join the URL and parameters.\n const sep: string = qIdx === -1 ? '?' : (qIdx < url.length - 1 ? '&' : '');\n this.urlWithParams = url + sep + params;\n }\n }\n }\n\n /**\n * Transform the free-form body into a serialized format suitable for\n * transmission to the server.\n */\n serializeBody(): ArrayBuffer|Blob|FormData|string|null {\n // If no body is present, no need to serialize it.\n if (this.body === null) {\n return null;\n }\n // Check whether the body is already in a serialized form. If so,\n // it can just be returned directly.\n if (isArrayBuffer(this.body) || isBlob(this.body) || isFormData(this.body) ||\n typeof this.body === 'string') {\n return this.body;\n }\n // Check whether the body is an instance of HttpUrlEncodedParams.\n if (this.body instanceof HttpParams) {\n return this.body.toString();\n }\n // Check whether the body is an object or array, and serialize with JSON if so.\n if (typeof this.body === 'object' || typeof this.body === 'boolean' ||\n Array.isArray(this.body)) {\n return JSON.stringify(this.body);\n }\n // Fall back on toString() for everything else.\n return (this.body as any).toString();\n }\n\n /**\n * Examine the body and attempt to infer an appropriate MIME type\n * for it.\n *\n * If no such type can be inferred, this method will return `null`.\n */\n detectContentTypeHeader(): string|null {\n // An empty body has no content type.\n if (this.body === null) {\n return null;\n }\n // FormData bodies rely on the browser's content type assignment.\n if (isFormData(this.body)) {\n return null;\n }\n // Blobs usually have their own content type. If it doesn't, then\n // no type can be inferred.\n if (isBlob(this.body)) {\n return this.body.type || null;\n }\n // Array buffers have unknown contents and thus no type can be inferred.\n if (isArrayBuffer(this.body)) {\n return null;\n }\n // Technically, strings could be a form of JSON data, but it's safe enough\n // to assume they're plain strings.\n if (typeof this.body === 'string') {\n return 'text/plain';\n }\n // `HttpUrlEncodedParams` has its own content-type.\n if (this.body instanceof HttpParams) {\n return 'application/x-www-form-urlencoded;charset=UTF-8';\n }\n // Arrays, objects, and numbers will be encoded as JSON.\n if (typeof this.body === 'object' || typeof this.body === 'number' ||\n Array.isArray(this.body)) {\n return 'application/json';\n }\n // No type could be inferred.\n return null;\n }\n\n clone(): HttpRequest;\n clone(update: {\n headers?: HttpHeaders,\n reportProgress?: boolean,\n params?: HttpParams,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n body?: T|null,\n method?: string,\n url?: string,\n setHeaders?: {[name: string]: string|string[]},\n setParams?: {[param: string]: string},\n }): HttpRequest;\n clone(update: {\n headers?: HttpHeaders,\n reportProgress?: boolean,\n params?: HttpParams,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n body?: V|null,\n method?: string,\n url?: string,\n setHeaders?: {[name: string]: string|string[]},\n setParams?: {[param: string]: string},\n }): HttpRequest;\n clone(update: {\n headers?: HttpHeaders,\n reportProgress?: boolean,\n params?: HttpParams,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n body?: any|null,\n method?: string,\n url?: string,\n setHeaders?: {[name: string]: string|string[]},\n setParams?: {[param: string]: string};\n } = {}): HttpRequest {\n // For method, url, and responseType, take the current value unless\n // it is overridden in the update hash.\n const method = update.method || this.method;\n const url = update.url || this.url;\n const responseType = update.responseType || this.responseType;\n\n // The body is somewhat special - a `null` value in update.body means\n // whatever current body is present is being overridden with an empty\n // body, whereas an `undefined` value in update.body implies no\n // override.\n const body = (update.body !== undefined) ? update.body : this.body;\n\n // Carefully handle the boolean options to differentiate between\n // `false` and `undefined` in the update args.\n const withCredentials =\n (update.withCredentials !== undefined) ? update.withCredentials : this.withCredentials;\n const reportProgress =\n (update.reportProgress !== undefined) ? update.reportProgress : this.reportProgress;\n\n // Headers and params may be appended to if `setHeaders` or\n // `setParams` are used.\n let headers = update.headers || this.headers;\n let params = update.params || this.params;\n\n // Check whether the caller has asked to add headers.\n if (update.setHeaders !== undefined) {\n // Set every requested header.\n headers =\n Object.keys(update.setHeaders)\n .reduce((headers, name) => headers.set(name, update.setHeaders![name]), headers);\n }\n\n // Check whether the caller has asked to set params.\n if (update.setParams) {\n // Set every requested param.\n params = Object.keys(update.setParams)\n .reduce((params, param) => params.set(param, update.setParams![param]), params);\n }\n\n // Finally, construct the new HttpRequest using the pieces from above.\n return new HttpRequest(method, url, body, {\n params,\n headers,\n reportProgress,\n responseType,\n withCredentials,\n });\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {HttpHeaders} from './headers';\n\n/**\n * Type enumeration for the different kinds of `HttpEvent`.\n *\n * @publicApi\n */\nexport enum HttpEventType {\n /**\n * The request was sent out over the wire.\n */\n Sent,\n\n /**\n * An upload progress event was received.\n */\n UploadProgress,\n\n /**\n * The response status code and headers were received.\n */\n ResponseHeader,\n\n /**\n * A download progress event was received.\n */\n DownloadProgress,\n\n /**\n * The full response including the body was received.\n */\n Response,\n\n /**\n * A custom event from an interceptor or a backend.\n */\n User,\n}\n\n/**\n * Base interface for progress events.\n *\n * @publicApi\n */\nexport interface HttpProgressEvent {\n /**\n * Progress event type is either upload or download.\n */\n type: HttpEventType.DownloadProgress|HttpEventType.UploadProgress;\n\n /**\n * Number of bytes uploaded or downloaded.\n */\n loaded: number;\n\n /**\n * Total number of bytes to upload or download. Depending on the request or\n * response, this may not be computable and thus may not be present.\n */\n total?: number;\n}\n\n/**\n * A download progress event.\n *\n * @publicApi\n */\nexport interface HttpDownloadProgressEvent extends HttpProgressEvent {\n type: HttpEventType.DownloadProgress;\n\n /**\n * The partial response body as downloaded so far.\n *\n * Only present if the responseType was `text`.\n */\n partialText?: string;\n}\n\n/**\n * An upload progress event.\n *\n * @publicApi\n */\nexport interface HttpUploadProgressEvent extends HttpProgressEvent {\n type: HttpEventType.UploadProgress;\n}\n\n/**\n * An event indicating that the request was sent to the server. Useful\n * when a request may be retried multiple times, to distinguish between\n * retries on the final event stream.\n *\n * @publicApi\n */\nexport interface HttpSentEvent {\n type: HttpEventType.Sent;\n}\n\n/**\n * A user-defined event.\n *\n * Grouping all custom events under this type ensures they will be handled\n * and forwarded by all implementations of interceptors.\n *\n * @publicApi\n */\nexport interface HttpUserEvent {\n type: HttpEventType.User;\n}\n\n/**\n * An error that represents a failed attempt to JSON.parse text coming back\n * from the server.\n *\n * It bundles the Error object with the actual response body that failed to parse.\n *\n *\n */\nexport interface HttpJsonParseError {\n error: Error;\n text: string;\n}\n\n/**\n * Union type for all possible events on the response stream.\n *\n * Typed according to the expected type of the response.\n *\n * @publicApi\n */\nexport type HttpEvent =\n HttpSentEvent|HttpHeaderResponse|HttpResponse|HttpProgressEvent|HttpUserEvent;\n\n/**\n * Base class for both `HttpResponse` and `HttpHeaderResponse`.\n *\n * @publicApi\n */\nexport abstract class HttpResponseBase {\n /**\n * All response headers.\n */\n readonly headers: HttpHeaders;\n\n /**\n * Response status code.\n */\n readonly status: number;\n\n /**\n * Textual description of response status code.\n *\n * Do not depend on this.\n */\n readonly statusText: string;\n\n /**\n * URL of the resource retrieved, or null if not available.\n */\n readonly url: string|null;\n\n /**\n * Whether the status code falls in the 2xx range.\n */\n readonly ok: boolean;\n\n /**\n * Type of the response, narrowed to either the full response or the header.\n */\n // TODO(issue/24571): remove '!'.\n readonly type!: HttpEventType.Response|HttpEventType.ResponseHeader;\n\n /**\n * Super-constructor for all responses.\n *\n * The single parameter accepted is an initialization hash. Any properties\n * of the response passed there will override the default values.\n */\n constructor(\n init: {\n headers?: HttpHeaders,\n status?: number,\n statusText?: string,\n url?: string,\n },\n defaultStatus: number = 200, defaultStatusText: string = 'OK') {\n // If the hash has values passed, use them to initialize the response.\n // Otherwise use the default values.\n this.headers = init.headers || new HttpHeaders();\n this.status = init.status !== undefined ? init.status : defaultStatus;\n this.statusText = init.statusText || defaultStatusText;\n this.url = init.url || null;\n\n // Cache the ok value to avoid defining a getter.\n this.ok = this.status >= 200 && this.status < 300;\n }\n}\n\n/**\n * A partial HTTP response which only includes the status and header data,\n * but no response body.\n *\n * `HttpHeaderResponse` is a `HttpEvent` available on the response\n * event stream, only when progress events are requested.\n *\n * @publicApi\n */\nexport class HttpHeaderResponse extends HttpResponseBase {\n /**\n * Create a new `HttpHeaderResponse` with the given parameters.\n */\n constructor(init: {\n headers?: HttpHeaders,\n status?: number,\n statusText?: string,\n url?: string,\n } = {}) {\n super(init);\n }\n\n readonly type: HttpEventType.ResponseHeader = HttpEventType.ResponseHeader;\n\n /**\n * Copy this `HttpHeaderResponse`, overriding its contents with the\n * given parameter hash.\n */\n clone(update: {headers?: HttpHeaders; status?: number; statusText?: string; url?: string;} = {}):\n HttpHeaderResponse {\n // Perform a straightforward initialization of the new HttpHeaderResponse,\n // overriding the current parameters with new ones if given.\n return new HttpHeaderResponse({\n headers: update.headers || this.headers,\n status: update.status !== undefined ? update.status : this.status,\n statusText: update.statusText || this.statusText,\n url: update.url || this.url || undefined,\n });\n }\n}\n\n/**\n * A full HTTP response, including a typed response body (which may be `null`\n * if one was not returned).\n *\n * `HttpResponse` is a `HttpEvent` available on the response event\n * stream.\n *\n * @publicApi\n */\nexport class HttpResponse extends HttpResponseBase {\n /**\n * The response body, or `null` if one was not returned.\n */\n readonly body: T|null;\n\n /**\n * Construct a new `HttpResponse`.\n */\n constructor(init: {\n body?: T|null,\n headers?: HttpHeaders;\n status?: number;\n statusText?: string;\n url?: string;\n } = {}) {\n super(init);\n this.body = init.body !== undefined ? init.body : null;\n }\n\n readonly type: HttpEventType.Response = HttpEventType.Response;\n\n clone(): HttpResponse;\n clone(update: {headers?: HttpHeaders; status?: number; statusText?: string; url?: string;}):\n HttpResponse;\n clone(update: {\n body?: V|null,\n headers?: HttpHeaders;\n status?: number;\n statusText?: string;\n url?: string;\n }): HttpResponse;\n clone(update: {\n body?: any|null;\n headers?: HttpHeaders;\n status?: number;\n statusText?: string;\n url?: string;\n } = {}): HttpResponse {\n return new HttpResponse({\n body: (update.body !== undefined) ? update.body : this.body,\n headers: update.headers || this.headers,\n status: (update.status !== undefined) ? update.status : this.status,\n statusText: update.statusText || this.statusText,\n url: update.url || this.url || undefined,\n });\n }\n}\n\n/**\n * A response that represents an error or failure, either from a\n * non-successful HTTP status, an error while executing the request,\n * or some other failure which occurred during the parsing of the response.\n *\n * Any error returned on the `Observable` response stream will be\n * wrapped in an `HttpErrorResponse` to provide additional context about\n * the state of the HTTP layer when the error occurred. The error property\n * will contain either a wrapped Error object or the error response returned\n * from the server.\n *\n * @publicApi\n */\nexport class HttpErrorResponse extends HttpResponseBase implements Error {\n readonly name = 'HttpErrorResponse';\n readonly message: string;\n readonly error: any|null;\n\n /**\n * Errors are never okay, even when the status code is in the 2xx success range.\n */\n readonly ok = false;\n\n constructor(init: {\n error?: any;\n headers?: HttpHeaders;\n status?: number;\n statusText?: string;\n url?: string;\n }) {\n // Initialize with a default status of 0 / Unknown Error.\n super(init, 0, 'Unknown Error');\n\n // If the response was successful, then this was a parse error. Otherwise, it was\n // a protocol-level failure of some sort. Either the request failed in transit\n // or the server returned an unsuccessful status code.\n if (this.status >= 200 && this.status < 300) {\n this.message = `Http failure during parsing for ${init.url || '(unknown url)'}`;\n } else {\n this.message = `Http failure response for ${init.url || '(unknown url)'}: ${init.status} ${\n init.statusText}`;\n }\n this.error = init.error || null;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable} from '@angular/core';\nimport {Observable, of} from 'rxjs';\nimport {concatMap, filter, map} from 'rxjs/operators';\n\nimport {HttpHandler} from './backend';\nimport {HttpHeaders} from './headers';\nimport {HttpParams, HttpParamsOptions} from './params';\nimport {HttpRequest} from './request';\nimport {HttpEvent, HttpResponse} from './response';\n\n\n/**\n * Constructs an instance of `HttpRequestOptions` from a source `HttpMethodOptions` and\n * the given `body`. This function clones the object and adds the body.\n *\n * Note that the `responseType` *options* value is a String that identifies the\n * single data type of the response.\n * A single overload version of the method handles each response type.\n * The value of `responseType` cannot be a union, as the combined signature could imply.\n *\n */\nfunction addBody(\n options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: HttpObserve,\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n },\n body: T|null): any {\n return {\n body,\n headers: options.headers,\n observe: options.observe,\n params: options.params,\n reportProgress: options.reportProgress,\n responseType: options.responseType,\n withCredentials: options.withCredentials,\n };\n}\n\nexport type HttpObserve = 'body'|'events'|'response';\n\n/**\n * Performs HTTP requests.\n * This service is available as an injectable class, with methods to perform HTTP requests.\n * Each request method has multiple signatures, and the return type varies based on\n * the signature that is called (mainly the values of `observe` and `responseType`).\n *\n * Note that the `responseType` *options* value is a String that identifies the\n * single data type of the response.\n * A single overload version of the method handles each response type.\n * The value of `responseType` cannot be a union, as the combined signature could imply.\n\n *\n * @usageNotes\n * Sample HTTP requests for the [Tour of Heroes](/tutorial/toh-pt0) application.\n *\n * ### HTTP Request Example\n *\n * ```\n * // GET heroes whose name contains search term\n * searchHeroes(term: string): observable{\n *\n * const params = new HttpParams({fromString: 'name=term'});\n * return this.httpClient.request('GET', this.heroesUrl, {responseType:'json', params});\n * }\n * ```\n * ### JSONP Example\n * ```\n * requestJsonp(url, callback = 'callback') {\n * return this.httpClient.jsonp(this.heroesURL, callback);\n * }\n * ```\n *\n * ### PATCH Example\n * ```\n * // PATCH one of the heroes' name\n * patchHero (id: number, heroName: string): Observable<{}> {\n * const url = `${this.heroesUrl}/${id}`; // PATCH api/heroes/42\n * return this.httpClient.patch(url, {name: heroName}, httpOptions)\n * .pipe(catchError(this.handleError('patchHero')));\n * }\n * ```\n *\n * @see [HTTP Guide](guide/http)\n *\n * @publicApi\n */\n@Injectable()\nexport class HttpClient {\n constructor(private handler: HttpHandler) {}\n\n /**\n * Sends an `HTTPRequest` and returns a stream of `HTTPEvents`.\n *\n * @return An `Observable` of the response, with the response body as a stream of `HTTPEvents`.\n */\n request(req: HttpRequest): Observable>;\n\n /**\n * Constructs a request that interprets the body as an `ArrayBuffer` and returns the response in\n * an `ArrayBuffer`.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n *\n * @return An `Observable` of the response, with the response body as an `ArrayBuffer`.\n */\n request(method: string, url: string, options: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a request that interprets the body as a blob and returns\n * the response as a blob.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with the response body of type `Blob`.\n */\n request(method: string, url: string, options: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a request that interprets the body as a text string and\n * returns a string value.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with the response body of type string.\n */\n request(method: string, url: string, options: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a request that interprets the body as an `ArrayBuffer` and returns the\n * the full event stream.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with the response body as an array of `HTTPEvents` for\n * the\n * request.\n */\n request(method: string, url: string, options: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]},\n params?: HttpParams|{[param: string]: string | string[]}, observe: 'events',\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a request that interprets the body as a `Blob` and returns\n * the full event stream.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of of all `HttpEvents` for the request,\n * with the response body of type `Blob`.\n */\n request(method: string, url: string, options: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a request which interprets the body as a text string and returns the full event\n * stream.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of all `HttpEvents` for the reques,\n * with the response body of type string.\n */\n request(method: string, url: string, options: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a request which interprets the body as a JSON object and returns the full event\n * stream.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of all `HttpEvents` for the request,\n * with the response body of type `Object`.\n */\n request(method: string, url: string, options: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]},\n reportProgress?: boolean, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a request which interprets the body as a JSON object and returns the full event\n * stream.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of all `HttpEvents` for the request,\n * with the response body of type `R`.\n */\n request(method: string, url: string, options: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]},\n reportProgress?: boolean, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a request which interprets the body as an `ArrayBuffer`\n * and returns the full `HTTPResponse`.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse`, with the response body as an `ArrayBuffer`.\n */\n request(method: string, url: string, options: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a request which interprets the body as a `Blob` and returns the full `HTTPResponse`.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse`, with the response body of type `Blob`.\n */\n request(method: string, url: string, options: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a request which interprets the body as a text stream and returns the full\n * `HTTPResponse`.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the HTTP response, with the response body of type string.\n */\n request(method: string, url: string, options: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a request which interprets the body as a JSON object and returns the full\n * `HTTPResponse`.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the full `HTTPResponse`,\n * with the response body of type `Object`.\n */\n request(method: string, url: string, options: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]},\n reportProgress?: boolean, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a request which interprets the body as a JSON object and returns\n * the full `HTTPResponse` with the response body in the requested type.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the full `HTTPResponse`, with the response body of type `R`.\n */\n request(method: string, url: string, options: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]},\n reportProgress?: boolean, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a request which interprets the body as a JSON object and returns the full\n * `HTTPResponse` as a JSON object.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse`, with the response body of type `Object`.\n */\n request(method: string, url: string, options?: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n responseType?: 'json',\n reportProgress?: boolean,\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a request which interprets the body as a JSON object\n * with the response body of the requested type.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse`, with the response body of type `R`.\n */\n request(method: string, url: string, options?: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n responseType?: 'json',\n reportProgress?: boolean,\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a request where response type and requested observable are not known statically.\n *\n * @param method The HTTP method.\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the reuested response, wuth body of type `any`.\n */\n request(method: string, url: string, options?: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]},\n params?: HttpParams|{[param: string]: string | string[]},\n observe?: HttpObserve,\n reportProgress?: boolean,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs an observable for a generic HTTP request that, when subscribed,\n * fires the request through the chain of registered interceptors and on to the\n * server.\n *\n * You can pass an `HttpRequest` directly as the only parameter. In this case,\n * the call returns an observable of the raw `HttpEvent` stream.\n *\n * Alternatively you can pass an HTTP method as the first parameter,\n * a URL string as the second, and an options hash containing the request body as the third.\n * See `addBody()`. In this case, the specified `responseType` and `observe` options determine the\n * type of returned observable.\n * * The `responseType` value determines how a successful response body is parsed.\n * * If `responseType` is the default `json`, you can pass a type interface for the resulting\n * object as a type parameter to the call.\n *\n * The `observe` value determines the return type, according to what you are interested in\n * observing.\n * * An `observe` value of events returns an observable of the raw `HttpEvent` stream, including\n * progress events by default.\n * * An `observe` value of response returns an observable of `HttpResponse`,\n * where the `T` parameter depends on the `responseType` and any optionally provided type\n * parameter.\n * * An `observe` value of body returns an observable of `` with the same `T` body type.\n *\n */\n request(first: string|HttpRequest, url?: string, options: {\n body?: any,\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: HttpObserve,\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n } = {}): Observable {\n let req: HttpRequest;\n // First, check whether the primary argument is an instance of `HttpRequest`.\n if (first instanceof HttpRequest) {\n // It is. The other arguments must be undefined (per the signatures) and can be\n // ignored.\n req = first;\n } else {\n // It's a string, so it represents a URL. Construct a request based on it,\n // and incorporate the remaining arguments (assuming `GET` unless a method is\n // provided.\n\n // Figure out the headers.\n let headers: HttpHeaders|undefined = undefined;\n if (options.headers instanceof HttpHeaders) {\n headers = options.headers;\n } else {\n headers = new HttpHeaders(options.headers);\n }\n\n // Sort out parameters.\n let params: HttpParams|undefined = undefined;\n if (!!options.params) {\n if (options.params instanceof HttpParams) {\n params = options.params;\n } else {\n params = new HttpParams({fromObject: options.params} as HttpParamsOptions);\n }\n }\n\n // Construct the request.\n req = new HttpRequest(first, url!, (options.body !== undefined ? options.body : null), {\n headers,\n params,\n reportProgress: options.reportProgress,\n // By default, JSON is assumed to be returned for all calls.\n responseType: options.responseType || 'json',\n withCredentials: options.withCredentials,\n });\n }\n\n // Start with an Observable.of() the initial request, and run the handler (which\n // includes all interceptors) inside a concatMap(). This way, the handler runs\n // inside an Observable chain, which causes interceptors to be re-run on every\n // subscription (this also makes retries re-run the handler, including interceptors).\n const events$: Observable> =\n of(req).pipe(concatMap((req: HttpRequest) => this.handler.handle(req)));\n\n // If coming via the API signature which accepts a previously constructed HttpRequest,\n // the only option is to get the event stream. Otherwise, return the event stream if\n // that is what was requested.\n if (first instanceof HttpRequest || options.observe === 'events') {\n return events$;\n }\n\n // The requested stream contains either the full response or the body. In either\n // case, the first step is to filter the event stream to extract a stream of\n // responses(s).\n const res$: Observable> = >>events$.pipe(\n filter((event: HttpEvent) => event instanceof HttpResponse));\n\n // Decide which stream to return.\n switch (options.observe || 'body') {\n case 'body':\n // The requested stream is the body. Map the response stream to the response\n // body. This could be done more simply, but a misbehaving interceptor might\n // transform the response body into a different format and ignore the requested\n // responseType. Guard against this by validating that the response is of the\n // requested type.\n switch (req.responseType) {\n case 'arraybuffer':\n return res$.pipe(map((res: HttpResponse) => {\n // Validate that the body is an ArrayBuffer.\n if (res.body !== null && !(res.body instanceof ArrayBuffer)) {\n throw new Error('Response is not an ArrayBuffer.');\n }\n return res.body;\n }));\n case 'blob':\n return res$.pipe(map((res: HttpResponse) => {\n // Validate that the body is a Blob.\n if (res.body !== null && !(res.body instanceof Blob)) {\n throw new Error('Response is not a Blob.');\n }\n return res.body;\n }));\n case 'text':\n return res$.pipe(map((res: HttpResponse) => {\n // Validate that the body is a string.\n if (res.body !== null && typeof res.body !== 'string') {\n throw new Error('Response is not a string.');\n }\n return res.body;\n }));\n case 'json':\n default:\n // No validation needed for JSON responses, as they can be of any type.\n return res$.pipe(map((res: HttpResponse) => res.body));\n }\n case 'response':\n // The response stream was requested directly, so return it.\n return res$;\n default:\n // Guard against new future observe types being added.\n throw new Error(`Unreachable: unhandled observe type ${options.observe}}`);\n }\n }\n\n /**\n * Constructs a `DELETE` request that interprets the body as an `ArrayBuffer`\n * and returns the response as an `ArrayBuffer`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response body as an `ArrayBuffer`.\n */\n delete(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable;\n\n\n /**\n * Constructs a `DELETE` request that interprets the body as a `Blob` and returns\n * the response as a `Blob`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response body as a `Blob`.\n */\n delete(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `DELETE` request that interprets the body as a text string and returns\n * a string.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with the response body of type string.\n */\n delete(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `DELETE` request that interprets the body as an `ArrayBuffer`\n * and returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of all `HTTPEvents` for the request,\n * with response body as an `ArrayBuffer`.\n */\n delete(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `DELETE` request that interprets the body as a `Blob`\n * and returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of all the `HTTPEvents` for the request, with the response body as a\n * `Blob`.\n */\n delete(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `DELETE` request that interprets the body as a text string\n * and returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of all `HTTPEvents` for the request, with the response\n * body of type string.\n */\n delete(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `DELETE` request that interprets the body as a JSON object\n * and returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of all `HTTPEvents` for the request, with response body of\n * type `Object`.\n */\n delete(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `DELETE`request that interprets the body as a JSON object\n * and returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of all the `HTTPEvents` for the request, with a response\n * body in the requested type.\n */\n delete(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `DELETE` request that interprets the body as an `ArrayBuffer` and returns\n * the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the full `HTTPResponse`, with the response body as an `ArrayBuffer`.\n */\n delete(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `DELETE` request that interprets the body as a `Blob` and returns the full\n * `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse`, with the response body of type `Blob`.\n */\n delete(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `DELETE` request that interprets the body as a text stream and\n * returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the full `HTTPResponse`, with the response body of type string.\n */\n delete(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `DELETE` request the interprets the body as a JSON object and returns\n * the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse`, with the response body of type `Object`.\n *\n */\n delete(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `DELETE` request that interprets the body as a JSON object\n * and returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse`, with the response body of the requested type.\n */\n delete(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `DELETE` request that interprets the body as a JSON object and\n * returns the response body as a JSON object.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with the response body of type `Object`.\n */\n delete(url: string, options?: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a DELETE request that interprets the body as a JSON object and returns\n * the response in a given type.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse`, with response body in the requested type.\n */\n delete(url: string, options?: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `DELETE` request to execute on the server. See the individual overloads for\n * details on the return type.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n */\n delete(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: HttpObserve,\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n } = {}): Observable {\n return this.request('DELETE', url, options as any);\n }\n\n\n /**\n * Constructs a `GET` request that interprets the body as an `ArrayBuffer` and returns the\n * response in an `ArrayBuffer`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with the response body as an `ArrayBuffer`.\n */\n get(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `GET` request that interprets the body as a `Blob`\n * and returns the response as a `Blob`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with the response body as a `Blob`.\n */\n get(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `GET` request that interprets the body as a text string\n * and returns the response as a string value.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with the response body of type string.\n */\n get(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `GET` request that interprets the body as an `ArrayBuffer` and returns\n * the full event stream.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of all `HttpEvents` for the request, with the response\n * body as an `ArrayBuffer`.\n */\n get(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `GET` request that interprets the body as a `Blob` and\n * returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with the response body as a `Blob`.\n */\n get(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `GET` request that interprets the body as a text string and returns\n * the full event stream.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with the response body of type string.\n */\n get(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `GET` request that interprets the body as a JSON object\n * and returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with the response body of type `Object`.\n */\n get(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `GET` request that interprets the body as a JSON object and returns the full event\n * stream.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with a response body in the requested type.\n */\n get(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `GET` request that interprets the body as an `ArrayBuffer` and\n * returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse` for the request,\n * with the response body as an `ArrayBuffer`.\n */\n get(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `GET` request that interprets the body as a `Blob` and\n * returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse` for the request,\n * with the response body as a `Blob`.\n */\n get(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `GET` request that interprets the body as a text stream and\n * returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse` for the request,\n * with the response body of type string.\n */\n get(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `GET` request that interprets the body as a JSON object and\n * returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the full `HttpResponse`,\n * with the response body of type `Object`.\n */\n get(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `GET` request that interprets the body as a JSON object and\n * returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the full `HTTPResponse` for the request,\n * with a response body in the requested type.\n */\n get(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `GET` request that interprets the body as a JSON object and\n * returns the response body as a JSON object.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n *\n * @return An `Observable` of the response body as a JSON object.\n */\n get(url: string, options?: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `GET` request that interprets the body as a JSON object and returns\n * the response body in a given type.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse`, with a response body in the requested type.\n */\n get(url: string, options?: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `GET` request to execute on the server. See the individual overloads for\n * details on the return type.\n */\n get(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: HttpObserve,\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n } = {}): Observable {\n return this.request('GET', url, options as any);\n }\n\n\n /**\n * Constructs a `HEAD` request that interprets the body as an `ArrayBuffer` and\n * returns the response as an `ArrayBuffer`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with the response body as an `ArrayBuffer`.\n */\n head(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `HEAD` request that interprets the body as a `Blob` and returns\n * the response as a `Blob`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with the response body as a `Blob`.\n */\n\n head(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `HEAD` request that interprets the body as a text string and returns the response\n * as a string value.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with the response body of type string.\n */\n head(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `HEAD` request that interprets the body as an `ArrayBuffer`\n * and returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of tall `HttpEvents` for the request,\n * with the response body as an `ArrayBuffer`.\n */\n head(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `HEAD` request that interprets the body as a `Blob` and\n * returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of all `HttpEvents` for the request,\n * with the response body as a `Blob`.\n */\n head(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `HEAD` request that interprets the body as a text string\n * and returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of all HttpEvents for the request, with the response body of type\n * string.\n */\n head(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `HEAD` request that interprets the body as a JSON object\n * and returns the full HTTP event stream.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of all `HTTPEvents` for the request, with a response body of\n * type `Object`.\n */\n head(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `HEAD` request that interprets the body as a JSON object and\n * returns the full event stream.\n *\n * @return An `Observable` of all the `HTTPEvents` for the request\n * , with a response body in the requested type.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n */\n head(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `HEAD` request that interprets the body as an `ArrayBuffer`\n * and returns the full HTTP response.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse` for the request,\n * with the response body as an `ArrayBuffer`.\n */\n head(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `HEAD` request that interprets the body as a `Blob` and returns\n * the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse` for the request,\n * with the response body as a blob.\n */\n head(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `HEAD` request that interprets the body as text stream\n * and returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse` for the request,\n * with the response body of type string.\n */\n head(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `HEAD` request that interprets the body as a JSON object and\n * returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse` for the request,\n * with the response body of type `Object`.\n */\n head(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `HEAD` request that interprets the body as a JSON object\n * and returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse` for the request,\n * with a responmse body of the requested type.\n */\n head(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `HEAD` request that interprets the body as a JSON object and\n * returns the response body as a JSON object.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the response, with the response body as a JSON object.\n */\n head(url: string, options?: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `HEAD` request that interprets the body as a JSON object and returns\n * the response in a given type.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n * @return An `Observable` of the `HTTPResponse` for the request,\n * with a response body of the given type.\n */\n head(url: string, options?: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `HEAD` request to execute on the server. The `HEAD` method returns\n * meta information about the resource without transferring the\n * resource itself. See the individual overloads for\n * details on the return type.\n */\n head(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: HttpObserve,\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n } = {}): Observable {\n return this.request('HEAD', url, options as any);\n }\n\n /**\n * Constructs a `JSONP` request for the given URL and name of the callback parameter.\n *\n * @param url The resource URL.\n * @param callbackParam The callback function name.\n *\n * @return An `Observable` of the response object, with response body as an object.\n */\n jsonp(url: string, callbackParam: string): Observable;\n\n /**\n * Constructs a `JSONP` request for the given URL and name of the callback parameter.\n *\n * @param url The resource URL.\n * @param callbackParam The callback function name.\n *\n * You must install a suitable interceptor, such as one provided by `HttpClientJsonpModule`.\n * If no such interceptor is reached,\n * then the `JSONP` request can be rejected by the configured backend.\n *\n * @return An `Observable` of the response object, with response body in the requested type.\n */\n jsonp(url: string, callbackParam: string): Observable;\n\n /**\n * Constructs an `Observable` that, when subscribed, causes a request with the special method\n * `JSONP` to be dispatched via the interceptor pipeline.\n * The [JSONP pattern](https://en.wikipedia.org/wiki/JSONP) works around limitations of certain\n * API endpoints that don't support newer,\n * and preferable [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) protocol.\n * JSONP treats the endpoint API as a JavaScript file and tricks the browser to process the\n * requests even if the API endpoint is not located on the same domain (origin) as the client-side\n * application making the request.\n * The endpoint API must support JSONP callback for JSONP requests to work.\n * The resource API returns the JSON response wrapped in a callback function.\n * You can pass the callback function name as one of the query parameters.\n * Note that JSONP requests can only be used with `GET` requests.\n *\n * @param url The resource URL.\n * @param callbackParam The callback function name.\n *\n */\n jsonp(url: string, callbackParam: string): Observable {\n return this.request('JSONP', url, {\n params: new HttpParams().append(callbackParam, 'JSONP_CALLBACK'),\n observe: 'body',\n responseType: 'json',\n });\n }\n\n /**\n * Constructs an `OPTIONS` request that interprets the body as an\n * `ArrayBuffer` and returns the response as an `ArrayBuffer`.\n *\n * @param url The endpoint URL.\n * @param options HTTP options.\n *\n * @return An `Observable` of the response, with the response body as an `ArrayBuffer`.\n */\n options(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs an `OPTIONS` request that interprets the body as a `Blob` and returns\n * the response as a `Blob`.\n *\n * @param url The endpoint URL.\n * @param options HTTP options.\n *\n * @return An `Observable` of the response, with the response body as a `Blob`.\n */\n options(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs an `OPTIONS` request that interprets the body as a text string and\n * returns a string value.\n *\n * @param url The endpoint URL.\n * @param options HTTP options.\n *\n * @return An `Observable` of the response, with the response body of type string.\n */\n options(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs an `OPTIONS` request that interprets the body as an `ArrayBuffer`\n * and returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param options HTTP options.\n *\n * @return An `Observable` of all `HttpEvents` for the request,\n * with the response body as an `ArrayBuffer`.\n */\n options(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs an `OPTIONS` request that interprets the body as a `Blob` and\n * returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param options HTTP options.\n *\n * @return An `Observable` of all `HttpEvents` for the request,\n * with the response body as a `Blob`.\n */\n options(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs an `OPTIONS` request that interprets the body as a text string\n * and returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param options HTTP options.\n *\n * @return An `Observable` of all the `HTTPEvents` for the request,\n * with the response body of type string.\n */\n options(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs an `OPTIONS` request that interprets the body as a JSON object\n * and returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param options HTTP options.\n *\n * @return An `Observable` of all the `HttpEvents` for the request with the response\n * body of type `Object`.\n */\n options(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs an `OPTIONS` request that interprets the body as a JSON object and\n * returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param options HTTP options.\n *\n * @return An `Observable` of all the `HttpEvents` for the request,\n * with a response body in the requested type.\n */\n options(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs an `OPTIONS` request that interprets the body as an `ArrayBuffer`\n * and returns the full HTTP response.\n *\n * @param url The endpoint URL.\n * @param options HTTP options.\n *\n * @return An `Observable` of the `HttpResponse` for the request,\n * with the response body as an `ArrayBuffer`.\n */\n options(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs an `OPTIONS` request that interprets the body as a `Blob`\n * and returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options HTTP options.\n *\n * @return An `Observable` of the `HttpResponse` for the request,\n * with the response body as a `Blob`.\n */\n options(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs an `OPTIONS` request that interprets the body as text stream\n * and returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options HTTP options.\n *\n * @return An `Observable` of the `HttpResponse` for the request,\n * with the response body of type string.\n */\n options(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs an `OPTIONS` request that interprets the body as a JSON object\n * and returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options HTTP options.\n *\n * @return An `Observable` of the `HttpResponse` for the request,\n * with the response body of type `Object`.\n */\n options(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs an `OPTIONS` request that interprets the body as a JSON object and\n * returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param options HTTP options.\n *\n * @return An `Observable` of the `HttpResponse` for the request,\n * with a response body in the requested type.\n */\n options(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs an `OPTIONS` request that interprets the body as a JSON object and returns the\n * response body as a JSON object.\n *\n * @param url The endpoint URL.\n * @param options HTTP options.\n *\n * @return An `Observable` of the response, with the response body as a JSON object.\n */\n options(url: string, options?: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs an `OPTIONS` request that interprets the body as a JSON object and returns the\n * response in a given type.\n *\n * @param url The endpoint URL.\n * @param options HTTP options.\n *\n * @return An `Observable` of the `HTTPResponse`, with a response body of the given type.\n */\n options(url: string, options?: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs an `Observable` that, when subscribed, causes the configured\n * `OPTIONS` request to execute on the server. This method allows the client\n * to determine the supported HTTP methods and other capabilites of an endpoint,\n * without implying a resource action. See the individual overloads for\n * details on the return type.\n */\n options(url: string, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: HttpObserve,\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n } = {}): Observable {\n return this.request('OPTIONS', url, options as any);\n }\n\n /**\n * Constructs a `PATCH` request that interprets the body as an `ArrayBuffer` and returns\n * the response as an `ArrayBuffer`.\n *\n * @param url The endpoint URL.\n * @param body The resources to edit.\n * @param options HTTP options.\n *\n * @return An `Observable` of the response, with the response body as an `ArrayBuffer`.\n */\n patch(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `PATCH` request that interprets the body as a `Blob` and returns the response\n * as a `Blob`.\n *\n * @param url The endpoint URL.\n * @param body The resources to edit.\n * @param options HTTP options.\n *\n * @return An `Observable` of the response, with the response body as a `Blob`.\n */\n patch(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `PATCH` request that interprets the body as a text string and\n * returns the response as a string value.\n *\n * @param url The endpoint URL.\n * @param body The resources to edit.\n * @param options HTTP options.\n *\n * @return An `Observable` of the response, with a response body of type string.\n */\n patch(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `PATCH` request that interprets the body as an `ArrayBuffer` and\n * returns the the full event stream.\n *\n * @param url The endpoint URL.\n * @param body The resources to edit.\n * @param options HTTP options.\n *\n * @return An `Observable` of all the `HTTPevents` for the request,\n * with the response body as an `ArrayBuffer`.\n */\n\n patch(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PATCH` request that interprets the body as a `Blob`\n * and returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param body The resources to edit.\n * @param options HTTP options.\n *\n * @return An `Observable` of all the `HTTPevents` for the request, with the\n * response body as `Blob`.\n */\n patch(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PATCH` request that interprets the body as a text string and\n * returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param body The resources to edit.\n * @param options HTTP options.\n *\n * @return An `Observable` of all the `HTTPevents`for the request, with a\n * response body of type string.\n */\n patch(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PATCH` request that interprets the body as a JSON object\n * and returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param body The resources to edit.\n * @param options HTTP options.\n *\n * @return An `Observable` of all the `HTTPevents` for the request,\n * with a response body of type `Object`.\n */\n patch(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PATCH` request that interprets the body as a JSON object\n * and returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param body The resources to edit.\n * @param options HTTP options.\n *\n * @return An `Observable` of all the `HTTPevents` for the request,\n * with a response body in the requested type.\n */\n patch(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PATCH` request that interprets the body as an `ArrayBuffer`\n * and returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param body The resources to edit.\n * @param options HTTP options.\n *\n * @return An `Observable` of the `HttpResponse` for the request,\n * with the response body as an `ArrayBuffer`.\n */\n patch(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PATCH` request that interprets the body as a `Blob` and returns the full\n * `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param body The resources to edit.\n * @param options HTTP options.\n *\n * @return An `Observable` of the `HttpResponse` for the request,\n * with the response body as a `Blob`.\n */\n patch(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PATCH` request that interprets the body as a text stream and returns the\n * full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param body The resources to edit.\n * @param options HTTP options.\n *\n * @return An `Observable` of the `HttpResponse` for the request,\n * with a response body of type string.\n */\n patch(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PATCH` request that interprets the body as a JSON object\n * and returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param body The resources to edit.\n * @param options HTTP options.\n *\n * @return An `Observable` of the `HttpResponse` for the request,\n * with a response body in the requested type.\n */\n patch(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PATCH` request that interprets the body as a JSON object\n * and returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param body The resources to edit.\n * @param options HTTP options.\n *\n * @return An `Observable` of the `HttpResponse` for the request,\n * with a response body in the given type.\n */\n patch(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PATCH` request that interprets the body as a JSON object and\n * returns the response body as a JSON object.\n *\n * @param url The endpoint URL.\n * @param body The resources to edit.\n * @param options HTTP options.\n *\n * @return An `Observable` of the response, with the response body as a JSON object.\n */\n patch(url: string, body: any|null, options?: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `PATCH` request that interprets the body as a JSON object\n * and returns the response in a given type.\n *\n * @param url The endpoint URL.\n * @param body The resources to edit.\n * @param options HTTP options.\n *\n * @return An `Observable` of the `HttpResponse` for the request,\n * with a response body in the given type.\n */\n patch(url: string, body: any|null, options?: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `PATCH` request to execute on the server. See the individual overloads for\n * details on the return type.\n */\n patch(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: HttpObserve,\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n } = {}): Observable {\n return this.request('PATCH', url, addBody(options, body));\n }\n\n /**\n * Constructs a `POST` request that interprets the body as an `ArrayBuffer` and returns\n * an `ArrayBuffer`.\n *\n * @param url The endpoint URL.\n * @param body The content to replace with.\n * @param options HTTP options.\n *\n * @return An `Observable` of the response, with the response body as an `ArrayBuffer`.\n */\n post(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `POST` request that interprets the body as a `Blob` and returns the\n * response as a `Blob`.\n *\n * @param url The endpoint URL.\n * @param body The content to replace with.\n * @param options HTTP options\n *\n * @return An `Observable` of the response, with the response body as a `Blob`.\n */\n post(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `POST` request that interprets the body as a text string and\n * returns the response as a string value.\n *\n * @param url The endpoint URL.\n * @param body The content to replace with.\n * @param options HTTP options\n *\n * @return An `Observable` of the response, with a response body of type string.\n */\n post(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `POST` request that interprets the body as an `ArrayBuffer` and\n * returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param body The content to replace with.\n * @param options HTTP options\n *\n * @return An `Observable` of all `HttpEvents` for the request,\n * with the response body as an `ArrayBuffer`.\n */\n post(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `POST` request that interprets the body as a `Blob`\n * and returns the response in an observable of the full event stream.\n *\n * @param url The endpoint URL.\n * @param body The content to replace with.\n * @param options HTTP options\n *\n * @return An `Observable` of all `HttpEvents` for the request, with the response body as `Blob`.\n */\n post(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `POST` request that interprets the body as a text string and returns the full\n * event stream.\n *\n * @param url The endpoint URL.\n * @param body The content to replace with.\n * @param options HTTP options\n *\n * @return An `Observable` of all `HttpEvents` for the request,\n * with a response body of type string.\n */\n post(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a POST request that interprets the body as a JSON object and returns the full event\n * stream.\n *\n * @param url The endpoint URL.\n * @param body The content to replace with.\n * @param options HTTP options\n *\n * @return An `Observable` of all `HttpEvents` for the request,\n * with a response body of type `Object`.\n */\n post(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a POST request that interprets the body as a JSON object and returns the full event\n * stream.\n *\n * @param url The endpoint URL.\n * @param body The content to replace with.\n * @param options HTTP options\n *\n * @return An `Observable` of all `HttpEvents` for the request,\n * with a response body in the requested type.\n */\n post(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a POST request that interprets the body as an `ArrayBuffer`\n * and returns the full `HTTPresponse`.\n *\n * @param url The endpoint URL.\n * @param body The content to replace with.\n * @param options HTTP options\n *\n * @return An `Observable` of the `HTTPResponse` for the request, with the response body as an\n * `ArrayBuffer`.\n */\n post(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `POST` request that interprets the body as a `Blob` and returns the full\n * `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param body The content to replace with.\n * @param options HTTP options\n *\n * @return An `Observable` of the `HTTPResponse` for the request,\n * with the response body as a `Blob`.\n */\n post(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `POST` request that interprets the body as a text stream and returns\n * the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param body The content to replace with.\n * @param options HTTP options\n *\n * @return An `Observable` of the `HTTPResponse` for the request,\n * with a response body of type string.\n */\n post(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `POST` request that interprets the body as a JSON object\n * and returns the full `HTTPResponse`.\n *\n * @param url The endpoint URL.\n * @param body The content to replace with.\n * @param options HTTP options\n *\n * @return An `Observable` of the `HTTPResponse` for the request, with a response body of type\n * `Object`.\n */\n post(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `POST` request that interprets the body as a JSON object and returns the full\n * `HTTPResponse`.\n *\n *\n * @param url The endpoint URL.\n * @param body The content to replace with.\n * @param options HTTP options\n *\n * @return An `Observable` of the `HTTPResponse` for the request, with a response body in the\n * requested type.\n */\n post(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `POST` request that interprets the body as a\n * JSON object and returns the response body as a JSON object.\n *\n * @param url The endpoint URL.\n * @param body The content to replace with.\n * @param options HTTP options\n *\n * @return An `Observable` of the response, with the response body as a JSON object.\n */\n post(url: string, body: any|null, options?: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `POST` request that interprets the body as a JSON object\n * and returns an observable of the response.\n *\n * @param url The endpoint URL.\n * @param body The content to replace with.\n * @param options HTTP options\n *\n * @return An `Observable` of the `HTTPResponse` for the request, with a response body in the\n * requested type.\n */\n post(url: string, body: any|null, options?: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `POST` request to execute on the server. The server responds with the location of\n * the replaced resource. See the individual overloads for\n * details on the return type.\n */\n post(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: HttpObserve,\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n } = {}): Observable {\n return this.request('POST', url, addBody(options, body));\n }\n\n /**\n * Constructs a `PUT` request that interprets the body as an `ArrayBuffer` and returns the\n * response as an `ArrayBuffer`.\n *\n * @param url The endpoint URL.\n * @param body The resources to add/update.\n * @param options HTTP options\n *\n * @return An `Observable` of the response, with the response body as an `ArrayBuffer`.\n */\n put(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `PUT` request that interprets the body as a `Blob` and returns\n * the response as a `Blob`.\n *\n * @param url The endpoint URL.\n * @param body The resources to add/update.\n * @param options HTTP options\n *\n * @return An `Observable` of the response, with the response body as a `Blob`.\n */\n put(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `PUT` request that interprets the body as a text string and\n * returns the response as a string value.\n *\n * @param url The endpoint URL.\n * @param body The resources to add/update.\n * @param options HTTP options\n *\n * @return An `Observable` of the response, with a response body of type string.\n */\n put(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `PUT` request that interprets the body as an `ArrayBuffer` and\n * returns the full event stream.\n *\n * @param url The endpoint URL.\n * @param body The resources to add/update.\n * @param options HTTP options\n *\n * @return An `Observable` of all `HttpEvents` for the request,\n * with the response body as an `ArrayBuffer`.\n */\n put(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PUT` request that interprets the body as a `Blob` and returns the full event\n * stream.\n *\n * @param url The endpoint URL.\n * @param body The resources to add/update.\n * @param options HTTP options\n *\n * @return An `Observable` of all `HttpEvents` for the request,\n * with the response body as a `Blob`.\n */\n put(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PUT` request that interprets the body as a text string and returns the full event\n * stream.\n *\n * @param url The endpoint URL.\n * @param body The resources to add/update.\n * @param options HTTP options\n *\n * @return An `Observable` of all HttpEvents for the request, with a response body\n * of type string.\n */\n put(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PUT` request that interprets the body as a JSON object and returns the full event\n * stream.\n *\n * @param url The endpoint URL.\n * @param body The resources to add/update.\n * @param options HTTP options\n *\n * @return An `Observable` of all `HttpEvents` for the request, with a response body of\n * type `Object`.\n */\n put(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PUT` request that interprets the body as a JSON object and returns the\n * full event stream.\n *\n * @param url The endpoint URL.\n * @param body The resources to add/update.\n * @param options HTTP options\n *\n * @return An `Observable` of all `HttpEvents` for the request,\n * with a response body in the requested type.\n */\n put(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'events',\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PUT` request that interprets the body as an\n * `ArrayBuffer` and returns an observable of the full HTTP response.\n *\n * @param url The endpoint URL.\n * @param body The resources to add/update.\n * @param options HTTP options\n *\n * @return An `Observable` of the `HTTPResponse` for the request, with the response body as an\n * `ArrayBuffer`.\n */\n put(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'arraybuffer',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PUT` request that interprets the body as a `Blob` and returns the\n * full HTTP response.\n *\n * @param url The endpoint URL.\n * @param body The resources to add/update.\n * @param options HTTP options\n *\n * @return An `Observable` of the `HTTPResponse` for the request,\n * with the response body as a `Blob`.\n */\n put(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'blob',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PUT` request that interprets the body as a text stream and returns the\n * full HTTP response.\n *\n * @param url The endpoint URL.\n * @param body The resources to add/update.\n * @param options HTTP options\n *\n * @return An `Observable` of the `HTTPResponse` for the request, with a response body of type\n * string.\n */\n put(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean, responseType: 'text',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PUT` request that interprets the body as a JSON object and returns the full HTTP\n * response.\n *\n * @param url The endpoint URL.\n * @param body The resources to add/update.\n * @param options HTTP options\n *\n * @return An `Observable` of the `HTTPResponse` for the request, with a response body\n * of type 'Object`.\n */\n put(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PUT` request that interprets the body as a JSON object and returns the full HTTP\n * response.\n *\n * @param url The endpoint URL.\n * @param body The resources to add/update.\n * @param options HTTP options\n *\n * @return An `Observable` of the `HTTPResponse` for the request,\n * with a response body in the requested type.\n */\n put(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]}, observe: 'response',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable>;\n\n /**\n * Constructs a `PUT` request that interprets the body as a JSON object and returns the response\n * body as a JSON object.\n *\n * @param url The endpoint URL.\n * @param body The resources to add/update.\n * @param options HTTP options\n *\n * @return An `Observable` of the response, with the response body as a JSON object.\n */\n put(url: string, body: any|null, options?: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs a `PUT` request that interprets the body as a JSON object\n * and returns an observable of the response.\n *\n * @param url The endpoint URL.\n * @param body The resources to add/update.\n * @param options HTTP options\n *\n * @return An `Observable` of the `HTTPResponse` for the request, with a response body in the\n * requested type.\n */\n put(url: string, body: any|null, options?: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: 'body',\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'json',\n withCredentials?: boolean,\n }): Observable;\n\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `PUT` request to execute on the server. The `PUT` method replaces an existing resource\n * with a new set of values.\n * See the individual overloads for details on the return type.\n */\n put(url: string, body: any|null, options: {\n headers?: HttpHeaders|{[header: string]: string | string[]},\n observe?: HttpObserve,\n params?: HttpParams|{[param: string]: string | string[]},\n reportProgress?: boolean,\n responseType?: 'arraybuffer'|'blob'|'json'|'text',\n withCredentials?: boolean,\n } = {}): Observable {\n return this.request('PUT', url, addBody(options, body));\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, InjectionToken} from '@angular/core';\nimport {Observable} from 'rxjs';\n\nimport {HttpHandler} from './backend';\nimport {HttpRequest} from './request';\nimport {HttpEvent} from './response';\n\n/**\n * Intercepts and handles an `HttpRequest` or `HttpResponse`.\n *\n * Most interceptors transform the outgoing request before passing it to the\n * next interceptor in the chain, by calling `next.handle(transformedReq)`.\n * An interceptor may transform the\n * response event stream as well, by applying additional RxJS operators on the stream\n * returned by `next.handle()`.\n *\n * More rarely, an interceptor may handle the request entirely,\n * and compose a new event stream instead of invoking `next.handle()`. This is an\n * acceptable behavior, but keep in mind that further interceptors will be skipped entirely.\n *\n * It is also rare but valid for an interceptor to return multiple responses on the\n * event stream for a single request.\n *\n * @publicApi\n *\n * @see [HTTP Guide](guide/http#intercepting-requests-and-responses)\n *\n * @usageNotes\n *\n * To use the same instance of `HttpInterceptors` for the entire app, import the `HttpClientModule`\n * only in your `AppModule`, and add the interceptors to the root application injector .\n * If you import `HttpClientModule` multiple times across different modules (for example, in lazy\n * loading modules), each import creates a new copy of the `HttpClientModule`, which overwrites the\n * interceptors provided in the root module.\n *\n */\nexport interface HttpInterceptor {\n /**\n * Identifies and handles a given HTTP request.\n * @param req The outgoing request object to handle.\n * @param next The next interceptor in the chain, or the backend\n * if no interceptors remain in the chain.\n * @returns An observable of the event stream.\n */\n intercept(req: HttpRequest, next: HttpHandler): Observable>;\n}\n\n/**\n * `HttpHandler` which applies an `HttpInterceptor` to an `HttpRequest`.\n *\n *\n */\nexport class HttpInterceptorHandler implements HttpHandler {\n constructor(private next: HttpHandler, private interceptor: HttpInterceptor) {}\n\n handle(req: HttpRequest): Observable> {\n return this.interceptor.intercept(req, this.next);\n }\n}\n\n/**\n * A multi-provider token that represents the array of registered\n * `HttpInterceptor` objects.\n *\n * @publicApi\n */\nexport const HTTP_INTERCEPTORS = new InjectionToken('HTTP_INTERCEPTORS');\n\n@Injectable()\nexport class NoopInterceptor implements HttpInterceptor {\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n return next.handle(req);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable} from '@angular/core';\nimport {Observable, Observer} from 'rxjs';\n\nimport {HttpBackend, HttpHandler} from './backend';\nimport {HttpRequest} from './request';\nimport {HttpErrorResponse, HttpEvent, HttpEventType, HttpResponse} from './response';\n\n// Every request made through JSONP needs a callback name that's unique across the\n// whole page. Each request is assigned an id and the callback name is constructed\n// from that. The next id to be assigned is tracked in a global variable here that\n// is shared among all applications on the page.\nlet nextRequestId: number = 0;\n\n// Error text given when a JSONP script is injected, but doesn't invoke the callback\n// passed in its URL.\nexport const JSONP_ERR_NO_CALLBACK = 'JSONP injected script did not invoke callback.';\n\n// Error text given when a request is passed to the JsonpClientBackend that doesn't\n// have a request method JSONP.\nexport const JSONP_ERR_WRONG_METHOD = 'JSONP requests must use JSONP request method.';\nexport const JSONP_ERR_WRONG_RESPONSE_TYPE = 'JSONP requests must use Json response type.';\n\n/**\n * DI token/abstract type representing a map of JSONP callbacks.\n *\n * In the browser, this should always be the `window` object.\n *\n *\n */\nexport abstract class JsonpCallbackContext {\n [key: string]: (data: any) => void;\n}\n\n/**\n * Processes an `HttpRequest` with the JSONP method,\n * by performing JSONP style requests.\n * @see `HttpHandler`\n * @see `HttpXhrBackend`\n *\n * @publicApi\n */\n@Injectable()\nexport class JsonpClientBackend implements HttpBackend {\n constructor(private callbackMap: JsonpCallbackContext, @Inject(DOCUMENT) private document: any) {}\n\n /**\n * Get the name of the next callback method, by incrementing the global `nextRequestId`.\n */\n private nextCallback(): string {\n return `ng_jsonp_callback_${nextRequestId++}`;\n }\n\n /**\n * Processes a JSONP request and returns an event stream of the results.\n * @param req The request object.\n * @returns An observable of the response events.\n *\n */\n handle(req: HttpRequest): Observable> {\n // Firstly, check both the method and response type. If either doesn't match\n // then the request was improperly routed here and cannot be handled.\n if (req.method !== 'JSONP') {\n throw new Error(JSONP_ERR_WRONG_METHOD);\n } else if (req.responseType !== 'json') {\n throw new Error(JSONP_ERR_WRONG_RESPONSE_TYPE);\n }\n\n // Everything else happens inside the Observable boundary.\n return new Observable>((observer: Observer>) => {\n // The first step to make a request is to generate the callback name, and replace the\n // callback placeholder in the URL with the name. Care has to be taken here to ensure\n // a trailing &, if matched, gets inserted back into the URL in the correct place.\n const callback = this.nextCallback();\n const url = req.urlWithParams.replace(/=JSONP_CALLBACK(&|$)/, `=${callback}$1`);\n\n // Construct the