var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
  return c > 3 && r && Object.defineProperty(target, key, r), r;
};
import { Component, Element, Event, Listen, Method, Prop, State, Watch } from '@stencil/core';
import { sanitizeVegaComponent } from '../../utils/component';
import { InjectVegaGlobalSlimmer, InjectVegaSlimmer, methodPlaceholder, } from 'vega-slimmer/core';
import { createEventEmitSlimmer, } from '../../helpers/event-manager/slimmers/event-emit-slimmer';
import { ChildNodesEventPreventSlimmer } from '../../helpers/event-manager/slimmers/child-nodes-event-prevent-slimmer';
import { VegaOpen, VegaClose } from '../../helpers/event-manager/event-id/vega-event-id';
import { ComponentGlobalStyleSlimmer } from '../../helpers/slimmers/component-global-style-slimmer';
import mainContentStyle from './vega-modal-disable-body-scroll.css';
import { createDeprecatedPropertySlimmer, } from '../../helpers/slimmers/deprecated-property-slimmer';
import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics';
import { VegaModalRuntimeMetricsPayloadDefinition } from '../../constants/runtime-metrics-payload-definition/vega-modal/runtime-metrics-payload-definition';
import { VegaNestedModalController } from './slimmers/controllers/vega-nested-modal-controller';
import { VegaModalRenderer } from './slimmers/renderers/vega-modal-renderer';
import { VegaModalMobileController } from './slimmers/controllers/vega-modal-mobile-controller';
import { VegaModalScrollController } from './slimmers/controllers/vega-modal-scroll-controller';
import { VegaModalOpenStateController } from './slimmers/controllers/vega-modal-open-state-controller';
import { VegaModalBackdropController } from './slimmers/controllers/vega-modal-backdrop-controller';
import { VegaModalOpenedModalStackController } from './slimmers/controllers/vega-modal-opened-modal-stack-controller';
import { VegaModalZIndexController } from './slimmers/controllers/vega-modal-z-index-controller';
import { VegaModalOpenState } from './slimmers/models/vega-modal-open-state';
/**
 * @vegaVersion 1.0.6
 */
