@mdsfe/mds-ui 0.3.0-12 → 0.3.0-14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/CHANGELOG.md +1013 -0
  2. package/dist/_util/iconfont/index.js +7 -7
  3. package/dist/affix.js +6 -6
  4. package/dist/alert.js +6 -6
  5. package/dist/anchor.js +6 -6
  6. package/dist/avatar.js +6 -6
  7. package/dist/backtop.js +8 -8
  8. package/dist/badge.js +10 -10
  9. package/dist/bordershadow.js +6 -6
  10. package/dist/breadcrumb.js +6 -6
  11. package/dist/button.js +6 -6
  12. package/dist/card.js +6 -6
  13. package/dist/carousel.js +8 -8
  14. package/dist/cascader.js +16 -16
  15. package/dist/cascaderpanel.js +16 -16
  16. package/dist/checkbox.js +4 -4
  17. package/dist/col.js +8 -8
  18. package/dist/collapse.js +6 -6
  19. package/dist/color.js +6 -6
  20. package/dist/datepicker.js +812 -34
  21. package/dist/divider.js +6 -6
  22. package/dist/drawer.js +8 -8
  23. package/dist/dropdown.js +15 -15
  24. package/dist/empty.js +6 -6
  25. package/dist/font/iconfont.9936847.woff2 +0 -0
  26. package/dist/font/iconfont.b0a8d88.woff +0 -0
  27. package/dist/font/{iconfont.4335068.ttf → iconfont.d4ec0db.ttf} +0 -0
  28. package/dist/font.js +6 -6
  29. package/dist/form.js +13 -13
  30. package/dist/icon.js +6 -6
  31. package/dist/index.js +1 -1
  32. package/dist/input.js +6 -6
  33. package/dist/inputnumber.js +6 -6
  34. package/dist/layout.js +6 -6
  35. package/dist/list.js +6 -6
  36. package/dist/loading.js +6 -6
  37. package/dist/mds-ui.min.css +1 -1
  38. package/dist/mds-ui.min.js +1569 -1371
  39. package/dist/menu.js +13 -13
  40. package/dist/message.js +1094 -1094
  41. package/dist/modal.js +11 -11
  42. package/dist/notification.js +10 -10
  43. package/dist/pagination.js +59 -59
  44. package/dist/popconfirm.js +29 -29
  45. package/dist/popover.js +18 -18
  46. package/dist/progress.js +25 -25
  47. package/dist/radio.js +6 -6
  48. package/dist/rate.js +6 -6
  49. package/dist/row.js +8 -8
  50. package/dist/select.js +18 -18
  51. package/dist/slider.js +22 -22
  52. package/dist/slottable.js +24 -24
  53. package/dist/steps.js +6 -6
  54. package/dist/style/affix.css +109 -1
  55. package/dist/style/alert.css +109 -1
  56. package/dist/style/anchor.css +109 -1
  57. package/dist/style/avatar.css +109 -1
  58. package/dist/style/badge.css +109 -1
  59. package/dist/style/bordershadow.css +109 -1
  60. package/dist/style/breadcrumb.css +109 -1
  61. package/dist/style/button.css +109 -1
  62. package/dist/style/card.css +109 -1
  63. package/dist/style/carousel.css +109 -1
  64. package/dist/style/checkbox.css +109 -1
  65. package/dist/style/col.css +109 -1
  66. package/dist/style/collapse.css +109 -1
  67. package/dist/style/color.css +109 -1
  68. package/dist/style/datepicker.css +109 -1
  69. package/dist/style/divider.css +109 -1
  70. package/dist/style/drawer.css +109 -1
  71. package/dist/style/dropdown.css +109 -1
  72. package/dist/style/empty.css +109 -1
  73. package/dist/style/font.css +109 -1
  74. package/dist/style/form.css +109 -1
  75. package/dist/style/icon.css +109 -1
  76. package/dist/style/input.css +109 -1
  77. package/dist/style/inputnumber.css +109 -1
  78. package/dist/style/layout.css +109 -1
  79. package/dist/style/list.css +109 -1
  80. package/dist/style/loading.css +109 -1
  81. package/dist/style/menu.css +109 -1
  82. package/dist/style/modal.css +109 -1
  83. package/dist/style/notification.css +109 -1
  84. package/dist/style/pagination.css +109 -1
  85. package/dist/style/popconfirm.css +109 -1
  86. package/dist/style/popover.css +109 -1
  87. package/dist/style/progress.css +109 -1
  88. package/dist/style/radio.css +109 -1
  89. package/dist/style/rate.css +109 -1
  90. package/dist/style/row.css +109 -1
  91. package/dist/style/select.css +109 -1
  92. package/dist/style/slider.css +109 -1
  93. package/dist/style/slottable.css +109 -1
  94. package/dist/style/steps.css +109 -1
  95. package/dist/style/switch.css +109 -1
  96. package/dist/style/table.css +109 -1
  97. package/dist/style/tabs.css +109 -1
  98. package/dist/style/tag.css +109 -1
  99. package/dist/style/text.css +109 -1
  100. package/dist/style/timeline.css +109 -1
  101. package/dist/style/timepicker.css +109 -1
  102. package/dist/style/tooltip.css +109 -1
  103. package/dist/style/tree.css +109 -1
  104. package/dist/style/typography.css +109 -1
  105. package/dist/style/upload.css +109 -1
  106. package/dist/switch.js +6 -6
  107. package/dist/table.js +374 -374
  108. package/dist/tabs.js +6 -6
  109. package/dist/tag.js +6 -6
  110. package/dist/text.js +6 -6
  111. package/dist/timeline.js +6 -6
  112. package/dist/timepicker.js +16 -16
  113. package/dist/tooltip.js +4 -4
  114. package/dist/transfer.js +6 -6
  115. package/dist/transition.js +4 -4
  116. package/dist/tree.js +6 -6
  117. package/dist/typography.js +6 -6
  118. package/dist/upload.js +10 -10
  119. package/package.json +2 -1
  120. package/dist/font/iconfont.32d189e.woff +0 -0
  121. package/dist/font/iconfont.38ce0b7.woff2 +0 -0
package/dist/message.js CHANGED
@@ -91,7 +91,7 @@ return /******/ (function(modules) { // webpackBootstrap
91
91
  /******/
92
92
  /******/
93
93
  /******/ // Load entry module and return exports
94
- /******/ return __webpack_require__(__webpack_require__.s = 97);
94
+ /******/ return __webpack_require__(__webpack_require__.s = 100);
95
95
  /******/ })
96
96
  /************************************************************************/
