cy-element-ui 1.0.39 → 1.0.41

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 (119) hide show
  1. package/README.md +8 -7
  2. package/lib/alert.js +13 -31
  3. package/lib/aside.js +77 -84
  4. package/lib/autocomplete.js +3969 -268
  5. package/lib/avatar.js +108 -108
  6. package/lib/backtop.js +118 -136
  7. package/lib/badge.js +112 -133
  8. package/lib/breadcrumb-item.js +8 -21
  9. package/lib/breadcrumb.js +8 -14
  10. package/lib/button-group.js +8 -14
  11. package/lib/button.js +8 -33
  12. package/lib/calendar.js +1549 -109
  13. package/lib/card.js +96 -104
  14. package/lib/carousel-item.js +456 -135
  15. package/lib/carousel.js +191 -179
  16. package/lib/cascader-panel.js +2275 -209
  17. package/lib/cascader.js +6410 -349
  18. package/lib/checkbox-button.js +52 -62
  19. package/lib/checkbox-group.js +51 -20
  20. package/lib/checkbox.js +51 -75
  21. package/lib/col.js +2 -2
  22. package/lib/collapse-item.js +829 -170
  23. package/lib/collapse.js +112 -118
  24. package/lib/color-picker.js +3917 -258
  25. package/lib/container.js +88 -95
  26. package/lib/date-picker.js +8736 -4669
  27. package/lib/descriptions-item.js +2 -2
  28. package/lib/descriptions.js +63 -8
  29. package/lib/dialog.js +1213 -75
  30. package/lib/divider.js +104 -120
  31. package/lib/drawer.js +897 -173
  32. package/lib/dropdown-item.js +47 -31
  33. package/lib/dropdown-menu.js +2275 -81
  34. package/lib/dropdown.js +1072 -136
  35. package/lib/element-ui.common.js +910 -4903
  36. package/lib/empty.js +625 -169
  37. package/lib/fileUpload.js +3593 -520
  38. package/lib/footer.js +77 -84
  39. package/lib/form-item.js +450 -99
  40. package/lib/form.js +33 -28
  41. package/lib/header.js +77 -84
  42. package/lib/icon.js +67 -72
  43. package/lib/image.js +1400 -152
  44. package/lib/index.js +1 -1
  45. package/lib/infinite-scroll.js +311 -21
  46. package/lib/input-number.js +1438 -100
  47. package/lib/input.js +511 -151
  48. package/lib/link.js +9 -33
  49. package/lib/loading.js +808 -90
  50. package/lib/main.js +64 -71
  51. package/lib/menu-item-group.js +8 -20
  52. package/lib/menu-item.js +2912 -59
  53. package/lib/menu.js +745 -54
  54. package/lib/message-box.js +2556 -184
  55. package/lib/message.js +1117 -64
  56. package/lib/notification.js +1114 -67
  57. package/lib/option-group.js +47 -27
  58. package/lib/option.js +404 -43
  59. package/lib/page-header.js +683 -94
  60. package/lib/pagination.js +6078 -170
  61. package/lib/popconfirm.js +3514 -263
  62. package/lib/popover.js +2594 -93
  63. package/lib/progress.js +9 -62
  64. package/lib/radio-button.js +48 -55
  65. package/lib/radio-group.js +47 -26
  66. package/lib/radio.js +52 -67
  67. package/lib/rate.js +760 -152
  68. package/lib/result.js +39 -89
  69. package/lib/row.js +2 -2
  70. package/lib/scrollbar.js +735 -50
  71. package/lib/select.js +4294 -326
  72. package/lib/skeleton-item.js +13 -33
  73. package/lib/skeleton.js +116 -143
  74. package/lib/slider.js +4285 -254
  75. package/lib/spinner.js +100 -108
  76. package/lib/statistic.js +9627 -161
  77. package/lib/step.js +140 -186
  78. package/lib/steps.js +514 -111
  79. package/lib/subTitle.js +91 -100
  80. package/lib/submenu.js +2444 -123
  81. package/lib/switch.js +483 -67
  82. package/lib/tab-pane.js +10 -24
  83. package/lib/tabDialog.js +1548 -71
  84. package/lib/table-column.js +880 -32
  85. package/lib/table.js +4530 -744
  86. package/lib/tabs.js +432 -23
  87. package/lib/tag.js +4 -4
  88. package/lib/theme-chalk/gulpfile.js +27 -0
  89. package/lib/time-picker.js +5016 -566
  90. package/lib/time-select.js +4976 -313
  91. package/lib/timeline-item.js +114 -156
  92. package/lib/timeline.js +82 -82
  93. package/lib/tooltip.js +2566 -41
  94. package/lib/transfer.js +2143 -247
  95. package/lib/tree.js +1387 -180
  96. package/lib/treeSelect.js +3426 -153
  97. package/lib/upload.js +1154 -207
  98. package/package.json +10 -11
  99. package/packages/input-number/src/input-number.vue +7 -4
  100. package/packages/selectDisplayInput/index.js +8 -0
  101. package/packages/selectDisplayInput/src/main.vue +75 -0
  102. package/packages/theme-chalk/gulpfile.js +27 -0
  103. package/packages/theme-cy/gulpfile.js +27 -0
  104. package/packages/theme-cy/src/base.scss +3 -0
  105. package/packages/theme-cy/src/index.scss +1 -0
  106. package/packages/theme-cy/src/selectDisplayInput.scss +76 -0
  107. package/packages/theme-cy/src/treeSelect.scss +9 -4
  108. package/packages/treeSelect/src/main.vue +79 -0
  109. package/src/index.js +7 -4
  110. package/types/element-ui.d.ts +5 -1
  111. package/types/selectDisplayInput.d.ts +5 -0
  112. package/CHANGELOG.md +0 -280
  113. /package/{packages/theme-cy/lib → lib/theme-chalk}/base.css +0 -0
  114. /package/{packages/theme-cy/lib → lib/theme-chalk}/element.css +0 -0
  115. /package/{packages/theme-cy/lib → lib/theme-chalk}/fileUpload.css +0 -0
  116. /package/{packages/theme-cy/lib → lib/theme-chalk}/index.css +0 -0
  117. /package/{packages/theme-cy/lib → lib/theme-chalk}/subTitle.css +0 -0
  118. /package/{packages/theme-cy/lib → lib/theme-chalk}/tabDialog.css +0 -0
  119. /package/{packages/theme-cy/lib → lib/theme-chalk}/treeSelect.css +0 -0
package/lib/dialog.js CHANGED
@@ -82,12 +82,333 @@ module.exports =
82
82
  /******/
83
83
  /******/
84
84
  /******/ // Load entry module and return exports
85
- /******/ return __webpack_require__(__webpack_require__.s = 86);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 54);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
89
89
 
90
90
  /***/ 0:
91
+ /***/ (function(module, exports) {
92
+
93
+ module.exports = require("vue");
94
+
95
+ /***/ }),
96
+
97
+ /***/ 1:
98
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
99
+
100
+ "use strict";
101
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return on; });
102
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return off; });
103
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return once; });
104
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return hasClass; });
105
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return addClass; });
106
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return removeClass; });
107
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return getStyle; });
108
+ /* unused harmony export setStyle */
109
+ /* unused harmony export isScroll */
110
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getScrollContainer; });
111
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return isInContainer; });
112
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
113
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);
114
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
115
+
116
+ /* istanbul ignore next */
117
+
118
+
119
+
120
+ var isServer = vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer;
121
+ var SPECIAL_CHARS_REGEXP = /([\:\-\_]+(.))/g;
122
+ var MOZ_HACK_REGEXP = /^moz([A-Z])/;
123
+ var ieVersion = isServer ? 0 : Number(document.documentMode);
124
+
125
+ /* istanbul ignore next */
126
+ var trim = function trim(string) {
127
+ return (string || '').replace(/^[\s\uFEFF]+|[\s\uFEFF]+$/g, '');
128
+ };
129
+ /* istanbul ignore next */
130
+ var camelCase = function camelCase(name) {
131
+ return name.replace(SPECIAL_CHARS_REGEXP, function (_, separator, letter, offset) {
132
+ return offset ? letter.toUpperCase() : letter;
133
+ }).replace(MOZ_HACK_REGEXP, 'Moz$1');
134
+ };
135
+
136
+ /* istanbul ignore next */
137
+ var on = function () {
138
+ if (!isServer && document.addEventListener) {
139
+ return function (element, event, handler) {
140
+ if (element && event && handler) {
141
+ element.addEventListener(event, handler, false);
142
+ }
143
+ };
144
+ } else {
145
+ return function (element, event, handler) {
146
+ if (element && event && handler) {
147
+ element.attachEvent('on' + event, handler);
148
+ }
149
+ };
150
+ }
151
+ }();
152
+
153
+ /* istanbul ignore next */
154
+ var off = function () {
155
+ if (!isServer && document.removeEventListener) {
156
+ return function (element, event, handler) {
157
+ if (element && event) {
158
+ element.removeEventListener(event, handler, false);
159
+ }
160
+ };
161
+ } else {
162
+ return function (element, event, handler) {
163
+ if (element && event) {
164
+ element.detachEvent('on' + event, handler);
165
+ }
166
+ };
167
+ }
168
+ }();
169
+
170
+ /* istanbul ignore next */
171
+ var once = function once(el, event, fn) {
172
+ var listener = function listener() {
173
+ if (fn) {
174
+ fn.apply(this, arguments);
175
+ }
176
+ off(el, event, listener);
177
+ };
178
+ on(el, event, listener);
179
+ };
180
+
181
+ /* istanbul ignore next */
182
+ function hasClass(el, cls) {
183
+ if (!el || !cls) return false;
184
+ if (cls.indexOf(' ') !== -1) throw new Error('className should not contain space.');
185
+ if (el.classList) {
186
+ return el.classList.contains(cls);
187
+ } else {
188
+ return (' ' + el.className + ' ').indexOf(' ' + cls + ' ') > -1;
189
+ }
190
+ };
191
+
192
+ /* istanbul ignore next */
193
+ function addClass(el, cls) {
194
+ if (!el) return;
195
+ var curClass = el.className;
196
+ var classes = (cls || '').split(' ');
197
+
198
+ for (var i = 0, j = classes.length; i < j; i++) {
199
+ var clsName = classes[i];
200
+ if (!clsName) continue;
201
+
202
+ if (el.classList) {
203
+ el.classList.add(clsName);
204
+ } else if (!hasClass(el, clsName)) {
205
+ curClass += ' ' + clsName;
206
+ }
207
+ }
208
+ if (!el.classList) {
209
+ el.setAttribute('class', curClass);
210
+ }
211
+ };
212
+
213
+ /* istanbul ignore next */
214
+ function removeClass(el, cls) {
215
+ if (!el || !cls) return;
216
+ var classes = cls.split(' ');
217
+ var curClass = ' ' + el.className + ' ';
218
+
219
+ for (var i = 0, j = classes.length; i < j; i++) {
220
+ var clsName = classes[i];
221
+ if (!clsName) continue;
222
+
223
+ if (el.classList) {
224
+ el.classList.remove(clsName);
225
+ } else if (hasClass(el, clsName)) {
226
+ curClass = curClass.replace(' ' + clsName + ' ', ' ');
227
+ }
228
+ }
229
+ if (!el.classList) {
230
+ el.setAttribute('class', trim(curClass));
231
+ }
232
+ };
233
+
234
+ /* istanbul ignore next */
235
+ var getStyle = ieVersion < 9 ? function (element, styleName) {
236
+ if (isServer) return;
237
+ if (!element || !styleName) return null;
238
+ styleName = camelCase(styleName);
239
+ if (styleName === 'float') {
240
+ styleName = 'styleFloat';
241
+ }
242
+ try {
243
+ switch (styleName) {
244
+ case 'opacity':
245
+ try {
246
+ return element.filters.item('alpha').opacity / 100;
247
+ } catch (e) {
248
+ return 1.0;
249
+ }
250
+ default:
251
+ return element.style[styleName] || element.currentStyle ? element.currentStyle[styleName] : null;
252
+ }
253
+ } catch (e) {
254
+ return element.style[styleName];
255
+ }
256
+ } : function (element, styleName) {
257
+ if (isServer) return;
258
+ if (!element || !styleName) return null;
259
+ styleName = camelCase(styleName);
260
+ if (styleName === 'float') {
261
+ styleName = 'cssFloat';
262
+ }
263
+ try {
264
+ var computed = document.defaultView.getComputedStyle(element, '');
265
+ return element.style[styleName] || computed ? computed[styleName] : null;
266
+ } catch (e) {
267
+ return element.style[styleName];
268
+ }
269
+ };
270
+
271
+ /* istanbul ignore next */
272
+ function setStyle(element, styleName, value) {
273
+ if (!element || !styleName) return;
274
+
275
+ if ((typeof styleName === 'undefined' ? 'undefined' : _typeof(styleName)) === 'object') {
276
+ for (var prop in styleName) {
277
+ if (styleName.hasOwnProperty(prop)) {
278
+ setStyle(element, prop, styleName[prop]);
279
+ }
280
+ }
281
+ } else {
282
+ styleName = camelCase(styleName);
283
+ if (styleName === 'opacity' && ieVersion < 9) {
284
+ element.style.filter = isNaN(value) ? '' : 'alpha(opacity=' + value * 100 + ')';
285
+ } else {
286
+ element.style[styleName] = value;
287
+ }
288
+ }
289
+ };
290
+
291
+ var isScroll = function isScroll(el, vertical) {
292
+ if (isServer) return;
293
+
294
+ var determinedDirection = vertical !== null && vertical !== undefined;
295
+ var overflow = determinedDirection ? vertical ? getStyle(el, 'overflow-y') : getStyle(el, 'overflow-x') : getStyle(el, 'overflow');
296
+
297
+ return overflow.match(/(scroll|auto|overlay)/);
298
+ };
299
+
300
+ var getScrollContainer = function getScrollContainer(el, vertical) {
301
+ if (isServer) return;
302
+
303
+ var parent = el;
304
+ while (parent) {
305
+ if ([window, document, document.documentElement].includes(parent)) {
306
+ return window;
307
+ }
308
+ if (isScroll(parent, vertical)) {
309
+ return parent;
310
+ }
311
+ parent = parent.parentNode;
312
+ }
313
+
314
+ return parent;
315
+ };
316
+
317
+ var isInContainer = function isInContainer(el, container) {
318
+ if (isServer || !el || !container) return false;
319
+
320
+ var elRect = el.getBoundingClientRect();
321
+ var containerRect = void 0;
322
+
323
+ if ([window, document, document.documentElement, null, undefined].includes(container)) {
324
+ containerRect = {
325
+ top: 0,
326
+ right: window.innerWidth,
327
+ bottom: window.innerHeight,
328
+ left: 0
329
+ };
330
+ } else {
331
+ containerRect = container.getBoundingClientRect();
332
+ }
333
+
334
+ return elRect.top < containerRect.bottom && elRect.bottom > containerRect.top && elRect.right > containerRect.left && elRect.left < containerRect.right;
335
+ };
336
+
337
+ /***/ }),
338
+
339
+ /***/ 12:
340
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
341
+
342
+ "use strict";
343
+ /* harmony import */ var element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
344
+
345
+ /**
346
+ * Show migrating guide in browser console.
347
+ *
348
+ * Usage:
349
+ * import Migrating from 'element-ui/src/mixins/migrating';
350
+ *
351
+ * mixins: [Migrating]
352
+ *
353
+ * add getMigratingConfig method for your component.
354
+ * getMigratingConfig() {
355
+ * return {
356
+ * props: {
357
+ * 'allow-no-selection': 'allow-no-selection is removed.',
358
+ * 'selection-mode': 'selection-mode is removed.'
359
+ * },
360
+ * events: {
361
+ * selectionchange: 'selectionchange is renamed to selection-change.'
362
+ * }
363
+ * };
364
+ * },
365
+ */
366
+ /* harmony default export */ __webpack_exports__["a"] = ({
367
+ mounted: function mounted() {
368
+ if (true) return;
369
+ if (!this.$vnode) return;
370
+
371
+ var _getMigratingConfig = this.getMigratingConfig(),
372
+ _getMigratingConfig$p = _getMigratingConfig.props,
373
+ props = _getMigratingConfig$p === undefined ? {} : _getMigratingConfig$p,
374
+ _getMigratingConfig$e = _getMigratingConfig.events,
375
+ events = _getMigratingConfig$e === undefined ? {} : _getMigratingConfig$e;
376
+
377
+ var _$vnode = this.$vnode,
378
+ data = _$vnode.data,
379
+ componentOptions = _$vnode.componentOptions;
380
+
381
+ var definedProps = data.attrs || {};
382
+ var definedEvents = componentOptions.listeners || {};
383
+
384
+ for (var propName in definedProps) {
385
+ propName = Object(element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_0__[/* kebabCase */ "q"])(propName); // compatible with camel case
386
+ if (props[propName]) {
387
+ console.warn('[Element Migrating][' + this.$options.name + '][Attribute]: ' + props[propName]);
388
+ }
389
+ }
390
+
391
+ for (var eventName in definedEvents) {
392
+ eventName = Object(element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_0__[/* kebabCase */ "q"])(eventName); // compatible with camel case
393
+ if (events[eventName]) {
394
+ console.warn('[Element Migrating][' + this.$options.name + '][Event]: ' + events[eventName]);
395
+ }
396
+ }
397
+ },
398
+
399
+ methods: {
400
+ getMigratingConfig: function getMigratingConfig() {
401
+ return {
402
+ props: {},
403
+ events: {}
404
+ };
405
+ }
406
+ }
407
+ });
408
+
409
+ /***/ }),
410
+
411
+ /***/ 2:
91
412
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
92
413
 
