UNPKG

33.4 kBJavaScriptView Raw
1module.exports =
2/******/ (function(modules) { // webpackBootstrap
3/******/ // The module cache
4/******/ var installedModules = {};
5/******/
6/******/ // The require function
7/******/ function __webpack_require__(moduleId) {
8/******/
9/******/ // Check if module is in cache
10/******/ if(installedModules[moduleId]) {
11/******/ return installedModules[moduleId].exports;
12/******/ }
13/******/ // Create a new module (and put it into the cache)
14/******/ var module = installedModules[moduleId] = {
15/******/ i: moduleId,
16/******/ l: false,
17/******/ exports: {}
18/******/ };
19/******/
20/******/ // Execute the module function
21/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
22/******/
23/******/ // Flag the module as loaded
24/******/ module.l = true;
25/******/
26/******/ // Return the exports of the module
27/******/ return module.exports;
28/******/ }
29/******/
30/******/
31/******/ // expose the modules object (__webpack_modules__)
32/******/ __webpack_require__.m = modules;
33/******/
34/******/ // expose the module cache
35/******/ __webpack_require__.c = installedModules;
36/******/
37/******/ // define getter function for harmony exports
38/******/ __webpack_require__.d = function(exports, name, getter) {
39/******/ if(!__webpack_require__.o(exports, name)) {
40/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
41/******/ }
42/******/ };
43/******/
44/******/ // define __esModule on exports
45/******/ __webpack_require__.r = function(exports) {
46/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
47/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
48/******/ }
49/******/ Object.defineProperty(exports, '__esModule', { value: true });
50/******/ };
51/******/
52/******/ // create a fake namespace object
53/******/ // mode & 1: value is a module id, require it
54/******/ // mode & 2: merge all properties of value into the ns
55/******/ // mode & 4: return value when already ns object
56/******/ // mode & 8|1: behave like require
57/******/ __webpack_require__.t = function(value, mode) {
58/******/ if(mode & 1) value = __webpack_require__(value);
59/******/ if(mode & 8) return value;
60/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
61/******/ var ns = Object.create(null);
62/******/ __webpack_require__.r(ns);
63/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
64/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
65/******/ return ns;
66/******/ };
67/******/
68/******/ // getDefaultExport function for compatibility with non-harmony modules
69/******/ __webpack_require__.n = function(module) {
70/******/ var getter = module && module.__esModule ?
71/******/ function getDefault() { return module['default']; } :
72/******/ function getModuleExports() { return module; };
73/******/ __webpack_require__.d(getter, 'a', getter);
74/******/ return getter;
75/******/ };
76/******/
77/******/ // Object.prototype.hasOwnProperty.call
78/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
79/******/
80/******/ // __webpack_public_path__
81/******/ __webpack_require__.p = "/dist/";
82/******/
83/******/
84/******/ // Load entry module and return exports
85/******/ return __webpack_require__(__webpack_require__.s = 77);
86/******/ })
87/************************************************************************/
88/******/ ({
89
90/***/ 0:
91/***/ (function(module, __webpack_exports__, __webpack_require__) {
92
93"use strict";
94/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; });
95/* globals __VUE_SSR_CONTEXT__ */
96
97// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
98// This module is a runtime utility for cleaner component module output and will
99// be included in the final webpack user bundle.
100
101function normalizeComponent (
102 scriptExports,
103 render,
104 staticRenderFns,
105 functionalTemplate,
106 injectStyles,
107 scopeId,
108 moduleIdentifier, /* server only */
109 shadowMode /* vue-cli only */
110) {
111 // Vue.extend constructor export interop
112 var options = typeof scriptExports === 'function'
113 ? scriptExports.options
114 : scriptExports
115
116 // render functions
117 if (render) {
118 options.render = render
119 options.staticRenderFns = staticRenderFns
120 options._compiled = true
121 }
122
123 // functional template
124 if (functionalTemplate) {
125 options.functional = true
126 }
127
128 // scopedId
129 if (scopeId) {
130 options._scopeId = 'data-v-' + scopeId
131 }
132
133 var hook
134 if (moduleIdentifier) { // server build
135 hook = function (context) {
136 // 2.3 injection
137 context =
138 context || // cached call
139 (this.$vnode && this.$vnode.ssrContext) || // stateful
140 (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
141 // 2.2 with runInNewContext: true
142 if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
143 context = __VUE_SSR_CONTEXT__
144 }
145 // inject component styles
146 if (injectStyles) {
147 injectStyles.call(this, context)
148 }
149 // register component module identifier for async chunk inferrence
150 if (context && context._registeredComponents) {
151 context._registeredComponents.add(moduleIdentifier)
152 }
153 }
154 // used by ssr in case component is cached and beforeCreate
155 // never gets called
156 options._ssrRegister = hook
157 } else if (injectStyles) {
158 hook = shadowMode
159 ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }
160 : injectStyles
161 }
162
163 if (hook) {
164 if (options.functional) {
165 // for template-only hot-reload because in that case the render fn doesn't
166 // go through the normalizer
167 options._injectStyles = hook
168 // register for functioal component in vue file
169 var originalRender = options.render
170 options.render = function renderWithStyleInjection (h, context) {
171 hook.call(context)
172 return originalRender(h, context)
173 }
174 } else {
175 // inject component registration as beforeCreate hook
176 var existing = options.beforeCreate
177 options.beforeCreate = existing
178 ? [].concat(existing, hook)
179 : [hook]
180 }
181 }
182
183 return {
184 exports: scriptExports,
185 options: options
186 }
187}
188
189
190/***/ }),
191
192/***/ 10:
193/***/ (function(module, exports) {
194
195module.exports = require("element-ui/lib/input");
196
197/***/ }),
198
199/***/ 13:
200/***/ (function(module, exports) {
201
202module.exports = require("element-ui/lib/button");
203
204/***/ }),
205
206/***/ 15:
207/***/ (function(module, exports) {
208
209module.exports = require("element-ui/lib/utils/popup");
210
211/***/ }),
212
213/***/ 2:
214/***/ (function(module, exports) {
215
216module.exports = require("element-ui/lib/utils/dom");
217
218/***/ }),
219
220/***/ 20:
221/***/ (function(module, exports) {
222
223module.exports = require("element-ui/lib/locale");
224
225/***/ }),
226
227/***/ 23:
228/***/ (function(module, exports) {
229
230module.exports = require("element-ui/lib/utils/vdom");
231
232/***/ }),
233
234/***/ 47:
235/***/ (function(module, exports) {
236
237module.exports = require("element-ui/lib/utils/aria-dialog");
238
239/***/ }),
240
241/***/ 6:
242/***/ (function(module, exports) {
243
244module.exports = require("element-ui/lib/mixins/locale");
245
246/***/ }),
247
248/***/ 7:
249/***/ (function(module, exports) {
250
251module.exports = require("vue");
252
253/***/ }),
254
255/***/ 77:
256/***/ (function(module, __webpack_exports__, __webpack_require__) {
257
258"use strict";
259__webpack_require__.r(__webpack_exports__);
260
261// EXTERNAL MODULE: external "vue"
262var external_vue_ = __webpack_require__(7);
263var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);
264
265// 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&
266var render = function() {
267 var _vm = this
268 var _h = _vm.$createElement
269 var _c = _vm._self._c || _h
270 return _c("transition", { attrs: { name: "msgbox-fade" } }, [
271 _c(
272 "div",
273 {
274 directives: [
275 {
276 name: "show",
277 rawName: "v-show",
278 value: _vm.visible,
279 expression: "visible"
280 }
281 ],
282 staticClass: "el-message-box__wrapper",
283 attrs: {
284 tabindex: "-1",
285 role: "dialog",
286 "aria-modal": "true",
287 "aria-label": _vm.title || "dialog"
288 },
289 on: {
290 click: function($event) {
291 if ($event.target !== $event.currentTarget) {
292 return null
293 }
294 return _vm.handleWrapperClick($event)
295 }
296 }
297 },
298 [
299 _c(
300 "div",
301 {
302 staticClass: "el-message-box",
303 class: [_vm.customClass, _vm.center && "el-message-box--center"]
304 },
305 [
306 _vm.title !== null
307 ? _c("div", { staticClass: "el-message-box__header" }, [
308 _c("div", { staticClass: "el-message-box__title" }, [
309 _vm.icon && _vm.center
310 ? _c("div", {
311 class: ["el-message-box__status", _vm.icon]
312 })
313 : _vm._e(),
314 _c("span", [_vm._v(_vm._s(_vm.title))])
315 ]),
316 _vm.showClose
317 ? _c(
318 "button",
319 {
320 staticClass: "el-message-box__headerbtn",
321 attrs: { type: "button", "aria-label": "Close" },
322 on: {
323 click: function($event) {
324 _vm.handleAction(
325 _vm.distinguishCancelAndClose
326 ? "close"
327 : "cancel"
328 )
329 },
330 keydown: function($event) {
331 if (
332 !("button" in $event) &&
333 _vm._k(
334 $event.keyCode,
335 "enter",
336 13,
337 $event.key,
338 "Enter"
339 )
340 ) {
341 return null
342 }
343 _vm.handleAction(
344 _vm.distinguishCancelAndClose
345 ? "close"
346 : "cancel"
347 )
348 }
349 }
350 },
351 [
352 _c("i", {
353 staticClass: "el-message-box__close el-icon-close"
354 })
355 ]
356 )
357 : _vm._e()
358 ])
359 : _vm._e(),
360 _c("div", { staticClass: "el-message-box__content" }, [
361 _c("div", { staticClass: "el-message-box__container" }, [
362 _vm.icon && !_vm.center && _vm.message !== ""
363 ? _c("div", { class: ["el-message-box__status", _vm.icon] })
364 : _vm._e(),
365 _vm.message !== ""
366 ? _c(
367 "div",
368 { staticClass: "el-message-box__message" },
369 [
370 _vm._t("default", [
371 !_vm.dangerouslyUseHTMLString
372 ? _c("p", [_vm._v(_vm._s(_vm.message))])
373 : _c("p", {
374 domProps: { innerHTML: _vm._s(_vm.message) }
375 })
376 ])
377 ],
378 2
379 )
380 : _vm._e()
381 ]),
382 _c(
383 "div",
384 {
385 directives: [
386 {
387 name: "show",
388 rawName: "v-show",
389 value: _vm.showInput,
390 expression: "showInput"
391 }
392 ],
393 staticClass: "el-message-box__input"
394 },
395 [
396 _c("el-input", {
397 ref: "input",
398 attrs: {
399 type: _vm.inputType,
400 placeholder: _vm.inputPlaceholder
401 },
402 nativeOn: {
403 keydown: function($event) {
404 if (
405 !("button" in $event) &&
406 _vm._k(
407 $event.keyCode,
408 "enter",
409 13,
410 $event.key,
411 "Enter"
412 )
413 ) {
414 return null
415 }
416 return _vm.handleInputEnter($event)
417 }
418 },
419 model: {
420 value: _vm.inputValue,
421 callback: function($$v) {
422 _vm.inputValue = $$v
423 },
424 expression: "inputValue"
425 }
426 }),
427 _c(
428 "div",
429 {
430 staticClass: "el-message-box__errormsg",
431 style: {
432 visibility: !!_vm.editorErrorMessage
433 ? "visible"
434 : "hidden"
435 }
436 },
437 [_vm._v(_vm._s(_vm.editorErrorMessage))]
438 )
439 ],
440 1
441 )
442 ]),
443 _c(
444 "div",
445 { staticClass: "el-message-box__btns" },
446 [
447 _vm.showCancelButton
448 ? _c(
449 "el-button",
450 {
451 class: [_vm.cancelButtonClasses],
452 attrs: {
453 loading: _vm.cancelButtonLoading,
454 round: _vm.roundButton,
455 size: "small"
456 },
457 on: {
458 keydown: function($event) {
459 if (
460 !("button" in $event) &&
461 _vm._k(
462 $event.keyCode,
463 "enter",
464 13,
465 $event.key,
466 "Enter"
467 )
468 ) {
469 return null
470 }
471 _vm.handleAction("cancel")
472 }
473 },
474 nativeOn: {
475 click: function($event) {
476 _vm.handleAction("cancel")
477 }
478 }
479 },
480 [
481 _vm._v(
482 "\n " +
483 _vm._s(
484 _vm.cancelButtonText ||
485 _vm.t("el.messagebox.cancel")
486 ) +
487 "\n "
488 )
489 ]
490 )
491 : _vm._e(),
492 _c(
493 "el-button",
494 {
495 directives: [
496 {
497 name: "show",
498 rawName: "v-show",
499 value: _vm.showConfirmButton,
500 expression: "showConfirmButton"
501 }
502 ],
503 ref: "confirm",
504 class: [_vm.confirmButtonClasses],
505 attrs: {
506 loading: _vm.confirmButtonLoading,
507 round: _vm.roundButton,
508 size: "small"
509 },
510 on: {
511 keydown: function($event) {
512 if (
513 !("button" in $event) &&
514 _vm._k(
515 $event.keyCode,
516 "enter",
517 13,
518 $event.key,
519 "Enter"
520 )
521 ) {
522 return null
523 }
524 _vm.handleAction("confirm")
525 }
526 },
527 nativeOn: {
528 click: function($event) {
529 _vm.handleAction("confirm")
530 }
531 }
532 },
533 [
534 _vm._v(
535 "\n " +
536 _vm._s(
537 _vm.confirmButtonText ||
538 _vm.t("el.messagebox.confirm")
539 ) +
540 "\n "
541 )
542 ]
543 )
544 ],
545 1
546 )
547 ]
548 )
549 ]
550 )
551 ])
552}
553var staticRenderFns = []
554render._withStripped = true
555
556
557// CONCATENATED MODULE: ./packages/message-box/src/main.vue?vue&type=template&id=6b29b012&
558
559// EXTERNAL MODULE: external "element-ui/lib/utils/popup"
560var popup_ = __webpack_require__(15);
561var popup_default = /*#__PURE__*/__webpack_require__.n(popup_);
562
563// EXTERNAL MODULE: external "element-ui/lib/mixins/locale"
564var locale_ = __webpack_require__(6);
565var locale_default = /*#__PURE__*/__webpack_require__.n(locale_);
566
567// EXTERNAL MODULE: external "element-ui/lib/input"
568var input_ = __webpack_require__(10);
569var input_default = /*#__PURE__*/__webpack_require__.n(input_);
570
571// EXTERNAL MODULE: external "element-ui/lib/button"
572var button_ = __webpack_require__(13);
573var button_default = /*#__PURE__*/__webpack_require__.n(button_);
574
575// EXTERNAL MODULE: external "element-ui/lib/utils/dom"
576var dom_ = __webpack_require__(2);
577
578// EXTERNAL MODULE: external "element-ui/lib/locale"
579var lib_locale_ = __webpack_require__(20);
580
581// EXTERNAL MODULE: external "element-ui/lib/utils/aria-dialog"
582var aria_dialog_ = __webpack_require__(47);
583var aria_dialog_default = /*#__PURE__*/__webpack_require__.n(aria_dialog_);
584
585// 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&
586//
587//
588//
589//
590//
591//
592//
593//
594//
595//
596//
597//
598//
599//
600//
601//
602//
603//
604//
605//
606//
607//
608//
609//
610//
611//
612//
613//
614//
615//
616//
617//
618//
619//
620//
621//
622//
623//
624//
625//
626//
627//
628//
629//
630//
631//
632//
633//
634//
635//
636//
637//
638//
639//
640//
641//
642//
643//
644//
645//
646//
647//
648//
649//
650//
651//
652//
653//
654//
655//
656//
657//
658//
659//
660//
661//
662//
663//
664//
665//
666
667
668
669
670
671
672
673
674
675var messageBox = void 0;
676var typeMap = {
677 success: 'success',
678 info: 'info',
679 warning: 'warning',
680 error: 'error'
681};
682
683/* harmony default export */ var mainvue_type_script_lang_js_ = ({
684 mixins: [popup_default.a, locale_default.a],
685
686 props: {
687 modal: {
688 default: true
689 },
690 lockScroll: {
691 default: true
692 },
693 showClose: {
694 type: Boolean,
695 default: true
696 },
697 closeOnClickModal: {
698 default: true
699 },
700 closeOnPressEscape: {
701 default: true
702 },
703 closeOnHashChange: {
704 default: true
705 },
706 center: {
707 default: false,
708 type: Boolean
709 },
710 roundButton: {
711 default: false,
712 type: Boolean
713 }
714 },
715
716 components: {
717 ElInput: input_default.a,
718 ElButton: button_default.a
719 },
720
721 computed: {
722 icon: function icon() {
723 var type = this.type,
724 iconClass = this.iconClass;
725
726 return iconClass || (type && typeMap[type] ? 'el-icon-' + typeMap[type] : '');
727 },
728 confirmButtonClasses: function confirmButtonClasses() {
729 return 'el-button--primary ' + this.confirmButtonClass;
730 },
731 cancelButtonClasses: function cancelButtonClasses() {
732 return '' + this.cancelButtonClass;
733 }
734 },
735
736 methods: {
737 getSafeClose: function getSafeClose() {
738 var _this = this;
739
740 var currentId = this.uid;
741 return function () {
742 _this.$nextTick(function () {
743 if (currentId === _this.uid) _this.doClose();
744 });
745 };
746 },
747 doClose: function doClose() {
748 var _this2 = this;
749
750 if (!this.visible) return;
751 this.visible = false;
752 this._closing = true;
753
754 this.onClose && this.onClose();
755 messageBox.closeDialog(); // 解绑
756 if (this.lockScroll) {
757 setTimeout(this.restoreBodyStyle, 200);
758 }
759 this.opened = false;
760 this.doAfterClose();
761 setTimeout(function () {
762 if (_this2.action) _this2.callback(_this2.action, _this2);
763 });
764 },
765 handleWrapperClick: function handleWrapperClick() {
766 if (this.closeOnClickModal) {
767 this.handleAction(this.distinguishCancelAndClose ? 'close' : 'cancel');
768 }
769 },
770 handleInputEnter: function handleInputEnter() {
771 if (this.inputType !== 'textarea') {
772 return this.handleAction('confirm');
773 }
774 },
775 handleAction: function handleAction(action) {
776 if (this.$type === 'prompt' && action === 'confirm' && !this.validate()) {
777 return;
778 }
779 this.action = action;
780 if (typeof this.beforeClose === 'function') {
781 this.close = this.getSafeClose();
782 this.beforeClose(action, this, this.close);
783 } else {
784 this.doClose();
785 }
786 },
787 validate: function validate() {
788 if (this.$type === 'prompt') {
789 var inputPattern = this.inputPattern;
790 if (inputPattern && !inputPattern.test(this.inputValue || '')) {
791 this.editorErrorMessage = this.inputErrorMessage || Object(lib_locale_["t"])('el.messagebox.error');
792 Object(dom_["addClass"])(this.getInputElement(), 'invalid');
793 return false;
794 }
795 var inputValidator = this.inputValidator;
796 if (typeof inputValidator === 'function') {
797 var validateResult = inputValidator(this.inputValue);
798 if (validateResult === false) {
799 this.editorErrorMessage = this.inputErrorMessage || Object(lib_locale_["t"])('el.messagebox.error');
800 Object(dom_["addClass"])(this.getInputElement(), 'invalid');
801 return false;
802 }
803 if (typeof validateResult === 'string') {
804 this.editorErrorMessage = validateResult;
805 Object(dom_["addClass"])(this.getInputElement(), 'invalid');
806 return false;
807 }
808 }
809 }
810 this.editorErrorMessage = '';
811 Object(dom_["removeClass"])(this.getInputElement(), 'invalid');
812 return true;
813 },
814 getFirstFocus: function getFirstFocus() {
815 var btn = this.$el.querySelector('.el-message-box__btns .el-button');
816 var title = this.$el.querySelector('.el-message-box__btns .el-message-box__title');
817 return btn || title;
818 },
819 getInputElement: function getInputElement() {
820 var inputRefs = this.$refs.input.$refs;
821 return inputRefs.input || inputRefs.textarea;
822 },
823 handleClose: function handleClose() {
824 this.handleAction('close');
825 }
826 },
827
828 watch: {
829 inputValue: {
830 immediate: true,
831 handler: function handler(val) {
832 var _this3 = this;
833
834 this.$nextTick(function (_) {
835 if (_this3.$type === 'prompt' && val !== null) {
836 _this3.validate();
837 }
838 });
839 }
840 },
841
842 visible: function visible(val) {
843 var _this4 = this;
844
845 if (val) {
846 this.uid++;
847 if (this.$type === 'alert' || this.$type === 'confirm') {
848 this.$nextTick(function () {
849 _this4.$refs.confirm.$el.focus();
850 });
851 }
852 this.focusAfterClosed = document.activeElement;
853 messageBox = new aria_dialog_default.a(this.$el, this.focusAfterClosed, this.getFirstFocus());
854 }
855
856 // prompt
857 if (this.$type !== 'prompt') return;
858 if (val) {
859 setTimeout(function () {
860 if (_this4.$refs.input && _this4.$refs.input.$el) {
861 _this4.getInputElement().focus();
862 }
863 }, 500);
864 } else {
865 this.editorErrorMessage = '';
866 Object(dom_["removeClass"])(this.getInputElement(), 'invalid');
867 }
868 }
869 },
870
871 mounted: function mounted() {
872 var _this5 = this;
873
874 this.$nextTick(function () {
875 if (_this5.closeOnHashChange) {
876 window.addEventListener('hashchange', _this5.close);
877 }
878 });
879 },
880 beforeDestroy: function beforeDestroy() {
881 if (this.closeOnHashChange) {
882 window.removeEventListener('hashchange', this.close);
883 }
884 setTimeout(function () {
885 messageBox.closeDialog();
886 });
887 },
888 data: function data() {
889 return {
890 uid: 1,
891 title: undefined,
892 message: '',
893 type: '',
894 iconClass: '',
895 customClass: '',
896 showInput: false,
897 inputValue: null,
898 inputPlaceholder: '',
899 inputType: 'text',
900 inputPattern: null,
901 inputValidator: null,
902 inputErrorMessage: '',
903 showConfirmButton: true,
904 showCancelButton: false,
905 action: '',
906 confirmButtonText: '',
907 cancelButtonText: '',
908 confirmButtonLoading: false,
909 cancelButtonLoading: false,
910 confirmButtonClass: '',
911 confirmButtonDisabled: false,
912 cancelButtonClass: '',
913 editorErrorMessage: null,
914 callback: null,
915 dangerouslyUseHTMLString: false,
916 focusAfterClosed: null,
917 isOnComposition: false,
918 distinguishCancelAndClose: false
919 };
920 }
921});
922// CONCATENATED MODULE: ./packages/message-box/src/main.vue?vue&type=script&lang=js&
923 /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_);
924// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
925var componentNormalizer = __webpack_require__(0);
926
927// CONCATENATED MODULE: ./packages/message-box/src/main.vue
928
929
930
931
932
933/* normalize component */
934
935var component = Object(componentNormalizer["a" /* default */])(
936 src_mainvue_type_script_lang_js_,
937 render,
938 staticRenderFns,
939 false,
940 null,
941 null,
942 null
943
944)
945
946/* hot reload */
947if (false) { var api; }
948component.options.__file = "packages/message-box/src/main.vue"
949/* harmony default export */ var main = (component.exports);
950// EXTERNAL MODULE: external "element-ui/lib/utils/merge"
951var merge_ = __webpack_require__(9);
952var merge_default = /*#__PURE__*/__webpack_require__.n(merge_);
953
954// EXTERNAL MODULE: external "element-ui/lib/utils/vdom"
955var vdom_ = __webpack_require__(23);
956
957// CONCATENATED MODULE: ./packages/message-box/src/main.js
958var _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; };
959
960var defaults = {
961 title: null,
962 message: '',
963 type: '',
964 iconClass: '',
965 showInput: false,
966 showClose: true,
967 modalFade: true,
968 lockScroll: true,
969 closeOnClickModal: true,
970 closeOnPressEscape: true,
971 closeOnHashChange: true,
972 inputValue: null,
973 inputPlaceholder: '',
974 inputType: 'text',
975 inputPattern: null,
976 inputValidator: null,
977 inputErrorMessage: '',
978 showConfirmButton: true,
979 showCancelButton: false,
980 confirmButtonPosition: 'right',
981 confirmButtonHighlight: false,
982 cancelButtonHighlight: false,
983 confirmButtonText: '',
984 cancelButtonText: '',
985 confirmButtonClass: '',
986 cancelButtonClass: '',
987 customClass: '',
988 beforeClose: null,
989 dangerouslyUseHTMLString: false,
990 center: false,
991 roundButton: false,
992 distinguishCancelAndClose: false
993};
994
995
996
997
998
999
1000var MessageBoxConstructor = external_vue_default.a.extend(main);
1001
1002var currentMsg = void 0,
1003 instance = void 0;
1004var msgQueue = [];
1005
1006var defaultCallback = function defaultCallback(action) {
1007 if (currentMsg) {
1008 var callback = currentMsg.callback;
1009 if (typeof callback === 'function') {
1010 if (instance.showInput) {
1011 callback(instance.inputValue, action);
1012 } else {
1013 callback(action);
1014 }
1015 }
1016 if (currentMsg.resolve) {
1017 if (action === 'confirm') {
1018 if (instance.showInput) {
1019 currentMsg.resolve({ value: instance.inputValue, action: action });
1020 } else {
1021 currentMsg.resolve(action);
1022 }
1023 } else if (currentMsg.reject && (action === 'cancel' || action === 'close')) {
1024 currentMsg.reject(action);
1025 }
1026 }
1027 }
1028};
1029
1030var initInstance = function initInstance() {
1031 instance = new MessageBoxConstructor({
1032 el: document.createElement('div')
1033 });
1034
1035 instance.callback = defaultCallback;
1036};
1037
1038var main_showNextMsg = function showNextMsg() {
1039 if (!instance) {
1040 initInstance();
1041 }
1042 instance.action = '';
1043
1044 if (!instance.visible || instance.closeTimer) {
1045 if (msgQueue.length > 0) {
1046 currentMsg = msgQueue.shift();
1047
1048 var options = currentMsg.options;
1049 for (var prop in options) {
1050 if (options.hasOwnProperty(prop)) {
1051 instance[prop] = options[prop];
1052 }
1053 }
1054 if (options.callback === undefined) {
1055 instance.callback = defaultCallback;
1056 }
1057
1058 var oldCb = instance.callback;
1059 instance.callback = function (action, instance) {
1060 oldCb(action, instance);
1061 showNextMsg();
1062 };
1063 if (Object(vdom_["isVNode"])(instance.message)) {
1064 instance.$slots.default = [instance.message];
1065 instance.message = null;
1066 } else {
1067 delete instance.$slots.default;
1068 }
1069 ['modal', 'showClose', 'closeOnClickModal', 'closeOnPressEscape', 'closeOnHashChange'].forEach(function (prop) {
1070 if (instance[prop] === undefined) {
1071 instance[prop] = true;
1072 }
1073 });
1074 document.body.appendChild(instance.$el);
1075
1076 external_vue_default.a.nextTick(function () {
1077 instance.visible = true;
1078 });
1079 }
1080 }
1081};
1082
1083var main_MessageBox = function MessageBox(options, callback) {
1084 if (external_vue_default.a.prototype.$isServer) return;
1085 if (typeof options === 'string' || Object(vdom_["isVNode"])(options)) {
1086 options = {
1087 message: options
1088 };
1089 if (typeof arguments[1] === 'string') {
1090 options.title = arguments[1];
1091 }
1092 } else if (options.callback && !callback) {
1093 callback = options.callback;
1094 }
1095
1096 if (typeof Promise !== 'undefined') {
1097 return new Promise(function (resolve, reject) {
1098 // eslint-disable-line
1099 msgQueue.push({
1100 options: merge_default()({}, defaults, MessageBox.defaults, options),
1101 callback: callback,
1102 resolve: resolve,
1103 reject: reject
1104 });
1105
1106 main_showNextMsg();
1107 });
1108 } else {
1109 msgQueue.push({
1110 options: merge_default()({}, defaults, MessageBox.defaults, options),
1111 callback: callback
1112 });
1113
1114 main_showNextMsg();
1115 }
1116};
1117
1118main_MessageBox.setDefaults = function (defaults) {
1119 main_MessageBox.defaults = defaults;
1120};
1121
1122main_MessageBox.alert = function (message, title, options) {
1123 if ((typeof title === 'undefined' ? 'undefined' : _typeof(title)) === 'object') {
1124 options = title;
1125 title = '';
1126 } else if (title === undefined) {
1127 title = '';
1128 }
1129 return main_MessageBox(merge_default()({
1130 title: title,
1131 message: message,
1132 $type: 'alert',
1133 closeOnPressEscape: false,
1134 closeOnClickModal: false
1135 }, options));
1136};
1137
1138main_MessageBox.confirm = function (message, title, options) {
1139 if ((typeof title === 'undefined' ? 'undefined' : _typeof(title)) === 'object') {
1140 options = title;
1141 title = '';
1142 } else if (title === undefined) {
1143 title = '';
1144 }
1145 return main_MessageBox(merge_default()({
1146 title: title,
1147 message: message,
1148 $type: 'confirm',
1149 showCancelButton: true
1150 }, options));
1151};
1152
1153main_MessageBox.prompt = function (message, title, options) {
1154 if ((typeof title === 'undefined' ? 'undefined' : _typeof(title)) === 'object') {
1155 options = title;
1156 title = '';
1157 } else if (title === undefined) {
1158 title = '';
1159 }
1160 return main_MessageBox(merge_default()({
1161 title: title,
1162 message: message,
1163 showCancelButton: true,
1164 showInput: true,
1165 $type: 'prompt'
1166 }, options));
1167};
1168
1169main_MessageBox.close = function () {
1170 instance.doClose();
1171 instance.visible = false;
1172 msgQueue = [];
1173 currentMsg = null;
1174};
1175
1176/* harmony default export */ var src_main = (main_MessageBox);
1177
1178// CONCATENATED MODULE: ./packages/message-box/index.js
1179
1180/* harmony default export */ var message_box = __webpack_exports__["default"] = (src_main);
1181
1182/***/ }),
1183
1184/***/ 9:
1185/***/ (function(module, exports) {
1186
1187module.exports = require("element-ui/lib/utils/merge");
1188
1189/***/ })
1190
1191/******/ });
\No newline at end of file