97
97
  /******/ ({
@@ -492,528 +492,651 @@ function getScrollBarWidth() {
492
492
 
493
493
  /***/ }),
494
494
 
495
- /***/ 14:
496
- /***/ (function(module, exports) {
497
-
498
- module.exports = __WEBPACK_EXTERNAL_MODULE__14__;
499
-
500
- /***/ }),
501
-
502
- /***/ 15:
495
+ /***/ 100:
503
496
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
504
497
 
505
498
  "use strict";
506
- /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
507
- /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);
508
- /* harmony import */ var _dom_helper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1);
509
- /* harmony import */ var _popup_manager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5);
510
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _popup_manager__WEBPACK_IMPORTED_MODULE_2__["a"]; });
511
-
512
-
513
-
514
-
515
-
516
- var idSeed = 1;
517
-
518
- var scrollBarWidth = void 0;
519
-
520
- /* harmony default export */ __webpack_exports__["b"] = ({
521
- props: {
522
- visibility: {
523
- type: Boolean,
524
- default: false
525
- },
526
- openDelay: {},
527
- closeDelay: {},
528
- zIndex: {},
529
- modal: {
530
- type: Boolean,
531
- default: false
532
- },
533
- modalFade: {
534
- type: Boolean,
535
- default: true
536
- },
537
- modalClass: {},
538
- modalAppendToBody: {
539
- type: Boolean,
540
- default: false
541
- },
542
- lockScroll: {
543
- type: Boolean,
544
- default: true
545
- },
546
- closeOnPressEscape: {
547
- type: Boolean,
548
- default: false
549
- },
550
- closeOnClickModal: {
551
- type: Boolean,
552
- default: false
553
- }
554
- },
555
-
556
- beforeMount: function beforeMount() {
557
- this._popupId = 'popup-' + idSeed++;
558
- _popup_manager__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].register(this._popupId, this);
559
- },
560
- beforeDestroy: function beforeDestroy() {
561
- _popup_manager__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].deregister(this._popupId);
562
- _popup_manager__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].closeModal(this._popupId);
563
-
564
- this.restoreBodyStyle();
565
- },
566
- data: function data() {
567
- return {
568
- opened: false,
569
- bodyPaddingRight: null,
570
- computedBodyPaddingRight: 0,
571
- withoutHiddenClass: true,
572
- rendered: false
573
- };
574
- },
575
-
576
-
577
- watch: {
578
- visibility: function visibility(val) {
579
- var _this = this;
580
-
581
- if (val) {
582
- if (this._opening) return;
583
- if (!this.rendered) {
584
- this.rendered = true;
585
- vue__WEBPACK_IMPORTED_MODULE_0___default.a.nextTick(function () {
586
- _this.open();
587
- });
588
- } else {
589
- this.open();
590
- }
591
- } else {
592
- this.close();
593
- }
594
- }
595
- },
596
-
597
- methods: {
598
- open: function open(options) {
599
- var _this2 = this;
600
-
601
- if (!this.rendered) {
602
- this.rendered = true;
603
- }
604
- var props = Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* merge */ "e"])({}, this.$props || this, options);
605
-
606
- if (this._closeTimer) {
607
- clearTimeout(this._closeTimer);
608
- this._closeTimer = null;
609
- }
610
- clearTimeout(this._openTimer);
611
-
612
- var openDelay = Number(props.openDelay);
613
- if (openDelay > 0) {
614
- this._openTimer = setTimeout(function () {
615
- _this2._openTimer = null;
616
- _this2.doOpen(props);
617
- }, openDelay);
618
- } else {
619
- this.doOpen(props);
620
- }
621
- },
622
- doOpen: function doOpen(props) {
623
- if (this.$isServer) return;
624
- if (this.willOpen && !this.willOpen()) return;
625
- if (this.opened) return;
626
-
627
- this._opening = true;
628
-
629
- var dom = this.$el;
630
-
631
- var modal = props.modal;
632
-
633
- var zIndex = props.zIndex;
634
- if (zIndex) {
635
- _popup_manager__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].zIndex = zIndex;
636
- }
637
-
638
- if (modal) {
639
- if (this._closing) {
640
- _popup_manager__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].closeModal(this._popupId);
641
- this._closing = false;
642
- }
643
- _popup_manager__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].openModal(this._popupId, _popup_manager__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].nextZIndex(), this.modalAppendToBody ? undefined : dom, props.modalClass, props.modalFade);
644
- if (props.lockScroll) {
645
- this.withoutHiddenClass = !Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* hasClass */ "d"])(document.body, 'mds-popup-parent--hidden');
646
- if (this.withoutHiddenClass) {
647
- this.bodyPaddingRight = document.body.style.paddingRight;
648
- this.computedBodyPaddingRight = parseInt(Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* getStyle */ "c"])(document.body, 'paddingRight'), 10);
649
- }
650
- scrollBarWidth = Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* getScrollBarWidth */ "b"])();
651
- var bodyHasOverflow = document.documentElement.clientHeight < document.body.scrollHeight;
652
- var bodyOverflowY = Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* getStyle */ "c"])(document.body, 'overflowY');
653
- if (scrollBarWidth > 0 && (bodyHasOverflow || bodyOverflowY === 'scroll') && this.withoutHiddenClass) {
654
- document.body.style.paddingRight = this.computedBodyPaddingRight + scrollBarWidth + 'px';
655
- }
656
- Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* addClass */ "a"])(document.body, 'mds-popup-parent--hidden');
657
- }
658
- }
659
-
660
- if (getComputedStyle(dom).position === 'static') {
661
- dom.style.position = 'absolute';
662
- }
663
-
664
- dom.style.zIndex = _popup_manager__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].nextZIndex();
665
- this.opened = true;
666
-
667
- this.onOpen && this.onOpen();
668
-
669
- this.doAfterOpen();
670
- },
671
- doAfterOpen: function doAfterOpen() {
672
- this._opening = false;
673
- },
674
- close: function close() {
675
- var _this3 = this;
499
+ // ESM COMPAT FLAG
500
+ __webpack_require__.r(__webpack_exports__);
676
501
 
677
- if (this.willClose && !this.willClose()) return;
502
+ // EXTERNAL MODULE: external {"root":"Vue","commonjs":"vue","commonjs2":"vue","amd":"vue"}
503
+ var external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_ = __webpack_require__(2);
504
+ var external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default = /*#__PURE__*/__webpack_require__.n(external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_);
678
505
 
679
- if (this._openTimer !== null) {
680
- clearTimeout(this._openTimer);
681
- this._openTimer = null;
682
- }
683
- clearTimeout(this._closeTimer);
506
+ // EXTERNAL MODULE: ./components/message/style/index.less
507
+ var style = __webpack_require__(199);
684
508
 
685
- var closeDelay = Number(this.closeDelay);
509
+ // CONCATENATED MODULE: ./components/message/style/index.js
686
510
 
687
- if (closeDelay > 0) {
688
- this._closeTimer = setTimeout(function () {
689
- _this3._closeTimer = null;
690
- _this3.doClose();
691
- }, closeDelay);
692
- } else {
693
- this.doClose();
694
- }
695
- },
696
- doClose: function doClose() {
697
- this._closing = true;
511
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/message/message-box.vue?vue&type=template&id=6bac7792&
512
+ var render = function () {
513
+ var _vm = this
514
+ var _h = _vm.$createElement
515
+ var _c = _vm._self._c || _h
516
+ return _c("div", { class: _vm.prefixCls, style: _vm.styles })
517
+ }
518
+ var staticRenderFns = []
519
+ render._withStripped = true
698
520
 
699
- this.onClose && this.onClose();
700
521
 
701
- if (this.lockScroll) {
702
- setTimeout(this.restoreBodyStyle, 200);
703
- }
522
+ // CONCATENATED MODULE: ./components/message/message-box.vue?vue&type=template&id=6bac7792&
704
523
 
705
- this.opened = false;
524
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/message/message-box.vue?vue&type=script&lang=js&
525
+ //
526
+ //
527
+ //
528
+ //
706
529
 
707
- this.doAfterClose();
708
- },
709
- doAfterClose: function doAfterClose() {
710
- _popup_manager__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].closeModal(this._popupId);
711
- this._closing = false;
530
+ /* harmony default export */ var message_boxvue_type_script_lang_js_ = ({
531
+ name: 'MdsMessageBox',
532
+ props: {
533
+ prefixCls: {
534
+ type: String,
535
+ default: 'mds-message-box'
712
536
  },
713
- restoreBodyStyle: function restoreBodyStyle() {
714
- if (this.modal && this.withoutHiddenClass) {
715
- document.body.style.paddingRight = this.bodyPaddingRight;
716
- Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* removeClass */ "h"])(document.body, 'mds-popup-parent--hidden');
537
+ styles: {
538
+ type: Object,
539
+ default: function _default() {
540
+ return {};
717
541
  }
718
- this.withoutHiddenClass = true;
719
542
  }
720
543
  }
721
544
  });
545
+ // CONCATENATED MODULE: ./components/message/message-box.vue?vue&type=script&lang=js&
546
+ /* harmony default export */ var message_message_boxvue_type_script_lang_js_ = (message_boxvue_type_script_lang_js_);
547
+ // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
548
+ var componentNormalizer = __webpack_require__(0);
722
549
 
550
+ // CONCATENATED MODULE: ./components/message/message-box.vue
723
551
 
724
552
 
725
- /***/ }),
726
-
727
- /***/ 196:
728
- /***/ (function(module, exports) {
729
553
 
730
- // removed by extract-text-webpack-plugin
731
554
 
732
- /***/ }),
733
555
 
734
- /***/ 2:
735
- /***/ (function(module, exports) {
556
+ /* normalize component */
736
557
 
737
- module.exports = __WEBPACK_EXTERNAL_MODULE__2__;
738
-
739
- /***/ }),
740
-
741
- /***/ 5:
742
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
743
-
744
- "use strict";
745
- /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
746
- /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);
747
- /* harmony import */ var _dom_helper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1);
558
+ var component = Object(componentNormalizer["a" /* default */])(
559
+ message_message_boxvue_type_script_lang_js_,
560
+ render,
561
+ staticRenderFns,
562
+ false,
563
+ null,
564
+ null,
565
+ null
566
+
567
+ )
748
568
 
569
+ /* hot reload */
570
+ if (false) { var api; }
571
+ component.options.__file = "components/message/message-box.vue"
572
+ /* harmony default export */ var message_box = (component.exports);
573
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/message/message.vue?vue&type=template&id=dc37dbd8&
574
+ var messagevue_type_template_id_dc37dbd8_render = function () {
575
+ var _vm = this
576
+ var _h = _vm.$createElement
577
+ var _c = _vm._self._c || _h
578
+ return _c(
579
+ "div",
580
+ {
581
+ directives: [
582
+ {
583
+ name: "show",
584
+ rawName: "v-show",
585
+ value: _vm.visible,
586
+ expression: "visible",
587
+ },
588
+ ],
589
+ class: _vm.prefixCls + "-notice",
590
+ },
591
+ [
592
+ _c(
593
+ "div",
594
+ {
595
+ class: [{ link: _vm.showLink }, _vm.prefixCls + "-notice-content"],
596
+ style: _vm.defaultStyle,
597
+ },
598
+ [
599
+ _c(
600
+ "div",
601
+ {
602
+ class: _vm.prefixCls + "-" + _vm.type,
603
+ on: { mouseenter: _vm.clearTimer, mouseleave: _vm.startTimer },
604
+ },
605
+ [
606
+ _vm.type === "loading"
607
+ ? [
608
+ _c("mds-icon", {
609
+ staticStyle: { fontsize: "16px", "margin-right": "5px" },
610
+ attrs: { type: _vm.iconType, spin: "" },
611
+ }),
612
+ ]
613
+ : [
614
+ _c("mds-icon", {
615
+ staticStyle: { fontsize: "16px", "margin-right": "5px" },
616
+ attrs: { type: _vm.iconType },
617
+ }),
618
+ ],
619
+ _c("span", [_vm._v(_vm._s(_vm.content))]),
620
+ ],
621
+ 2
622
+ ),
623
+ _c(
624
+ "div",
625
+ {
626
+ directives: [
627
+ {
628
+ name: "show",
629
+ rawName: "v-show",
630
+ value: _vm.showClose && !_vm.showLink,
631
+ expression: "showClose && !showLink",
632
+ },
633
+ ],
634
+ class: _vm.prefixCls + "-close",
635
+ on: { click: _vm.handleClose },
636
+ },
637
+ [_c("mds-icon", { attrs: { type: "line-close" } })],
638
+ 1
639
+ ),
640
+ _c(
641
+ "a",
642
+ {
643
+ directives: [
644
+ {
645
+ name: "show",
646
+ rawName: "v-show",
647
+ value: _vm.showLink,
648
+ expression: "showLink",
649
+ },
650
+ ],
651
+ class: [
652
+ _vm.prefixCls + "-" + _vm.type + "-link",
653
+ _vm.prefixCls + "-link",
654
+ ],
655
+ attrs: { href: _vm.showLink },
656
+ },
657
+ [_vm._v("查看信息")]
658
+ ),
659
+ ]
660
+ ),
661
+ ]
662
+ )
663
+ }
664
+ var messagevue_type_template_id_dc37dbd8_staticRenderFns = []
665
+ messagevue_type_template_id_dc37dbd8_render._withStripped = true
749
666
 
750
667
 
751
- var hasModal = false;
752
- var hasInitZIndex = false;
753
- var zIndex = void 0;
668
+ // CONCATENATED MODULE: ./components/message/message.vue?vue&type=template&id=dc37dbd8&
754
669
 
