cy-element-ui 1.0.71 → 1.0.73

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 (113) hide show
  1. package/lib/alert.js +4 -4
  2. package/lib/aside.js +77 -77
  3. package/lib/autocomplete.js +3940 -159
  4. package/lib/avatar.js +108 -108
  5. package/lib/backtop.js +110 -110
  6. package/lib/badge.js +108 -108
  7. package/lib/breadcrumb-item.js +4 -4
  8. package/lib/breadcrumb.js +4 -4
  9. package/lib/button-group.js +4 -4
  10. package/lib/button.js +4 -4
  11. package/lib/calendar.js +1545 -46
  12. package/lib/card.js +96 -96
  13. package/lib/carousel-item.js +452 -108
  14. package/lib/carousel.js +185 -116
  15. package/lib/cascader-panel.js +2270 -187
  16. package/lib/cascader.js +6452 -275
  17. package/lib/checkbox-button.js +43 -11
  18. package/lib/checkbox-group.js +47 -15
  19. package/lib/checkbox.js +47 -15
  20. package/lib/col.js +2 -2
  21. package/lib/collapse-item.js +815 -110
  22. package/lib/collapse.js +108 -108
  23. package/lib/color-picker.js +3953 -153
  24. package/lib/container.js +88 -88
  25. package/lib/date-picker.js +5231 -420
  26. package/lib/descriptions-item.js +2 -2
  27. package/lib/descriptions.js +63 -8
  28. package/lib/dialog.js +1200 -22
  29. package/lib/directives/repeat-click.js +2 -2
  30. package/lib/divider.js +104 -104
  31. package/lib/drawer.js +875 -105
  32. package/lib/dropdown-item.js +43 -11
  33. package/lib/dropdown-menu.js +2274 -72
  34. package/lib/dropdown.js +1072 -136
  35. package/lib/element-ui.common.js +26229 -13291
  36. package/lib/empty.js +603 -7
  37. package/lib/fileUpload.js +2478 -110
  38. package/lib/footer.js +77 -77
  39. package/lib/form-item.js +418 -28
  40. package/lib/form.js +29 -15
  41. package/lib/header.js +77 -77
  42. package/lib/icon.js +4 -4
  43. package/lib/image.js +1376 -49
  44. package/lib/index.js +1 -1
  45. package/lib/infinite-scroll.js +311 -21
  46. package/lib/input-number.js +1423 -34
  47. package/lib/input.js +507 -37
  48. package/lib/link.js +4 -4
  49. package/lib/loading.js +804 -67
  50. package/lib/locale/format.js +1 -1
  51. package/lib/locale/index.js +1 -1
  52. package/lib/main.js +64 -64
  53. package/lib/menu-item-group.js +4 -4
  54. package/lib/menu-item.js +2925 -41
  55. package/lib/menu.js +745 -54
  56. package/lib/message-box.js +2536 -79
  57. package/lib/message.js +1102 -24
  58. package/lib/mixins/locale.js +1 -1
  59. package/lib/mixins/migrating.js +1 -1
  60. package/lib/notification.js +1102 -25
  61. package/lib/option-group.js +43 -11
  62. package/lib/option.js +394 -18
  63. package/lib/page-header.js +683 -87
  64. package/lib/pagination.js +6078 -139
  65. package/lib/popconfirm.js +3508 -219
  66. package/lib/popover.js +2604 -79
  67. package/lib/progress.js +4 -4
  68. package/lib/radio-button.js +43 -11
  69. package/lib/radio-group.js +43 -11
  70. package/lib/radio.js +47 -15
  71. package/lib/rate.js +756 -113
  72. package/lib/result.js +4 -4
  73. package/lib/row.js +2 -2
  74. package/lib/scrollbar.js +735 -50
  75. package/lib/select.js +4352 -209
  76. package/lib/selectDisplayInput.js +108 -108
  77. package/lib/skeleton-item.js +2 -2
  78. package/lib/skeleton.js +108 -108
  79. package/lib/slider.js +4266 -120
  80. package/lib/spinner.js +4 -4
  81. package/lib/statistic.js +9605 -117
  82. package/lib/step.js +108 -108
  83. package/lib/steps.js +514 -99
  84. package/lib/subTitle.js +91 -91
  85. package/lib/submenu.js +2444 -123
  86. package/lib/switch.js +476 -21
  87. package/lib/tab-pane.js +4 -4
  88. package/lib/tabDialog.js +1544 -18
  89. package/lib/table-column.js +881 -33
  90. package/lib/table.js +4469 -426
  91. package/lib/tabs.js +425 -12
  92. package/lib/tag.js +4 -4
  93. package/lib/theme-chalk/src/index.scss +0 -3
  94. package/lib/time-picker.js +5013 -285
  95. package/lib/time-select.js +4945 -177
  96. package/lib/timeline-item.js +108 -108
  97. package/lib/timeline.js +82 -82
  98. package/lib/tooltip.js +2566 -41
  99. package/lib/transfer.js +2135 -141
  100. package/lib/transitions/collapse-transition.js +1 -1
  101. package/lib/tree.js +1372 -55
  102. package/lib/treeSelect.js +3420 -105
  103. package/lib/upload.js +1047 -28
  104. package/lib/utils/clickoutside.js +1 -1
  105. package/lib/utils/date-util.js +2 -2
  106. package/lib/utils/popup/index.js +2 -2
  107. package/lib/utils/popup/popup-manager.js +1 -1
  108. package/lib/utils/util.js +1 -1
  109. package/lib/utils/vdom.js +1 -1
  110. package/lib/utils/vue-popper.js +1 -1
  111. package/package.json +1 -1
  112. package/packages/theme-chalk/src/index.scss +0 -3
  113. package/src/index.js +1 -1
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 = 53);
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 _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(_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(_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,28 +513,351 @@ 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("cy-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 _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("cy-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(_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(_types__WEBPACK_IMPORTED_MODULE_1__[/* isObject */ "d"])(a);
707
+ var isObjectB = Object(_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("cy-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
+ /***/ 53:
217
861
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
218
862
 
219
863
  "use strict";
@@ -331,17 +975,14 @@ render._withStripped = true
331
975
 
332
976
  // CONCATENATED MODULE: ./packages/dialog/src/component.vue?vue&type=template&id=00cb1a07
333
977
 
334
- // EXTERNAL MODULE: external "cy-element-ui/lib/utils/popup"
335
- var popup_ = __webpack_require__(14);
336
- var popup_default = /*#__PURE__*/__webpack_require__.n(popup_);
978
+ // EXTERNAL MODULE: ./src/utils/popup/index.js + 1 modules
979
+ var popup = __webpack_require__(9);
337
980
 
338
- // EXTERNAL MODULE: external "cy-element-ui/lib/mixins/migrating"
339
- var migrating_ = __webpack_require__(11);
340
- var migrating_default = /*#__PURE__*/__webpack_require__.n(migrating_);
981
+ // EXTERNAL MODULE: ./src/mixins/migrating.js
982
+ var migrating = __webpack_require__(12);
341
983
 
342
- // EXTERNAL MODULE: external "cy-element-ui/lib/mixins/emitter"
343
- var emitter_ = __webpack_require__(4);
344
- var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);
984
+ // EXTERNAL MODULE: ./src/mixins/emitter.js
985
+ var emitter = __webpack_require__(6);
345
986
 
346
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
347
988
 
@@ -352,7 +993,7 @@ var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);
352
993
  /* harmony default export */ var componentvue_type_script_lang_js = ({
353
994
  name: 'ElDialog',
354
995
 
355
- mixins: [popup_default.a, emitter_default.a, migrating_default.a],
996
+ mixins: [popup["b" /* default */], emitter["a" /* default */], migrating["a" /* default */]],
356
997
 
357
998
  props: {
358
999
  title: {
@@ -521,7 +1162,7 @@ var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);
521
1162
  // CONCATENATED MODULE: ./packages/dialog/src/component.vue?vue&type=script&lang=js
522
1163
  /* harmony default export */ var src_componentvue_type_script_lang_js = (componentvue_type_script_lang_js);
523
1164
  // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
524
- var componentNormalizer = __webpack_require__(0);
1165
+ var componentNormalizer = __webpack_require__(2);
525
1166
 
526
1167
  // CONCATENATED MODULE: ./packages/dialog/src/component.vue
527
1168
 
@@ -553,6 +1194,543 @@ src_component.install = function (Vue) {
553
1194
 
554
1195
  /* harmony default export */ var dialog = __webpack_exports__["default"] = (src_component);
555
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
+
556
1734
  /***/ })
557
1735
 
558
1736
  /******/ });