text: module.exports =
  /******/ (function(modules) { // webpackBootstrap
  /******/ 	// The module cache
  /******/ 	var installedModules = {};
  /******/
  /******/ 	// The require function
  /******/ 	function __webpack_require__(moduleId) {
  /******/
  /******/ 		// Check if module is in cache
  /******/ 		if(installedModules[moduleId]) {
  /******/ 			return installedModules[moduleId].exports;
  /******/ 		}
  /******/ 		// Create a new module (and put it into the cache)
  /******/ 		var module = installedModules[moduleId] = {
  /******/ 			i: moduleId,
  /******/ 			l: false,
  /******/ 			exports: {}
  /******/ 		};
  /******/
  /******/ 		// Execute the module function
  /******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
  /******/
  /******/ 		// Flag the module as loaded
  /******/ 		module.l = true;
  /******/
  /******/ 		// Return the exports of the module
  /******/ 		return module.exports;
  /******/ 	}
  /******/
  /******/
  /******/ 	// expose the modules object (__webpack_modules__)
  /******/ 	__webpack_require__.m = modules;
  /******/
  /******/ 	// expose the module cache
  /******/ 	__webpack_require__.c = installedModules;
  /******/
  /******/ 	// define getter function for harmony exports
  /******/ 	__webpack_require__.d = function(exports, name, getter) {
  /******/ 		if(!__webpack_require__.o(exports, name)) {
  /******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
  /******/ 		}
  /******/ 	};
  /******/
  /******/ 	// define __esModule on exports
  /******/ 	__webpack_require__.r = function(exports) {
  /******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
  /******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
  /******/ 		}
  /******/ 		Object.defineProperty(exports, '__esModule', { value: true });
  /******/ 	};
  /******/
  /******/ 	// create a fake namespace object
  /******/ 	// mode & 1: value is a module id, require it
  /******/ 	// mode & 2: merge all properties of value into the ns
  /******/ 	// mode & 4: return value when already ns object
  /******/ 	// mode & 8|1: behave like require
  /******/ 	__webpack_require__.t = function(value, mode) {
  /******/ 		if(mode & 1) value = __webpack_require__(value);
  /******/ 		if(mode & 8) return value;
  /******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
  /******/ 		var ns = Object.create(null);
  /******/ 		__webpack_require__.r(ns);
  /******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
  /******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
  /******/ 		return ns;
  /******/ 	};
  /******/
  /******/ 	// getDefaultExport function for compatibility with non-harmony modules
  /******/ 	__webpack_require__.n = function(module) {
  /******/ 		var getter = module && module.__esModule ?
  /******/ 			function getDefault() { return module['default']; } :
  /******/ 			function getModuleExports() { return module; };
  /******/ 		__webpack_require__.d(getter, 'a', getter);
  /******/ 		return getter;
  /******/ 	};
  /******/
  /******/ 	// Object.prototype.hasOwnProperty.call
  /******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
  /******/
  /******/ 	// __webpack_public_path__
  /******/ 	__webpack_require__.p = "/dist/";
  /******/
  /******/
  /******/ 	// Load entry module and return exports
  /******/ 	return __webpack_require__(__webpack_require__.s = 75);
  /******/ })
  /************************************************************************/
  /******/ ({
  
  /***/ 0:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; });
  /* globals __VUE_SSR_CONTEXT__ */
  
  // IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
  // This module is a runtime utility for cleaner component module output and will
  // be included in the final webpack user bundle.
  
  function normalizeComponent (
    scriptExports,
    render,
    staticRenderFns,
    functionalTemplate,
    injectStyles,
    scopeId,
    moduleIdentifier, /* server only */
    shadowMode /* vue-cli only */
  ) {
    // Vue.extend constructor export interop
    var options = typeof scriptExports === 'function'
      ? scriptExports.options
      : scriptExports
  
    // render functions
    if (render) {
      options.render = render
      options.staticRenderFns = staticRenderFns
      options._compiled = true
    }
  
    // functional template
    if (functionalTemplate) {
      options.functional = true
    }
  
    // scopedId
    if (scopeId) {
      options._scopeId = 'data-v-' + scopeId
    }
  
    var hook
    if (moduleIdentifier) { // server build
      hook = function (context) {
        // 2.3 injection
        context =
          context || // cached call
          (this.$vnode && this.$vnode.ssrContext) || // stateful
          (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
        // 2.2 with runInNewContext: true
        if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
          context = __VUE_SSR_CONTEXT__
        }
        // inject component styles
        if (injectStyles) {
          injectStyles.call(this, context)
        }
        // register component module identifier for async chunk inferrence
        if (context && context._registeredComponents) {
          context._registeredComponents.add(moduleIdentifier)
        }
      }
      // used by ssr in case component is cached and beforeCreate
      // never gets called
      options._ssrRegister = hook
    } else if (injectStyles) {
      hook = shadowMode
        ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }
        : injectStyles
    }
  
    if (hook) {
      if (options.functional) {
        // for template-only hot-reload because in that case the render fn doesn't
        // go through the normalizer
        options._injectStyles = hook
        // register for functional component in vue file
        var originalRender = options.render
        options.render = function renderWithStyleInjection (h, context) {
          hook.call(context)
          return originalRender(h, context)
        }
      } else {
        // inject component registration as beforeCreate hook
        var existing = options.beforeCreate
        options.beforeCreate = existing
          ? [].concat(existing, hook)
          : [hook]
      }
    }
  
    return {
      exports: scriptExports,
      options: options
    }
  }
  
  
  /***/ }),
  
  /***/ 10:
  /***/ (function(module, exports) {
  
  module.exports = require("custom-e-ui/lib/input");
  
  /***/ }),
  
  /***/ 13:
  /***/ (function(module, exports) {
  
  module.exports = require("custom-e-ui/lib/button");
  
  /***/ }),
  
  /***/ 15:
  /***/ (function(module, exports) {
  
  module.exports = require("custom-e-ui/lib/utils/popup");
  
  /***/ }),
  
  /***/ 19:
  /***/ (function(module, exports) {
  
  module.exports = require("custom-e-ui/lib/locale");
  
  /***/ }),
  
  /***/ 2:
  /***/ (function(module, exports) {
  
  module.exports = require("custom-e-ui/lib/utils/dom");
  
  /***/ }),
  
  /***/ 23:
  /***/ (function(module, exports) {
  
  module.exports = require("custom-e-ui/lib/utils/vdom");
  
  /***/ }),
  
  /***/ 47:
  /***/ (function(module, exports) {
  
  module.exports = require("custom-e-ui/lib/utils/aria-dialog");
  
  /***/ }),
  
  /***/ 6:
  /***/ (function(module, exports) {
  
  module.exports = require("custom-e-ui/lib/mixins/locale");
  
  /***/ }),
  
  /***/ 7:
  /***/ (function(module, exports) {
  
  module.exports = require("vue");
  
  /***/ }),
  
  /***/ 75:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  // ESM COMPAT FLAG
  __webpack_require__.r(__webpack_exports__);
  
  // EXTERNAL MODULE: external "vue"
  var external_vue_ = __webpack_require__(7);
  var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);
  
  // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/message-box/src/main.vue?vue&type=template&id=6b29b012&
  var render = function() {
    var _vm = this
    var _h = _vm.$createElement
    var _c = _vm._self._c || _h
    return _c("transition", { attrs: { name: "msgbox-fade" } }, [
      _c(
        "div",
        {
          directives: [
            {
              name: "show",
              rawName: "v-show",
              value: _vm.visible,
              expression: "visible"
            }
          ],
          staticClass: "el-message-box__wrapper",
          attrs: {
            tabindex: "-1",
            role: "dialog",
            "aria-modal": "true",
            "aria-label": _vm.title || "dialog"
          },
          on: {
            click: function($event) {
              if ($event.target !== $event.currentTarget) {
                return null
              }
              return _vm.handleWrapperClick($event)
            }
          }
        },
        [
          _c(
            "div",
            {
              staticClass: "el-message-box",
              class: [_vm.customClass, _vm.center && "el-message-box--center"]
            },
            [
              _vm.title !== null
                ? _c("div", { staticClass: "el-message-box__header" }, [
                    _c("div", { staticClass: "el-message-box__title" }, [
                      _vm.icon && _vm.center
                        ? _c("div", {
                            class: ["el-message-box__status", _vm.icon]
                          })
                        : _vm._e(),
                      _c("span", [_vm._v(_vm._s(_vm.title))])
                    ]),
                    _vm.showClose
                      ? _c(
                          "button",
                          {
                            staticClass: "el-message-box__headerbtn",
                            attrs: { type: "button", "aria-label": "Close" },
                            on: {
                              click: function($event) {
                                _vm.handleAction(
                                  _vm.distinguishCancelAndClose
                                    ? "close"
                                    : "cancel"
                                )
                              },
                              keydown: function($event) {
                                if (
                                  !("button" in $event) &&
                                  _vm._k(
                                    $event.keyCode,
                                    "enter",
                                    13,
                                    $event.key,
                                    "Enter"
                                  )
                                ) {
                                  return null
                                }
                                _vm.handleAction(
                                  _vm.distinguishCancelAndClose
                                    ? "close"
                                    : "cancel"
                                )
                              }
                            }
                          },
                          [
                            _c("i", {
                              staticClass: "el-message-box__close el-icon-close"
                            })
                          ]
                        )
                      : _vm._e()
                  ])
                : _vm._e(),
              _c("div", { staticClass: "el-message-box__content" }, [
                _c("div", { staticClass: "el-message-box__container" }, [
                  _vm.icon && !_vm.center && _vm.message !== ""
                    ? _c("div", { class: ["el-message-box__status", _vm.icon] })
                    : _vm._e(),
                  _vm.message !== ""
                    ? _c(
                        "div",
                        { staticClass: "el-message-box__message" },
                        [
                          _vm._t("default", [
                            !_vm.dangerouslyUseHTMLString
                              ? _c("p", [_vm._v(_vm._s(_vm.message))])
                              : _c("p", {
                                  domProps: { innerHTML: _vm._s(_vm.message) }
                                })
                          ])
                        ],
                        2
                      )
                    : _vm._e()
                ]),
                _c(
                  "div",
                  {
                    directives: [
                      {
                        name: "show",
                        rawName: "v-show",
                        value: _vm.showInput,
                        expression: "showInput"
                      }
                    ],
                    staticClass: "el-message-box__input"
                  },
                  [
                    _c("el-input", {
                      ref: "input",
                      attrs: {
                        type: _vm.inputType,
                        placeholder: _vm.inputPlaceholder
                      },
                      nativeOn: {
                        keydown: function($event) {
                          if (
                            !("button" in $event) &&
                            _vm._k(
                              $event.keyCode,
                              "enter",
                              13,
                              $event.key,
                              "Enter"
                            )
                          ) {
                            return null
                          }
                          return _vm.handleInputEnter($event)
                        }
                      },
                      model: {
                        value: _vm.inputValue,
                        callback: function($$v) {
                          _vm.inputValue = $$v
                        },
                        expression: "inputValue"
                      }
                    }),
                    _c(
                      "div",
                      {
                        staticClass: "el-message-box__errormsg",
                        style: {
                          visibility: !!_vm.editorErrorMessage
                            ? "visible"
                            : "hidden"
                        }
                      },
                      [_vm._v(_vm._s(_vm.editorErrorMessage))]
                    )
                  ],
                  1
                )
              ]),
              _c(
                "div",
                { staticClass: "el-message-box__btns" },
                [
                  _vm.showCancelButton
                    ? _c(
                        "el-button",
                        {
                          class: [_vm.cancelButtonClasses],
                          attrs: {
                            loading: _vm.cancelButtonLoading,
                            round: _vm.roundButton,
                            size: "small"
                          },
                          on: {
                            keydown: function($event) {
                              if (
                                !("button" in $event) &&
                                _vm._k(
                                  $event.keyCode,
                                  "enter",
                                  13,
                                  $event.key,
                                  "Enter"
                                )
                              ) {
                                return null
                              }
                              _vm.handleAction("cancel")
                            }
                          },
                          nativeOn: {
                            click: function($event) {
                              _vm.handleAction("cancel")
                            }
                          }
                        },
                        [
                          _vm._v(
                            "\n          " +
                              _vm._s(
                                _vm.cancelButtonText ||
                                  _vm.t("el.messagebox.cancel")
                              ) +
                              "\n        "
                          )
                        ]
                      )
                    : _vm._e(),
                  _c(
                    "el-button",
                    {
                      directives: [
                        {
                          name: "show",
                          rawName: "v-show",
                          value: _vm.showConfirmButton,
                          expression: "showConfirmButton"
                        }
                      ],
                      ref: "confirm",
                      class: [_vm.confirmButtonClasses],
                      attrs: {
                        loading: _vm.confirmButtonLoading,
                        round: _vm.roundButton,
                        size: "small"
                      },
                      on: {
                        keydown: function($event) {
                          if (
                            !("button" in $event) &&
                            _vm._k(
                              $event.keyCode,
                              "enter",
                              13,
                              $event.key,
                              "Enter"
                            )
                          ) {
                            return null
                          }
                          _vm.handleAction("confirm")
                        }
                      },
                      nativeOn: {
                        click: function($event) {
                          _vm.handleAction("confirm")
                        }
                      }
                    },
                    [
                      _vm._v(
                        "\n          " +
                          _vm._s(
                            _vm.confirmButtonText ||
                              _vm.t("el.messagebox.confirm")
                          ) +
                          "\n        "
                      )
                    ]
                  )
                ],
                1
              )
            ]
          )
        ]
      )
    ])
  }
  var staticRenderFns = []
  render._withStripped = true
  
  
  // CONCATENATED MODULE: ./packages/message-box/src/main.vue?vue&type=template&id=6b29b012&
  
  // EXTERNAL MODULE: external "custom-e-ui/lib/utils/popup"
  var popup_ = __webpack_require__(15);
  var popup_default = /*#__PURE__*/__webpack_require__.n(popup_);
  
  // EXTERNAL MODULE: external "custom-e-ui/lib/mixins/locale"
  var locale_ = __webpack_require__(6);
  var locale_default = /*#__PURE__*/__webpack_require__.n(locale_);
  
  // EXTERNAL MODULE: external "custom-e-ui/lib/input"
  var input_ = __webpack_require__(10);
  var input_default = /*#__PURE__*/__webpack_require__.n(input_);
  
  // EXTERNAL MODULE: external "custom-e-ui/lib/button"
  var button_ = __webpack_require__(13);
  var button_default = /*#__PURE__*/__webpack_require__.n(button_);
  
  // EXTERNAL MODULE: external "custom-e-ui/lib/utils/dom"
  var dom_ = __webpack_require__(2);
  
  // EXTERNAL MODULE: external "custom-e-ui/lib/locale"
  var lib_locale_ = __webpack_require__(19);
  
  // EXTERNAL MODULE: external "custom-e-ui/lib/utils/aria-dialog"
  var aria_dialog_ = __webpack_require__(47);
  var aria_dialog_default = /*#__PURE__*/__webpack_require__.n(aria_dialog_);
  
  // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/message-box/src/main.vue?vue&type=script&lang=js&
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  //
  
  
  
  
  
  
  
  
  
  var messageBox = void 0;
  var typeMap = {
    success: 'success',
    info: 'info',
    warning: 'warning',
    error: 'error'
  };
  
  /* harmony default export */ var mainvue_type_script_lang_js_ = ({
    mixins: [popup_default.a, locale_default.a],
  
    props: {
      modal: {
        default: true
      },
      lockScroll: {
        default: true
      },
      showClose: {
        type: Boolean,
        default: true
      },
      closeOnClickModal: {
        default: true
      },
      closeOnPressEscape: {
        default: true
      },
      closeOnHashChange: {
        default: true
      },
      center: {
        default: false,
        type: Boolean
      },
      roundButton: {
        default: false,
        type: Boolean
      }
    },
  
    components: {
      ElInput: input_default.a,
      ElButton: button_default.a
    },
  
    computed: {
      icon: function icon() {
        var type = this.type,
            iconClass = this.iconClass;
  
        return iconClass || (type && typeMap[type] ? 'el-icon-' + typeMap[type] : '');
      },
      confirmButtonClasses: function confirmButtonClasses() {
        return 'el-button--primary ' + this.confirmButtonClass;
      },
      cancelButtonClasses: function cancelButtonClasses() {
        return '' + this.cancelButtonClass;
      }
    },
  
    methods: {
      getSafeClose: function getSafeClose() {
        var _this = this;
  
        var currentId = this.uid;
        return function () {
          _this.$nextTick(function () {
            if (currentId === _this.uid) _this.doClose();
          });
        };
      },
      doClose: function doClose() {
        var _this2 = this;
  
        if (!this.visible) return;
        this.visible = false;
        this._closing = true;
  
        this.onClose && this.onClose();
        messageBox.closeDialog(); // 解绑
        if (this.lockScroll) {
          setTimeout(this.restoreBodyStyle, 200);
        }
        this.opened = false;
        this.doAfterClose();
        setTimeout(function () {
          if (_this2.action) _this2.callback(_this2.action, _this2);
        });
      },
      handleWrapperClick: function handleWrapperClick() {
        if (this.closeOnClickModal) {
          this.handleAction(this.distinguishCancelAndClose ? 'close' : 'cancel');
        }
      },
      handleInputEnter: function handleInputEnter() {
        if (this.inputType !== 'textarea') {
          return this.handleAction('confirm');
        }
      },
      handleAction: function handleAction(action) {
        if (this.$type === 'prompt' && action === 'confirm' && !this.validate()) {
          return;
        }
        this.action = action;
        if (typeof this.beforeClose === 'function') {
          this.close = this.getSafeClose();
          this.beforeClose(action, this, this.close);
        } else {
          this.doClose();
        }
      },
      validate: function validate() {
        if (this.$type === 'prompt') {
          var inputPattern = this.inputPattern;
          if (inputPattern && !inputPattern.test(this.inputValue || '')) {
            this.editorErrorMessage = this.inputErrorMessage || Object(lib_locale_["t"])('el.messagebox.error');
            Object(dom_["addClass"])(this.getInputElement(), 'invalid');
            return false;
          }
          var inputValidator = this.inputValidator;
          if (typeof inputValidator === 'function') {
            var validateResult = inputValidator(this.inputValue);
            if (validateResult === false) {
              this.editorErrorMessage = this.inputErrorMessage || Object(lib_locale_["t"])('el.messagebox.error');
              Object(dom_["addClass"])(this.getInputElement(), 'invalid');
              return false;
            }
            if (typeof validateResult === 'string') {
              this.editorErrorMessage = validateResult;
              Object(dom_["addClass"])(this.getInputElement(), 'invalid');
              return false;
            }
          }
        }
        this.editorErrorMessage = '';
        Object(dom_["removeClass"])(this.getInputElement(), 'invalid');
        return true;
      },
      getFirstFocus: function getFirstFocus() {
        var btn = this.$el.querySelector('.el-message-box__btns .el-button');
        var title = this.$el.querySelector('.el-message-box__btns .el-message-box__title');
        return btn || title;
      },
      getInputElement: function getInputElement() {
        var inputRefs = this.$refs.input.$refs;
        return inputRefs.input || inputRefs.textarea;
      },
      handleClose: function handleClose() {
        this.handleAction('close');
      }
    },
  
    watch: {
      inputValue: {
        immediate: true,
        handler: function handler(val) {
          var _this3 = this;
  
          this.$nextTick(function (_) {
            if (_this3.$type === 'prompt' && val !== null) {
              _this3.validate();
            }
          });
        }
      },
  
      visible: function visible(val) {
        var _this4 = this;
  
        if (val) {
          this.uid++;
          if (this.$type === 'alert' || this.$type === 'confirm') {
            this.$nextTick(function () {
              _this4.$refs.confirm.$el.focus();
            });
          }
          this.focusAfterClosed = document.activeElement;
          messageBox = new aria_dialog_default.a(this.$el, this.focusAfterClosed, this.getFirstFocus());
        }
  
        // prompt
        if (this.$type !== 'prompt') return;
        if (val) {
          setTimeout(function () {
            if (_this4.$refs.input && _this4.$refs.input.$el) {
              _this4.getInputElement().focus();
            }
          }, 500);
        } else {
          this.editorErrorMessage = '';
          Object(dom_["removeClass"])(this.getInputElement(), 'invalid');
        }
      }
    },
  
    mounted: function mounted() {
      var _this5 = this;
  
      this.$nextTick(function () {
        if (_this5.closeOnHashChange) {
          window.addEventListener('hashchange', _this5.close);
        }
      });
    },
    beforeDestroy: function beforeDestroy() {
      if (this.closeOnHashChange) {
        window.removeEventListener('hashchange', this.close);
      }
      setTimeout(function () {
        messageBox.closeDialog();
      });
    },
    data: function data() {
      return {
        uid: 1,
        title: undefined,
        message: '',
        type: '',
        iconClass: '',
        customClass: '',
        showInput: false,
        inputValue: null,
        inputPlaceholder: '',
        inputType: 'text',
        inputPattern: null,
        inputValidator: null,
        inputErrorMessage: '',
        showConfirmButton: true,
        showCancelButton: false,
        action: '',
        confirmButtonText: '',
        cancelButtonText: '',
        confirmButtonLoading: false,
        cancelButtonLoading: false,
        confirmButtonClass: '',
        confirmButtonDisabled: false,
        cancelButtonClass: '',
        editorErrorMessage: null,
        callback: null,
        dangerouslyUseHTMLString: false,
        focusAfterClosed: null,
        isOnComposition: false,
        distinguishCancelAndClose: false
      };
    }
  });
  // CONCATENATED MODULE: ./packages/message-box/src/main.vue?vue&type=script&lang=js&
   /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); 
  // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
  var componentNormalizer = __webpack_require__(0);
  
  // CONCATENATED MODULE: ./packages/message-box/src/main.vue
  
  
  
  
  
  /* normalize component */
  
  var component = Object(componentNormalizer["a" /* default */])(
    src_mainvue_type_script_lang_js_,
    render,
    staticRenderFns,
    false,
    null,
    null,
    null
    
  )
  
  /* hot reload */
  if (false) { var api; }
  component.options.__file = "packages/message-box/src/main.vue"
  /* harmony default export */ var main = (component.exports);
  // EXTERNAL MODULE: external "custom-e-ui/lib/utils/merge"
  var merge_ = __webpack_require__(9);
  var merge_default = /*#__PURE__*/__webpack_require__.n(merge_);
  
  // EXTERNAL MODULE: external "custom-e-ui/lib/utils/vdom"
  var vdom_ = __webpack_require__(23);
  
  // CONCATENATED MODULE: ./packages/message-box/src/main.js
  var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
  
  var defaults = {
    title: null,
    message: '',
    type: '',
    iconClass: '',
    showInput: false,
    showClose: true,
    modalFade: true,
    lockScroll: true,
    closeOnClickModal: true,
    closeOnPressEscape: true,
    closeOnHashChange: true,
    inputValue: null,
    inputPlaceholder: '',
    inputType: 'text',
    inputPattern: null,
    inputValidator: null,
    inputErrorMessage: '',
    showConfirmButton: true,
    showCancelButton: false,
    confirmButtonPosition: 'right',
    confirmButtonHighlight: false,
    cancelButtonHighlight: false,
    confirmButtonText: '',
    cancelButtonText: '',
    confirmButtonClass: '',
    cancelButtonClass: '',
    customClass: '',
    beforeClose: null,
    dangerouslyUseHTMLString: false,
    center: false,
    roundButton: false,
    distinguishCancelAndClose: false
  };
  
  
  
  
  
  
  var MessageBoxConstructor = external_vue_default.a.extend(main);
  
  var currentMsg = void 0,
      instance = void 0;
  var msgQueue = [];
  
  var defaultCallback = function defaultCallback(action) {
    if (currentMsg) {
      var callback = currentMsg.callback;
      if (typeof callback === 'function') {
        if (instance.showInput) {
          callback(instance.inputValue, action);
        } else {
          callback(action);
        }
      }
      if (currentMsg.resolve) {
        if (action === 'confirm') {
          if (instance.showInput) {
            currentMsg.resolve({ value: instance.inputValue, action: action });
          } else {
            currentMsg.resolve(action);
          }
        } else if (currentMsg.reject && (action === 'cancel' || action === 'close')) {
          currentMsg.reject(action);
        }
      }
    }
  };
  
  var initInstance = function initInstance() {
    instance = new MessageBoxConstructor({
      el: document.createElement('div')
    });
  
    instance.callback = defaultCallback;
  };
  
  var main_showNextMsg = function showNextMsg() {
    if (!instance) {
      initInstance();
    }
    instance.action = '';
  
    if (!instance.visible || instance.closeTimer) {
      if (msgQueue.length > 0) {
        currentMsg = msgQueue.shift();
  
        var options = currentMsg.options;
        for (var prop in options) {
          if (options.hasOwnProperty(prop)) {
            instance[prop] = options[prop];
          }
        }
        if (options.callback === undefined) {
          instance.callback = defaultCallback;
        }
  
        var oldCb = instance.callback;
        instance.callback = function (action, instance) {
          oldCb(action, instance);
          showNextMsg();
        };
        if (Object(vdom_["isVNode"])(instance.message)) {
          instance.$slots.default = [instance.message];
          instance.message = null;
        } else {
          delete instance.$slots.default;
        }
        ['modal', 'showClose', 'closeOnClickModal', 'closeOnPressEscape', 'closeOnHashChange'].forEach(function (prop) {
          if (instance[prop] === undefined) {
            instance[prop] = true;
          }
        });
        document.body.appendChild(instance.$el);
  
        external_vue_default.a.nextTick(function () {
          instance.visible = true;
        });
      }
    }
  };
  
  var main_MessageBox = function MessageBox(options, callback) {
    if (external_vue_default.a.prototype.$isServer) return;
    if (typeof options === 'string' || Object(vdom_["isVNode"])(options)) {
      options = {
        message: options
      };
      if (typeof arguments[1] === 'string') {
        options.title = arguments[1];
      }
    } else if (options.callback && !callback) {
      callback = options.callback;
    }
  
    if (typeof Promise !== 'undefined') {
      return new Promise(function (resolve, reject) {
        // eslint-disable-line
        msgQueue.push({
          options: merge_default()({}, defaults, MessageBox.defaults, options),
          callback: callback,
          resolve: resolve,
          reject: reject
        });
  
        main_showNextMsg();
      });
    } else {
      msgQueue.push({
        options: merge_default()({}, defaults, MessageBox.defaults, options),
        callback: callback
      });
  
      main_showNextMsg();
    }
  };
  
  main_MessageBox.setDefaults = function (defaults) {
    main_MessageBox.defaults = defaults;
  };
  
  main_MessageBox.alert = function (message, title, options) {
    if ((typeof title === 'undefined' ? 'undefined' : _typeof(title)) === 'object') {
      options = title;
      title = '';
    } else if (title === undefined) {
      title = '';
    }
    return main_MessageBox(merge_default()({
      title: title,
      message: message,
      $type: 'alert',
      closeOnPressEscape: false,
      closeOnClickModal: false
    }, options));
  };
  
  main_MessageBox.confirm = function (message, title, options) {
    if ((typeof title === 'undefined' ? 'undefined' : _typeof(title)) === 'object') {
      options = title;
      title = '';
    } else if (title === undefined) {
      title = '';
    }
    return main_MessageBox(merge_default()({
      title: title,
      message: message,
      $type: 'confirm',
      showCancelButton: true
    }, options));
  };
  
  main_MessageBox.prompt = function (message, title, options) {
    if ((typeof title === 'undefined' ? 'undefined' : _typeof(title)) === 'object') {
      options = title;
      title = '';
    } else if (title === undefined) {
      title = '';
    }
    return main_MessageBox(merge_default()({
      title: title,
      message: message,
      showCancelButton: true,
      showInput: true,
      $type: 'prompt'
    }, options));
  };
  
  main_MessageBox.close = function () {
    instance.doClose();
    instance.visible = false;
    msgQueue = [];
    currentMsg = null;
  };
  
  /* harmony default export */ var src_main = (main_MessageBox);
  
  // CONCATENATED MODULE: ./packages/message-box/index.js
  
  /* harmony default export */ var message_box = __webpack_exports__["default"] = (src_main);
  
  /***/ }),
  
  /***/ 9:
  /***/ (function(module, exports) {
  
  module.exports = require("custom-e-ui/lib/utils/merge");
  
  /***/ })
  
  /******/ });