@mdsfe/mds-ui 0.2.0 → 0.2.9-rc.1

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 (131) hide show
  1. package/CHANGELOG.md +178 -0
  2. package/README.md +9 -9
  3. package/dist/_mixin/popper.js +1 -0
  4. package/dist/_util/_popper/dom-helper.js +284 -0
  5. package/dist/_util/_popper/popper-mixin.js +35 -0
  6. package/dist/_util/_popper/popper.js +1267 -0
  7. package/dist/_util/_popper/popup/popup-main.js +224 -0
  8. package/dist/_util/_popper/popup/popup-manager.js +205 -0
  9. package/dist/_util/_popper/vue-popper.js +204 -0
  10. package/dist/_util/popup/index.js +1 -1
  11. package/dist/_util/tree/node.js +2 -0
  12. package/dist/_util/tree/tree.js +65 -21
  13. package/dist/_util/util.js +29 -1
  14. package/dist/affix.js +18 -18
  15. package/dist/anchor.js +18 -18
  16. package/dist/avatar.js +17 -17
  17. package/dist/backtop.js +19 -19
  18. package/dist/badge.js +21 -21
  19. package/dist/bordershadow.js +20 -9
  20. package/dist/breadcrumb.js +18 -18
  21. package/dist/button.js +21 -21
  22. package/dist/card.js +18 -18
  23. package/dist/carousel.js +76 -76
  24. package/dist/cascader.js +4980 -0
  25. package/dist/cascaderpanel.js +645 -603
  26. package/dist/checkbox.js +23 -23
  27. package/dist/col.js +14 -14
  28. package/dist/collapse.js +6 -6
  29. package/dist/color.js +6 -6
  30. package/dist/datepicker.js +2487 -266
  31. package/dist/divider.js +19 -19
  32. package/dist/drawer.js +787 -37
  33. package/dist/dropdown.js +150 -104
  34. package/dist/empty.js +19 -19
  35. package/dist/font/iconfont.28359fa.ttf +0 -0
  36. package/dist/font/iconfont.486e3d3.woff2 +0 -0
  37. package/dist/font/iconfont.675049e.woff +0 -0
  38. package/dist/font.js +6 -6
  39. package/dist/form.js +28 -26
  40. package/dist/icon.js +55 -47
  41. package/dist/index.js +1 -1
  42. package/dist/input.js +65 -49
  43. package/dist/inputnumber.js +59 -39
  44. package/dist/layout.js +25 -25
  45. package/dist/list.js +17 -17
  46. package/dist/loading.js +21 -8
  47. package/dist/mds-ui.min.css +3 -3
  48. package/dist/mds-ui.min.js +19183 -15407
  49. package/dist/menu.js +31 -31
  50. package/dist/message.js +773 -24
  51. package/dist/modal.js +1146 -307
  52. package/dist/notification.js +27 -27
  53. package/dist/pagination.js +78 -55
  54. package/dist/popconfirm.js +36 -36
  55. package/dist/popover.js +2778 -48
  56. package/dist/progress.js +107 -65
  57. package/dist/radio.js +56 -54
  58. package/dist/rate.js +67 -59
  59. package/dist/row.js +14 -14
  60. package/dist/select.js +847 -503
  61. package/dist/slider.js +25 -25
  62. package/dist/slottable.js +2663 -129
  63. package/dist/steps.js +18 -18
  64. package/dist/style/affix.css +224 -2
  65. package/dist/style/anchor.css +224 -2
  66. package/dist/style/avatar.css +224 -2
  67. package/dist/style/badge.css +224 -2
  68. package/dist/style/bordershadow.css +236 -59
  69. package/dist/style/breadcrumb.css +224 -2
  70. package/dist/style/button.css +234 -5
  71. package/dist/style/card.css +224 -2
  72. package/dist/style/carousel.css +224 -2
  73. package/dist/style/cascader.css +214 -0
  74. package/dist/style/cascaderpanel.css +13 -16
  75. package/dist/style/checkbox.css +230 -8
  76. package/dist/style/col.css +225 -3
  77. package/dist/style/collapse.css +224 -2
  78. package/dist/style/color.css +224 -2
  79. package/dist/style/datepicker.css +236 -2
  80. package/dist/style/divider.css +227 -2
  81. package/dist/style/drawer.css +224 -2
  82. package/dist/style/dropdown.css +234 -5
  83. package/dist/style/empty.css +224 -2
  84. package/dist/style/font.css +226 -4
  85. package/dist/style/form.css +224 -2
  86. package/dist/style/icon.css +226 -3
  87. package/dist/style/input.css +231 -5
  88. package/dist/style/inputnumber.css +224 -2
  89. package/dist/style/layout.css +224 -2
  90. package/dist/style/list.css +224 -2
  91. package/dist/style/loading.css +2527 -2
  92. package/dist/style/menu.css +340 -129
  93. package/dist/style/message.css +1 -4
  94. package/dist/style/modal.css +247 -25
  95. package/dist/style/notification.css +224 -2
  96. package/dist/style/pagination.css +236 -7
  97. package/dist/style/popconfirm.css +334 -180
  98. package/dist/style/popover.css +324 -177
  99. package/dist/style/progress.css +226 -3
  100. package/dist/style/radio.css +225 -3
  101. package/dist/style/rate.css +226 -3
  102. package/dist/style/row.css +225 -3
  103. package/dist/style/select.css +240 -12
  104. package/dist/style/slider.css +224 -2
  105. package/dist/style/slottable.css +350 -149
  106. package/dist/style/steps.css +224 -2
  107. package/dist/style/switch.css +224 -2
  108. package/dist/style/table.css +458 -314
  109. package/dist/style/tabs.css +225 -18
  110. package/dist/style/tag.css +224 -2
  111. package/dist/style/text.css +224 -2
  112. package/dist/style/timeline.css +224 -2
  113. package/dist/style/timepicker.css +231 -6
  114. package/dist/style/tooltip.css +340 -129
  115. package/dist/style/tree.css +228 -6
  116. package/dist/style/typography.css +224 -2
  117. package/dist/style/upload.css +224 -2
  118. package/dist/switch.js +20 -20
  119. package/dist/table.js +3071 -201
  120. package/dist/tabs.js +24 -22
  121. package/dist/tag.js +17 -23
  122. package/dist/text.js +38 -22
  123. package/dist/timeline.js +14 -14
  124. package/dist/timepicker.js +3063 -172
  125. package/dist/tooltip.js +2550 -27
  126. package/dist/transfer.js +28 -28
  127. package/dist/transition.js +6 -6
  128. package/dist/tree.js +316 -171
  129. package/dist/typography.js +6 -6
  130. package/dist/upload.js +46 -38
  131. package/package.json +9 -5