93
414
  "use strict";
@@ -192,39 +513,361 @@ function normalizeComponent(
192
513
 
193
514
  /***/ }),
194
515
 
195
- /***/ 11:
196
- /***/ (function(module, exports) {
516
+ /***/ 3:
517
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
197
518
 
198
- module.exports = require("element-ui/lib/mixins/migrating");
519
+ "use strict";
520
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "r", function() { return noop; });
521
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "j", function() { return hasOwn; });
522
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "t", function() { return toObject; });
523
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return getValueByPath; });
524
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return getPropByPath; });
525
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return generateId; });
526
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "u", function() { return valueEquals; });
527
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return escapeRegexpString; });
528
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return arrayFindIndex; });
529
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return arrayFind; });
530
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return coerceTruthyValueToArray; });
531
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "o", function() { return isIE; });
532
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "k", function() { return isEdge; });
533
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "n", function() { return isFirefox; });
534
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return autoprefixer; });
535
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "q", function() { return kebabCase; });
536
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return capitalize; });
537
+ /* unused harmony export looseEqual */
538
+ /* unused harmony export arrayEquals */
539
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "m", function() { return isEqual; });
540
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "l", function() { return isEmpty; });
541
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "s", function() { return rafThrottle; });
542
+ /* unused harmony export objToArray */
543
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "p", function() { return isMac; });
544
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
545
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);
546
+ /* harmony import */ var element_ui_src_utils_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4);
547
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
548
+
549
+
550
+
551
+
552
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
553
+
554
+ function noop() {};
555
+
556
+ function hasOwn(obj, key) {
557
+ return hasOwnProperty.call(obj, key);
558
+ };
199
559
 
200
- /***/ }),
560
+ function extend(to, _from) {
561
+ for (var key in _from) {
562
+ to[key] = _from[key];
563
+ }
564
+ return to;
565
+ };
201
566
 