755
- var getModal = function getModal() {
756
- if (vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer) return;
757
- var modalDom = PopupManager.modalDom;
758
- if (modalDom) {
759
- hasModal = true;
760
- } else {
761
- hasModal = false;
762
- modalDom = document.createElement('div');
763
- PopupManager.modalDom = modalDom;
670
+ // EXTERNAL MODULE: external "./button"
671
+ var external_button_ = __webpack_require__(14);
672
+ var external_button_default = /*#__PURE__*/__webpack_require__.n(external_button_);
764
673
 
765
- modalDom.addEventListener('touchmove', function (event) {
766
- event.preventDefault();
767
- event.stopPropagation();
768
- });
674
+ // EXTERNAL MODULE: external "./icon"
675
+ var external_icon_ = __webpack_require__(7);
676
+ var external_icon_default = /*#__PURE__*/__webpack_require__.n(external_icon_);
769
677
 
770
- modalDom.addEventListener('click', function () {
771
- PopupManager.doOnModalClick && PopupManager.doOnModalClick();
772
- });
678
+ // CONCATENATED MODULE: ./components/message/props.js
679
+ /* harmony default export */ var props = ({
680
+ props: {
681
+ content: {
682
+ default: ''
683
+ },
684
+ duration: {
685
+ type: Number,
686
+ default: 3
687
+ },
688
+ onClose: {
689
+ type: Function,
690
+ default: function _default() {}
691
+ },
692
+ prefixCls: {
693
+ type: String,
694
+ default: 'mds-message'
695
+ },
696
+ type: {
697
+ type: String,
698
+ validator: function validator(value) {
699
+ // 这个值必须匹配下列字符串中的一个
700
+ return ['info', 'success', 'error', 'warning', 'loading'].indexOf(value) !== -1;
701
+ },
702
+ default: 'info'
703
+ },
704
+ showClose: {
705
+ type: Boolean,
706
+ default: false
707
+ },
708
+ showLink: {
709
+ type: String,
710
+ default: ''
711
+ }
773
712
  }
713
+ });
714
+ // EXTERNAL MODULE: ./components/_util/_popper/popup/popup-main.js
715
+ var popup_main = __webpack_require__(15);
774
716
 
775
- return modalDom;
776
- };
777
-
778
- var instances = {};
717
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/message/message.vue?vue&type=script&lang=js&
718
+ //
719
+ //
720
+ //
721
+ //
722
+ //
723
+ //
724
+ //
725
+ //
726
+ //
727
+ //
728
+ //
729
+ //
730
+ //
731
+ //
732
+ //
733
+ //
734
+ //
735
+ //
736
+ //
737
+ //
738
+ //
739
+ //
740
+ //
741
+ //
742
+ //
743
+ //
744
+ //
745
+ //
746
+ //
747
+ //
748
+ //
749
+ //
750
+ //
751
+ //
752
+ //
753
+ //
754
+ //
755
+ //
756
+ //
757
+ //
758
+ //
759
+ //
760
+ //
761
+ //
762
+ //
763
+ //
764
+ //
765
+ //
766
+ //
779
767
 
780
- var PopupManager = {
781
- modalFade: true,
782
768
 
783
- getInstance: function getInstance(id) {
784
- return instances[id];
785
- },
786
769
 
787
- register: function register(id, instance) {
788
- if (id && instance) {
789
- instances[id] = instance;
790
- }
791
- },
792
770
 
793
- deregister: function deregister(id) {
794
- if (id) {
795
- instances[id] = null;
796
- delete instances[id];
797
- }
798
- },
799
771
 
800
- nextZIndex: function nextZIndex() {
801
- return PopupManager.zIndex++;
772
+ var ICONTYPES = {
773
+ info: 'line-info-circle',
774
+ success: 'fill-solid-right-circle',
775
+ error: 'fill-solid-wrong-circle',
776
+ warning: 'fill-solid-exclamation-circle',
777
+ loading: 'line-spinner'
778
+ };
779
+ /* harmony default export */ var messagevue_type_script_lang_js_ = ({
780
+ name: 'MdsMessage',
781
+ mixins: [props],
782
+ data: function data() {
783
+ return {
784
+ visible: false,
785
+ closed: false,
786
+ timer: null,
787
+ test: false
788
+ };
802
789
  },
803
790
 
804
- modalStack: [],
805
-
806
- doOnModalClick: function doOnModalClick() {
807
- var topItem = PopupManager.modalStack[PopupManager.modalStack.length - 1];
808
- if (!topItem) return;
809
-
810
- var instance = PopupManager.getInstance(topItem.id);
811
- if (instance && instance.closeOnClickModal) {
812
- instance.close();
791
+ computed: {
792
+ durationMS: function durationMS() {
793
+ return this.duration * 1000;
794
+ },
795
+ iconType: function iconType() {
796
+ return ICONTYPES[this.type];
797
+ },
798
+ defaultStyle: function defaultStyle() {
799
+ return this.style;
813
800
  }
814
801
  },
815
-
816
- openModal: function openModal(id, zIndex, dom, modalClass, modalFade) {
817
- if (vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer) return;
818
- if (!id || zIndex === undefined) return;
819
- this.modalFade = modalFade;
820
-
821
- var modalStack = this.modalStack;
822
-
823
- for (var i = 0, j = modalStack.length; i < j; i++) {
824
- var item = modalStack[i];
825
- if (item.id === id) {
826
- return;
802
+ components: { MdsIcon: external_icon_default.a, MdsButton: external_button_default.a },
803
+ watch: {
804
+ closed: function closed(newVal) {
805
+ if (newVal) {
806
+ this.visible = false;
827
807
  }
828
808
  }
829
-
830
- var modalDom = getModal();
831
-
832
- Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* addClass */ "a"])(modalDom, 'v-modal');
833
- if (this.modalFade && !hasModal) {
834
- Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* addClass */ "a"])(modalDom, 'v-modal-enter');
835
- }
836
- if (modalClass) {
837
- var classArr = modalClass.trim().split(/\s+/);
838
- classArr.forEach(function (item) {
839
- return Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* addClass */ "a"])(modalDom, item);
840
- });
841
- }
842
- setTimeout(function () {
843
- Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* removeClass */ "h"])(modalDom, 'v-modal-enter');
844
- }, 200);
845
-
846
- if (dom && dom.parentNode && dom.parentNode.nodeType !== 11) {
847
- dom.parentNode.appendChild(modalDom);
848
- } else {
849
- document.body.appendChild(modalDom);
850
- }
851
-
852
- if (zIndex) {
853
- modalDom.style.zIndex = zIndex;
854
- }
855
- modalDom.tabIndex = 0;
856
- modalDom.style.display = '';
857
-
858
- this.modalStack.push({ id: id, zIndex: zIndex, modalClass: modalClass });
859
809
  },
810
+ methods: {
811
+ /**
812
+ * @description: 销毁
813
+ * @param {type}
814
+ * @return:
815
+ */
860
816
 
861
- closeModal: function closeModal(id) {
862
- var modalStack = this.modalStack;
863
- var modalDom = getModal();
817
+ destroyElement: function destroyElement() {
818
+ this.$destroy(true);
819
+ this.closed = true;
820
+ this.$el.parentNode && this.$el.parentNode.removeChild(this.$el);
821
+ },
864
822
 
865
- if (modalStack.length > 0) {
866
- var topItem = modalStack[modalStack.length - 1];
867
- if (topItem.id === id) {
868
- if (topItem.modalClass) {
869
- var classArr = topItem.modalClass.trim().split(/\s+/);
870
- classArr.forEach(function (item) {
871
- return Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* removeClass */ "h"])(modalDom, item);
872
- });
873
- }
823
+ /**
824
+ * @description: 关闭
825
+ * @param {type}
826
+ * @return:
827
+ */
874
828
 
875
- modalStack.pop();
876
- if (modalStack.length > 0) {
877
- modalDom.style.zIndex = modalStack[modalStack.length - 1].zIndex;
878
- }
879
- } else {
880
- for (var i = modalStack.length - 1; i >= 0; i--) {
881
- if (modalStack[i].id === id) {
882
- modalStack.splice(i, 1);
883
- break;
884
- }
885
- }
886
- }
887
- }
829
+ handleClose: function handleClose() {
830
+ this.closed = true;
831
+ this.onClose();
832
+ this.$el.parentNode && this.$el.parentNode.removeChild(this.$el);
833
+ },
834
+
835
+ /**
836
+ * @description: 清除setTimeout计时
837
+ * @param {type}
838
+ * @return:
839
+ */
840
+ clearTimer: function clearTimer() {
841
+ clearTimeout(this.timer);
842
+ this.test = true;
843
+ },
888
844
 
889
- if (modalStack.length === 0) {
890
- if (this.modalFade) {
891
- Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* addClass */ "a"])(modalDom, 'v-modal-leave');
892
- }
893
- setTimeout(function () {
894
- if (modalStack.length === 0) {
895
- if (modalDom.parentNode) modalDom.parentNode.removeChild(modalDom);
896
- modalDom.style.display = 'none';
897
- PopupManager.modalDom = undefined;
898
- }
899
- Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* removeClass */ "h"])(modalDom, 'v-modal-leave');
900
- }, 200);
901
- }
902
- }
903
- };
845
+ /**
846
+ * @description:
847
+ * @param {type} 开始计时删除
848
+ * @return:
849
+ */
850
+ startTimer: function startTimer() {
851
+ var _this = this;
904
852
 
905
- Object.defineProperty(PopupManager, 'zIndex', {
906
- configurable: true,
907
- get: function get() {
908
- if (!hasInitZIndex) {
909
- zIndex = zIndex || (vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$ELEMENT || {}).zIndex || 2000;
910
- hasInitZIndex = true;
853
+ this.test = false;
854
+ if (this.duration > 0) {
855
+ this.timer = setTimeout(function () {
856
+ if (!_this.closed) {
857
+ _this.handleClose();
858
+ }
859
+ }, this.durationMS);
860
+ }
911
861
  }
912
- return zIndex;
913
862
  },
914
- set: function set(value) {
915
- zIndex = value;
916
- }
917
- });
918
-
919
- var getTopPopup = function getTopPopup() {
920
- if (vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer) return;
921
- if (PopupManager.modalStack.length > 0) {
922
- var topPopup = PopupManager.modalStack[PopupManager.modalStack.length - 1];
923
- if (!topPopup) return;
924
- var instance = PopupManager.getInstance(topPopup.id);
863
+ mounted: function mounted() {
864
+ var _this2 = this;
925
865
 
926
- return instance;
866
+ this.startTimer();
867
+ this.$nextTick(function () {
868
+ var dom = _this2.$el.parentElement;
869
+ dom.style.zIndex = popup_main["a" /* PopupMain */].nextZIndex();
870
+ });
927
871
  }
928
- };
872
+ });
873
+ // CONCATENATED MODULE: ./components/message/message.vue?vue&type=script&lang=js&
874
+ /* harmony default export */ var message_messagevue_type_script_lang_js_ = (messagevue_type_script_lang_js_);
875
+ // CONCATENATED MODULE: ./components/message/message.vue
929
876
 
930
- if (!vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer) {
931
- // handle `esc` key when the popup is shown
932
- window.addEventListener('keydown', function (event) {
933
- if (event.keyCode === 27) {
934
- var topPopup = getTopPopup();
935
877
 
936
- if (topPopup && topPopup.closeOnPressEscape) {
937
- topPopup.handleClose ? topPopup.handleClose() : topPopup.handleAction ? topPopup.handleAction('cancel') : topPopup.close();
938
- }
939
- }
940
- });
941
- }
942
878
 
943
- /* harmony default export */ __webpack_exports__["a"] = (PopupManager);
944
879
 
945
- /***/ }),
946
880
 