package/dist/message.js CHANGED
@@ -1,13 +1,13 @@
1
1
  (function webpackUniversalModuleDefinition(root, factory) {
2
2
  if(typeof exports === 'object' && typeof module === 'object')
3
- module.exports = factory(require("./icon"), require("vue"), require("./button"));
3
+ module.exports = factory(require("vue"), require("./icon"), require("./button"));
4
4
  else if(typeof define === 'function' && define.amd)
5
- define(["./icon", "vue", "./button"], factory);
5
+ define(["vue", "./icon", "./button"], factory);
6
6
  else {
7
- var a = typeof exports === 'object' ? factory(require("./icon"), require("vue"), require("./button")) : factory(root["./icon"], root["Vue"], root["./button"]);
7
+ var a = typeof exports === 'object' ? factory(require("vue"), require("./icon"), require("./button")) : factory(root["Vue"], root["./icon"], root["./button"]);
8
8
  for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
9
9
  }
10
- })(window, function(__WEBPACK_EXTERNAL_MODULE__4__, __WEBPACK_EXTERNAL_MODULE__5__, __WEBPACK_EXTERNAL_MODULE__7__) {
10
+ })(window, function(__WEBPACK_EXTERNAL_MODULE__2__, __WEBPACK_EXTERNAL_MODULE__8__, __WEBPACK_EXTERNAL_MODULE__13__) {
11
11
  return /******/ (function(modules) { // webpackBootstrap
12
12
  /******/ // The module cache
13
13
  /******/ var installedModules = {};
@@ -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 = 88);
94
+ /******/ return __webpack_require__(__webpack_require__.s = 96);
95
95
  /******/ })
96
96
  /************************************************************************/
97
97
  /******/ ({
@@ -203,42 +203,762 @@ function normalizeComponent (
203
203
 
204
204
  /***/ }),
205
205
 
206
- /***/ 179:
206
+ /***/ 1:
207
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
208
+
209
+ "use strict";
210
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return on; });
211
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return off; });
212
+ /* unused harmony export once */
213
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return hasClass; });
214
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return addClass; });
215
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return removeClass; });
216
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return getStyle; });
217
+ /* unused harmony export setStyle */
218
+ /* unused harmony export isScroll */
219
+ /* unused harmony export getScrollContainer */
220
+ /* unused harmony export isInContainer */
221
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return merge; });
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);
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
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2);
226
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_1__);
227
+
228
+
229
+
230
+ /* eslint-disable */
231
+ var isServer = vue__WEBPACK_IMPORTED_MODULE_1___default.a.prototype.$isServer;
232
+ var SPECIAL_CHARS_REGEXP = /([\:\-\_]+(.))/g;
233
+ var MOZ_HACK_REGEXP = /^moz([A-Z])/;
234
+ var ieVersion = isServer ? 0 : Number(document.documentMode);
235
+
236
+ /* istanbul ignore next */
237
+ var trim = function trim(string) {
238
+ return (string || '').replace(/^[\s\uFEFF]+|[\s\uFEFF]+$/g, '');
239
+ };
240
+ /* istanbul ignore next */
241
+ var camelCase = function camelCase(name) {
242
+ return name.replace(SPECIAL_CHARS_REGEXP, function (_, separator, letter, offset) {
243
+ return offset ? letter.toUpperCase() : letter;
244
+ }).replace(MOZ_HACK_REGEXP, 'Moz$1');
245
+ };
246
+
247
+ /* istanbul ignore next */
248
+ var on = function () {
249
+ if (!isServer && document.addEventListener) {
250
+ return function (element, event, handler) {
251
+ if (element && event && handler) {
252
+ element.addEventListener(event, handler, false);
253
+ }
254
+ };
255
+ } else {
256
+ return function (element, event, handler) {
257
+ if (element && event && handler) {
258
+ element.attachEvent('on' + event, handler);
259
+ }
260
+ };
261
+ }
262
+ }();
263
+
264
+ /* istanbul ignore next */
265
+ var off = function () {
266
+ if (!isServer && document.removeEventListener) {
267
+ return function (element, event, handler) {
268
+ if (element && event) {
269
+ element.removeEventListener(event, handler, false);
270
+ }
271
+ };
272
+ } else {
273
+ return function (element, event, handler) {
274
+ if (element && event) {
275
+ element.detachEvent('on' + event, handler);
276
+ }
277
+ };
278
+ }
279
+ }();
280
+
281
+ /* istanbul ignore next */
282
+ var once = function once(el, event, fn) {
283
+ var listener = function listener() {
284
+ if (fn) {
285
+ fn.apply(this, arguments);
286
+ }
287
+ off(el, event, listener);
288
+ };
289
+ on(el, event, listener);
290
+ };
291
+
292
+ /* istanbul ignore next */
293
+ function hasClass(el, cls) {
294
+ if (!el || !cls) return false;
295
+ if (cls.indexOf(' ') !== -1) {
296
+ throw new Error('className should not contain space.');
297
+ }
298
+ if (el.classList) {
299
+ return el.classList.contains(cls);
300
+ } else {
301
+ return (' ' + el.className + ' ').indexOf(' ' + cls + ' ') > -1;
302
+ }
303
+ }
304
+
305
+ /* istanbul ignore next */
306
+ function addClass(el, cls) {
307
+ if (!el) return;
308
+ var curClass = el.className;
309
+ var classes = (cls || '').split(' ');
310
+
311
+ for (var i = 0, j = classes.length; i < j; i++) {
312
+ var clsName = classes[i];
313
+ if (!clsName) continue;
314
+
315
+ if (el.classList) {
316
+ el.classList.add(clsName);
317
+ } else if (!hasClass(el, clsName)) {
318
+ curClass += ' ' + clsName;
319
+ }
320
+ }
321
+ if (!el.classList) {
322
+ el.setAttribute('class', curClass);
323
+ }
324
+ }
325
+
326
+ /* istanbul ignore next */
327
+ function removeClass(el, cls) {
328
+ if (!el || !cls) return;
329
+ var classes = cls.split(' ');
330
+ var curClass = ' ' + el.className + ' ';
331
+
332
+ for (var i = 0, j = classes.length; i < j; i++) {
333
+ var clsName = classes[i];
334
+ if (!clsName) continue;
335
+
336
+ if (el.classList) {
337
+ el.classList.remove(clsName);
338
+ } else if (hasClass(el, clsName)) {
339
+ curClass = curClass.replace(' ' + clsName + ' ', ' ');
340
+ }
341
+ }
342
+ if (!el.classList) {
343
+ el.setAttribute('class', trim(curClass));
344
+ }
345
+ }
346
+
347
+ /* istanbul ignore next */
348
+ var getStyle = ieVersion < 9 ? function (element, styleName) {
349
+ if (isServer) return;
350
+ if (!element || !styleName) return null;
351
+ styleName = camelCase(styleName);
352
+ if (styleName === 'float') {
353
+ styleName = 'styleFloat';
354
+ }
355
+ try {
356
+ switch (styleName) {
357
+ case 'opacity':
358
+ try {
359
+ return element.filters.item('alpha').opacity / 100;
360
+ } catch (e) {
361
+ return 1.0;
362
+ }
363
+ default:
364
+ return element.style[styleName] || element.currentStyle ? element.currentStyle[styleName] : null;
365
+ }
366
+ } catch (e) {
367
+ return element.style[styleName];
368
+ }
369
+ } : function (element, styleName) {
370
+ if (isServer) return;
371
+ if (!element || !styleName) return null;
372
+ styleName = camelCase(styleName);
373
+ if (styleName === 'float') {
374
+ styleName = 'cssFloat';
375
+ }
376
+ try {
377
+ var computed = document.defaultView.getComputedStyle(element, '');
378
+ return element.style[styleName] || computed ? computed[styleName] : null;
379
+ } catch (e) {
380
+ return element.style[styleName];
381
+ }
382
+ };
383
+
384
+ /* istanbul ignore next */
385
+ function setStyle(element, styleName, value) {
386
+ if (!element || !styleName) return;
387
+
388
+ if ((typeof styleName === 'undefined' ? 'undefined' : babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(styleName)) === 'object') {
389
+ for (var prop in styleName) {
390
+ if (styleName.hasOwnProperty(prop)) {
391
+ setStyle(element, prop, styleName[prop]);
392
+ }
393
+ }
394
+ } else {
395
+ styleName = camelCase(styleName);
396
+ if (styleName === 'opacity' && ieVersion < 9) {
397
+ element.style.filter = isNaN(value) ? '' : 'alpha(opacity=' + value * 100 + ')';
398
+ } else {
399
+ element.style[styleName] = value;
400
+ }
401
+ }
402
+ }
403
+
404
+ var isScroll = function isScroll(el, vertical) {
405
+ if (isServer) return;
406
+
407
+ var determinedDirection = vertical !== null && vertical !== undefined;
408
+ var overflow = determinedDirection ? vertical ? getStyle(el, 'overflow-y') : getStyle(el, 'overflow-x') : getStyle(el, 'overflow');
409
+
410
+ return overflow.match(/(scroll|auto|overlay)/);
411
+ };
412
+
413
+ var getScrollContainer = function getScrollContainer(el, vertical) {
414
+ if (isServer) return;
415
+
416
+ var parent = el;
417
+ while (parent) {
418
+ if ([window, document, document.documentElement].includes(parent)) {
419
+ return window;
420
+ }
421
+ if (isScroll(parent, vertical)) {
422
+ return parent;
423
+ }
424
+ parent = parent.parentNode;
425
+ }
426
+
427
+ return parent;
428
+ };
429
+
430
+ var isInContainer = function isInContainer(el, container) {
431
+ if (isServer || !el || !container) return false;
432
+
433
+ var elRect = el.getBoundingClientRect();
434
+ var containerRect = void 0;
435
+
436
+ if ([window, document, document.documentElement, null, undefined].includes(container)) {
437
+ containerRect = {
438
+ top: 0,
439
+ right: window.innerWidth,
440
+ bottom: window.innerHeight,
441
+ left: 0
442
+ };
443
+ } else {
444
+ containerRect = container.getBoundingClientRect();
445
+ }
446
+
447
+ return elRect.top < containerRect.bottom && elRect.bottom > containerRect.top && elRect.right > containerRect.left && elRect.left < containerRect.right;
448
+ };
449
+
450
+ function merge(target) {
451
+ for (var i = 1, j = arguments.length; i < j; i++) {
452
+ var source = arguments[i] || {};
453
+ for (var prop in source) {
454
+ if (source.hasOwnProperty(prop)) {
455
+ var value = source[prop];
456
+ if (value !== undefined) {
457
+ target[prop] = value;
458
+ }
459
+ }
460
+ }
461
+ }
462
+
463
+ return target;
464
+ }
465
+
466
+ var scrollBarWidth = void 0;
467
+ function getScrollBarWidth() {
468
+ if (vue__WEBPACK_IMPORTED_MODULE_1___default.a.prototype.$isServer) return 0;
469
+ if (scrollBarWidth !== undefined) return scrollBarWidth;
470
+
471
+ var outer = document.createElement('div');
472
+ outer.className = 'el-scrollbar__wrap';
473
+ outer.style.visibility = 'hidden';
474
+ outer.style.width = '100px';
475
+ outer.style.position = 'absolute';
476
+ outer.style.top = '-9999px';
477
+ document.body.appendChild(outer);
478
+
479
+ var widthNoScroll = outer.offsetWidth;
480
+ outer.style.overflow = 'scroll';
481
+
482
+ var inner = document.createElement('div');
483
+ inner.style.width = '100%';
484
+ outer.appendChild(inner);
485
+
486
+ var widthWithScroll = inner.offsetWidth;
487
+ outer.parentNode.removeChild(outer);
488
+ scrollBarWidth = widthNoScroll - widthWithScroll;
489
+
490
+ return scrollBarWidth;
491
+ }
492
+
493
+ /***/ }),
494
+
495
+ /***/ 13:
207
496
  /***/ (function(module, exports) {
208
497
 
209
- // removed by extract-text-webpack-plugin
498
+ module.exports = __WEBPACK_EXTERNAL_MODULE__13__;
499
+
500
+ /***/ }),
501
+
502
+ /***/ 14:
503
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
504
+
505
+ "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;
676
+
677
+ if (this.willClose && !this.willClose()) return;
678
+
679
+ if (this._openTimer !== null) {
680
+ clearTimeout(this._openTimer);
681
+ this._openTimer = null;
682
+ }
683
+ clearTimeout(this._closeTimer);
684
+
685
+ var closeDelay = Number(this.closeDelay);
686
+
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;
698
+
699
+ this.onClose && this.onClose();
700
+
701
+ if (this.lockScroll) {
702
+ setTimeout(this.restoreBodyStyle, 200);
703
+ }
704
+
705
+ this.opened = false;
706
+
707
+ this.doAfterClose();
708
+ },
709
+ doAfterClose: function doAfterClose() {
710
+ _popup_manager__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].closeModal(this._popupId);
711
+ this._closing = false;
712
+ },
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');
717
+ }
718
+ this.withoutHiddenClass = true;
719
+ }
720
+ }
721
+ });
722
+
723
+
210
724
 