202
- /***/ 14:
203
- /***/ (function(module, exports) {
567
+ function toObject(arr) {
568
+ var res = {};
569
+ for (var i = 0; i < arr.length; i++) {
570
+ if (arr[i]) {
571
+ extend(res, arr[i]);
572
+ }
573
+ }
574
+ return res;
575
+ };
576
+
577
+ var getValueByPath = function getValueByPath(object, prop) {
578
+ prop = prop || '';
579
+ var paths = prop.split('.');
580
+ var current = object;
581
+ var result = null;
582
+ for (var i = 0, j = paths.length; i < j; i++) {
583
+ var path = paths[i];
584
+ if (!current) break;
585
+
586
+ if (i === j - 1) {
587
+ result = current[path];
588
+ break;
589
+ }
590
+ current = current[path];
591
+ }
592
+ return result;
593
+ };
594
+
595
+ function getPropByPath(obj, path, strict) {
596
+ var tempObj = obj;
597
+ path = path.replace(/\[(\w+)\]/g, '.$1');
598
+ path = path.replace(/^\./, '');
599
+
600
+ var keyArr = path.split('.');
601
+ var i = 0;
602
+ for (var len = keyArr.length; i < len - 1; ++i) {
603
+ if (!tempObj && !strict) break;
604
+ var key = keyArr[i];
605
+ if (key in tempObj) {
606
+ tempObj = tempObj[key];
607
+ } else {
608
+ if (strict) {
609
+ throw new Error('please transfer a valid prop path to form item!');
610
+ }
611
+ break;
612
+ }
613
+ }
614
+ return {
615
+ o: tempObj,
616
+ k: keyArr[i],
617
+ v: tempObj ? tempObj[keyArr[i]] : null
618
+ };
619
+ };
620
+
621
+ var generateId = function generateId() {
622
+ return Math.floor(Math.random() * 10000);
623
+ };
624
+
625
+ var valueEquals = function valueEquals(a, b) {
626
+ // see: https://stackoverflow.com/questions/3115982/how-to-check-if-two-arrays-are-equal-with-javascript
627
+ if (a === b) return true;
628
+ if (!(a instanceof Array)) return false;
629
+ if (!(b instanceof Array)) return false;
630
+ if (a.length !== b.length) return false;
631
+ for (var i = 0; i !== a.length; ++i) {
632
+ if (a[i] !== b[i]) return false;
633
+ }
634
+ return true;
635
+ };
636
+
637
+ var escapeRegexpString = function escapeRegexpString() {
638
+ var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
639
+ return String(value).replace(/[|\\{}()[\]^$+*?.]/g, '\\$&');
640
+ };
641
+
642
+ // TODO: use native Array.find, Array.findIndex when IE support is dropped
643
+ var arrayFindIndex = function arrayFindIndex(arr, pred) {
644
+ for (var i = 0; i !== arr.length; ++i) {
645
+ if (pred(arr[i])) {
646
+ return i;
647
+ }
648
+ }
649
+ return -1;
650
+ };
651
+
652
+ var arrayFind = function arrayFind(arr, pred) {
653
+ var idx = arrayFindIndex(arr, pred);
654
+ return idx !== -1 ? arr[idx] : undefined;
655
+ };
656
+
657
+ // coerce truthy value to array
658
+ var coerceTruthyValueToArray = function coerceTruthyValueToArray(val) {
659
+ if (Array.isArray(val)) {
660
+ return val;
661
+ } else if (val) {
662
+ return [val];
663
+ } else {
664
+ return [];
665
+ }
666
+ };
667
+
668
+ var isIE = function isIE() {
669
+ return !vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer && !isNaN(Number(document.documentMode));
670
+ };
671
+
672
+ var isEdge = function isEdge() {
673
+ return !vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer && navigator.userAgent.indexOf('Edge') > -1;
674
+ };
675
+
676
+ var isFirefox = function isFirefox() {
677
+ return !vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer && !!window.navigator.userAgent.match(/firefox/i);
678
+ };
204
679
 
205
- module.exports = require("element-ui/lib/utils/popup");
680
+ var autoprefixer = function autoprefixer(style) {
681
+ if ((typeof style === 'undefined' ? 'undefined' : _typeof(style)) !== 'object') return style;
682
+ var rules = ['transform', 'transition', 'animation'];
683
+ var prefixes = ['ms-', 'webkit-'];
684
+ rules.forEach(function (rule) {
685
+ var value = style[rule];
686
+ if (rule && value) {
687
+ prefixes.forEach(function (prefix) {
688
+ style[prefix + rule] = value;
689
+ });
690
+ }
691
+ });
692
+ return style;
693
+ };
694
+
695
+ var kebabCase = function kebabCase(str) {
696
+ var hyphenateRE = /([^-])([A-Z])/g;
697
+ return str.replace(hyphenateRE, '$1-$2').replace(hyphenateRE, '$1-$2').toLowerCase();
698
+ };
699
+
700
+ var capitalize = function capitalize(str) {
701
+ if (!Object(element_ui_src_utils_types__WEBPACK_IMPORTED_MODULE_1__[/* isString */ "e"])(str)) return str;
702
+ return str.charAt(0).toUpperCase() + str.slice(1);
703
+ };
704
+
705
+ var looseEqual = function looseEqual(a, b) {
706
+ var isObjectA = Object(element_ui_src_utils_types__WEBPACK_IMPORTED_MODULE_1__[/* isObject */ "d"])(a);
707
+ var isObjectB = Object(element_ui_src_utils_types__WEBPACK_IMPORTED_MODULE_1__[/* isObject */ "d"])(b);
708
+ if (isObjectA && isObjectB) {
709
+ return JSON.stringify(a) === JSON.stringify(b);
710
+ } else if (!isObjectA && !isObjectB) {
711
+ return String(a) === String(b);
712
+ } else {
713
+ return false;
714
+ }
715
+ };
716
+
717
+ var arrayEquals = function arrayEquals(arrayA, arrayB) {
718
+ arrayA = arrayA || [];
719
+ arrayB = arrayB || [];
720
+
721
+ if (arrayA.length !== arrayB.length) {
722
+ return false;
723
+ }
724
+
725
+ for (var i = 0; i < arrayA.length; i++) {
726
+ if (!looseEqual(arrayA[i], arrayB[i])) {
727
+ return false;
728
+ }
729
+ }
730
+
731
+ return true;
732
+ };
733
+
734
+ var isEqual = function isEqual(value1, value2) {
735
+ if (Array.isArray(value1) && Array.isArray(value2)) {
736
+ return arrayEquals(value1, value2);
737
+ }
738
+ return looseEqual(value1, value2);
739
+ };
740
+
741
+ var isEmpty = function isEmpty(val) {
742
+ // null or undefined
743
+ if (val == null) return true;
744
+
745
+ if (typeof val === 'boolean') return false;
746
+
747
+ if (typeof val === 'number') return !val;
748
+
749
+ if (val instanceof Error) return val.message === '';
750
+
751
+ switch (Object.prototype.toString.call(val)) {
752
+ // String or Array
753
+ case '[object String]':
754
+ case '[object Array]':
755
+ return !val.length;
756
+
757
+ // Map or Set or File
758
+ case '[object File]':
759
+ case '[object Map]':
760
+ case '[object Set]':
761
+ {
762
+ return !val.size;
763
+ }
764
+ // Plain Object
765
+ case '[object Object]':
766
+ {
767
+ return !Object.keys(val).length;
768
+ }
769
+ }
770
+
771
+ return false;
772
+ };
773
+
774
+ function rafThrottle(fn) {
775
+ var locked = false;
776
+ return function () {
777
+ var _this = this;
778
+
779
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
780
+ args[_key] = arguments[_key];
781
+ }
782
+
783
+ if (locked) return;
784
+ locked = true;
785
+ window.requestAnimationFrame(function (_) {
786
+ fn.apply(_this, args);
787
+ locked = false;
788
+ });
789
+ };
790
+ }
791
+
792
+ function objToArray(obj) {
793
+ if (Array.isArray(obj)) {
794
+ return obj;
795
+ }
796
+ return isEmpty(obj) ? [] : [obj];
797
+ }
798
+
799
+ var isMac = function isMac() {
800
+ return !vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer && /macintosh|mac os x/i.test(navigator.userAgent);
801
+ };
206
802
 
207
803
  /***/ }),