947
- /***/ 7:
948
- /***/ (function(module, exports) {
881
+ /* normalize component */
949
882
 
950
- module.exports = __WEBPACK_EXTERNAL_MODULE__7__;
883
+ var message_component = Object(componentNormalizer["a" /* default */])(
884
+ message_messagevue_type_script_lang_js_,
885
+ messagevue_type_template_id_dc37dbd8_render,
886
+ messagevue_type_template_id_dc37dbd8_staticRenderFns,
887
+ false,
888
+ null,
889
+ null,
890
+ null
891
+
892
+ )
951
893
 
952
- /***/ }),
894
+ /* hot reload */
895
+ if (false) { var message_api; }
896
+ message_component.options.__file = "components/message/message.vue"
897
+ /* harmony default export */ var message = (message_component.exports);
898
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/message/message-size.vue?vue&type=template&id=8e7dc96c&
899
+ var message_sizevue_type_template_id_8e7dc96c_render = function () {
900
+ var _vm = this
901
+ var _h = _vm.$createElement
902
+ var _c = _vm._self._c || _h
903
+ return _c(
904
+ "div",
905
+ {
906
+ directives: [
907
+ {
908
+ name: "show",
909
+ rawName: "v-show",
910
+ value: _vm.visible,
911
+ expression: "visible",
912
+ },
913
+ ],
914
+ class: _vm.prefixCls + "-notice",
915
+ },
916
+ [
917
+ _c("div", { class: _vm.prefixCls + "-notice-content" }, [
918
+ _c(
919
+ "div",
920
+ {
921
+ class:
922
+ _vm.prefixCls +
923
+ "-" +
924
+ _vm.type +
925
+ " " +
926
+ _vm.prefixCls +
927
+ "-" +
928
+ _vm.type +
929
+ "-size",
930
+ on: { mouseenter: _vm.clearTimer, mouseleave: _vm.startTimer },
931
+ },
932
+ [
933
+ _c(
934
+ "div",
935
+ { class: _vm.prefixCls + "-" + _vm.type + "-size-title" },
936
+ [
937
+ _c("mds-icon", {
938
+ class: _vm.prefixCls + "-" + _vm.type + "-size-icon",
939
+ attrs: { type: _vm.iconType },
940
+ }),
941
+ _c("span", [_vm._v(_vm._s(_vm.title || _vm.defaultTitle))]),
942
+ ],
943
+ 1
944
+ ),
945
+ _c(
946
+ "div",
947
+ { class: _vm.prefixCls + "-" + _vm.type + "-size-content" },
948
+ [_vm._v(_vm._s(_vm.content))]
949
+ ),
950
+ ]
951
+ ),
952
+ _c(
953
+ "div",
954
+ {
955
+ directives: [
956
+ {
957
+ name: "show",
958
+ rawName: "v-show",
959
+ value: _vm.showClose && !_vm.showLink,
960
+ expression: "showClose && !showLink",
961
+ },
962
+ ],
963
+ class: _vm.prefixCls + "-close",
964
+ on: { click: _vm.handleClose },
965
+ },
966
+ [_c("mds-icon", { attrs: { type: "line-close" } })],
967
+ 1
968
+ ),
969
+ _c(
970
+ "a",
971
+ {
972
+ directives: [
973
+ {
974
+ name: "show",
975
+ rawName: "v-show",
976
+ value: _vm.showLink,
977
+ expression: "showLink",
978
+ },
979
+ ],
980
+ class: _vm.prefixCls + "-link",
981
+ attrs: { href: _vm.showLink },
982
+ },
983
+ [_vm._v("查看信息")]
984
+ ),
985
+ ]),
986
+ ]
987
+ )
988
+ }
989
+ var message_sizevue_type_template_id_8e7dc96c_staticRenderFns = []
990
+ message_sizevue_type_template_id_8e7dc96c_render._withStripped = true
953
991
 
954
- /***/ 9:
955
- /***/ (function(module, exports) {
956
992
 
957
- module.exports = require("babel-runtime/helpers/typeof");
993
+ // CONCATENATED MODULE: ./components/message/message-size.vue?vue&type=template&id=8e7dc96c&
958
994
 
959
- /***/ }),
995
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/message/message-size.vue?vue&type=script&lang=js&
996
+ //
997
+ //
998
+ //
999
+ //
1000
+ //
1001
+ //
1002
+ //
1003
+ //
1004
+ //
1005
+ //
1006
+ //
1007
+ //
1008
+ //
1009
+ //
1010
+ //
1011
+ //
1012
+ //
1013
+ //
1014
+ //
1015
+ //
1016
+ //
1017
+ //
1018
+ //
1019
+ //
1020
+ //
1021
+ //
1022
+ //
960
1023
 
961
- /***/ 97:
962
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
963
1024
 
964
- "use strict";
965
- // ESM COMPAT FLAG
966
- __webpack_require__.r(__webpack_exports__);
967
1025
 