211
725
  /***/ }),
212
726
 
213
- /***/ 181:
727
+ /***/ 191:
214
728
  /***/ (function(module, exports) {
215
729
 
216
730
  // removed by extract-text-webpack-plugin
217
731
 
218
732
  /***/ }),
219
733
 
220
- /***/ 4:
734
+ /***/ 2:
221
735
  /***/ (function(module, exports) {
222
736
 
223
- module.exports = __WEBPACK_EXTERNAL_MODULE__4__;
737
+ module.exports = __WEBPACK_EXTERNAL_MODULE__2__;
224
738
 
225
739
  /***/ }),
226
740
 
227
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);
748
+
749
+
750
+
751
+ var hasModal = false;
752
+ var hasInitZIndex = false;
753
+ var zIndex = void 0;
754
+
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;
764
+
765
+ modalDom.addEventListener('touchmove', function (event) {
766
+ event.preventDefault();
767
+ event.stopPropagation();
768
+ });
769
+
770
+ modalDom.addEventListener('click', function () {
771
+ PopupManager.doOnModalClick && PopupManager.doOnModalClick();
772
+ });
773
+ }
774
+
775
+ return modalDom;
776
+ };
777
+
778
+ var instances = {};
779
+
780
+ var PopupManager = {
781
+ modalFade: true,
782
+
783
+ getInstance: function getInstance(id) {
784
+ return instances[id];
785
+ },
786
+
787
+ register: function register(id, instance) {
788
+ if (id && instance) {
789
+ instances[id] = instance;
790
+ }
791
+ },
792
+
793
+ deregister: function deregister(id) {
794
+ if (id) {
795
+ instances[id] = null;
796
+ delete instances[id];
797
+ }
798
+ },
799
+
800
+ nextZIndex: function nextZIndex() {
801
+ return PopupManager.zIndex++;
802
+ },
803
+
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();
813
+ }
814
+ },
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;
827
+ }
828
+ }
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
+ },
860
+
861
+ closeModal: function closeModal(id) {
862
+ var modalStack = this.modalStack;
863
+ var modalDom = getModal();
864
+
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
+ }
874
+
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
+ }
888
+
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
+ };
904
+
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;
911
+ }
912
+ return zIndex;
913
+ },
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);
925
+
926
+ return instance;
927
+ }
928
+ };
929
+
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
+
936
+ if (topPopup && topPopup.closeOnPressEscape) {
937
+ topPopup.handleClose ? topPopup.handleClose() : topPopup.handleAction ? topPopup.handleAction('cancel') : topPopup.close();
938
+ }
939
+ }
940
+ });
941
+ }
942
+
943
+ /* harmony default export */ __webpack_exports__["a"] = (PopupManager);
944
+
945
+ /***/ }),
946
+
947
+ /***/ 8:
228
948
  /***/ (function(module, exports) {
229
949
 
230
- module.exports = __WEBPACK_EXTERNAL_MODULE__5__;
950
+ module.exports = __WEBPACK_EXTERNAL_MODULE__8__;
231
951
 
232
952
  /***/ }),