208
804
 
209
805
  /***/ 4:
210
- /***/ (function(module, exports) {
806
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
807
+
808
+ "use strict";
809
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return isString; });
810
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return isObject; });
811
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return isHtmlElement; });
812
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return isFunction; });
813
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return isUndefined; });
814
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return isDefined; });
815
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
816
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);
817
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
818
+
819
+
820
+
821
+ function isString(obj) {
822
+ return Object.prototype.toString.call(obj) === '[object String]';
823
+ }
211
824
 
212
- module.exports = require("element-ui/lib/mixins/emitter");
825
+ function isObject(obj) {
826
+ return Object.prototype.toString.call(obj) === '[object Object]';
827
+ }
828
+
829
+ function isHtmlElement(node) {
830
+ return node && node.nodeType === Node.ELEMENT_NODE;
831
+ }
832
+
833
+ /**
834
+ * - Inspired:
835
+ * https://github.com/jashkenas/underscore/blob/master/modules/isFunction.js
836
+ */
837
+ var isFunction = function isFunction(functionToCheck) {
838
+ var getType = {};
839
+ return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';
840
+ };
841
+
842
+ if ( true && (typeof Int8Array === 'undefined' ? 'undefined' : _typeof(Int8Array)) !== 'object' && (vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer || typeof document.childNodes !== 'function')) {
843
+ isFunction = function isFunction(obj) {
844
+ return typeof obj === 'function' || false;
845
+ };
846
+ }
847
+
848
+
849
+
850
+ var isUndefined = function isUndefined(val) {
851
+ return val === void 0;
852
+ };
853
+
854
+ var isDefined = function isDefined(val) {
855
+ return val !== undefined && val !== null;
856
+ };
213
857
 
214
858
  /***/ }),
215
859
 
216
- /***/ 86:
860
+ /***/ 54:
217
861
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
218
862
 
219
863
  "use strict";
220
864
  // ESM COMPAT FLAG
221
865
  __webpack_require__.r(__webpack_exports__);
222
866
 