968
- // EXTERNAL MODULE: external {"root":"Vue","commonjs":"vue","commonjs2":"vue","amd":"vue"}
969
- var external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_ = __webpack_require__(2);
970
- var external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default = /*#__PURE__*/__webpack_require__.n(external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_);
1026
+ var message_sizevue_type_script_lang_js_ICONTYPES = {
1027
+ info: 'line-info-circle',
1028
+ success: 'fill-solid-right-circle',
1029
+ error: 'fill-solid-wrong-circle',
1030
+ warning: 'fill-solid-exclamation-circle',
1031
+ loading: 'line-sync',
1032
+ help: 'line-info-circle'
1033
+ };
1034
+ var TITLETYPES = {
1035
+ info: '信息',
1036
+ success: '已成功',
1037
+ error: '出错啦',
1038
+ warning: '请注意',
1039
+ help: '帮助信息'
1040
+ };
1041
+ /* harmony default export */ var message_sizevue_type_script_lang_js_ = ({
1042
+ name: 'MdsMessageSize',
1043
+ mixins: [props],
1044
+ props: {
1045
+ title: {
1046
+ type: String,
1047
+ default: '请注意'
1048
+ }
1049
+ },
1050
+ data: function data() {
1051
+ return {
1052
+ visible: false,
1053
+ closed: false,
1054
+ timer: null,
1055
+ test: false
1056
+ };
1057
+ },
971
1058
 
972
- // EXTERNAL MODULE: ./components/message/style/index.less
973
- var style = __webpack_require__(196);
1059
+ computed: {
1060
+ durationMS: function durationMS() {
1061
+ return this.duration * 1000;
1062
+ },
1063
+ iconType: function iconType() {
1064
+ return this.type && message_sizevue_type_script_lang_js_ICONTYPES[this.type] ? message_sizevue_type_script_lang_js_ICONTYPES[this.type] : 'line-info-circle';
1065
+ },
1066
+ defaultTitle: function defaultTitle() {
1067
+ return this.type && TITLETYPES[this.type] ? TITLETYPES[this.type] : '请注意';
1068
+ }
1069
+ },
1070
+ components: {
1071
+ MdsIcon: external_icon_default.a
1072
+ },
1073
+ watch: {
1074
+ closed: function closed(newVal) {
1075
+ if (newVal) {
1076
+ this.visible = false;
1077
+ this.$el.parentNode && this.$el.parentNode.removeChild(this.$el);
1078
+ }
1079
+ }
1080
+ },
1081
+ methods: {
1082
+ /**
1083
+ * @description: 销毁
1084
+ * @param {type}
1085
+ * @return:
1086
+ */
974
1087
 
975
- // CONCATENATED MODULE: ./components/message/style/index.js
1088
+ destroyElement: function destroyElement() {
1089
+ this.closed = true;
1090
+ this.$destroy(true);
1091
+ this.$el.parentNode && this.$el.parentNode.removeChild(this.$el);
1092
+ },
976
1093
 
977
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/message/message-box.vue?vue&type=template&id=6bac7792&
978
- var render = function () {
979
- var _vm = this
980
- var _h = _vm.$createElement
981
- var _c = _vm._self._c || _h
982
- return _c("div", { class: _vm.prefixCls, style: _vm.styles })
983
- }
984
- var staticRenderFns = []
985
- render._withStripped = true
1094
+ /**
1095
+ * @description: 关闭
1096
+ * @param {type}
1097
+ * @return:
1098
+ */
986
1099
 
1100
+ handleClose: function handleClose() {
1101
+ this.closed = true;
1102
+ this.onClose();
1103
+ },
987
1104
 
988
- // CONCATENATED MODULE: ./components/message/message-box.vue?vue&type=template&id=6bac7792&
1105
+ /**
1106
+ * @description: 清除setTimeout计时
1107
+ * @param {type}
1108
+ * @return:
1109
+ */
1110
+ clearTimer: function clearTimer() {
1111
+ this.test = true;
1112
+ clearTimeout(this.timer);
1113
+ },
989
1114
 
990
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/message/message-box.vue?vue&type=script&lang=js&
991
- //
992
- //
993
- //
994
- //
1115
+ /**
1116
+ * @description:
1117
+ * @param {type} 开始计时删除
1118
+ * @return:
1119
+ */
1120
+ startTimer: function startTimer() {
1121
+ var _this = this;
995
1122
 
996
- /* harmony default export */ var message_boxvue_type_script_lang_js_ = ({
997
- name: 'MdsMessageBox',
998
- props: {
999
- prefixCls: {
1000
- type: String,
1001
- default: 'mds-message-box'
1002
- },
1003
- styles: {
1004
- type: Object,
1005
- default: function _default() {
1006
- return {};
1123
+ this.test = false;
1124
+ if (this.duration > 0) {
1125
+ this.timer = setTimeout(function () {
1126
+ if (!_this.closed) {
1127
+ _this.handleClose();
1128
+ }
1129
+ }, this.durationMS);
1007
1130
  }
1008
1131
  }
1132
+ },
1133
+ mounted: function mounted() {
1134
+ this.startTimer();
1009
1135
  }
1010
1136
  });
1011
- // CONCATENATED MODULE: ./components/message/message-box.vue?vue&type=script&lang=js&
1012
- /* harmony default export */ var message_message_boxvue_type_script_lang_js_ = (message_boxvue_type_script_lang_js_);
1013
- // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
1014
- var componentNormalizer = __webpack_require__(0);
1015
-
1016
- // CONCATENATED MODULE: ./components/message/message-box.vue
1137
+ // CONCATENATED MODULE: ./components/message/message-size.vue?vue&type=script&lang=js&
1138
+ /* harmony default export */ var message_message_sizevue_type_script_lang_js_ = (message_sizevue_type_script_lang_js_);
1139
+ // CONCATENATED MODULE: ./components/message/message-size.vue
1017
1140
 
1018
1141
 
1019
1142
 
@@ -1021,10 +1144,10 @@ var componentNormalizer = __webpack_require__(0);
1021
1144
 
1022
1145
  /* normalize component */
1023
1146
 
1024
- var component = Object(componentNormalizer["a" /* default */])(
1025
- message_message_boxvue_type_script_lang_js_,
1026
- render,
1027
- staticRenderFns,
1147
+ var message_size_component = Object(componentNormalizer["a" /* default */])(
1148
+ message_message_sizevue_type_script_lang_js_,
1149
+ message_sizevue_type_template_id_8e7dc96c_render,
1150
+ message_sizevue_type_template_id_8e7dc96c_staticRenderFns,
1028
1151
  false,
1029
1152
  null,
1030
1153
  null,
@@ -1033,731 +1156,608 @@ var component = Object(componentNormalizer["a" /* default */])(
1033
1156
  )
1034
1157
 
1035
1158
  /* hot reload */
1036
- if (false) { var api; }
1037
- component.options.__file = "components/message/message-box.vue"
1038
- /* harmony default export */ var message_box = (component.exports);
1039
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/message/message.vue?vue&type=template&id=dc37dbd8&
1040
- var messagevue_type_template_id_dc37dbd8_render = function () {
1041
- var _vm = this
1042
- var _h = _vm.$createElement
1043
- var _c = _vm._self._c || _h
1044
- return _c(
1045
- "div",
1046
- {
1047
- directives: [
1048
- {
1049
- name: "show",
1050
- rawName: "v-show",
1051
- value: _vm.visible,
1052
- expression: "visible",
1053
- },
1054
- ],
1055
- class: _vm.prefixCls + "-notice",
1056
- },
1057
- [
1058
- _c(
1059
- "div",
1060
- {
1061
- class: [{ link: _vm.showLink }, _vm.prefixCls + "-notice-content"],
1062
- style: _vm.defaultStyle,
1063
- },
1064
- [
1065
- _c(
1066
- "div",
1067
- {
1068
- class: _vm.prefixCls + "-" + _vm.type,
1069
- on: { mouseenter: _vm.clearTimer, mouseleave: _vm.startTimer },
1070
- },
1071
- [
1072
- _vm.type === "loading"
1073
- ? [
1074
- _c("mds-icon", {
1075
- staticStyle: { fontsize: "16px", "margin-right": "5px" },
1076
- attrs: { type: _vm.iconType, spin: "" },
1077
- }),
1078
- ]
1079
- : [
1080
- _c("mds-icon", {
1081
- staticStyle: { fontsize: "16px", "margin-right": "5px" },
1082
- attrs: { type: _vm.iconType },
1083
- }),
1084
- ],
1085
- _c("span", [_vm._v(_vm._s(_vm.content))]),
1086
- ],
1087
- 2
1088
- ),
1089
- _c(
1090
- "div",
1091
- {
1092
- directives: [
1093
- {
1094
- name: "show",
1095
- rawName: "v-show",
1096
- value: _vm.showClose && !_vm.showLink,
1097
- expression: "showClose && !showLink",
1098
- },
1099
- ],
1100
- class: _vm.prefixCls + "-close",
1101
- on: { click: _vm.handleClose },
1102
- },
1103
- [_c("mds-icon", { attrs: { type: "line-close" } })],
1104
- 1
1105
- ),
1106
- _c(
1107
- "a",
1108
- {
1109
- directives: [
1110
- {
1111
- name: "show",
1112
- rawName: "v-show",
1113
- value: _vm.showLink,
1114
- expression: "showLink",
1115
- },
1116
- ],
1117
- class: [
1118
- _vm.prefixCls + "-" + _vm.type + "-link",
1119
- _vm.prefixCls + "-link",
1120
- ],
1121
- attrs: { href: _vm.showLink },
1122
- },
1123
- [_vm._v("查看信息")]
1124
- ),
1125
- ]
1126
- ),
1127
- ]
1128
- )
1129
- }
1130
- var messagevue_type_template_id_dc37dbd8_staticRenderFns = []
1131
- messagevue_type_template_id_dc37dbd8_render._withStripped = true
1159
+ if (false) { var message_size_api; }
1160
+ message_size_component.options.__file = "components/message/message-size.vue"
1161
+ /* harmony default export */ var message_size = (message_size_component.exports);
1162
+ // CONCATENATED MODULE: ./components/message/index.js
1163
+
1164
+ /*
1165
+ * @Descripttion:
1166
+ * @version:
1167
+ * @Author: liangshuang
1168
+ */
1132
1169
 
1133
1170
 
1134
- // CONCATENATED MODULE: ./components/message/message.vue?vue&type=template&id=dc37dbd8&
1135
1171
 
1136
- // EXTERNAL MODULE: external "./button"
1137
- var external_button_ = __webpack_require__(14);
1138
- var external_button_default = /*#__PURE__*/__webpack_require__.n(external_button_);
1139
1172
 
1140
- // EXTERNAL MODULE: external "./icon"
1141
- var external_icon_ = __webpack_require__(7);
1142
- var external_icon_default = /*#__PURE__*/__webpack_require__.n(external_icon_);
1143
1173
 
1144
- // CONCATENATED MODULE: ./components/message/props.js
1145
- /* harmony default export */ var props = ({
1146
- props: {
1147
- content: {
1148
- default: ''
1149
- },
1150
- duration: {
1151
- type: Number,
1152
- default: 3
1153
- },
1154
- onClose: {
1155
- type: Function,
1156
- default: function _default() {}
1157
- },
1158
- prefixCls: {
1159
- type: String,
1160
- default: 'mds-message'
1161
- },
1162
- type: {
1163
- type: String,
1164
- validator: function validator(value) {
1165
- // 这个值必须匹配下列字符串中的一个
1166
- return ['info', 'success', 'error', 'warning', 'loading'].indexOf(value) !== -1;
1167
- },
1168
- default: 'info'
1169
- },
1170
- showClose: {
1171
- type: Boolean,
1172
- default: false
1173
- },
1174
- showLink: {
1175
- type: String,
1176
- default: ''
1174
+
1175
+
1176
+ var MessageBoxConstructor = external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a.extend(message_box);
1177
+ var MessageConstructor = external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a.extend(message);
1178
+ var MessageSizeConstructor = external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a.extend(message_size);
1179
+ var boxInstance = void 0;
1180
+ var boxEl = void 0;
1181
+ var messageInstances = []; // 存放当前未close的message
1182
+ var seed = 1;
1183
+ var prefixCls = 'mds-message'; // class前缀
1184
+ var defaultTop = 24; // 距离头部高度
1185
+ var defaultDuration = 3; // 默认延时
1186
+ var getContainer = void 0;
1187
+ var defaultShowClose = false;
1188
+
1189
+ var getBoxEl = function getBoxEl() {
1190
+ boxInstance = boxInstance || new MessageBoxConstructor({
1191
+ propsData: {
1192
+ prefixCls: prefixCls,
1193
+ styles: { top: defaultTop + 'px' }
1194
+ }
1195
+ });
1196
+ boxInstance.vm = boxInstance.$mount();
1197
+ boxEl = boxInstance.vm.$el;
1198
+ if (getContainer) {
1199
+ getContainer().appendChild(boxInstance.vm.$el);
1200
+ } else {
1201
+ document.body.appendChild(boxInstance.vm.$el);
1202
+ }
1203
+ return boxEl;
1204
+ };
1205
+
1206
+ var notice = function notice(options) {
1207
+ var boxEl = getBoxEl();
1208
+ var id = '' + prefixCls + seed++;
1209
+ var userOnClose = options.onClose || ''; // 用来存放用户设置关闭时的回调函数, 参数为被关闭的 message 实例
1210
+ options.onClose = function () {
1211
+ message_close(id, userOnClose);
1212
+ };
1213
+ options.showClose = options.showClose !== undefined ? options.showClose : defaultShowClose;
1214
+ options.duration = options.duration !== undefined ? options.duration : defaultDuration;
1215
+ options.type = ['info', 'success', 'error', 'warning', 'loading', 'help'].includes(options.type) ? options.type : 'info';
1216
+ var messageInstance = void 0;
1217
+ if (options.size) {
1218
+ messageInstance = new MessageSizeConstructor({
1219
+ propsData: options
1220
+ });
1221
+ } else {
1222
+ messageInstance = new MessageConstructor({
1223
+ propsData: options
1224
+ });
1225
+ }
1226
+
1227
+ messageInstance.id = id;
1228
+ messageInstance.vm = messageInstance.$mount();
1229
+ boxEl.appendChild(messageInstance.vm.$el);
1230
+ messageInstance.vm.visible = true;
1231
+ messageInstances.push(messageInstance);
1232
+
1233
+ return function () {
1234
+ messageInstance.vm.visible = false;
1235
+ };
1236
+ };
1237
+
1238
+ var message_close = function close(id, userOnClose) {
1239
+ for (var i = 0, len = messageInstances.length; i < len; i++) {
1240
+ if (id === messageInstances[i].id) {
1241
+ if (typeof userOnClose === 'function') {
1242
+ userOnClose(messageInstances[i]);
1243
+ }
1244
+ messageInstances.splice(i, 1);
1245
+ break;
1177
1246
  }
1178
1247
  }
1248
+ };
1249
+ var MdsMessage = function MdsMessage(options) {
1250
+ options = options || {};
1251
+ if (typeof options === 'string') {
1252
+ options = {
1253
+ content: options
1254
+ };
1255
+ }
1256
+ return notice(options);
1257
+ };
1258
+ ['success', 'error', 'info', 'warn', 'warning', 'loading'].forEach(function (type) {
1259
+ MdsMessage[type] = function (options) {
1260
+ if (typeof options === 'string') {
1261
+ options = {
1262
+ content: options
1263
+ };
1264
+ }
1265
+ options.type = type;
1266
+ return notice(options);
1267
+ };
1179
1268
  });
1180
- // EXTERNAL MODULE: ./components/_util/_popper/popup/popup-main.js
1181
- var popup_main = __webpack_require__(15);
1269
+ MdsMessage.config = function (options) {
1270
+ if (options.top !== undefined) {
1271
+ defaultTop = options.top;
1272
+ boxInstance = null;
1273
+ }
1274
+ if (options.duration !== undefined) {
1275
+ defaultDuration = options.duration;
1276
+ }
1277
+ if (options.prefixCls !== undefined) {
1278
+ prefixCls = options.prefixCls;
1279
+ }
1280
+ if (options.getContainer !== undefined) {
1281
+ getContainer = options.getContainer;
1282
+ }
1283
+ if (options.showClose !== undefined) {
1284
+ defaultShowClose = options.showClose;
1285
+ }
1286
+ };
1287
+ MdsMessage.destroy = function () {
1288
+ if (boxInstance) {
1289
+ boxInstance.vm.$destroy(true);
1290
+ boxEl.parentNode.removeChild(boxEl);
1291
+ }
1292
+ boxInstance = null;
1293
+ };
1294
+ /* harmony default export */ var components_message = __webpack_exports__["default"] = (MdsMessage);
1182
1295
 
1183
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/message/message.vue?vue&type=script&lang=js&
1184
- //
1185
- //
1186
- //
1187
- //
1188
- //
1189
- //
1190
- //
1191
- //
1192
- //
1193
- //
1194
- //
1195
- //
1196
- //
1197
- //
1198
- //
1199
- //
1200
- //
1201
- //
1202
- //
1203
- //
1204
- //
1205
- //
1206
- //
1207
- //
1208
- //
1209
- //
1210
- //
1211
- //
1212
- //
1213
- //
1214
- //
1215
- //
1216
- //
1217
- //
1218
- //
1219
- //
1220
- //
1221
- //
1222
- //
1223
- //
1224
- //
1225
- //
1226
- //
1227
- //
1228
- //
1229
- //
1230
- //
1231
- //
1232
- //
1296
+ /***/ }),
1233
1297
 
1298
+ /***/ 14:
1299
+ /***/ (function(module, exports) {
1234
1300
 
1301
+ module.exports = __WEBPACK_EXTERNAL_MODULE__14__;
1235
1302
 
1303
+ /***/ }),
1236
1304
 
1305
+ /***/ 15:
1306
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1237
1307
 
1238
- var ICONTYPES = {
1239
- info: 'line-info-circle',
1240
- success: 'fill-solid-right-circle',
1241
- error: 'fill-solid-wrong-circle',
1242
- warning: 'fill-solid-exclamation-circle',
1243
- loading: 'line-spinner'
1244
- };
1245
- /* harmony default export */ var messagevue_type_script_lang_js_ = ({
1246
- name: 'MdsMessage',
1247
- mixins: [props],
1248
- data: function data() {
1249
- return {
1250
- visible: false,
1251
- closed: false,
1252
- timer: null,
1253
- test: false
1254
- };
1255
- },
1308
+ "use strict";
1309
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
1310
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);
1311
+ /* harmony import */ var _dom_helper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1);
1312
+ /* harmony import */ var _popup_manager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5);
1313
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _popup_manager__WEBPACK_IMPORTED_MODULE_2__["a"]; });
1256
1314
 
1257
- computed: {
1258
- durationMS: function durationMS() {
1259
- return this.duration * 1000;
1315
+
1316
+
1317
+
1318
+
1319
+ var idSeed = 1;
1320
+
1321
+ var scrollBarWidth = void 0;
1322
+
1323
+ /* harmony default export */ __webpack_exports__["b"] = ({
1324
+ props: {
1325
+ visibility: {
1326
+ type: Boolean,
1327
+ default: false
1260
1328
  },
1261
- iconType: function iconType() {
1262
- return ICONTYPES[this.type];
1329
+ openDelay: {},
1330
+ closeDelay: {},
1331
+ zIndex: {},
1332
+ modal: {
1333
+ type: Boolean,
1334
+ default: false
1263
1335
  },
1264
- defaultStyle: function defaultStyle() {
1265
- return this.style;
1266
- }
1267
- },
1268
- components: { MdsIcon: external_icon_default.a, MdsButton: external_button_default.a },
1269
- watch: {
1270
- closed: function closed(newVal) {
1271
- if (newVal) {
1272
- this.visible = false;
1273
- }
1336
+ modalFade: {
1337
+ type: Boolean,
1338
+ default: true
1339
+ },
1340
+ modalClass: {},
1341
+ modalAppendToBody: {
1342
+ type: Boolean,
1343
+ default: false
1344
+ },
1345
+ lockScroll: {
1346
+ type: Boolean,
1347
+ default: true
1348
+ },
1349
+ closeOnPressEscape: {
1350
+ type: Boolean,
1351
+ default: false
1352
+ },
1353
+ closeOnClickModal: {
1354
+ type: Boolean,
1355
+ default: false
1274
1356
  }
1275
1357
  },
1276
- methods: {
1277
- /**
1278
- * @description: 销毁
1279
- * @param {type}
1280
- * @return:
1281
- */
1282
-
1283
- destroyElement: function destroyElement() {
1284
- this.$destroy(true);
1285
- this.closed = true;
1286
- this.$el.parentNode && this.$el.parentNode.removeChild(this.$el);
1287
- },
1288
1358
 
1289
- /**
1290
- * @description: 关闭
1291
- * @param {type}
1292
- * @return:
1293
- */
1359
+ beforeMount: function beforeMount() {
1360
+ this._popupId = 'popup-' + idSeed++;
1361
+ _popup_manager__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].register(this._popupId, this);
1362
+ },
1363
+ beforeDestroy: function beforeDestroy() {
1364
+ _popup_manager__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].deregister(this._popupId);
1365
+ _popup_manager__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].closeModal(this._popupId);
1294
1366
 
1295
- handleClose: function handleClose() {
1296
- this.closed = true;
1297
- this.onClose();
1298
- this.$el.parentNode && this.$el.parentNode.removeChild(this.$el);
1299
- },
1367
+ this.restoreBodyStyle();
1368
+ },
1369
+ data: function data() {
1370
+ return {
1371
+ opened: false,
1372
+ bodyPaddingRight: null,
1373
+ computedBodyPaddingRight: 0,
1374
+ withoutHiddenClass: true,
1375
+ rendered: false
1376
+ };
1377
+ },
1300
1378
 
1301
- /**
1302
- * @description: 清除setTimeout计时
1303
- * @param {type}
1304
- * @return:
1305
- */
1306
- clearTimer: function clearTimer() {
1307
- clearTimeout(this.timer);
1308
- this.test = true;
1309
- },
1310
1379
 
1311
- /**
1312
- * @description:
1313
- * @param {type} 开始计时删除
1314
- * @return:
1315
- */
1316
- startTimer: function startTimer() {
1380
+ watch: {
1381
+ visibility: function visibility(val) {
1317
1382
  var _this = this;
1318
1383
 
1319
- this.test = false;
1320
- if (this.duration > 0) {
1321
- this.timer = setTimeout(function () {
1322
- if (!_this.closed) {
1323
- _this.handleClose();
1324
- }
1325
- }, this.durationMS);
1384
+ if (val) {
1385
+ if (this._opening) return;
1386
+ if (!this.rendered) {
1387
+ this.rendered = true;
1388
+ vue__WEBPACK_IMPORTED_MODULE_0___default.a.nextTick(function () {
1389
+ _this.open();
1390
+ });
1391
+ } else {
1392
+ this.open();
1393
+ }
1394
+ } else {
1395
+ this.close();
1326
1396
  }
1327
1397
  }
1328
1398
  },
1329
- mounted: function mounted() {
1330
- var _this2 = this;
1331
1399
 
1332
- this.startTimer();
1333
- this.$nextTick(function () {
1334
- var dom = _this2.$el.parentElement;
1335
- dom.style.zIndex = popup_main["a" /* PopupMain */].nextZIndex();
1336
- });
1337
- }
1338
- });
1339
- // CONCATENATED MODULE: ./components/message/message.vue?vue&type=script&lang=js&
1340
- /* harmony default export */ var message_messagevue_type_script_lang_js_ = (messagevue_type_script_lang_js_);
1341
- // CONCATENATED MODULE: ./components/message/message.vue
1400
+ methods: {
1401
+ open: function open(options) {
1402
+ var _this2 = this;
1342
1403
 
1404
+ if (!this.rendered) {
1405
+ this.rendered = true;
1406
+ }
1407
+ var props = Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* merge */ "e"])({}, this.$props || this, options);
1343
1408
 
1409
+ if (this._closeTimer) {
1410
+ clearTimeout(this._closeTimer);
1411
+ this._closeTimer = null;
1412
+ }
1413
+ clearTimeout(this._openTimer);
1344
1414
 
1415
+ var openDelay = Number(props.openDelay);
1416
+ if (openDelay > 0) {
1417
+ this._openTimer = setTimeout(function () {
1418
+ _this2._openTimer = null;
1419
+ _this2.doOpen(props);
1420
+ }, openDelay);
1421
+ } else {
1422
+ this.doOpen(props);
1423
+ }
1424
+ },
1425
+ doOpen: function doOpen(props) {
1426
+ if (this.$isServer) return;
1427
+ if (this.willOpen && !this.willOpen()) return;
1428
+ if (this.opened) return;
1345
1429
 
1430
+ this._opening = true;
1346
1431
 
1347
- /* normalize component */
1432
+ var dom = this.$el;
1348
1433
 
1349
- var message_component = Object(componentNormalizer["a" /* default */])(
1350
- message_messagevue_type_script_lang_js_,
1351
- messagevue_type_template_id_dc37dbd8_render,
1352
- messagevue_type_template_id_dc37dbd8_staticRenderFns,
1353
- false,
1354
- null,
1355
- null,
1356
- null
1357
-
1358
- )
1434
+ var modal = props.modal;
1359
1435
 
1360
- /* hot reload */
1361
- if (false) { var message_api; }
1362
- message_component.options.__file = "components/message/message.vue"
1363
- /* harmony default export */ var message = (message_component.exports);
1364
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./components/message/message-size.vue?vue&type=template&id=8e7dc96c&
1365
- var message_sizevue_type_template_id_8e7dc96c_render = function () {
1366
- var _vm = this
1367
- var _h = _vm.$createElement
1368
- var _c = _vm._self._c || _h
1369
- return _c(
1370
- "div",
1371
- {
1372
- directives: [
1373
- {
1374
- name: "show",
1375
- rawName: "v-show",
1376
- value: _vm.visible,
1377
- expression: "visible",
1378
- },
1379
- ],
1380
- class: _vm.prefixCls + "-notice",
1381
- },
1382
- [
1383
- _c("div", { class: _vm.prefixCls + "-notice-content" }, [
1384
- _c(
1385
- "div",
1386
- {
1387
- class:
1388
- _vm.prefixCls +
1389
- "-" +
1390
- _vm.type +
1391
- " " +
1392
- _vm.prefixCls +
1393
- "-" +
1394
- _vm.type +
1395
- "-size",
1396
- on: { mouseenter: _vm.clearTimer, mouseleave: _vm.startTimer },
1397
- },
1398
- [
1399
- _c(
1400
- "div",
1401
- { class: _vm.prefixCls + "-" + _vm.type + "-size-title" },
1402
- [
1403
- _c("mds-icon", {
1404
- class: _vm.prefixCls + "-" + _vm.type + "-size-icon",
1405
- attrs: { type: _vm.iconType },
1406
- }),
1407
- _c("span", [_vm._v(_vm._s(_vm.title || _vm.defaultTitle))]),
1408
- ],
1409
- 1
1410
- ),
1411
- _c(
1412
- "div",
1413
- { class: _vm.prefixCls + "-" + _vm.type + "-size-content" },
1414
- [_vm._v(_vm._s(_vm.content))]
1415
- ),
1416
- ]
1417
- ),
1418
- _c(
1419
- "div",
1420
- {
1421
- directives: [
1422
- {
1423
- name: "show",
1424
- rawName: "v-show",
1425
- value: _vm.showClose && !_vm.showLink,
1426
- expression: "showClose && !showLink",
1427
- },
1428
- ],
1429
- class: _vm.prefixCls + "-close",
1430
- on: { click: _vm.handleClose },
1431
- },
1432
- [_c("mds-icon", { attrs: { type: "line-close" } })],
1433
- 1
1434
- ),
1435
- _c(
1436
- "a",
1437
- {
1438
- directives: [
1439
- {
1440
- name: "show",
1441
- rawName: "v-show",
1442
- value: _vm.showLink,
1443
- expression: "showLink",
1444
- },
1445
- ],
1446
- class: _vm.prefixCls + "-link",
1447
- attrs: { href: _vm.showLink },
1448
- },
1449
- [_vm._v("查看信息")]
1450
- ),
1451
- ]),
1452
- ]
1453
- )
1454
- }
1455
- var message_sizevue_type_template_id_8e7dc96c_staticRenderFns = []
1456
- message_sizevue_type_template_id_8e7dc96c_render._withStripped = true
1436
+ var zIndex = props.zIndex;
1437
+ if (zIndex) {
1438
+ _popup_manager__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].zIndex = zIndex;
1439
+ }
1440
+
1441
+ if (modal) {
1442
+ if (this._closing) {
1443
+ _popup_manager__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].closeModal(this._popupId);
1444
+ this._closing = false;
1445
+ }
1446
+ _popup_manager__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].openModal(this._popupId, _popup_manager__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].nextZIndex(), this.modalAppendToBody ? undefined : dom, props.modalClass, props.modalFade);
1447
+ if (props.lockScroll) {
1448
+ this.withoutHiddenClass = !Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* hasClass */ "d"])(document.body, 'mds-popup-parent--hidden');
1449
+ if (this.withoutHiddenClass) {
1450
+ this.bodyPaddingRight = document.body.style.paddingRight;
1451
+ this.computedBodyPaddingRight = parseInt(Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* getStyle */ "c"])(document.body, 'paddingRight'), 10);
1452
+ }
1453
+ scrollBarWidth = Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* getScrollBarWidth */ "b"])();
1454
+ var bodyHasOverflow = document.documentElement.clientHeight < document.body.scrollHeight;
1455
+ var bodyOverflowY = Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* getStyle */ "c"])(document.body, 'overflowY');
1456
+ if (scrollBarWidth > 0 && (bodyHasOverflow || bodyOverflowY === 'scroll') && this.withoutHiddenClass) {
1457
+ document.body.style.paddingRight = this.computedBodyPaddingRight + scrollBarWidth + 'px';
1458
+ }
1459
+ Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* addClass */ "a"])(document.body, 'mds-popup-parent--hidden');
1460
+ }
1461
+ }
1457
1462
 
