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

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 (120) hide show
  1. package/dist/_util/iconfont/index.js +7 -7
  2. package/dist/affix.js +6 -6
  3. package/dist/alert.js +6 -6
  4. package/dist/anchor.js +6 -6
  5. package/dist/avatar.js +6 -6
  6. package/dist/backtop.js +8 -8
  7. package/dist/badge.js +10 -10
  8. package/dist/bordershadow.js +6 -6
  9. package/dist/breadcrumb.js +6 -6
  10. package/dist/button.js +6 -6
  11. package/dist/card.js +6 -6
  12. package/dist/carousel.js +20 -20
  13. package/dist/cascader.js +30 -30
  14. package/dist/cascaderpanel.js +20 -20
  15. package/dist/checkbox.js +4 -4
  16. package/dist/col.js +16 -16
  17. package/dist/collapse.js +6 -6
  18. package/dist/color.js +6 -6
  19. package/dist/datepicker.js +656 -1012
  20. package/dist/divider.js +6 -6
  21. package/dist/drawer.js +16 -16
  22. package/dist/dropdown.js +15 -15
  23. package/dist/empty.js +15 -15
  24. package/dist/font/iconfont.08f1d29.woff +0 -0
  25. package/dist/font/iconfont.6addfa3.woff2 +0 -0
  26. package/dist/font/{iconfont.d4ec0db.ttf → iconfont.fbe81ba.ttf} +0 -0
  27. package/dist/font.js +6 -6
  28. package/dist/form.js +13 -13
  29. package/dist/icon.js +6 -6
  30. package/dist/index.js +1 -1
  31. package/dist/input.js +6 -6
  32. package/dist/inputnumber.js +10 -10
  33. package/dist/layout.js +6 -6
  34. package/dist/list.js +6 -6
  35. package/dist/loading.js +6 -6
  36. package/dist/mds-ui.min.css +1 -1
  37. package/dist/mds-ui.min.js +1729 -1607
  38. package/dist/menu.js +13 -13
  39. package/dist/message.js +1070 -1070
  40. package/dist/modal.js +16 -16
  41. package/dist/notification.js +10 -10
  42. package/dist/pagination.js +64 -64
  43. package/dist/popconfirm.js +33 -33
  44. package/dist/popover.js +28 -28
  45. package/dist/progress.js +25 -25
  46. package/dist/radio.js +14 -14
  47. package/dist/rate.js +6 -6
  48. package/dist/row.js +16 -16
  49. package/dist/select.js +27 -27
  50. package/dist/slider.js +22 -22
  51. package/dist/slottable.js +32 -32
  52. package/dist/steps.js +6 -6
  53. package/dist/style/affix.css +7 -1
  54. package/dist/style/alert.css +7 -1
  55. package/dist/style/anchor.css +7 -1
  56. package/dist/style/avatar.css +7 -1
  57. package/dist/style/badge.css +7 -1
  58. package/dist/style/bordershadow.css +7 -1
  59. package/dist/style/breadcrumb.css +7 -1
  60. package/dist/style/button.css +7 -1
  61. package/dist/style/card.css +7 -1
  62. package/dist/style/carousel.css +7 -1
  63. package/dist/style/checkbox.css +7 -1
  64. package/dist/style/col.css +7 -1
  65. package/dist/style/collapse.css +7 -1
  66. package/dist/style/color.css +7 -1
  67. package/dist/style/datepicker.css +67 -1
  68. package/dist/style/divider.css +7 -1
  69. package/dist/style/drawer.css +7 -1
  70. package/dist/style/dropdown.css +7 -1
  71. package/dist/style/empty.css +7 -1
  72. package/dist/style/font.css +7 -1
  73. package/dist/style/form.css +7 -1
  74. package/dist/style/icon.css +7 -1
  75. package/dist/style/input.css +7 -1
  76. package/dist/style/inputnumber.css +7 -1
  77. package/dist/style/layout.css +7 -1
  78. package/dist/style/list.css +7 -1
  79. package/dist/style/loading.css +7 -1
  80. package/dist/style/menu.css +7 -1
  81. package/dist/style/modal.css +7 -1
  82. package/dist/style/notification.css +7 -1
  83. package/dist/style/pagination.css +7 -1
  84. package/dist/style/popconfirm.css +7 -1
  85. package/dist/style/popover.css +7 -1
  86. package/dist/style/progress.css +7 -1
  87. package/dist/style/radio.css +7 -1
  88. package/dist/style/rate.css +7 -1
  89. package/dist/style/row.css +7 -1
  90. package/dist/style/select.css +7 -1
  91. package/dist/style/slider.css +7 -1
  92. package/dist/style/slottable.css +7 -1
  93. package/dist/style/steps.css +7 -1
  94. package/dist/style/switch.css +7 -1
  95. package/dist/style/table.css +7 -1
  96. package/dist/style/tabs.css +7 -1
  97. package/dist/style/tag.css +7 -1
  98. package/dist/style/text.css +7 -1
  99. package/dist/style/timeline.css +7 -1
  100. package/dist/style/timepicker.css +7 -1
  101. package/dist/style/tooltip.css +7 -1
  102. package/dist/style/tree.css +7 -1
  103. package/dist/style/typography.css +7 -1
  104. package/dist/style/upload.css +7 -1
  105. package/dist/switch.js +6 -6
  106. package/dist/table.js +378 -378
  107. package/dist/tabs.js +6 -6
  108. package/dist/tag.js +6 -6
  109. package/dist/text.js +6 -6
  110. package/dist/timeline.js +6 -6
  111. package/dist/timepicker.js +25 -25
  112. package/dist/tooltip.js +14 -14
  113. package/dist/transfer.js +18 -18
  114. package/dist/transition.js +4 -4
  115. package/dist/tree.js +14 -14
  116. package/dist/typography.js +6 -6
  117. package/dist/upload.js +19 -19
  118. package/package.json +1 -1
  119. package/dist/font/iconfont.9936847.woff2 +0 -0
  120. package/dist/font/iconfont.b0a8d88.woff +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 = 100);