233
953
 
234
- /***/ 7:
954
+ /***/ 9:
235
955
  /***/ (function(module, exports) {
236
956
 
237
- module.exports = __WEBPACK_EXTERNAL_MODULE__7__;
957
+ module.exports = require("babel-runtime/helpers/typeof");
238
958
 
239
959
  /***/ }),
240
960
 
241
- /***/ 88:
961
+ /***/ 96:
242
962
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
243
963
 
244
964
  "use strict";
@@ -246,18 +966,14 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__7__;
246
966
  __webpack_require__.r(__webpack_exports__);
247
967
 
248
968
  // EXTERNAL MODULE: external {"root":"Vue","commonjs":"vue","commonjs2":"vue","amd":"vue"}
249
- var external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_ = __webpack_require__(5);
969
+ var external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_ = __webpack_require__(2);
250
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_);
251
971
 
252
- // EXTERNAL MODULE: ./components/style/themes/default.less
253
- var themes_default = __webpack_require__(179);
254
-
255
972
  // EXTERNAL MODULE: ./components/message/style/index.less
256
- var style = __webpack_require__(181);
973
+ var style = __webpack_require__(191);
257
974
 
258
975
  // CONCATENATED MODULE: ./components/message/style/index.js
259
976
 
260
-
261
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&
262
978
  var render = function () {
263
979
  var _vm = this
@@ -356,13 +1072,13 @@ var messagevue_type_template_id_dc37dbd8_render = function () {
356
1072
  _vm.type === "loading"
357
1073
  ? [
358
1074
  _c("mds-icon", {
359
- staticStyle: { fontSize: "16px", "margin-right": "5px" },
1075
+ staticStyle: { fontsize: "16px", "margin-right": "5px" },
360
1076
  attrs: { type: _vm.iconType, spin: "" },
361
1077
  }),
362
1078
  ]
363
1079
  : [
364
1080
  _c("mds-icon", {
365
- staticStyle: { fontSize: "16px", "margin-right": "5px" },
1081
+ staticStyle: { fontsize: "16px", "margin-right": "5px" },
366
1082
  attrs: { type: _vm.iconType },
367
1083
  }),
368
1084
  ],
@@ -418,11 +1134,11 @@ messagevue_type_template_id_dc37dbd8_render._withStripped = true
418
1134
  // CONCATENATED MODULE: ./components/message/message.vue?vue&type=template&id=dc37dbd8&
419
1135
 
420
1136
  // EXTERNAL MODULE: external "./button"
421
- var external_button_ = __webpack_require__(7);
1137
+ var external_button_ = __webpack_require__(13);
422
1138
  var external_button_default = /*#__PURE__*/__webpack_require__.n(external_button_);
423
1139
 
424
1140
  // EXTERNAL MODULE: external "./icon"
425
- var external_icon_ = __webpack_require__(4);
1141
+ var external_icon_ = __webpack_require__(8);
426
1142
  var external_icon_default = /*#__PURE__*/__webpack_require__.n(external_icon_);
427
1143
 
428
1144
  // CONCATENATED MODULE: ./components/message/props.js
@@ -461,6 +1177,9 @@ var external_icon_default = /*#__PURE__*/__webpack_require__.n(external_icon_);
461
1177
  }
462
1178
  }