1463
+ if (getComputedStyle(dom).position === 'static') {
1464
+ dom.style.position = 'absolute';
1465
+ }
1458
1466
 
1459
- // CONCATENATED MODULE: ./components/message/message-size.vue?vue&type=template&id=8e7dc96c&
1467
+ dom.style.zIndex = _popup_manager__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].nextZIndex();
1468
+ this.opened = true;
1460
1469
 
1461
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./components/message/message-size.vue?vue&type=script&lang=js&
1462
- //
1463
- //
1464
- //
1465
- //
1466
- //
1467
- //
1468
- //
1469
- //
1470
- //
1471
- //
1472
- //
1473
- //
1474
- //
1475
- //
1476
- //
1477
- //
1478
- //
1479
- //
1480
- //
1481
- //
1482
- //
1483
- //
1484
- //
1485
- //
1486
- //
1487
- //
1488
- //
1470
+ this.onOpen && this.onOpen();
1489
1471
 
1472
+ this.doAfterOpen();
1473
+ },
1474
+ doAfterOpen: function doAfterOpen() {
1475
+ this._opening = false;
1476
+ },
1477
+ close: function close() {
1478
+ var _this3 = this;
1490
1479
 
1480
+ if (this.willClose && !this.willClose()) return;
1491
1481
 
1492
- var message_sizevue_type_script_lang_js_ICONTYPES = {
1493
- info: 'line-info-circle',
1494
- success: 'fill-solid-right-circle',
1495
- error: 'fill-solid-wrong-circle',
1496
- warning: 'fill-solid-exclamation-circle',
1497
- loading: 'line-sync',
1498
- help: 'line-info-circle'
1499
- };
1500
- var TITLETYPES = {
1501
- info: '信息',
1502
- success: '已成功',
1503
- error: '出错啦',
1504
- warning: '请注意',
1505
- help: '帮助信息'
1506
- };
1507
- /* harmony default export */ var message_sizevue_type_script_lang_js_ = ({
1508
- name: 'MdsMessageSize',
1509
- mixins: [props],
1510
- props: {
1511
- title: {
1512
- type: String,
1513
- default: '请注意'
1514
- }
1515
- },
1516
- data: function data() {
1517
- return {
1518
- visible: false,
1519
- closed: false,
1520
- timer: null,
1521
- test: false
1522
- };
1523
- },
1482
+ if (this._openTimer !== null) {
1483
+ clearTimeout(this._openTimer);
1484
+ this._openTimer = null;
1485
+ }
1486
+ clearTimeout(this._closeTimer);
1524
1487
 
1525
- computed: {
1526
- durationMS: function durationMS() {
1527
- return this.duration * 1000;
1488
+ var closeDelay = Number(this.closeDelay);
1489
+
1490
+ if (closeDelay > 0) {
1491
+ this._closeTimer = setTimeout(function () {
1492
+ _this3._closeTimer = null;
1493
+ _this3.doClose();
1494
+ }, closeDelay);
1495
+ } else {
1496
+ this.doClose();
1497
+ }
1528
1498
  },
1529
- iconType: function iconType() {
1530
- return this.type && message_sizevue_type_script_lang_js_ICONTYPES[this.type] ? message_sizevue_type_script_lang_js_ICONTYPES[this.type] : 'line-info-circle';
1499
+ doClose: function doClose() {
1500
+ this._closing = true;
1501
+
1502
+ this.onClose && this.onClose();
1503
+
1504
+ if (this.lockScroll) {
1505
+ setTimeout(this.restoreBodyStyle, 200);
1506
+ }
1507
+
1508
+ this.opened = false;
1509
+
1510
+ this.doAfterClose();
1531
1511
  },
1532
- defaultTitle: function defaultTitle() {
1533
- return this.type && TITLETYPES[this.type] ? TITLETYPES[this.type] : '请注意';
1534
- }
1535
- },
1536
- components: {
1537
- MdsIcon: external_icon_default.a
1538
- },
1539
- watch: {
1540
- closed: function closed(newVal) {
1541
- if (newVal) {
1542
- this.visible = false;
1543
- this.$el.parentNode && this.$el.parentNode.removeChild(this.$el);
1512
+ doAfterClose: function doAfterClose() {
1513
+ _popup_manager__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].closeModal(this._popupId);
1514
+ this._closing = false;
1515
+ },
1516
+ restoreBodyStyle: function restoreBodyStyle() {
1517
+ if (this.modal && this.withoutHiddenClass) {
1518
+ document.body.style.paddingRight = this.bodyPaddingRight;
1519
+ Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* removeClass */ "h"])(document.body, 'mds-popup-parent--hidden');
1544
1520
  }
1521
+ this.withoutHiddenClass = true;
1545
1522
  }
1546
- },
1547
- methods: {
1548
- /**
1549
- * @description: 销毁
1550
- * @param {type}
1551
- * @return:
1552
- */
1523
+ }
1524
+ });
1553
1525
 
1554
- destroyElement: function destroyElement() {
1555
- this.closed = true;
1556
- this.$destroy(true);
1557
- this.$el.parentNode && this.$el.parentNode.removeChild(this.$el);
1558
- },
1559
1526
 
1560
- /**
1561
- * @description: 关闭
1562
- * @param {type}
1563
- * @return:
1564
- */
1565
1527
 
1566
- handleClose: function handleClose() {
1567
- this.closed = true;
1568
- this.onClose();
1569
- },
1528
+ /***/ }),
1570
1529
 