94
+ /******/ return __webpack_require__(__webpack_require__.s = 97);
95
95
  /******/ })
96
96
  /************************************************************************/
97
97
  /******/ ({
@@ -220,7 +220,7 @@ function normalizeComponent (
220
220
  /* unused harmony export isInContainer */
221
221
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return merge; });
222
222
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getScrollBarWidth; });
223
- /* harmony import */ var babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9);
223
+ /* harmony import */ var babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(10);
224
224
  /* harmony import */ var babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__);
225
225
  /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2);
226
226
  /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_1__);
@@ -492,1272 +492,1272 @@ function getScrollBarWidth() {
492
492
 
493
493
  /***/ }),
494
494
 
495
- /***/ 100:
496
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
497
-
498
- "use strict";
499
- // ESM COMPAT FLAG
500
- __webpack_require__.r(__webpack_exports__);
501
-
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_);
505
-
506
- // EXTERNAL MODULE: ./components/message/style/index.less
507
- var style = __webpack_require__(199);
508
-
509
- // CONCATENATED MODULE: ./components/message/style/index.js
510
-
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
520
-
521
-
522
- // CONCATENATED MODULE: ./components/message/message-box.vue?vue&type=template&id=6bac7792&
523
-
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
- //
495
+ /***/ 10:
496
+ /***/ (function(module, exports) {
529
497
 
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'
536
- },
537
- styles: {
538
- type: Object,
539
- default: function _default() {
540
- return {};
541
- }
542
- }
543
- }
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);
498
+ module.exports = require("babel-runtime/helpers/typeof");
549
499
 
550
- // CONCATENATED MODULE: ./components/message/message-box.vue
500
+ /***/ }),
551
501
 
502
+ /***/ 14:
503
+ /***/ (function(module, exports) {
552
504
 
505
+ module.exports = __WEBPACK_EXTERNAL_MODULE__14__;
553
506
 
507
+ /***/ }),
554
508
 
509
+ /***/ 15:
510
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
555
511
 
556
- /* normalize component */
512
+ "use strict";
513
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
514
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);
515
+ /* harmony import */ var _dom_helper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1);
516
+ /* harmony import */ var _popup_manager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5);
517
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _popup_manager__WEBPACK_IMPORTED_MODULE_2__["a"]; });
557
518
 
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
- )
568
519
 
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
666
520
 
667
521
 
668
- // CONCATENATED MODULE: ./components/message/message.vue?vue&type=template&id=dc37dbd8&
669
522
 
670
- // EXTERNAL MODULE: external "./button"
671
- var external_button_ = __webpack_require__(14);
672
- var external_button_default = /*#__PURE__*/__webpack_require__.n(external_button_);
523
+ var idSeed = 1;
673
524
 
674
- // EXTERNAL MODULE: external "./icon"
675
- var external_icon_ = __webpack_require__(7);
676
- var external_icon_default = /*#__PURE__*/__webpack_require__.n(external_icon_);
525
+ var scrollBarWidth = void 0;
677
526
 