463
1179
  });
1180
+ // EXTERNAL MODULE: ./components/_util/_popper/popup/popup-main.js
1181
+ var popup_main = __webpack_require__(14);
1182
+
464
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&
465
1184
  //
466
1185
  //
@@ -488,6 +1207,30 @@ var external_icon_default = /*#__PURE__*/__webpack_require__.n(external_icon_);
488
1207
  //
489
1208
  //
490
1209
  //
1210
+ //
1211
+ //
1212
+ //
1213
+ //
1214
+ //
1215
+ //
1216
+ //
1217
+ //
1218
+ //
1219
+ //
1220
+ //
1221
+ //
1222
+ //
1223
+ //
1224
+ //
1225
+ //
1226
+ //
1227
+ //
1228
+ //
1229
+ //
1230
+ //
1231
+ //
1232
+ //
1233
+
491
1234
 
492
1235
 
493
1236
 
@@ -584,7 +1327,13 @@ var ICONTYPES = {
584
1327
  }
585
1328
  },
586
1329
  mounted: function mounted() {
1330
+ var _this2 = this;
1331
+
587
1332
  this.startTimer();
1333
+ this.$nextTick(function () {
1334
+ var dom = _this2.$el.parentElement;
1335
+ dom.style.zIndex = popup_main["a" /* PopupMain */].nextZIndex();
1336
+ });
588
1337
  }
589
1338
  });
590
1339
  // CONCATENATED MODULE: ./components/message/message.vue?vue&type=script&lang=js&