1571
- /**
1572
- * @description: 清除setTimeout计时
1573
- * @param {type}
1574
- * @return:
1575
- */
1576
- clearTimer: function clearTimer() {
1577
- this.test = true;
1578
- clearTimeout(this.timer);
1579
- },
1530
+ /***/ 199:
1531
+ /***/ (function(module, exports) {
1580
1532
 
1581
- /**
1582
- * @description:
1583
- * @param {type} 开始计时删除
1584
- * @return:
1585
- */
1586
- startTimer: function startTimer() {
1587
- var _this = this;
1533
+ // removed by extract-text-webpack-plugin
1588
1534
 
1589
- this.test = false;
1590
- if (this.duration > 0) {
1591
- this.timer = setTimeout(function () {
1592
- if (!_this.closed) {
1593
- _this.handleClose();
1594
- }
1595
- }, this.durationMS);
1596
- }
1535
+ /***/ }),
1536
+
1537
+ /***/ 2:
1538
+ /***/ (function(module, exports) {
1539
+
1540
+ module.exports = __WEBPACK_EXTERNAL_MODULE__2__;
1541
+
1542
+ /***/ }),
1543
+
1544
+ /***/ 5:
1545
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1546
+
1547
+ "use strict";
1548
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
1549
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);
1550
+ /* harmony import */ var _dom_helper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1);
1551
+
1552
+
1553
+
1554
+ var hasModal = false;
1555
+ var hasInitZIndex = false;
1556
+ var zIndex = void 0;
1557
+
1558
+ var getModal = function getModal() {
1559
+ if (vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer) return;
1560
+ var modalDom = PopupManager.modalDom;
1561
+ if (modalDom) {
1562
+ hasModal = true;
1563
+ } else {
1564
+ hasModal = false;
1565
+ modalDom = document.createElement('div');
1566
+ PopupManager.modalDom = modalDom;
1567
+
1568
+ modalDom.addEventListener('touchmove', function (event) {
1569
+ event.preventDefault();
1570
+ event.stopPropagation();
1571
+ });
1572
+
1573
+ modalDom.addEventListener('click', function () {
1574
+ PopupManager.doOnModalClick && PopupManager.doOnModalClick();
1575
+ });
1576
+ }
1577
+
1578
+ return modalDom;
1579
+ };
1580
+
1581
+ var instances = {};
1582
+
1583
+ var PopupManager = {
1584
+ modalFade: true,
1585
+
1586
+ getInstance: function getInstance(id) {
1587
+ return instances[id];
1588
+ },
1589
+
1590
+ register: function register(id, instance) {
1591
+ if (id && instance) {
1592
+ instances[id] = instance;
1593
+ }
1594
+ },
1595
+
1596
+ deregister: function deregister(id) {
1597
+ if (id) {
1598
+ instances[id] = null;
1599
+ delete instances[id];
1597
1600
  }
1598
1601
  },
1599
- mounted: function mounted() {
1600
- this.startTimer();
1601
- }
1602
- });
1603
- // CONCATENATED MODULE: ./components/message/message-size.vue?vue&type=script&lang=js&
1604
- /* harmony default export */ var message_message_sizevue_type_script_lang_js_ = (message_sizevue_type_script_lang_js_);
1605
- // CONCATENATED MODULE: ./components/message/message-size.vue
1606
1602
 
1603
+ nextZIndex: function nextZIndex() {
1604
+ return PopupManager.zIndex++;
1605
+ },
1607
1606
 
1607
+ modalStack: [],
1608
1608
 
1609
+ doOnModalClick: function doOnModalClick() {
1610
+ var topItem = PopupManager.modalStack[PopupManager.modalStack.length - 1];
1611
+ if (!topItem) return;
1609
1612
 
1613
+ var instance = PopupManager.getInstance(topItem.id);
1614
+ if (instance && instance.closeOnClickModal) {
1615
+ instance.close();
1616
+ }
1617
+ },
1610
1618
 