678
- // CONCATENATED MODULE: ./components/message/props.js
679
- /* harmony default export */ var props = ({
527
+ /* harmony default export */ __webpack_exports__["b"] = ({
680
528
  props: {
681
- content: {
682
- default: ''
529
+ visibility: {
530
+ type: Boolean,
531
+ default: false
683
532
  },
684
- duration: {
685
- type: Number,
686
- default: 3
533
+ openDelay: {},
534
+ closeDelay: {},
535
+ zIndex: {},
536
+ modal: {
537
+ type: Boolean,
538
+ default: false
687
539
  },
688
- onClose: {
689
- type: Function,
690
- default: function _default() {}
540
+ modalFade: {
541
+ type: Boolean,
542
+ default: true
691
543
  },
692
- prefixCls: {
693
- type: String,
694
- default: 'mds-message'
544
+ modalClass: {},
545
+ modalAppendToBody: {
546
+ type: Boolean,
547
+ default: false
695
548
  },
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'
549
+ lockScroll: {
550
+ type: Boolean,
551
+ default: true
703
552
  },
704
- showClose: {
553
+ closeOnPressEscape: {
705
554
  type: Boolean,
706
555
  default: false
707
556
  },
708
- showLink: {
709
- type: String,
710
- default: ''
557
+ closeOnClickModal: {
558
+ type: Boolean,
559
+ default: false
711
560
  }
712
- }
713
- });
714
- // EXTERNAL MODULE: ./components/_util/_popper/popup/popup-main.js
715
- var popup_main = __webpack_require__(15);
716
-
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
- //
767
-
768
-
769
-
561
+ },
770
562
 
563
+ beforeMount: function beforeMount() {
564
+ this._popupId = 'popup-' + idSeed++;
565
+ _popup_manager__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].register(this._popupId, this);
566
+ },
567
+ beforeDestroy: function beforeDestroy() {
568
+ _popup_manager__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].deregister(this._popupId);
569
+ _popup_manager__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].closeModal(this._popupId);
771
570
 
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],
571
+ this.restoreBodyStyle();
572
+ },
782
573
  data: function data() {
783
574
  return {
784
- visible: false,
785
- closed: false,
786
- timer: null,
787
- test: false
575
+ opened: false,
576
+ bodyPaddingRight: null,
577
+ computedBodyPaddingRight: 0,
578
+ withoutHiddenClass: true,
579
+ rendered: false
788
580
  };
789
581
  },
790
582
 
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;
800
- }
801
- },
802
- components: { MdsIcon: external_icon_default.a, MdsButton: external_button_default.a },
583
+
803
584
  watch: {
804
- closed: function closed(newVal) {
805
- if (newVal) {
806
- this.visible = false;
585
+ visibility: function visibility(val) {
586
+ var _this = this;
587
+
588
+ if (val) {
589
+ if (this._opening) return;
590
+ if (!this.rendered) {
591
+ this.rendered = true;
592
+ vue__WEBPACK_IMPORTED_MODULE_0___default.a.nextTick(function () {
593
+ _this.open();
594
+ });
595
+ } else {
596
+ this.open();
597
+ }
598
+ } else {
599
+ this.close();
807
600
  }
808
601
  }
809
602
  },
603
+
810
604
  methods: {
811
- /**
812
- * @description: 销毁
813
- * @param {type}
814
- * @return:
815
- */
605
+ open: function open(options) {
606
+ var _this2 = this;
816
607
 
817
- destroyElement: function destroyElement() {
818
- this.$destroy(true);
819
- this.closed = true;
820
- this.$el.parentNode && this.$el.parentNode.removeChild(this.$el);
821
- },
608
+ if (!this.rendered) {
609
+ this.rendered = true;
610
+ }
611
+ var props = Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* merge */ "e"])({}, this.$props || this, options);
822
612
 
823
- /**
824
- * @description: 关闭
825
- * @param {type}
826
- * @return:
827
- */
613
+ if (this._closeTimer) {
614
+ clearTimeout(this._closeTimer);
615
+ this._closeTimer = null;
616
+ }
617
+ clearTimeout(this._openTimer);
828
618
 
829
- handleClose: function handleClose() {
830
- this.closed = true;
831
- this.onClose();
832
- this.$el.parentNode && this.$el.parentNode.removeChild(this.$el);
619
+ var openDelay = Number(props.openDelay);
620
+ if (openDelay > 0) {
621
+ this._openTimer = setTimeout(function () {
622
+ _this2._openTimer = null;
623
+ _this2.doOpen(props);
624
+ }, openDelay);
625
+ } else {
626
+ this.doOpen(props);
627
+ }
833
628
  },
629
+ doOpen: function doOpen(props) {
630
+ if (this.$isServer) return;
631
+ if (this.willOpen && !this.willOpen()) return;
632
+ if (this.opened) return;
834
633
 
835
- /**
836
- * @description: 清除setTimeout计时
837
- * @param {type}
838
- * @return:
839
- */
840
- clearTimer: function clearTimer() {
841
- clearTimeout(this.timer);
842
- this.test = true;
843
- },
634
+ this._opening = true;
844
635
 
845
- /**
846
- * @description:
847
- * @param {type} 开始计时删除
848
- * @return:
849
- */
850
- startTimer: function startTimer() {
851
- var _this = this;
636
+ var dom = this.$el;
852
637
 
853
- this.test = false;
854
- if (this.duration > 0) {
855
- this.timer = setTimeout(function () {
856
- if (!_this.closed) {
857
- _this.handleClose();
638
+ var modal = props.modal;
639
+
640
+ var zIndex = props.zIndex;
641
+ if (zIndex) {
642
+ _popup_manager__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].zIndex = zIndex;
643
+ }
644
+
645
+ if (modal) {
646
+ if (this._closing) {
647
+ _popup_manager__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].closeModal(this._popupId);
648
+ this._closing = false;
649
+ }
650
+ _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);
651
+ if (props.lockScroll) {
652
+ this.withoutHiddenClass = !Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* hasClass */ "d"])(document.body, 'mds-popup-parent--hidden');
653
+ if (this.withoutHiddenClass) {
654
+ this.bodyPaddingRight = document.body.style.paddingRight;
655
+ this.computedBodyPaddingRight = parseInt(Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* getStyle */ "c"])(document.body, 'paddingRight'), 10);
858
656
  }
859
- }, this.durationMS);
657
+ scrollBarWidth = Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* getScrollBarWidth */ "b"])();
658
+ var bodyHasOverflow = document.documentElement.clientHeight < document.body.scrollHeight;
659
+ var bodyOverflowY = Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* getStyle */ "c"])(document.body, 'overflowY');
660
+ if (scrollBarWidth > 0 && (bodyHasOverflow || bodyOverflowY === 'scroll') && this.withoutHiddenClass) {
661
+ document.body.style.paddingRight = this.computedBodyPaddingRight + scrollBarWidth + 'px';
662
+ }
663
+ Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* addClass */ "a"])(document.body, 'mds-popup-parent--hidden');
664
+ }
860
665
  }
861
- }
862
- },
863
- mounted: function mounted() {
864
- var _this2 = this;
865
666
 
866
- this.startTimer();
867
- this.$nextTick(function () {
868
- var dom = _this2.$el.parentElement;
869
- dom.style.zIndex = popup_main["a" /* PopupMain */].nextZIndex();
870
- });
871
- }
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
667
+ if (getComputedStyle(dom).position === 'static') {
668
+ dom.style.position = 'absolute';
669
+ }
876
670
 
671
+ dom.style.zIndex = _popup_manager__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].nextZIndex();
672
+ this.opened = true;
877
673
 