export class VegaModal {
  constructor() {
    this.globalSlimmers = {};
    this.nestedModalController = new VegaNestedModalController();
    this.openStateController = new VegaModalOpenStateController();
    this.mobileController = new VegaModalMobileController();
    this.scrollController = new VegaModalScrollController();
    this.backdropController = new VegaModalBackdropController();
    this.openedModalStackController = new VegaModalOpenedModalStackController();
    this.zIndexController = new VegaModalZIndexController();
    this.renderer = new VegaModalRenderer();
    this.openEventEmitter = createEventEmitSlimmer(VegaModal, VegaOpen);
    this.closeEventEmitter = createEventEmitSlimmer(VegaModal, VegaClose);
    this.childNodesEventPrevent = new ChildNodesEventPreventSlimmer([VegaOpen, VegaClose], () => this.renderer.getModalContainerRef());
    this.componentGlobalStyleSlimmer = new ComponentGlobalStyleSlimmer(mainContentStyle);
    this.deprecatedPropertySlimmer = createDeprecatedPropertySlimmer(VegaModal, 'isVerticallyCentered', 'isVerticallyCenter', false);
    this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer(VegaModalRuntimeMetricsPayloadDefinition);
    this.openState = this.initOpenState();
    /**
     * Provides options for controlling the behavior of the backdrop.
     * - `default`:
     *      indicates that the user can close the modal
     *      by clicking on the backdrop.
     * - `static`:
     *      means that the user cannot close the modal by
     *      clicking on the backdrop.
     * - `none`:
     *      specifies that the backdrop will not be rendered.
     *
     * _Note_:
     *    When changing this value, a page refresh is required
     *    for the changes to take effect.
     *
     * @vegaVersion 1.0.6
     */
    this.backdrop = 'default';
    /**
     * Determines whether the modal is initially open.
     *
     * @vegaVersion 1.0.6
     */
    /* eslint-disable-next-line @stencil/strict-mutable */
    this.open = false;
    /**
     * Specifies whether the modal uses an animated transition
     *    when it appears.
     *
     * @vegaVersion 1.0.11
     */
    this.animation = false;
    /**
     * Represents the title displayed within the modal.
     *
     * @vegaVersion 1.3.0
     */
    this.modalTitle = '';
    /**
     * Specifies the background color of the modal's backdrop.
     *
     * @vegaVersion 1.3.0
     */
    this.backdropColor = 'default';
    /**
     * Determines whether the modal is vertically centered
     *    on the screen.
     * @deprecated This property will be removed soon and replaced by prop isVerticallyCentered
     *
     * @vegaVersion 1.3.0
     */
    this.isVerticallyCenter = false;
    /**
     * Determines whether the modal is vertically centered
     *    on the screen.
     *
     * @vegaVersion 2.2.0
     */
    this.isVerticallyCentered = false;
    /**
     * Determines whether the modal displays a close button to
     *    allow hiding or closing of the modal.
     *
     * @vegaVersion 1.3.0
     */
    this.showCloseButton = true;
    /**
     * Specifies the amount of space or padding within the modal.
     *
     * It can be set as a ResponsiveType or any size value.
     *
     * @vegaVersion 1.0.10
     */
    this.padding = 'size-24';
    /**
     * Specifies the margin around the modal dialog.
     *
     * It accepts a ResponsiveType or size values.
     * Set `x` to `auto` to horizontally center the modal.
     *
     * @vegaVersion 2.81.0
     */
    this.margin = { y: 'size-64', x: 'auto' };
    /**
     * Provides a callback function that is triggered when a user clicks the
     *    close button located in the top right corner of the modal.
     *
     * If the callback function returns `true`, the modal will be closed.
     *
     * If the callback function returns `false` or does not return any value, the modal will remain open.
     *
     * @vegaVersion 1.22.0
     */
    this.handleClose = undefined;
  }
  watchOpenState() {
    methodPlaceholder();
  }
  /**
   * The below method is e2e-test covered in
   * @see{module:vega-modal-size-number-e2e}
   * @see{module:vega-modal-size-responsive-e2e}
   */
  /* istanbul ignore next */
  watchSize() {
    methodPlaceholder();
  }
  /**
   * The below method is e2e-test covered in
   * @see{module:vega-modal-height-e2e}
   */
  /* istanbul ignore next */
  watchHeight() {
    methodPlaceholder();
  }
  watchOpen() {
    this.openState = new VegaModalOpenState(this.open, 'property');
  }
  watchContentMaxHeight() {
    methodPlaceholder();
  }
  /**
   * Clicking on a non-static current modal should close this modal, not other modals.
   * The below method is e2e-test covered in
   * @see{module:vega-modal-toggle-interactive-e2e}
   */
  /* istanbul ignore next */
  listenDataTarget(e) {
    methodPlaceholder(e);
  }
  /**
   * The below method is e2e-test covered in
   * @see{module:vega-modal-toggle-interactive-e2e}
   */
  /* istanbul ignore next */
  listenDataDismiss(e) {
    methodPlaceholder(e);
  }
  /**
   * The below method is e2e-test covered in
   * @see{module:vega-modal-backdrop-mousedown-mouseup-e2e}
   */
  /* istanbul ignore next */
  listenMouseDown(e) {
    methodPlaceholder(e);
  }
  /**
   * The below method is e2e-test covered in
   * @see{module:vega-modal-backdrop-mousedown-mouseup-e2e}
   */
  /* istanbul ignore next */
  listenMouseUp(e) {
    methodPlaceholder(e);
  }
  /**
   * Invoke this method to show or hide the modal.
   *
   * @vegaVersion 1.0.6
   */
  /* The below method is e2e-test covered in
   * @see{module:vega-modal-toggle-interactive-e2e}
   */
  /* istanbul ignore next
   *
   */
  async modal(option) {
    methodPlaceholder(option);
  }
  render() {
    return sanitizeVegaComponent(this.renderer.render(), this.host);
  }
  /**
   * Returns the initial open state of the modal.
   */
  initOpenState() {
    return new VegaModalOpenState(this.open, 'property');
  }
  static get is() { return "vega-modal"; }
  static get encapsulation() { return "shadow"; }
  static get originalStyleUrls() { return {
    "$": ["vega-modal.scss"]
  }; }
  static get styleUrls() { return {
    "$": ["vega-modal.css"]
  }; }
  static get properties() { return {
    "backdrop": {
      "type": "string",
      "mutable": false,
      "complexType": {
        "original": "VegaModalBackdrop",
        "resolved": "\"default\" | \"none\" | \"static\"",
        "references": {
          "VegaModalBackdrop": {
            "location": "import",
            "path": "./types"
          }
        }
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "1.0.6"
          }],
        "text": "Provides options for controlling the behavior of the backdrop.\n- `default`:\n     indicates that the user can close the modal\n     by clicking on the backdrop.\n- `static`:\n     means that the user cannot close the modal by\n     clicking on the backdrop.\n- `none`:\n     specifies that the backdrop will not be rendered.\n\n_Note_:\n   When changing this value, a page refresh is required\n   for the changes to take effect."
      },
      "attribute": "backdrop",
      "reflect": false,
      "defaultValue": "'default'"
    },
    "size": {
      "type": "any",
      "mutable": false,
      "complexType": {
        "original": "ResponsiveType<SizeType>",
        "resolved": "`${number}%` | number | { S?: SizeType; M?: SizeType; L?: SizeType; XL?: SizeType; default?: SizeType; }",
        "references": {
          "ResponsiveType": {
            "location": "import",
            "path": "../../types/ui.type"
          },
          "SizeType": {
            "location": "import",
            "path": "../../types/ui.type"
          }
        }
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "1.0.6"
          }],
        "text": "Determines the size of the modal.\n\nIt can be specified as a number, a percentage string ending with \"%\",\n   or a ResponsiveType.\n\nIt is important to note that there are different maximum widths\n   for modal windows based on the viewport size. If the specified size exceeds\n   the maximum width, the maximum modal width will be used instead."
      },
      "attribute": "size",
      "reflect": false
    },
    "height": {
      "type": "any",
      "mutable": false,
      "complexType": {
        "original": "ResponsiveType<number | string>",
        "resolved": "number | string | { S?: string | number; M?: string | number; L?: string | number; XL?: string | number; default?: string | number; }",
        "references": {
          "ResponsiveType": {
            "location": "import",
            "path": "../../types/ui.type"
          }
        }
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "2.81.0"
          }],
        "text": "Determines the height of the modal.\n\nIt accepts numeric values (interpreted as pixels), string values (e.g., \"100%\", \"100vh\"),\n   or ResponsiveType for responsive configurations."
      },
      "attribute": "height",
      "reflect": false
    },
    "open": {
      "type": "boolean",
      "mutable": true,
      "complexType": {
        "original": "boolean",
        "resolved": "boolean",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "1.0.6"
          }],
        "text": "Determines whether the modal is initially open."
      },
      "attribute": "open",
      "reflect": false,
      "defaultValue": "false"
    },
    "animation": {
      "type": "boolean",
      "mutable": false,
      "complexType": {
        "original": "boolean",
        "resolved": "boolean",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "1.0.11"
          }],
        "text": "Specifies whether the modal uses an animated transition\n   when it appears."
      },
      "attribute": "animation",
      "reflect": false,
      "defaultValue": "false"
    },
    "modalTitle": {
      "type": "string",
      "mutable": false,
      "complexType": {
        "original": "string",
        "resolved": "string",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "1.3.0"
          }],
        "text": "Represents the title displayed within the modal."
      },
      "attribute": "modal-title",
      "reflect": false,
      "defaultValue": "''"
    },
    "backdropColor": {
      "type": "string",
      "mutable": false,
      "complexType": {
        "original": "VegaModalBackdropColor",
        "resolved": "\"default\" | \"none\" | \"semi\"",
        "references": {
          "VegaModalBackdropColor": {
            "location": "import",
            "path": "./types"
          }
        }
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "1.3.0"
          }],
        "text": "Specifies the background color of the modal's backdrop."
      },
      "attribute": "backdrop-color",
      "reflect": false,
      "defaultValue": "'default'"
    },
    "isVerticallyCenter": {
      "type": "boolean",
      "mutable": false,
      "complexType": {
        "original": "boolean",
        "resolved": "boolean",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "deprecated",
            "text": "This property will be removed soon and replaced by prop isVerticallyCentered"
          }, {
            "name": "vegaVersion",
            "text": "1.3.0"
          }],
        "text": "Determines whether the modal is vertically centered\n   on the screen."
      },
      "attribute": "is-vertically-center",
      "reflect": false,
      "defaultValue": "false"
    },
    "isVerticallyCentered": {
      "type": "boolean",
      "mutable": false,
      "complexType": {
        "original": "boolean",
        "resolved": "boolean",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "2.2.0"
          }],
        "text": "Determines whether the modal is vertically centered\n   on the screen."
      },
      "attribute": "is-vertically-centered",
      "reflect": false,
      "defaultValue": "false"
    },
    "showCloseButton": {
      "type": "boolean",
      "mutable": false,
      "complexType": {
        "original": "boolean",
        "resolved": "boolean",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "1.3.0"
          }],
        "text": "Determines whether the modal displays a close button to\n   allow hiding or closing of the modal."
      },
      "attribute": "show-close-button",
      "reflect": false,
      "defaultValue": "true"
    },
    "padding": {
      "type": "string",
      "mutable": false,
      "complexType": {
        "original": "ResponsiveType<PaddingType>",
        "resolved": "\"0\" | \"size-112\" | \"size-12\" | \"size-16\" | \"size-2\" | \"size-20\" | \"size-24\" | \"size-32\" | \"size-4\" | \"size-40\" | \"size-48\" | \"size-64\" | \"size-72\" | \"size-8\" | \"size-80\" | { S?: PaddingType; M?: PaddingType; L?: PaddingType; XL?: PaddingType; default?: PaddingType; } | { left?: \"0\" | \"size-4\" | \"size-8\" | \"size-12\" | \"size-16\" | \"size-20\" | \"size-24\" | \"size-32\" | \"size-40\" | \"size-48\" | \"size-64\" | \"size-72\" | \"size-80\" | \"size-112\" | \"size-2\"; right?: \"0\" | \"size-4\" | \"size-8\" | \"size-12\" | \"size-16\" | \"size-20\" | \"size-24\" | \"size-32\" | \"size-40\" | \"size-48\" | \"size-64\" | \"size-72\" | \"size-80\" | \"size-112\" | \"size-2\"; top?: \"0\" | \"size-4\" | \"size-8\" | \"size-12\" | \"size-16\" | \"size-20\" | \"size-24\" | \"size-32\" | \"size-40\" | \"size-48\" | \"size-64\" | \"size-72\" | \"size-80\" | \"size-112\" | \"size-2\"; bottom?: \"0\" | \"size-4\" | \"size-8\" | \"size-12\" | \"size-16\" | \"size-20\" | \"size-24\" | \"size-32\" | \"size-40\" | \"size-48\" | \"size-64\" | \"size-72\" | \"size-80\" | \"size-112\" | \"size-2\"; x?: \"0\" | \"size-4\" | \"size-8\" | \"size-12\" | \"size-16\" | \"size-20\" | \"size-24\" | \"size-32\" | \"size-40\" | \"size-48\" | \"size-64\" | \"size-72\" | \"size-80\" | \"size-112\" | \"size-2\"; y?: \"0\" | \"size-4\" | \"size-8\" | \"size-12\" | \"size-16\" | \"size-20\" | \"size-24\" | \"size-32\" | \"size-40\" | \"size-48\" | \"size-64\" | \"size-72\" | \"size-80\" | \"size-112\" | \"size-2\"; }",
        "references": {
          "ResponsiveType": {
            "location": "import",
            "path": "../../types/ui.type"
          },
          "PaddingType": {
            "location": "import",
            "path": "../../types/ui.type"
          }
        }
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "1.0.10"
          }],
        "text": "Specifies the amount of space or padding within the modal.\n\nIt can be set as a ResponsiveType or any size value."
      },
      "attribute": "padding",
      "reflect": false,
      "defaultValue": "'size-24'"
    },
    "margin": {
      "type": "string",
      "mutable": false,
      "complexType": {
        "original": "ResponsiveType<MarginType>",
        "resolved": "\"0\" | \"auto\" | \"size-112\" | \"size-12\" | \"size-16\" | \"size-2\" | \"size-20\" | \"size-24\" | \"size-32\" | \"size-4\" | \"size-40\" | \"size-48\" | \"size-64\" | \"size-72\" | \"size-8\" | \"size-80\" | { S?: MarginType; M?: MarginType; L?: MarginType; XL?: MarginType; default?: MarginType; } | { left?: MarginValueType; right?: MarginValueType; top?: MarginValueType; bottom?: MarginValueType; x?: MarginValueType; y?: MarginValueType; }",
        "references": {
          "ResponsiveType": {
            "location": "import",
            "path": "../../types/ui.type"
          },
          "MarginType": {
            "location": "import",
            "path": "../../types/ui.type"
          }
        }
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "2.81.0"
          }],
        "text": "Specifies the margin around the modal dialog.\n\nIt accepts a ResponsiveType or size values.\nSet `x` to `auto` to horizontally center the modal."
      },
      "attribute": "margin",
      "reflect": false,
      "defaultValue": "{ y: 'size-64', x: 'auto' }"
    },
    "contentMaxHeight": {
      "type": "any",
      "mutable": false,
      "complexType": {
        "original": "ResponsiveType<number | string>",
        "resolved": "number | string | { S?: string | number; M?: string | number; L?: string | number; XL?: string | number; default?: string | number; }",
        "references": {
          "ResponsiveType": {
            "location": "import",
            "path": "../../types/ui.type"
          }
        }
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "1.4.0"
          }],
        "text": "Defines the maximum height of the content within\n   the modal element.\n\nIt accepts values in numeric, string and ResponsiveType.\nNumeric values represent maximum height of the content in pixels\n   (e.g., 100 translates to 100px).\nString values allow the use of CSS units like 'vh' or 'calc' expressions.\n   (e.g., '100vh' or 'calc(100vh - 20px)')."
      },
      "attribute": "content-max-height",
      "reflect": false
    },
    "handleClose": {
      "type": "unknown",
      "mutable": false,
      "complexType": {
        "original": "(() => boolean) | undefined",
        "resolved": "() => boolean",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "1.22.0"
          }],
        "text": "Provides a callback function that is triggered when a user clicks the\n   close button located in the top right corner of the modal.\n\nIf the callback function returns `true`, the modal will be closed.\n\nIf the callback function returns `false` or does not return any value, the modal will remain open."
      },
      "defaultValue": "undefined"
    }
  }; }
  static get states() { return {
    "currentBreakpoint": {},
    "openState": {}
  }; }
  static get events() { return [{
      "method": "vegaClose",
      "name": "vegaClose",
      "bubbles": true,
      "cancelable": true,
      "composed": true,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "1.0.10"
          }],
        "text": "An event emitter notifying the modal close event.  If a method is defined for this event, invoking event.preventDefault() prevents the modal from closing."
      },
      "complexType": {
        "original": "any",
        "resolved": "any",
        "references": {}
      }
    }, {
      "method": "close",
      "name": "close",
      "bubbles": true,
      "cancelable": true,
      "composed": true,
      "docs": {
        "tags": [{
            "name": "eventSemantics",
            "text": "namespace:native"
          }, {
            "name": "vegaVersion",
            "text": "2.0.0"
          }],
        "text": "An event emitter notifying the modal close event."
      },
      "complexType": {
        "original": "any",
        "resolved": "any",
        "references": {}
      }
    }, {
      "method": "vegaOpen",
      "name": "vegaOpen",
      "bubbles": true,
      "cancelable": true,
      "composed": true,
      "docs": {
        "tags": [{
            "name": "vegaVersion",
            "text": "1.0.10"
          }],
        "text": "An event emitter notifying the modal open event."
      },
      "complexType": {
        "original": "any",
        "resolved": "any",
        "references": {}
      }
    }, {
      "method": "modalOpen",
      "name": "modalOpen",
      "bubbles": true,
      "cancelable": true,
      "composed": true,
      "docs": {
        "tags": [{
            "name": "eventSemantics",
            "text": "namespace:native"
          }, {
            "name": "vegaVersion",
            "text": "2.0.0"
          }],
        "text": "An event emitter notifying the modal open event. The event name is not `open` because already has a property `open`"
      },
      "complexType": {
        "original": "any",
        "resolved": "any",
        "references": {}
      }
    }]; }
  static get methods() { return {
    "modal": {
      "complexType": {
        "signature": "(option: 'show' | 'hide') => Promise<void>",
        "parameters": [{
            "tags": [],
            "text": ""
          }],
        "references": {
          "Promise": {
            "location": "global"
          }
        },
        "return": "Promise<void>"
      },
      "docs": {
        "text": "Invoke this method to show or hide the modal.",
        "tags": [{
            "name": "vegaVersion",
            "text": "1.0.6"
          }]
      }
    }
  }; }
  static get elementRef() { return "host"; }
  static get watchers() { return [{
      "propName": "openState",
      "methodName": "watchOpenState"
    }, {
      "propName": "size",
      "methodName": "watchSize"
    }, {
      "propName": "height",
      "methodName": "watchHeight"
    }, {
      "propName": "open",
      "methodName": "watchOpen"
    }, {
      "propName": "contentMaxHeight",
      "methodName": "watchContentMaxHeight"
    }]; }
  static get listeners() { return [{
      "name": "click",
      "method": "listenDataTarget",
      "target": "window",
      "capture": true,
      "passive": false
    }, {
      "name": "click",
      "method": "listenDataDismiss",
      "target": undefined,
      "capture": false,
      "passive": false
    }, {
      "name": "mousedown",
      "method": "listenMouseDown",
      "target": undefined,
      "capture": false,
      "passive": true
    }, {
      "name": "mouseup",
      "method": "listenMouseUp",
      "target": undefined,
      "capture": false,
      "passive": true
    }]; }
}
__decorate([
  InjectVegaGlobalSlimmer()
], VegaModal.prototype, "globalSlimmers", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaModal.prototype, "nestedModalController", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaModal.prototype, "openStateController", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaModal.prototype, "mobileController", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaModal.prototype, "scrollController", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaModal.prototype, "backdropController", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaModal.prototype, "openedModalStackController", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaModal.prototype, "zIndexController", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaModal.prototype, "renderer", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaModal.prototype, "openEventEmitter", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaModal.prototype, "closeEventEmitter", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaModal.prototype, "childNodesEventPrevent", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaModal.prototype, "componentGlobalStyleSlimmer", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaModal.prototype, "deprecatedPropertySlimmer", void 0);
__decorate([
  InjectVegaSlimmer()
], VegaModal.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