1611
- /* normalize component */
1619
+ openModal: function openModal(id, zIndex, dom, modalClass, modalFade) {
1620
+ if (vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer) return;
1621
+ if (!id || zIndex === undefined) return;
1622
+ this.modalFade = modalFade;
1612
1623
 
1613
- var message_size_component = Object(componentNormalizer["a" /* default */])(
1614
- message_message_sizevue_type_script_lang_js_,
1615
- message_sizevue_type_template_id_8e7dc96c_render,
1616
- message_sizevue_type_template_id_8e7dc96c_staticRenderFns,
1617
- false,
1618
- null,
1619
- null,
1620
- null
1621
-
1622
- )
1624
+ var modalStack = this.modalStack;
1623
1625
 
1624
- /* hot reload */
1625
- if (false) { var message_size_api; }
1626
- message_size_component.options.__file = "components/message/message-size.vue"
1627
- /* harmony default export */ var message_size = (message_size_component.exports);
1628
- // CONCATENATED MODULE: ./components/message/index.js
1626
+ for (var i = 0, j = modalStack.length; i < j; i++) {
1627
+ var item = modalStack[i];
1628
+ if (item.id === id) {
1629
+ return;
1630
+ }
1631
+ }
1629
1632
 
1630
- /*
1631
- * @Descripttion:
1632
- * @version:
1633
- * @Author: liangshuang
1634
- */
1633
+ var modalDom = getModal();
1635
1634
 
1635
+ Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* addClass */ "a"])(modalDom, 'v-modal');
1636
+ if (this.modalFade && !hasModal) {
1637
+ Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* addClass */ "a"])(modalDom, 'v-modal-enter');
1638
+ }
1639
+ if (modalClass) {
1640
+ var classArr = modalClass.trim().split(/\s+/);
1641
+ classArr.forEach(function (item) {
1642
+ return Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* addClass */ "a"])(modalDom, item);
1643
+ });
1644
+ }
1645
+ setTimeout(function () {
1646
+ Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* removeClass */ "h"])(modalDom, 'v-modal-enter');
1647
+ }, 200);
1636
1648
 
1649
+ if (dom && dom.parentNode && dom.parentNode.nodeType !== 11) {
1650
+ dom.parentNode.appendChild(modalDom);
1651
+ } else {
1652
+ document.body.appendChild(modalDom);
1653
+ }
1637
1654
 
1655
+ if (zIndex) {
1656
+ modalDom.style.zIndex = zIndex;
1657
+ }
1658
+ modalDom.tabIndex = 0;
1659
+ modalDom.style.display = '';
1638
1660
 
1661
+ this.modalStack.push({ id: id, zIndex: zIndex, modalClass: modalClass });
1662
+ },
1639
1663
 
1664
+ closeModal: function closeModal(id) {
1665
+ var modalStack = this.modalStack;
1666
+ var modalDom = getModal();
1640
1667
 
1668
+ if (modalStack.length > 0) {
1669
+ var topItem = modalStack[modalStack.length - 1];
1670
+ if (topItem.id === id) {
1671
+ if (topItem.modalClass) {
1672
+ var classArr = topItem.modalClass.trim().split(/\s+/);
1673
+ classArr.forEach(function (item) {
1674
+ return Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* removeClass */ "h"])(modalDom, item);
1675
+ });
1676
+ }
1641
1677
 
1642
- var MessageBoxConstructor = external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a.extend(message_box);
1643
- var MessageConstructor = external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a.extend(message);
1644
- var MessageSizeConstructor = external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a.extend(message_size);
1645
- var boxInstance = void 0;
1646
- var boxEl = void 0;
1647
- var messageInstances = []; // 存放当前未close的message
1648
- var seed = 1;
1649
- var prefixCls = 'mds-message'; // class前缀
1650
- var defaultTop = 24; // 距离头部高度
1651
- var defaultDuration = 3; // 默认延时
1652
- var getContainer = void 0;
1653
- var defaultShowClose = false;
1678
+ modalStack.pop();
1679
+ if (modalStack.length > 0) {
1680
+ modalDom.style.zIndex = modalStack[modalStack.length - 1].zIndex;
1681
+ }
1682
+ } else {
1683
+ for (var i = modalStack.length - 1; i >= 0; i--) {
1684
+ if (modalStack[i].id === id) {
1685
+ modalStack.splice(i, 1);
1686
+ break;
1687
+ }
1688
+ }
1689
+ }
1690
+ }
1654
1691
 
1655
- var getBoxEl = function getBoxEl() {
1656
- boxInstance = boxInstance || new MessageBoxConstructor({
1657
- propsData: {
1658
- prefixCls: prefixCls,
1659
- styles: { top: defaultTop + 'px' }
1692
+ if (modalStack.length === 0) {
1693
+ if (this.modalFade) {
1694
+ Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* addClass */ "a"])(modalDom, 'v-modal-leave');
1695
+ }
1696
+ setTimeout(function () {
1697
+ if (modalStack.length === 0) {
1698
+ if (modalDom.parentNode) modalDom.parentNode.removeChild(modalDom);
1699
+ modalDom.style.display = 'none';
1700
+ PopupManager.modalDom = undefined;
1701
+ }
1702
+ Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* removeClass */ "h"])(modalDom, 'v-modal-leave');
1703
+ }, 200);
1660
1704
  }
1661
- });
1662
- boxInstance.vm = boxInstance.$mount();
1663
- boxEl = boxInstance.vm.$el;
1664
- if (getContainer) {
1665
- getContainer().appendChild(boxInstance.vm.$el);
1666
- } else {
1667
- document.body.appendChild(boxInstance.vm.$el);
1668
1705
  }
1669
- return boxEl;
1670
1706
  };
1671
1707
 
1672
- var notice = function notice(options) {
1673
- var boxEl = getBoxEl();
1674
- var id = '' + prefixCls + seed++;
1675
- var userOnClose = options.onClose || ''; // 用来存放用户设置关闭时的回调函数, 参数为被关闭的 message 实例
1676
- options.onClose = function () {
1677
- message_close(id, userOnClose);
1678
- };
1679
- options.showClose = options.showClose !== undefined ? options.showClose : defaultShowClose;
1680
- options.duration = options.duration !== undefined ? options.duration : defaultDuration;
1681
- options.type = ['info', 'success', 'error', 'warning', 'loading', 'help'].includes(options.type) ? options.type : 'info';
1682
- var messageInstance = void 0;
1683
- if (options.size) {
1684
- messageInstance = new MessageSizeConstructor({
1685
- propsData: options
1686
- });
1687
- } else {
1688
- messageInstance = new MessageConstructor({
1689
- propsData: options
1690
- });
1708
+ Object.defineProperty(PopupManager, 'zIndex', {
1709
+ configurable: true,
1710
+ get: function get() {
1711
+ if (!hasInitZIndex) {
1712
+ zIndex = zIndex || (vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$ELEMENT || {}).zIndex || 2000;
1713
+ hasInitZIndex = true;
1714
+ }
1715
+ return zIndex;
1716
+ },
1717
+ set: function set(value) {
1718
+ zIndex = value;
1691
1719
  }
1720
+ });
1692
1721
 
1693
- messageInstance.id = id;
1694
- messageInstance.vm = messageInstance.$mount();
1695
- boxEl.appendChild(messageInstance.vm.$el);
1696
- messageInstance.vm.visible = true;
1697
- messageInstances.push(messageInstance);
1722
+ var getTopPopup = function getTopPopup() {
1723
+ if (vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer) return;
1724
+ if (PopupManager.modalStack.length > 0) {
1725
+ var topPopup = PopupManager.modalStack[PopupManager.modalStack.length - 1];
1726
+ if (!topPopup) return;
1727
+ var instance = PopupManager.getInstance(topPopup.id);
1698
1728
 
1699
- return function () {
1700
- messageInstance.vm.visible = false;
1701
- };
1729
+ return instance;
1730
+ }
1702
1731
  };
1703
1732
 
1704
- var message_close = function close(id, userOnClose) {
1705
- for (var i = 0, len = messageInstances.length; i < len; i++) {
1706
- if (id === messageInstances[i].id) {
1707
- if (typeof userOnClose === 'function') {
1708
- userOnClose(messageInstances[i]);
1733
+ if (!vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer) {
1734
+ // handle `esc` key when the popup is shown
1735
+ window.addEventListener('keydown', function (event) {
1736
+ if (event.keyCode === 27) {
1737
+ var topPopup = getTopPopup();
1738
+
1739
+ if (topPopup && topPopup.closeOnPressEscape) {
1740
+ topPopup.handleClose ? topPopup.handleClose() : topPopup.handleAction ? topPopup.handleAction('cancel') : topPopup.close();
1709
1741
  }
1710
- messageInstances.splice(i, 1);
1711
- break;
1712
- }
1713
- }
1714
- };
1715
- var MdsMessage = function MdsMessage(options) {
1716
- options = options || {};
1717
- if (typeof options === 'string') {
1718
- options = {
1719
- content: options
1720
- };
1721
- }
1722
- return notice(options);
1723
- };
1724
- ['success', 'error', 'info', 'warn', 'warning', 'loading'].forEach(function (type) {
1725
- MdsMessage[type] = function (options) {
1726
- if (typeof options === 'string') {
1727
- options = {
1728
- content: options
1729
- };
1730
1742
  }
1731
- options.type = type;
1732
- return notice(options);
1733
- };
1734
- });
1735
- MdsMessage.config = function (options) {
1736
- if (options.top !== undefined) {
1737
- defaultTop = options.top;
1738
- boxInstance = null;
1739
- }
1740
- if (options.duration !== undefined) {
1741
- defaultDuration = options.duration;
1742
- }
1743
- if (options.prefixCls !== undefined) {
1744
- prefixCls = options.prefixCls;
1745
- }
1746
- if (options.getContainer !== undefined) {
1747
- getContainer = options.getContainer;
1748
- }
1749
- if (options.showClose !== undefined) {
1750
- defaultShowClose = options.showClose;
1751
- }
1752
- };
1753
- MdsMessage.destroy = function () {
1754
- if (boxInstance) {
1755
- boxInstance.vm.$destroy(true);
1756
- boxEl.parentNode.removeChild(boxEl);
1757
- }
1758
- boxInstance = null;
1759
- };
1760
- /* harmony default export */ var components_message = __webpack_exports__["default"] = (MdsMessage);
1743
+ });
1744
+ }
1745
+
1746
+ /* harmony default export */ __webpack_exports__["a"] = (PopupManager);
1747
+
1748
+ /***/ }),
1749
+
1750
+ /***/ 7:
1751
+ /***/ (function(module, exports) {
1752
+
1753
+ module.exports = __WEBPACK_EXTERNAL_MODULE__7__;
1754
+
1755
+ /***/ }),
1756
+
1757
+ /***/ 9:
1758
+ /***/ (function(module, exports) {
1759
+
1760
+ module.exports = require("babel-runtime/helpers/typeof");
1761
1761
 
1762
1762
  /***/ })
1763
1763