674
+ this.onOpen && this.onOpen();
878
675
 
676
+ this.doAfterOpen();
677
+ },
678
+ doAfterOpen: function doAfterOpen() {
679
+ this._opening = false;
680
+ },
681
+ close: function close() {
682
+ var _this3 = this;
879
683
 
684
+ if (this.willClose && !this.willClose()) return;
880
685
 
881
- /* normalize component */
686
+ if (this._openTimer !== null) {
687
+ clearTimeout(this._openTimer);
688
+ this._openTimer = null;
689
+ }
690
+ clearTimeout(this._closeTimer);
882
691
 
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
- )
692
+ var closeDelay = Number(this.closeDelay);
893
693
 
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
694
+ if (closeDelay > 0) {
695
+ this._closeTimer = setTimeout(function () {
696
+ _this3._closeTimer = null;
697
+ _this3.doClose();
698
+ }, closeDelay);
699
+ } else {
700
+ this.doClose();
701
+ }
702
+ },
703
+ doClose: function doClose() {
704
+ this._closing = true;
991
705
 
706
+ this.onClose && this.onClose();
992
707
 
993
- // CONCATENATED MODULE: ./components/message/message-size.vue?vue&type=template&id=8e7dc96c&
708
+ if (this.lockScroll) {
709
+ setTimeout(this.restoreBodyStyle, 200);
710
+ }
994
711
 
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
- //
712
+ this.opened = false;
713
+
714
+ this.doAfterClose();
715
+ },
716
+ doAfterClose: function doAfterClose() {
717
+ _popup_manager__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].closeModal(this._popupId);
718
+ this._closing = false;
719
+ },
720
+ restoreBodyStyle: function restoreBodyStyle() {
721
+ if (this.modal && this.withoutHiddenClass) {
722
+ document.body.style.paddingRight = this.bodyPaddingRight;
723
+ Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* removeClass */ "h"])(document.body, 'mds-popup-parent--hidden');
724
+ }
725
+ this.withoutHiddenClass = true;
726
+ }
727
+ }
728
+ });
1023
729
 
1024
730
 
1025
731
 
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: '帮助信息'
732
+ /***/ }),
733
+
734
+ /***/ 196:
735
+ /***/ (function(module, exports) {
736
+
737
+ // removed by extract-text-webpack-plugin
738
+
739
+ /***/ }),
740
+
741
+ /***/ 2:
742
+ /***/ (function(module, exports) {
743
+
744
+ module.exports = __WEBPACK_EXTERNAL_MODULE__2__;
745
+
746
+ /***/ }),
747
+
748
+ /***/ 5:
749
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
750
+
751
+ "use strict";
752
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
753
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);
754
+ /* harmony import */ var _dom_helper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1);
755
+
756
+
757
+
758
+ var hasModal = false;
759
+ var hasInitZIndex = false;
760
+ var zIndex = void 0;
761
+
762
+ var getModal = function getModal() {
763
+ if (vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer) return;
764
+ var modalDom = PopupManager.modalDom;
765
+ if (modalDom) {
766
+ hasModal = true;
767
+ } else {
768
+ hasModal = false;
769
+ modalDom = document.createElement('div');
770
+ PopupManager.modalDom = modalDom;
771
+
772
+ modalDom.addEventListener('touchmove', function (event) {
773
+ event.preventDefault();
774
+ event.stopPropagation();
775
+ });
776
+
777
+ modalDom.addEventListener('click', function () {
778
+ PopupManager.doOnModalClick && PopupManager.doOnModalClick();
779
+ });
780
+ }
781
+
782
+ return modalDom;
1040
783
  };
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
- }
784
+
785
+ var instances = {};
786
+
787
+ var PopupManager = {
788
+ modalFade: true,
789
+
790
+ getInstance: function getInstance(id) {
791
+ return instances[id];
1049
792
  },
1050
- data: function data() {
1051
- return {
1052
- visible: false,
1053
- closed: false,
1054
- timer: null,
1055
- test: false
1056
- };
793
+
794
+ register: function register(id, instance) {
795
+ if (id && instance) {
796
+ instances[id] = instance;
797
+ }
1057
798
  },
1058
799
 
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] : '请注意';
800
+ deregister: function deregister(id) {
801
+ if (id) {
802
+ instances[id] = null;
803
+ delete instances[id];
1068
804
  }
1069
805
  },
1070
- components: {
1071
- MdsIcon: external_icon_default.a
806
+
807
+ nextZIndex: function nextZIndex() {
808
+ return PopupManager.zIndex++;
1072
809
  },
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
- }
810
+
811
+ modalStack: [],
812
+
813
+ doOnModalClick: function doOnModalClick() {
814
+ var topItem = PopupManager.modalStack[PopupManager.modalStack.length - 1];
815
+ if (!topItem) return;
816
+
817
+ var instance = PopupManager.getInstance(topItem.id);
818
+ if (instance && instance.closeOnClickModal) {
819
+ instance.close();
1079
820
  }
1080
821
  },
1081
- methods: {
1082
- /**
1083
- * @description: 销毁
1084
- * @param {type}
1085
- * @return:
1086
- */
1087
822
 
1088
- destroyElement: function destroyElement() {
1089
- this.closed = true;
1090
- this.$destroy(true);
1091
- this.$el.parentNode && this.$el.parentNode.removeChild(this.$el);
1092
- },
823
+ openModal: function openModal(id, zIndex, dom, modalClass, modalFade) {
824
+ if (vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer) return;
825
+ if (!id || zIndex === undefined) return;
826
+ this.modalFade = modalFade;
1093
827
 
1094
- /**
1095
- * @description: 关闭
1096
- * @param {type}
1097
- * @return:
1098
- */
828
+ var modalStack = this.modalStack;
1099
829
 
1100
- handleClose: function handleClose() {
1101
- this.closed = true;
1102
- this.onClose();
1103
- },
830
+ for (var i = 0, j = modalStack.length; i < j; i++) {
831
+ var item = modalStack[i];
832
+ if (item.id === id) {
833
+ return;
834
+ }
835
+ }
1104
836
 
1105
- /**
1106
- * @description: 清除setTimeout计时
1107
- * @param {type}
1108
- * @return:
1109
- */
1110
- clearTimer: function clearTimer() {
1111
- this.test = true;
1112
- clearTimeout(this.timer);
1113
- },
837
+ var modalDom = getModal();
1114
838
 
1115
- /**
1116
- * @description:
1117
- * @param {type} 开始计时删除
1118
- * @return:
1119
- */
1120
- startTimer: function startTimer() {
1121
- var _this = this;
839
+ Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* addClass */ "a"])(modalDom, 'v-modal');
840
+ if (this.modalFade && !hasModal) {
841
+ Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* addClass */ "a"])(modalDom, 'v-modal-enter');
842
+ }
843
+ if (modalClass) {
844
+ var classArr = modalClass.trim().split(/\s+/);
845
+ classArr.forEach(function (item) {
846
+ return Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* addClass */ "a"])(modalDom, item);
847
+ });
848
+ }
849
+ setTimeout(function () {
850
+ Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* removeClass */ "h"])(modalDom, 'v-modal-enter');
851
+ }, 200);
852
+
853
+ if (dom && dom.parentNode && dom.parentNode.nodeType !== 11) {
854
+ dom.parentNode.appendChild(modalDom);
855
+ } else {
856
+ document.body.appendChild(modalDom);
857
+ }
858
+
859
+ if (zIndex) {
860
+ modalDom.style.zIndex = zIndex;
861
+ }
862
+ modalDom.tabIndex = 0;
863
+ modalDom.style.display = '';
864
+
865
+ this.modalStack.push({ id: id, zIndex: zIndex, modalClass: modalClass });
866
+ },
1122
867
 
