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 = 74);
    /******/
})
/************************************************************************/
/******/({

    /***/ 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 functioal 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
            }
        }


        /***/
    }),

    /***/ 11:
    /***/ (function (module, exports) {

        module.exports = require("element-ui/lib/input");

        /***/
    }),

    /***/ 14:
    /***/ (function (module, exports) {

        module.exports = require("element-ui/lib/utils/popup");

        /***/
    }),

    /***/ 18:
    /***/ (function (module, exports) {

        module.exports = require("element-ui/lib/button");

        /***/
    }),

    /***/ 2:
    /***/ (function (module, exports) {

        module.exports = require("element-ui/lib/utils/dom");

        /***/
    }),

    /***/ 20:
    /***/ (function (module, exports) {

        module.exports = require("element-ui/lib/locale");

        /***/
    }),

    /***/ 23:
    /***/ (function (module, exports) {

        module.exports = require("element-ui/lib/utils/vdom");

        /***/
    }),

    /***/ 47:
    /***/ (function (module, exports) {

        module.exports = require("element-ui/lib/utils/aria-dialog");

        /***/
    }),

    /***/ 6:
    /***/ (function (module, exports) {

        module.exports = require("element-ui/lib/mixins/locale");

        /***/
    }),

    /***/ 7:
    /***/ (function (module, exports) {

        module.exports = require("vue");

        /***/
    }),

    /***/ 74:
    /***/ (function (module, __webpack_exports__, __webpack_require__) {

        "use strict";
        __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@15.7.1@vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/_vue-loader@15.7.1@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"}, [
                                    _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 "element-ui/lib/utils/popup"
        var popup_ = __webpack_require__(14);
        var popup_default = /*#__PURE__*/__webpack_require__.n(popup_);

// EXTERNAL MODULE: external "element-ui/lib/mixins/locale"
        var locale_ = __webpack_require__(6);
        var locale_default = /*#__PURE__*/__webpack_require__.n(locale_);

// EXTERNAL MODULE: external "element-ui/lib/input"
        var input_ = __webpack_require__(11);
        var input_default = /*#__PURE__*/__webpack_require__.n(input_);

// EXTERNAL MODULE: external "element-ui/lib/button"
        var button_ = __webpack_require__(18);
        var button_default = /*#__PURE__*/__webpack_require__.n(button_);

// EXTERNAL MODULE: external "element-ui/lib/utils/dom"
        var dom_ = __webpack_require__(2);

// EXTERNAL MODULE: external "element-ui/lib/locale"
        var lib_locale_ = __webpack_require__(20);

// EXTERNAL MODULE: external "element-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@7.1.5@babel-loader/lib!./node_modules/_vue-loader@15.7.1@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@15.7.1@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 "element-ui/lib/utils/merge"
        var merge_ = __webpack_require__(9);
        var merge_default = /*#__PURE__*/__webpack_require__.n(merge_);

// EXTERNAL MODULE: external "element-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("element-ui/lib/utils/merge");

        /***/
    })

    /******/
});