223
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/dialog/src/component.vue?vue&type=template&id=00cb1a07
224
- var render = function () {
225
- var _vm = this
226
- var _h = _vm.$createElement
227
- var _c = _vm._self._c || _h
867
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/vue-loader/lib??vue-loader-options!./packages/dialog/src/component.vue?vue&type=template&id=00cb1a07
868
+ var render = function render() {
869
+ var _vm = this,
870
+ _c = _vm._self._c
228
871
  return _c(
229
872
  "transition",
230
873
  {
@@ -246,10 +889,8 @@ var render = function () {
246
889
  staticClass: "el-dialog__wrapper",
247
890
  on: {
248
891
  click: function ($event) {
249
- if ($event.target !== $event.currentTarget) {
250
- return null
251
- }
252
- return _vm.handleWrapperClick($event)
892
+ if ($event.target !== $event.currentTarget) return null
893
+ return _vm.handleWrapperClick.apply(null, arguments)
253
894
  },
254
895
  },
255
896
  },
@@ -279,11 +920,13 @@ var render = function () {
279
920
  "div",
280
921
  { staticClass: "el-dialog__header" },
281
922
  [
282
- _vm._t("title", [
283
- _c("span", { staticClass: "el-dialog__title" }, [
284
- _vm._v(_vm._s(_vm.title)),
285
- ]),
286
- ]),
923
+ _vm._t("title", function () {
924
+ return [
925
+ _c("span", { staticClass: "el-dialog__title" }, [
926
+ _vm._v(_vm._s(_vm.title)),
927
+ ]),
928
+ ]
929
+ }),
287
930
  _vm.showClose
288
931
  ? _c(
289
932
  "button",
@@ -332,58 +975,16 @@ render._withStripped = true
332
975
 
333
976
  // CONCATENATED MODULE: ./packages/dialog/src/component.vue?vue&type=template&id=00cb1a07
334
977
 
335
- // EXTERNAL MODULE: external "element-ui/lib/utils/popup"
336
- var popup_ = __webpack_require__(14);
337
- var popup_default = /*#__PURE__*/__webpack_require__.n(popup_);
978
+ // EXTERNAL MODULE: ./src/utils/popup/index.js + 1 modules
979
+ var popup = __webpack_require__(9);
338
980
 
339
- // EXTERNAL MODULE: external "element-ui/lib/mixins/migrating"
340
- var migrating_ = __webpack_require__(11);
341
- var migrating_default = /*#__PURE__*/__webpack_require__.n(migrating_);
981
+ // EXTERNAL MODULE: ./src/mixins/migrating.js
982
+ var migrating = __webpack_require__(12);
342
983
 
343
- // EXTERNAL MODULE: external "element-ui/lib/mixins/emitter"
344
- var emitter_ = __webpack_require__(4);
345
- var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);
984
+ // EXTERNAL MODULE: ./src/mixins/emitter.js
985
+ var emitter = __webpack_require__(6);
346
986
 
347
987
  // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/dialog/src/component.vue?vue&type=script&lang=js
348
- //
349
- //
350
- //
351
- //
352
- //
353
- //
354
- //
355
- //
356
- //
357
- //
358
- //
359
- //
360
- //
361
- //
362
- //
363
- //
364
- //
365
- //
366
- //
367
- //
368
- //
369
- //
370
- //
371
- //
372
- //
373
- //
374
- //
375
- //
376
- //
377
- //
378
- //
379
- //
380
- //
381
- //
382
- //
383
- //
384
- //
385
- //
386
- //
387
988
 
388
989
 
389
990
 
@@ -392,7 +993,7 @@ var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);
392
993
  /* harmony default export */ var componentvue_type_script_lang_js = ({
393
994
  name: 'ElDialog',
394
995
 
395
- mixins: [popup_default.a, emitter_default.a, migrating_default.a],
996
+ mixins: [popup["b" /* default */], emitter["a" /* default */], migrating["a" /* default */]],
396
997
 
397
998
  props: {
398
999
  title: {
@@ -561,7 +1162,7 @@ var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);
561
1162
  // CONCATENATED MODULE: ./packages/dialog/src/component.vue?vue&type=script&lang=js
562
1163
  /* harmony default export */ var src_componentvue_type_script_lang_js = (componentvue_type_script_lang_js);
563
1164
  // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
564
- var componentNormalizer = __webpack_require__(0);
1165
+ var componentNormalizer = __webpack_require__(2);
565
1166
 
566
1167
  // CONCATENATED MODULE: ./packages/dialog/src/component.vue
567
1168
 
@@ -593,6 +1194,543 @@ src_component.install = function (Vue) {
593
1194
 
594
1195
  /* harmony default export */ var dialog = __webpack_exports__["default"] = (src_component);
595
1196
 
1197
+ /***/ }),
1198
+
1199
+ /***/ 6:
1200
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1201
+
1202
+ "use strict";
1203
+ function _broadcast(componentName, eventName, params) {
1204
+ this.$children.forEach(function (child) {
1205
+ var name = child.$options.componentName;
1206
+
1207
+ if (name === componentName) {
1208
+ child.$emit.apply(child, [eventName].concat(params));
1209
+ } else {
1210
+ _broadcast.apply(child, [componentName, eventName].concat([params]));
1211
+ }
1212
+ });
1213
+ }
1214
+ /* harmony default export */ __webpack_exports__["a"] = ({
1215
+ methods: {
1216
+ dispatch: function dispatch(componentName, eventName, params) {
1217
+ var parent = this.$parent || this.$root;
1218
+ var name = parent.$options.componentName;
1219
+
1220
+ while (parent && (!name || name !== componentName)) {
1221
+ parent = parent.$parent;
1222
+
1223
+ if (parent) {
1224
+ name = parent.$options.componentName;
1225
+ }
1226
+ }
1227
+ if (parent) {
1228
+ parent.$emit.apply(parent, [eventName].concat(params));
1229
+ }
1230
+ },
1231
+ broadcast: function broadcast(componentName, eventName, params) {
1232
+ _broadcast.call(this, componentName, eventName, params);
1233
+ }
1234
+ }
1235
+ });
1236
+
1237
+ /***/ }),
1238
+
1239
+ /***/ 7:
1240
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1241
+
1242
+ "use strict";
1243
+ /* harmony default export */ __webpack_exports__["a"] = (function (target) {
1244
+ for (var i = 1, j = arguments.length; i < j; i++) {
1245
+ var source = arguments[i] || {};
1246
+ for (var prop in source) {
1247
+ if (source.hasOwnProperty(prop)) {
1248
+ var value = source[prop];
1249
+ if (value !== undefined) {
1250
+ target[prop] = value;
1251
+ }
1252
+ }
1253
+ }
1254
+ }
1255
+
1256
+ return target;
1257
+ });;
1258
+
1259
+ /***/ }),
1260
+
1261
+ /***/ 8:
1262
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1263
+
1264
+ "use strict";
1265
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
1266
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);
1267
+
1268
+
1269
+ var scrollBarWidth = void 0;
1270
+
1271
+ /* harmony default export */ __webpack_exports__["a"] = (function () {
1272
+ if (vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer) return 0;
1273
+ if (scrollBarWidth !== undefined) return scrollBarWidth;
1274
+
1275
+ var outer = document.createElement('div');
1276
+ outer.className = 'el-scrollbar__wrap';
1277
+ outer.style.visibility = 'hidden';
1278
+ outer.style.width = '100px';
1279
+ outer.style.position = 'absolute';
1280
+ outer.style.top = '-9999px';
1281
+ document.body.appendChild(outer);
1282
+
1283
+ var widthNoScroll = outer.offsetWidth;
1284
+ outer.style.overflow = 'scroll';
1285
+
1286
+ var inner = document.createElement('div');
1287
+ inner.style.width = '100%';
1288
+ outer.appendChild(inner);
1289
+
1290
+ var widthWithScroll = inner.offsetWidth;
1291
+ outer.parentNode.removeChild(outer);
1292
+ scrollBarWidth = widthNoScroll - widthWithScroll;
1293
+
1294
+ return scrollBarWidth;
1295
+ });;
1296
+
1297
+ /***/ }),
1298
+
1299
+ /***/ 9:
1300
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1301
+
1302
+ "use strict";
1303
+
1304
+ // EXPORTS
1305
+ __webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ popup_manager; });
1306
+
1307
+ // EXTERNAL MODULE: external "vue"
1308
+ var external_vue_ = __webpack_require__(0);
1309
+ var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);
1310
+
1311
+ // EXTERNAL MODULE: ./src/utils/merge.js
1312
+ var merge = __webpack_require__(7);
1313
+
1314
+ // EXTERNAL MODULE: ./src/utils/dom.js
1315
+ var utils_dom = __webpack_require__(1);
1316
+
1317
+ // CONCATENATED MODULE: ./src/utils/popup/popup-manager.js
1318
+
1319
+
1320
+
1321
+ var hasModal = false;
1322
+ var hasInitZIndex = false;
1323
+ var popup_manager_zIndex = void 0;
1324
+
1325
+ var popup_manager_getModal = function getModal() {
1326
+ if (external_vue_default.a.prototype.$isServer) return;
1327
+ var modalDom = PopupManager.modalDom;
1328
+ if (modalDom) {
1329
+ hasModal = true;
1330
+ } else {
1331
+ hasModal = false;
1332
+ modalDom = document.createElement('div');
1333
+ PopupManager.modalDom = modalDom;
1334
+
1335
+ modalDom.addEventListener('touchmove', function (event) {
1336
+ event.preventDefault();
1337
+ event.stopPropagation();
1338
+ });
1339
+
1340
+ modalDom.addEventListener('click', function () {
1341
+ PopupManager.doOnModalClick && PopupManager.doOnModalClick();
1342
+ });
1343
+ }
1344
+
1345
+ return modalDom;
1346
+ };
1347
+
1348
+ var instances = {};
1349
+
1350
+ var PopupManager = {
1351
+ modalFade: true,
1352
+
1353
+ getInstance: function getInstance(id) {
1354
+ return instances[id];
1355
+ },
1356
+
1357
+ register: function register(id, instance) {
1358
+ if (id && instance) {
1359
+ instances[id] = instance;
1360
+ }
1361
+ },
1362
+
1363
+ deregister: function deregister(id) {
1364
+ if (id) {
1365
+ instances[id] = null;
1366
+ delete instances[id];
1367
+ }
1368
+ },
1369
+
1370
+ nextZIndex: function nextZIndex() {
1371
+ return PopupManager.zIndex++;
1372
+ },
1373
+
1374
+ modalStack: [],
1375
+
1376
+ doOnModalClick: function doOnModalClick() {
1377
+ var topItem = PopupManager.modalStack[PopupManager.modalStack.length - 1];
1378
+ if (!topItem) return;
1379
+
1380
+ var instance = PopupManager.getInstance(topItem.id);
1381
+ if (instance && instance.closeOnClickModal) {
1382
+ instance.close();
1383
+ }
1384
+ },
1385
+
1386
+ openModal: function openModal(id, zIndex, dom, modalClass, modalFade) {
1387
+ if (external_vue_default.a.prototype.$isServer) return;
1388
+ if (!id || zIndex === undefined) return;
1389
+ this.modalFade = modalFade;
1390
+
1391
+ var modalStack = this.modalStack;
1392
+
1393
+ for (var i = 0, j = modalStack.length; i < j; i++) {
1394
+ var item = modalStack[i];
1395
+ if (item.id === id) {
1396
+ return;
1397
+ }
1398
+ }
1399
+
1400
+ var modalDom = popup_manager_getModal();
1401
+
1402
+ Object(utils_dom["a" /* addClass */])(modalDom, 'v-modal');
1403
+ if (this.modalFade && !hasModal) {
1404
+ Object(utils_dom["a" /* addClass */])(modalDom, 'v-modal-enter');
1405
+ }
1406
+ if (modalClass) {
1407
+ var classArr = modalClass.trim().split(/\s+/);
1408
+ classArr.forEach(function (item) {
1409
+ return Object(utils_dom["a" /* addClass */])(modalDom, item);
1410
+ });
1411
+ }
1412
+ setTimeout(function () {
1413
+ Object(utils_dom["i" /* removeClass */])(modalDom, 'v-modal-enter');
1414
+ }, 200);
1415
+
1416
+ if (dom && dom.parentNode && dom.parentNode.nodeType !== 11) {
1417
+ dom.parentNode.appendChild(modalDom);
1418
+ } else {
1419
+ document.body.appendChild(modalDom);
1420
+ }
1421
+
1422
+ if (zIndex) {
1423
+ modalDom.style.zIndex = zIndex;
1424
+ }
1425
+ modalDom.tabIndex = 0;
1426
+ modalDom.style.display = '';
1427
+
1428
+ this.modalStack.push({ id: id, zIndex: zIndex, modalClass: modalClass });
1429
+ },
1430
+
1431
+ closeModal: function closeModal(id) {
1432
+ var modalStack = this.modalStack;
1433
+ var modalDom = popup_manager_getModal();
1434
+
1435
+ if (modalStack.length > 0) {
1436
+ var topItem = modalStack[modalStack.length - 1];
1437
+ if (topItem.id === id) {
1438
+ if (topItem.modalClass) {
1439
+ var classArr = topItem.modalClass.trim().split(/\s+/);
1440
+ classArr.forEach(function (item) {
1441
+ return Object(utils_dom["i" /* removeClass */])(modalDom, item);
1442
+ });
1443
+ }
1444
+
1445
+ modalStack.pop();
1446
+ if (modalStack.length > 0) {
1447
+ modalDom.style.zIndex = modalStack[modalStack.length - 1].zIndex;
1448
+ }
1449
+ } else {
1450
+ for (var i = modalStack.length - 1; i >= 0; i--) {
1451
+ if (modalStack[i].id === id) {
1452
+ modalStack.splice(i, 1);
1453
+ break;
1454
+ }
1455
+ }
1456
+ }
1457
+ }
1458
+
1459
+ if (modalStack.length === 0) {
1460
+ if (this.modalFade) {
1461
+ Object(utils_dom["a" /* addClass */])(modalDom, 'v-modal-leave');
1462
+ }
1463
+ setTimeout(function () {
1464
+ if (modalStack.length === 0) {
1465
+ if (modalDom.parentNode) modalDom.parentNode.removeChild(modalDom);
1466
+ modalDom.style.display = 'none';
1467
+ PopupManager.modalDom = undefined;
1468
+ }
1469
+ Object(utils_dom["i" /* removeClass */])(modalDom, 'v-modal-leave');
1470
+ }, 200);
1471
+ }
1472
+ }
1473
+ };
1474
+
1475
+ Object.defineProperty(PopupManager, 'zIndex', {
1476
+ configurable: true,
1477
+ get: function get() {
1478
+ if (!hasInitZIndex) {
1479
+ popup_manager_zIndex = popup_manager_zIndex || (external_vue_default.a.prototype.$ELEMENT || {}).zIndex || 2000;
1480
+ hasInitZIndex = true;
1481
+ }
1482
+ return popup_manager_zIndex;
1483
+ },
1484
+ set: function set(value) {
1485
+ popup_manager_zIndex = value;
1486
+ }
1487
+ });
1488
+
1489
+ var popup_manager_getTopPopup = function getTopPopup() {
1490
+ if (external_vue_default.a.prototype.$isServer) return;
1491
+ if (PopupManager.modalStack.length > 0) {
1492
+ var topPopup = PopupManager.modalStack[PopupManager.modalStack.length - 1];
1493
+ if (!topPopup) return;
1494
+ var instance = PopupManager.getInstance(topPopup.id);
1495
+
1496
+ return instance;
1497
+ }
1498
+ };
1499
+
1500
+ if (!external_vue_default.a.prototype.$isServer) {
1501
+ // handle `esc` key when the popup is shown
1502
+ window.addEventListener('keydown', function (event) {
1503
+ if (event.keyCode === 27) {
1504
+ var topPopup = popup_manager_getTopPopup();
1505
+
1506
+ if (topPopup && topPopup.closeOnPressEscape) {
1507
+ topPopup.handleClose ? topPopup.handleClose() : topPopup.handleAction ? topPopup.handleAction('cancel') : topPopup.close();
1508
+ }
1509
+ }
1510
+ });
1511
+ }
1512
+
1513
+ /* harmony default export */ var popup_manager = (PopupManager);
1514
+ // EXTERNAL MODULE: ./src/utils/scrollbar-width.js
1515
+ var scrollbar_width = __webpack_require__(8);
1516
+
1517
+ // CONCATENATED MODULE: ./src/utils/popup/index.js
1518
+
1519
+
1520
+
1521
+
1522
+
1523
+
1524
+ var idSeed = 1;
1525
+
1526
+ var scrollBarWidth = void 0;
1527
+
1528
+ /* harmony default export */ var popup = __webpack_exports__["b"] = ({
1529
+ props: {
1530
+ visible: {
1531
+ type: Boolean,
1532
+ default: false
1533
+ },
1534
+ openDelay: {},
1535
+ closeDelay: {},
1536
+ zIndex: {},
1537
+ modal: {
1538
+ type: Boolean,
1539
+ default: false
1540
+ },
1541
+ modalFade: {
1542
+ type: Boolean,
1543
+ default: true
1544
+ },
1545
+ modalClass: {},
1546
+ modalAppendToBody: {
1547
+ type: Boolean,
1548
+ default: false
1549
+ },
1550
+ lockScroll: {
1551
+ type: Boolean,
1552
+ default: true
1553
+ },
1554
+ closeOnPressEscape: {
1555
+ type: Boolean,
1556
+ default: false
1557
+ },
1558
+ closeOnClickModal: {
1559
+ type: Boolean,
1560
+ default: false
1561
+ }
1562
+ },
1563
+
1564
+ beforeMount: function beforeMount() {
1565
+ this._popupId = 'popup-' + idSeed++;
1566
+ popup_manager.register(this._popupId, this);
1567
+ },
1568
+ beforeDestroy: function beforeDestroy() {
1569
+ popup_manager.deregister(this._popupId);
1570
+ popup_manager.closeModal(this._popupId);
1571
+
1572
+ this.restoreBodyStyle();
1573
+ },
1574
+ data: function data() {
1575
+ return {
1576
+ opened: false,
1577
+ bodyPaddingRight: null,
1578
+ computedBodyPaddingRight: 0,
1579
+ withoutHiddenClass: true,
1580
+ rendered: false
1581
+ };
1582
+ },
1583
+
1584
+
1585
+ watch: {
1586
+ visible: function visible(val) {
1587
+ var _this = this;
1588
+
1589
+ if (val) {
1590
+ if (this._opening) return;
1591
+ if (!this.rendered) {
1592
+ this.rendered = true;
1593
+ external_vue_default.a.nextTick(function () {
1594
+ _this.open();
1595
+ });
1596
+ } else {
1597
+ this.open();
1598
+ }
1599
+ } else {
1600
+ this.close();
1601
+ }
1602
+ }
1603
+ },
1604
+
1605
+ methods: {
1606
+ open: function open(options) {
1607
+ var _this2 = this;
1608
+
1609
+ if (!this.rendered) {
1610
+ this.rendered = true;
1611
+ }
1612
+
1613
+ var props = Object(merge["a" /* default */])({}, this.$props || this, options);
1614
+
1615
+ if (this._closeTimer) {
1616
+ clearTimeout(this._closeTimer);
1617
+ this._closeTimer = null;
1618
+ }
1619
+ clearTimeout(this._openTimer);
1620
+
1621
+ var openDelay = Number(props.openDelay);
1622
+ if (openDelay > 0) {
1623
+ this._openTimer = setTimeout(function () {
1624
+ _this2._openTimer = null;
1625
+ _this2.doOpen(props);
1626
+ }, openDelay);
1627
+ } else {
1628
+ this.doOpen(props);
1629
+ }
1630
+ },
1631
+ doOpen: function doOpen(props) {
1632
+ if (this.$isServer) return;
1633
+ if (this.willOpen && !this.willOpen()) return;
1634
+ if (this.opened) return;
1635
+
1636
+ this._opening = true;
1637
+
1638
+ var dom = this.$el;
1639
+
1640
+ var modal = props.modal;
1641
+
1642
+ var zIndex = props.zIndex;
1643
+ if (zIndex) {
1644
+ popup_manager.zIndex = zIndex;
1645
+ }
1646
+
1647
+ if (modal) {
1648
+ if (this._closing) {
1649
+ popup_manager.closeModal(this._popupId);
1650
+ this._closing = false;
1651
+ }
1652
+ popup_manager.openModal(this._popupId, popup_manager.nextZIndex(), this.modalAppendToBody ? undefined : dom, props.modalClass, props.modalFade);
1653
+ if (props.lockScroll) {
1654
+ this.withoutHiddenClass = !Object(utils_dom["d" /* hasClass */])(document.body, 'el-popup-parent--hidden');
1655
+ if (this.withoutHiddenClass) {
1656
+ this.bodyPaddingRight = document.body.style.paddingRight;
1657
+ this.computedBodyPaddingRight = parseInt(Object(utils_dom["c" /* getStyle */])(document.body, 'paddingRight'), 10);
1658
+ }
1659
+ scrollBarWidth = Object(scrollbar_width["a" /* default */])();
1660
+ var bodyHasOverflow = document.documentElement.clientHeight < document.body.scrollHeight;
1661
+ var bodyOverflowY = Object(utils_dom["c" /* getStyle */])(document.body, 'overflowY');
1662
+ if (scrollBarWidth > 0 && (bodyHasOverflow || bodyOverflowY === 'scroll') && this.withoutHiddenClass) {
1663
+ document.body.style.paddingRight = this.computedBodyPaddingRight + scrollBarWidth + 'px';
1664
+ }
1665
+ Object(utils_dom["a" /* addClass */])(document.body, 'el-popup-parent--hidden');
1666
+ }
1667
+ }
1668
+
1669
+ if (getComputedStyle(dom).position === 'static') {
1670
+ dom.style.position = 'absolute';
1671
+ }
1672
+
1673
+ dom.style.zIndex = popup_manager.nextZIndex();
1674
+ this.opened = true;
1675
+
1676
+ this.onOpen && this.onOpen();
1677
+
1678
+ this.doAfterOpen();
1679
+ },
1680
+ doAfterOpen: function doAfterOpen() {
1681
+ this._opening = false;
1682
+ },
1683
+ close: function close() {
1684
+ var _this3 = this;
1685
+
1686
+ if (this.willClose && !this.willClose()) return;
1687
+
1688
+ if (this._openTimer !== null) {
1689
+ clearTimeout(this._openTimer);
1690
+ this._openTimer = null;
1691
+ }
1692
+ clearTimeout(this._closeTimer);
1693
+
1694
+ var closeDelay = Number(this.closeDelay);
1695
+
1696
+ if (closeDelay > 0) {
1697
+ this._closeTimer = setTimeout(function () {
1698
+ _this3._closeTimer = null;
1699
+ _this3.doClose();
1700
+ }, closeDelay);
1701
+ } else {
1702
+ this.doClose();
1703
+ }
1704
+ },
1705
+ doClose: function doClose() {
1706
+ this._closing = true;
1707
+
1708
+ this.onClose && this.onClose();
1709
+
1710
+ if (this.lockScroll) {
1711
+ setTimeout(this.restoreBodyStyle, 200);
1712
+ }
1713
+
1714
+ this.opened = false;
1715
+
1716
+ this.doAfterClose();
1717
+ },
1718
+ doAfterClose: function doAfterClose() {
1719
+ popup_manager.closeModal(this._popupId);
1720
+ this._closing = false;
1721
+ },
1722
+ restoreBodyStyle: function restoreBodyStyle() {
1723
+ if (this.modal && this.withoutHiddenClass) {
1724
+ document.body.style.paddingRight = this.bodyPaddingRight;
1725
+ Object(utils_dom["i" /* removeClass */])(document.body, 'el-popup-parent--hidden');
1726
+ }
1727
+ this.withoutHiddenClass = true;
1728
+ }
1729
+ }
1730
+ });
1731
+
1732
+
1733
+
596
1734
  /***/ })
597
1735
 
598
1736
  /******/ });