1123
- this.test = false;
1124
- if (this.duration > 0) {
1125
- this.timer = setTimeout(function () {
1126
- if (!_this.closed) {
1127
- _this.handleClose();
868
+ closeModal: function closeModal(id) {
869
+ var modalStack = this.modalStack;
870
+ var modalDom = getModal();
871
+
872
+ if (modalStack.length > 0) {
873
+ var topItem = modalStack[modalStack.length - 1];
874
+ if (topItem.id === id) {
875
+ if (topItem.modalClass) {
876
+ var classArr = topItem.modalClass.trim().split(/\s+/);
877
+ classArr.forEach(function (item) {
878
+ return Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* removeClass */ "h"])(modalDom, item);
879
+ });
880
+ }
881
+
882
+ modalStack.pop();
883
+ if (modalStack.length > 0) {
884
+ modalDom.style.zIndex = modalStack[modalStack.length - 1].zIndex;
885
+ }
886
+ } else {
887
+ for (var i = modalStack.length - 1; i >= 0; i--) {
888
+ if (modalStack[i].id === id) {
889
+ modalStack.splice(i, 1);
890
+ break;
1128
891
  }
1129
- }, this.durationMS);
892
+ }
893
+ }
894
+ }
895
+
896
+ if (modalStack.length === 0) {
897
+ if (this.modalFade) {
898
+ Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* addClass */ "a"])(modalDom, 'v-modal-leave');
1130
899
  }
900
+ setTimeout(function () {
901
+ if (modalStack.length === 0) {
902
+ if (modalDom.parentNode) modalDom.parentNode.removeChild(modalDom);
903
+ modalDom.style.display = 'none';
904
+ PopupManager.modalDom = undefined;
905
+ }
906
+ Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* removeClass */ "h"])(modalDom, 'v-modal-leave');
907
+ }, 200);
908
+ }
909
+ }
910
+ };
911
+
912
+ Object.defineProperty(PopupManager, 'zIndex', {
913
+ configurable: true,
914
+ get: function get() {
915
+ if (!hasInitZIndex) {
916
+ zIndex = zIndex || (vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$ELEMENT || {}).zIndex || 2000;
917
+ hasInitZIndex = true;
1131
918
  }
919
+ return zIndex;
1132
920
  },
1133
- mounted: function mounted() {
1134
- this.startTimer();
921
+ set: function set(value) {
922
+ zIndex = value;
1135
923
  }
1136
924
  });
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
1140
-
1141
925
 
926
+ var getTopPopup = function getTopPopup() {
927
+ if (vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer) return;
928
+ if (PopupManager.modalStack.length > 0) {
929
+ var topPopup = PopupManager.modalStack[PopupManager.modalStack.length - 1];
930
+ if (!topPopup) return;
931
+ var instance = PopupManager.getInstance(topPopup.id);
1142
932
 
933
+ return instance;
934
+ }
935
+ };
1143
936
 
937
+ if (!vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer) {
938
+ // handle `esc` key when the popup is shown
939
+ window.addEventListener('keydown', function (event) {
940
+ if (event.keyCode === 27) {
941
+ var topPopup = getTopPopup();
1144
942
 
1145
- /* normalize component */
943
+ if (topPopup && topPopup.closeOnPressEscape) {
944
+ topPopup.handleClose ? topPopup.handleClose() : topPopup.handleAction ? topPopup.handleAction('cancel') : topPopup.close();
945
+ }
946
+ }
947
+ });
948
+ }
1146
949
 
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,
1151
- false,
1152
- null,
1153
- null,
1154
- null
1155
-
1156
- )
950
+ /* harmony default export */ __webpack_exports__["a"] = (PopupManager);
1157
951
 
1158
- /* hot reload */
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
952
+ /***/ }),
1163
953
 
1164
- /*
1165
- * @Descripttion:
1166
- * @version:
1167
- * @Author: liangshuang
1168
- */
954
+ /***/ 7:
955
+ /***/ (function(module, exports) {
1169
956
 
957
+ module.exports = __WEBPACK_EXTERNAL_MODULE__7__;
1170
958
 
959
+ /***/ }),
1171
960
 
961
+ /***/ 97:
962
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1172
963
 
964
+ "use strict";
965
+ // ESM COMPAT FLAG
966
+ __webpack_require__.r(__webpack_exports__);
1173
967
 
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_);
1174
971
 
972
+ // EXTERNAL MODULE: ./components/message/style/index.less
973
+ var style = __webpack_require__(196);
1175
974
 
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;
975
+ // CONCATENATED MODULE: ./components/message/style/index.js
1188
976
 
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
- };
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
1205
986
 
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
987
 
1227
- messageInstance.id = id;
1228
- messageInstance.vm = messageInstance.$mount();
1229
- boxEl.appendChild(messageInstance.vm.$el);
1230
- messageInstance.vm.visible = true;
1231
- messageInstances.push(messageInstance);
988
+ // CONCATENATED MODULE: ./components/message/message-box.vue?vue&type=template&id=6bac7792&
1232
989
 
1233
- return function () {
1234
- messageInstance.vm.visible = false;
1235
- };
1236
- };
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
+ //
1237
995
 
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]);
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 {};
1243
1007
  }
1244
- messageInstances.splice(i, 1);
1245
- break;
1246
1008
  }
1247
1009
  }
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
- };
1268
1010
  });
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);
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);
1295
1015
 
1296
- /***/ }),
1016
+ // CONCATENATED MODULE: ./components/message/message-box.vue
1297
1017
 
1298
- /***/ 14:
1299
- /***/ (function(module, exports) {
1300
1018
 
1301
- module.exports = __WEBPACK_EXTERNAL_MODULE__14__;
1302
1019
 
1303
- /***/ }),
1304
1020
 
1305
- /***/ 15:
1306
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
1307
1021
 
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"]; });
1022
+ /* normalize component */
1314
1023
 
1024
+ var component = Object(componentNormalizer["a" /* default */])(
1025
+ message_message_boxvue_type_script_lang_js_,
1026
+ render,
1027
+ staticRenderFns,
1028
+ false,
1029
+ null,
1030
+ null,
1031
+ null
1032
+
1033
+ )
1315
1034
 
1035
+ /* 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
1316
1132
 
1317
1133
 
1134
+ // CONCATENATED MODULE: ./components/message/message.vue?vue&type=template&id=dc37dbd8&
1318
1135
 
1319
- var idSeed = 1;
1136
+ // EXTERNAL MODULE: external "./button"
1137
+ var external_button_ = __webpack_require__(14);
1138
+ var external_button_default = /*#__PURE__*/__webpack_require__.n(external_button_);
1320
1139
 
1321
- var scrollBarWidth = void 0;
1140
+ // EXTERNAL MODULE: external "./icon"
1141
+ var external_icon_ = __webpack_require__(7);
1142
+ var external_icon_default = /*#__PURE__*/__webpack_require__.n(external_icon_);
1322
1143
 
1323
- /* harmony default export */ __webpack_exports__["b"] = ({
1144
+ // CONCATENATED MODULE: ./components/message/props.js
1145
+ /* harmony default export */ var props = ({
1324
1146
  props: {
1325
- visibility: {
1326
- type: Boolean,
1327
- default: false
1147
+ content: {
1148
+ default: ''
1328
1149
  },
1329
- openDelay: {},
1330
- closeDelay: {},
1331
- zIndex: {},
1332
- modal: {
1333
- type: Boolean,
1334
- default: false
1150
+ duration: {
1151
+ type: Number,
1152
+ default: 3
1335
1153
  },
1336
- modalFade: {
1337
- type: Boolean,
1338
- default: true
1154
+ onClose: {
1155
+ type: Function,
1156
+ default: function _default() {}
1339
1157
  },
1340
- modalClass: {},
1341
- modalAppendToBody: {
1342
- type: Boolean,
1343
- default: false
1158
+ prefixCls: {
1159
+ type: String,
1160
+ default: 'mds-message'
1344
1161
  },
1345
- lockScroll: {
1346
- type: Boolean,
1347
- default: true
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'
1348
1169
  },
1349
- closeOnPressEscape: {
1170
+ showClose: {
1350
1171
  type: Boolean,
1351
1172
  default: false
1352
1173
  },
1353
- closeOnClickModal: {
1354
- type: Boolean,
1355
- default: false
1174
+ showLink: {
1175
+ type: String,
1176
+ default: ''
1356
1177
  }
1357
- },
1178
+ }
1179
+ });
1180
+ // EXTERNAL MODULE: ./components/_util/_popper/popup/popup-main.js
1181
+ var popup_main = __webpack_require__(15);
1358
1182
 
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);
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
+ //
1366
1233
 
1367
- this.restoreBodyStyle();
1368
- },
1234
+
1235
+
1236
+
1237
+
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],
1369
1248
  data: function data() {
1370
1249
  return {
1371
- opened: false,
1372
- bodyPaddingRight: null,
1373
- computedBodyPaddingRight: 0,
1374
- withoutHiddenClass: true,
1375
- rendered: false
1250
+ visible: false,
1251
+ closed: false,
1252
+ timer: null,
1253
+ test: false
1376
1254
  };
1377
1255
  },
1378
1256
 
1379
-
1257
+ computed: {
1258
+ durationMS: function durationMS() {
1259
+ return this.duration * 1000;
1260
+ },
1261
+ iconType: function iconType() {
1262
+ return ICONTYPES[this.type];
1263
+ },
1264
+ defaultStyle: function defaultStyle() {
1265
+ return this.style;
1266
+ }
1267
+ },
1268
+ components: { MdsIcon: external_icon_default.a, MdsButton: external_button_default.a },
1380
1269
  watch: {
1381
- visibility: function visibility(val) {
1382
- var _this = this;
1383
-
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();
1270
+ closed: function closed(newVal) {
1271
+ if (newVal) {
1272
+ this.visible = false;
1396
1273
  }
1397
1274
  }
1398
1275
  },
1399
-
1400
1276
  methods: {
1401
- open: function open(options) {
1402
- var _this2 = this;
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);
1408
-
1409
- if (this._closeTimer) {
1410
- clearTimeout(this._closeTimer);
1411
- this._closeTimer = null;
1412
- }
1413
- clearTimeout(this._openTimer);
1277
+ /**
1278
+ * @description: 销毁
1279
+ * @param {type}
1280
+ * @return:
1281
+ */
1414
1282
 
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
- }
1283
+ destroyElement: function destroyElement() {
1284
+ this.$destroy(true);
1285
+ this.closed = true;
1286
+ this.$el.parentNode && this.$el.parentNode.removeChild(this.$el);
1424
1287
  },
1425
- doOpen: function doOpen(props) {
1426
- if (this.$isServer) return;
1427
- if (this.willOpen && !this.willOpen()) return;
1428
- if (this.opened) return;
1429
1288
 
1430
- this._opening = true;
1289
+ /**
1290
+ * @description: 关闭
1291
+ * @param {type}
1292
+ * @return:
1293
+ */
1431
1294
 
1432
- var dom = this.$el;
1295
+ handleClose: function handleClose() {
1296
+ this.closed = true;
1297
+ this.onClose();
1298
+ this.$el.parentNode && this.$el.parentNode.removeChild(this.$el);
1299
+ },
1433
1300
 
1434
- var modal = props.modal;
1301
+ /**
1302
+ * @description: 清除setTimeout计时
1303
+ * @param {type}
1304
+ * @return:
1305
+ */
1306
+ clearTimer: function clearTimer() {
1307
+ clearTimeout(this.timer);
1308
+ this.test = true;
1309
+ },
1435
1310
 
1436
- var zIndex = props.zIndex;
1437
- if (zIndex) {
1438
- _popup_manager__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].zIndex = zIndex;
1439
- }
1311
+ /**
1312
+ * @description:
1313
+ * @param {type} 开始计时删除
1314
+ * @return:
1315
+ */
1316
+ startTimer: function startTimer() {
1317
+ var _this = this;
1440
1318
 
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';
1319
+ this.test = false;
1320
+ if (this.duration > 0) {
1321
+ this.timer = setTimeout(function () {
1322
+ if (!_this.closed) {
1323
+ _this.handleClose();
1458
1324
  }
1459
- Object(_dom_helper__WEBPACK_IMPORTED_MODULE_1__[/* addClass */ "a"])(document.body, 'mds-popup-parent--hidden');
1460
- }
1325
+ }, this.durationMS);
1461
1326
  }
1327
+ }
1328
+ },
1329
+ mounted: function mounted() {
1330
+ var _this2 = this;
1462
1331
 
1463
- if (getComputedStyle(dom).position === 'static') {
1464
- dom.style.position = 'absolute';
1465
- }
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
1466
1342
 
1467
- dom.style.zIndex = _popup_manager__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].nextZIndex();
1468
- this.opened = true;
1469
1343
 
1470
- this.onOpen && this.onOpen();
1471
1344
 
1472
- this.doAfterOpen();
1473
- },
1474
- doAfterOpen: function doAfterOpen() {
1475
- this._opening = false;
1476
- },
1477
- close: function close() {
1478
- var _this3 = this;
1479
1345
 
1480
- if (this.willClose && !this.willClose()) return;
1481
1346
 
1482
- if (this._openTimer !== null) {
1483
- clearTimeout(this._openTimer);
1484
- this._openTimer = null;
1485
- }
1486
- clearTimeout(this._closeTimer);
1347
+ /* normalize component */
1348
+
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
+ )
1359
+
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
1457
+
1487
1458
 
1488
- var closeDelay = Number(this.closeDelay);
1459
+ // CONCATENATED MODULE: ./components/message/message-size.vue?vue&type=template&id=8e7dc96c&
1489
1460
 
1490
- if (closeDelay > 0) {
1491
- this._closeTimer = setTimeout(function () {
1492
- _this3._closeTimer = null;
1493
- _this3.doClose();
1494
- }, closeDelay);
1495
- } else {
1496
- this.doClose();
1497
- }
1498
- },
1499
- doClose: function doClose() {
1500
- this._closing = true;
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
+ //
1501
1489
 
1502
- this.onClose && this.onClose();
1503
1490
 
1504
- if (this.lockScroll) {
1505
- setTimeout(this.restoreBodyStyle, 200);
1506
- }
1507
1491
 
1508
- this.opened = false;
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
+ },
1509
1524
 
1510
- this.doAfterClose();
1525
+ computed: {
1526
+ durationMS: function durationMS() {
1527
+ return this.duration * 1000;
1511
1528
  },
1512
- doAfterClose: function doAfterClose() {
1513
- _popup_manager__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].closeModal(this._popupId);
1514
- this._closing = false;
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';
1515
1531
  },
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');
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);
1520
1544
  }
1521
- this.withoutHiddenClass = true;
1522
1545
  }
1523
- }
1524
- });
1525
-
1526
-
1527
-
1528
- /***/ }),
1529
-
1530
- /***/ 199:
1531
- /***/ (function(module, exports) {
1532
-
1533
- // removed by extract-text-webpack-plugin
1534
-
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
- }
1546
+ },
1547
+ methods: {
1548
+ /**
1549
+ * @description: 销毁
1550
+ * @param {type}
1551
+ * @return:
1552
+ */
1577
1553
 
1578
- return modalDom;
1579
- };
1554
+ destroyElement: function destroyElement() {
1555
+ this.closed = true;
1556
+ this.$destroy(true);
1557
+ this.$el.parentNode && this.$el.parentNode.removeChild(this.$el);
1558
+ },
1580
1559
 
1581
- var instances = {};
1560
+ /**
1561
+ * @description: 关闭
1562
+ * @param {type}
1563
+ * @return:
1564
+ */
1582
1565
 
1583
- var PopupManager = {
1584
- modalFade: true,
1566
+ handleClose: function handleClose() {
1567
+ this.closed = true;
1568
+ this.onClose();
1569
+ },
1585
1570
 
1586
- getInstance: function getInstance(id) {
1587
- return instances[id];
1588
- },
1571
+ /**
1572
+ * @description: 清除setTimeout计时
1573
+ * @param {type}
1574
+ * @return:
1575
+ */
1576
+ clearTimer: function clearTimer() {
1577
+ this.test = true;
1578
+ clearTimeout(this.timer);
1579
+ },
1589
1580
 
1590
- register: function register(id, instance) {
1591
- if (id && instance) {
1592
- instances[id] = instance;
1593
- }
1594
- },
1581
+ /**
1582
+ * @description:
1583
+ * @param {type} 开始计时删除
1584
+ * @return:
1585
+ */
1586
+ startTimer: function startTimer() {
1587
+ var _this = this;
1595
1588
 
1596
- deregister: function deregister(id) {
1597
- if (id) {
1598
- instances[id] = null;
1599
- delete instances[id];
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
+ }
1600
1597
  }
1601
1598
  },
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
1602
1606
 
1603
- nextZIndex: function nextZIndex() {
1604
- return PopupManager.zIndex++;
1605
- },
1606
1607
 
1607
- modalStack: [],
1608
1608
 
1609
- doOnModalClick: function doOnModalClick() {
1610
- var topItem = PopupManager.modalStack[PopupManager.modalStack.length - 1];
1611
- if (!topItem) return;
1612
1609
 
1613
- var instance = PopupManager.getInstance(topItem.id);
1614
- if (instance && instance.closeOnClickModal) {
1615
- instance.close();
1616
- }
1617
- },
1618
1610
 
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;
1611
+ /* normalize component */
1623
1612
 
1624
- var modalStack = this.modalStack;
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
+ )
1625
1623
 
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
- }
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
1632
1629
 
1633
- var modalDom = getModal();
1630
+ /*
1631
+ * @Descripttion:
1632
+ * @version:
1633
+ * @Author: liangshuang
1634
+ */
1634
1635
 
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);
1648
1636
 
1649
- if (dom && dom.parentNode && dom.parentNode.nodeType !== 11) {
1650
- dom.parentNode.appendChild(modalDom);
1651
- } else {
1652
- document.body.appendChild(modalDom);
1653
- }
1654
1637
 
1655
- if (zIndex) {
1656
- modalDom.style.zIndex = zIndex;
1657
- }
1658
- modalDom.tabIndex = 0;
1659
- modalDom.style.display = '';
1660
1638
 
1661
- this.modalStack.push({ id: id, zIndex: zIndex, modalClass: modalClass });
1662
- },
1663
1639
 
1664
- closeModal: function closeModal(id) {
1665
- var modalStack = this.modalStack;
1666
- var modalDom = getModal();
1667
1640
 
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
- }
1677
1641
 
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
- }
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;
1691
1654
 
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);
1655
+ var getBoxEl = function getBoxEl() {
1656
+ boxInstance = boxInstance || new MessageBoxConstructor({
1657
+ propsData: {
1658
+ prefixCls: prefixCls,
1659
+ styles: { top: defaultTop + 'px' }
1704
1660
  }
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);
1705
1668
  }
1669
+ return boxEl;
1706
1670
  };
1707
1671
 
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;
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
+ });
1719
1691
  }
1720
- });
1721
1692
 
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);
1693
+ messageInstance.id = id;
1694
+ messageInstance.vm = messageInstance.$mount();
1695
+ boxEl.appendChild(messageInstance.vm.$el);
1696
+ messageInstance.vm.visible = true;
1697
+ messageInstances.push(messageInstance);
1728
1698
 
1729
- return instance;
1730
- }
1699
+ return function () {
1700
+ messageInstance.vm.visible = false;
1701
+ };
1731
1702
  };
1732
1703
 
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();
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]);
1741
1709
  }
1710
+ messageInstances.splice(i, 1);
1711
+ break;
1742
1712
  }
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");
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
+ }
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);
1761
1761
 
1762
1762
  /***/ })
1763
1763