cy-element-ui 1.0.52 → 1.0.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/lib/alert.js +108 -108
  2. package/lib/aside.js +77 -77
  3. package/lib/autocomplete.js +5199 -360
  4. package/lib/avatar.js +4 -4
  5. package/lib/backtop.js +192 -101
  6. package/lib/badge.js +108 -108
  7. package/lib/breadcrumb-item.js +108 -108
  8. package/lib/breadcrumb.js +94 -94
  9. package/lib/button-group.js +4 -4
  10. package/lib/button.js +4 -4
  11. package/lib/calendar.js +1734 -137
  12. package/lib/card.js +96 -96
  13. package/lib/carousel-item.js +452 -108
  14. package/lib/carousel.js +1256 -105
  15. package/lib/cascader-panel.js +3524 -191
  16. package/lib/cascader.js +8077 -717
  17. package/lib/checkbox-button.js +151 -119
  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 +4705 -828
  24. package/lib/container.js +88 -88
  25. package/lib/date-picker.js +10735 -4709
  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 +128 -96
  33. package/lib/dropdown-menu.js +2301 -99
  34. package/lib/dropdown.js +990 -54
  35. package/lib/element-ui.common.js +31129 -13451
  36. package/lib/empty.js +793 -99
  37. package/lib/fileUpload.js +2542 -26
  38. package/lib/footer.js +77 -77
  39. package/lib/form-item.js +3305 -202
  40. package/lib/form.js +129 -115
  41. package/lib/header.js +77 -77
  42. package/lib/icon.js +67 -67
  43. package/lib/image.js +1662 -146
  44. package/lib/index.js +1 -1
  45. package/lib/infinite-scroll.js +435 -26
  46. package/lib/input-number.js +1458 -24
  47. package/lib/input.js +509 -37
  48. package/lib/link.js +4 -4
  49. package/lib/loading.js +886 -149
  50. package/lib/locale/format.js +1 -1
  51. package/lib/main.js +64 -64
  52. package/lib/menu-item-group.js +103 -103
  53. package/lib/menu-item.js +3140 -137
  54. package/lib/menu.js +1058 -123
  55. package/lib/message-box.js +2743 -188
  56. package/lib/message.js +1196 -118
  57. package/lib/mixins/migrating.js +1 -1
  58. package/lib/notification.js +1196 -119
  59. package/lib/option-group.js +151 -119
  60. package/lib/option.js +392 -16
  61. package/lib/page-header.js +781 -87
  62. package/lib/pagination.js +7747 -646
  63. package/lib/popconfirm.js +3606 -219
  64. package/lib/popover.js +2604 -79
  65. package/lib/progress.js +4 -4
  66. package/lib/radio-button.js +151 -119
  67. package/lib/radio-group.js +151 -119
  68. package/lib/radio.js +47 -15
  69. package/lib/rate.js +756 -113
  70. package/lib/result.js +108 -108
  71. package/lib/row.js +2 -2
  72. package/lib/scrollbar.js +1813 -41
  73. package/lib/select.js +5547 -209
  74. package/lib/selectDisplayInput.js +4 -4
  75. package/lib/skeleton-item.js +108 -108
  76. package/lib/skeleton.js +108 -108
  77. package/lib/slider.js +4768 -530
  78. package/lib/spinner.js +100 -100
  79. package/lib/statistic.js +9600 -112
  80. package/lib/step.js +108 -108
  81. package/lib/steps.js +514 -99
  82. package/lib/subTitle.js +91 -91
  83. package/lib/submenu.js +2397 -76
  84. package/lib/switch.js +582 -127
  85. package/lib/tab-pane.js +108 -108
  86. package/lib/tabDialog.js +1630 -104
  87. package/lib/table-column.js +1115 -267
  88. package/lib/table.js +7085 -1253
  89. package/lib/tabs.js +1615 -113
  90. package/lib/tag.js +4 -4
  91. package/lib/time-picker.js +6487 -550
  92. package/lib/time-select.js +6334 -407
  93. package/lib/timeline-item.js +108 -108
  94. package/lib/timeline.js +4 -4
  95. package/lib/tooltip.js +2688 -44
  96. package/lib/transfer.js +2238 -146
  97. package/lib/transitions/collapse-transition.js +1 -1
  98. package/lib/tree.js +1563 -148
  99. package/lib/treeSelect.js +3421 -106
  100. package/lib/upload.js +1198 -31
  101. package/lib/utils/clickoutside.js +1 -1
  102. package/lib/utils/date-util.js +2 -2
  103. package/lib/utils/popup/index.js +2 -2
  104. package/lib/utils/popup/popup-manager.js +1 -1
  105. package/lib/utils/util.js +1 -1
  106. package/lib/utils/vdom.js +1 -1
  107. package/lib/utils/vue-popper.js +1 -1
  108. package/package.json +1 -1
  109. package/src/directives/repeat-click.js +2 -2
  110. package/src/index.js +1 -1
  111. package/src/locale/format.js +1 -1
  112. package/src/mixins/migrating.js +1 -1
  113. package/src/transitions/collapse-transition.js +1 -1
  114. package/src/utils/clickoutside.js +1 -1
  115. package/src/utils/date-util.js +2 -2
  116. package/src/utils/popup/index.js +2 -2
  117. package/src/utils/popup/popup-manager.js +1 -1
  118. package/src/utils/util.js +1 -1
  119. package/src/utils/vdom.js +1 -1
  120. package/src/utils/vue-popper.js +1 -1
package/lib/message.js CHANGED
@@ -82,145 +82,261 @@ module.exports =
82
82
  /******/
83
83
  /******/
84
84
  /******/ // Load entry module and return exports
85
- /******/ return __webpack_require__(__webpack_require__.s = 85);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 158);
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:
91
98
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
92
99
 
93
100
  "use strict";
94
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; });
95
- /* globals __VUE_SSR_CONTEXT__ */
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
+ };
96
135
 
97
- // IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
98
- // This module is a runtime utility for cleaner component module output and will
99
- // be included in the final webpack user bundle.
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
+ }();
100
169
 
101
- function normalizeComponent(
102
- scriptExports,
103
- render,
104
- staticRenderFns,
105
- functionalTemplate,
106
- injectStyles,
107
- scopeId,
108
- moduleIdentifier /* server only */,
109
- shadowMode /* vue-cli only */
110
- ) {
111
- // Vue.extend constructor export interop
112
- var options =
113
- typeof scriptExports === 'function' ? scriptExports.options : scriptExports
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
+ };
114
180
 
115
- // render functions
116
- if (render) {
117
- options.render = render
118
- options.staticRenderFns = staticRenderFns
119
- options._compiled = true
120
- }
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
+ };
121
191
 
122
- // functional template
123
- if (functionalTemplate) {
124
- options.functional = true
125
- }
192
+ /* istanbul ignore next */
193
+ function addClass(el, cls) {
194
+ if (!el) return;
195
+ var curClass = el.className;
196
+ var classes = (cls || '').split(' ');
126
197
 
127
- // scopedId
128
- if (scopeId) {
129
- options._scopeId = 'data-v-' + scopeId
130
- }
198
+ for (var i = 0, j = classes.length; i < j; i++) {
199
+ var clsName = classes[i];
200
+ if (!clsName) continue;
131
201
 
132
- var hook
133
- if (moduleIdentifier) {
134
- // server build
135
- hook = function (context) {
136
- // 2.3 injection
137
- context =
138
- context || // cached call
139
- (this.$vnode && this.$vnode.ssrContext) || // stateful
140
- (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
141
- // 2.2 with runInNewContext: true
142
- if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
143
- context = __VUE_SSR_CONTEXT__
144
- }
145
- // inject component styles
146
- if (injectStyles) {
147
- injectStyles.call(this, context)
148
- }
149
- // register component module identifier for async chunk inferrence
150
- if (context && context._registeredComponents) {
151
- context._registeredComponents.add(moduleIdentifier)
152
- }
153
- }
154
- // used by ssr in case component is cached and beforeCreate
155
- // never gets called
156
- options._ssrRegister = hook
157
- } else if (injectStyles) {
158
- hook = shadowMode
159
- ? function () {
160
- injectStyles.call(
161
- this,
162
- (options.functional ? this.parent : this).$root.$options.shadowRoot
163
- )
164
- }
165
- : injectStyles
166
- }
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
+ };
167
212
 
168
- if (hook) {
169
- if (options.functional) {
170
- // for template-only hot-reload because in that case the render fn doesn't
171
- // go through the normalizer
172
- options._injectStyles = hook
173
- // register for functional component in vue file
174
- var originalRender = options.render
175
- options.render = function renderWithStyleInjection(h, context) {
176
- hook.call(context)
177
- return originalRender(h, context)
178
- }
179
- } else {
180
- // inject component registration as beforeCreate hook
181
- var existing = options.beforeCreate
182
- options.beforeCreate = existing ? [].concat(existing, hook) : [hook]
183
- }
184
- }
213
+ /* istanbul ignore next */
214
+ function removeClass(el, cls) {
215
+ if (!el || !cls) return;
216
+ var classes = cls.split(' ');
217
+ var curClass = ' ' + el.className + ' ';
185
218
 
186
- return {
187
- exports: scriptExports,
188
- options: options
189
- }
190
- }
219
+ for (var i = 0, j = classes.length; i < j; i++) {
220
+ var clsName = classes[i];
221
+ if (!clsName) continue;
191
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
+ };
192
233
 
193
- /***/ }),
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
+ };
194
270
 
195
- /***/ 14:
196
- /***/ (function(module, exports) {
271
+ /* istanbul ignore next */
272
+ function setStyle(element, styleName, value) {
273
+ if (!element || !styleName) return;
197
274
 
198
- module.exports = require("element-ui/src/utils/popup");
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
+ };
199
290
 
200
- /***/ }),
291
+ var isScroll = function isScroll(el, vertical) {
292
+ if (isServer) return;
201
293
 
202
- /***/ 18:
203
- /***/ (function(module, exports) {
294
+ var determinedDirection = vertical !== null && vertical !== undefined;
295
+ var overflow = determinedDirection ? vertical ? getStyle(el, 'overflow-y') : getStyle(el, 'overflow-x') : getStyle(el, 'overflow');
204
296
 
205
- module.exports = require("element-ui/src/utils/types");
297
+ return overflow.match(/(scroll|auto|overlay)/);
298
+ };
206
299
 
207
- /***/ }),
300
+ var getScrollContainer = function getScrollContainer(el, vertical) {
301
+ if (isServer) return;
208
302
 
209
- /***/ 23:
210
- /***/ (function(module, exports) {
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
+ }
211
313
 
212
- module.exports = require("element-ui/src/utils/vdom");
314
+ return parent;
315
+ };
213
316
 
214
- /***/ }),
317
+ var isInContainer = function isInContainer(el, container) {
318
+ if (isServer || !el || !container) return false;
215
319
 
216
- /***/ 7:
217
- /***/ (function(module, exports) {
320
+ var elRect = el.getBoundingClientRect();
321
+ var containerRect = void 0;
218
322
 
219
- module.exports = require("vue");
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
+ };
220
336
 
221
337
  /***/ }),
222
338
 
223
- /***/ 85:
339
+ /***/ 158:
224
340
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
225
341
 
226
342
  "use strict";
@@ -228,7 +344,7 @@ module.exports = require("vue");
228
344
  __webpack_require__.r(__webpack_exports__);
229
345
 
230
346
  // EXTERNAL MODULE: external "vue"
231
- var external_vue_ = __webpack_require__(7);
347
+ var external_vue_ = __webpack_require__(0);
232
348
  var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);
233
349
 
234
350
  // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/vue-loader/lib??vue-loader-options!./packages/message/src/main.vue?vue&type=template&id=42076ee3
@@ -391,7 +507,7 @@ var typeMap = {
391
507
  // CONCATENATED MODULE: ./packages/message/src/main.vue?vue&type=script&lang=js
392
508
  /* harmony default export */ var src_mainvue_type_script_lang_js = (mainvue_type_script_lang_js);
393
509
  // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
394
- var componentNormalizer = __webpack_require__(0);
510
+ var componentNormalizer = __webpack_require__(2);
395
511
 
396
512
  // CONCATENATED MODULE: ./packages/message/src/main.vue
397
513
 
@@ -413,14 +529,14 @@ var component = Object(componentNormalizer["a" /* default */])(
413
529
  )
414
530
 
415
531
  /* harmony default export */ var main = (component.exports);
416
- // EXTERNAL MODULE: external "element-ui/src/utils/popup"
417
- var popup_ = __webpack_require__(14);
532
+ // EXTERNAL MODULE: ./src/utils/popup/index.js + 1 modules
533
+ var popup = __webpack_require__(9);
418
534
 
419
- // EXTERNAL MODULE: external "element-ui/src/utils/vdom"
420
- var vdom_ = __webpack_require__(23);
535
+ // EXTERNAL MODULE: ./src/utils/vdom.js
536
+ var vdom = __webpack_require__(38);
421
537
 
422
- // EXTERNAL MODULE: external "element-ui/src/utils/types"
423
- var types_ = __webpack_require__(18);
538
+ // EXTERNAL MODULE: ./src/utils/types.js
539
+ var types = __webpack_require__(4);
424
540
 
425
541
  // CONCATENATED MODULE: ./packages/message/src/main.js
426
542
  var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
@@ -454,7 +570,7 @@ var main_Message = function Message(options) {
454
570
  data: options
455
571
  });
456
572
  instance.id = id;
457
- if (Object(vdom_["isVNode"])(instance.message)) {
573
+ if (Object(vdom["a" /* isVNode */])(instance.message)) {
458
574
  instance.$slots.default = [instance.message];
459
575
  instance.message = null;
460
576
  }
@@ -466,14 +582,14 @@ var main_Message = function Message(options) {
466
582
  });
467
583
  instance.verticalOffset = verticalOffset;
468
584
  instance.visible = true;
469
- instance.$el.style.zIndex = popup_["PopupManager"].nextZIndex();
585
+ instance.$el.style.zIndex = popup["a" /* PopupManager */].nextZIndex();
470
586
  instances.push(instance);
471
587
  return instance;
472
588
  };
473
589
 
474
590
  ['success', 'warning', 'info', 'error'].forEach(function (type) {
475
591
  main_Message[type] = function (options) {
476
- if (Object(types_["isObject"])(options) && !Object(vdom_["isVNode"])(options)) {
592
+ if (Object(types["d" /* isObject */])(options) && !Object(vdom["a" /* isVNode */])(options)) {
477
593
  return main_Message(_extends({}, options, {
478
594
  type: type
479
595
  }));
@@ -518,6 +634,968 @@ main_Message.closeAll = function () {
518
634
 
519
635
  /* harmony default export */ var message = __webpack_exports__["default"] = (src_main);
520
636
 
637
+ /***/ }),
638
+
639
+ /***/ 2:
640
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
641
+
642
+ "use strict";
643
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; });
644
+ /* globals __VUE_SSR_CONTEXT__ */
645
+
646
+ // IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
647
+ // This module is a runtime utility for cleaner component module output and will
648
+ // be included in the final webpack user bundle.
649
+
650
+ function normalizeComponent(
651
+ scriptExports,
652
+ render,
653
+ staticRenderFns,
654
+ functionalTemplate,
655
+ injectStyles,
656
+ scopeId,
657
+ moduleIdentifier /* server only */,
658
+ shadowMode /* vue-cli only */
659
+ ) {
660
+ // Vue.extend constructor export interop
661
+ var options =
662
+ typeof scriptExports === 'function' ? scriptExports.options : scriptExports
663
+
664
+ // render functions
665
+ if (render) {
666
+ options.render = render
667
+ options.staticRenderFns = staticRenderFns
668
+ options._compiled = true
669
+ }
670
+
671
+ // functional template
672
+ if (functionalTemplate) {
673
+ options.functional = true
674
+ }
675
+
676
+ // scopedId
677
+ if (scopeId) {
678
+ options._scopeId = 'data-v-' + scopeId
679
+ }
680
+
681
+ var hook
682
+ if (moduleIdentifier) {
683
+ // server build
684
+ hook = function (context) {
685
+ // 2.3 injection
686
+ context =
687
+ context || // cached call
688
+ (this.$vnode && this.$vnode.ssrContext) || // stateful
689
+ (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
690
+ // 2.2 with runInNewContext: true
691
+ if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
692
+ context = __VUE_SSR_CONTEXT__
693
+ }
694
+ // inject component styles
695
+ if (injectStyles) {
696
+ injectStyles.call(this, context)
697
+ }
698
+ // register component module identifier for async chunk inferrence
699
+ if (context && context._registeredComponents) {
700
+ context._registeredComponents.add(moduleIdentifier)
701
+ }
702
+ }
703
+ // used by ssr in case component is cached and beforeCreate
704
+ // never gets called
705
+ options._ssrRegister = hook
706
+ } else if (injectStyles) {
707
+ hook = shadowMode
708
+ ? function () {
709
+ injectStyles.call(
710
+ this,
711
+ (options.functional ? this.parent : this).$root.$options.shadowRoot
712
+ )
713
+ }
714
+ : injectStyles
715
+ }
716
+
717
+ if (hook) {
718
+ if (options.functional) {
719
+ // for template-only hot-reload because in that case the render fn doesn't
720
+ // go through the normalizer
721
+ options._injectStyles = hook
722
+ // register for functional component in vue file
723
+ var originalRender = options.render
724
+ options.render = function renderWithStyleInjection(h, context) {
725
+ hook.call(context)
726
+ return originalRender(h, context)
727
+ }
728
+ } else {
729
+ // inject component registration as beforeCreate hook
730
+ var existing = options.beforeCreate
731
+ options.beforeCreate = existing ? [].concat(existing, hook) : [hook]
732
+ }
733
+ }
734
+
735
+ return {
736
+ exports: scriptExports,
737
+ options: options
738
+ }
739
+ }
740
+
741
+
742
+ /***/ }),
743
+
744
+ /***/ 3:
745
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
746
+
747
+ "use strict";
748
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "r", function() { return noop; });
749
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "j", function() { return hasOwn; });
750
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "t", function() { return toObject; });
751
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return getValueByPath; });
752
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return getPropByPath; });
753
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return generateId; });
754
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "u", function() { return valueEquals; });
755
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return escapeRegexpString; });
756
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return arrayFindIndex; });
757
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return arrayFind; });
758
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return coerceTruthyValueToArray; });
759
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "o", function() { return isIE; });
760
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "k", function() { return isEdge; });
761
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "n", function() { return isFirefox; });
762
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return autoprefixer; });
763
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "q", function() { return kebabCase; });
764
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return capitalize; });
765
+ /* unused harmony export looseEqual */
766
+ /* unused harmony export arrayEquals */
767
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "m", function() { return isEqual; });
768
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "l", function() { return isEmpty; });
769
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "s", function() { return rafThrottle; });
770
+ /* unused harmony export objToArray */
771
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "p", function() { return isMac; });
772
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
773
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);
774
+ /* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4);
775
+ 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; };
776
+
777
+
778
+
779
+
780
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
781
+
782
+ function noop() {};
783
+
784
+ function hasOwn(obj, key) {
785
+ return hasOwnProperty.call(obj, key);
786
+ };
787
+
788
+ function extend(to, _from) {
789
+ for (var key in _from) {
790
+ to[key] = _from[key];
791
+ }
792
+ return to;
793
+ };
794
+
795
+ function toObject(arr) {
796
+ var res = {};
797
+ for (var i = 0; i < arr.length; i++) {
798
+ if (arr[i]) {
799
+ extend(res, arr[i]);
800
+ }
801
+ }
802
+ return res;
803
+ };
804
+
805
+ var getValueByPath = function getValueByPath(object, prop) {
806
+ prop = prop || '';
807
+ var paths = prop.split('.');
808
+ var current = object;
809
+ var result = null;
810
+ for (var i = 0, j = paths.length; i < j; i++) {
811
+ var path = paths[i];
812
+ if (!current) break;
813
+
814
+ if (i === j - 1) {
815
+ result = current[path];
816
+ break;
817
+ }
818
+ current = current[path];
819
+ }
820
+ return result;
821
+ };
822
+
823
+ function getPropByPath(obj, path, strict) {
824
+ var tempObj = obj;
825
+ path = path.replace(/\[(\w+)\]/g, '.$1');
826
+ path = path.replace(/^\./, '');
827
+
828
+ var keyArr = path.split('.');
829
+ var i = 0;
830
+ for (var len = keyArr.length; i < len - 1; ++i) {
831
+ if (!tempObj && !strict) break;
832
+ var key = keyArr[i];
833
+ if (key in tempObj) {
834
+ tempObj = tempObj[key];
835
+ } else {
836
+ if (strict) {
837
+ throw new Error('please transfer a valid prop path to form item!');
838
+ }
839
+ break;
840
+ }
841
+ }
842
+ return {
843
+ o: tempObj,
844
+ k: keyArr[i],
845
+ v: tempObj ? tempObj[keyArr[i]] : null
846
+ };
847
+ };
848
+
849
+ var generateId = function generateId() {
850
+ return Math.floor(Math.random() * 10000);
851
+ };
852
+
853
+ var valueEquals = function valueEquals(a, b) {
854
+ // see: https://stackoverflow.com/questions/3115982/how-to-check-if-two-arrays-are-equal-with-javascript
855
+ if (a === b) return true;
856
+ if (!(a instanceof Array)) return false;
857
+ if (!(b instanceof Array)) return false;
858
+ if (a.length !== b.length) return false;
859
+ for (var i = 0; i !== a.length; ++i) {
860
+ if (a[i] !== b[i]) return false;
861
+ }
862
+ return true;
863
+ };
864
+
865
+ var escapeRegexpString = function escapeRegexpString() {
866
+ var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
867
+ return String(value).replace(/[|\\{}()[\]^$+*?.]/g, '\\$&');
868
+ };
869
+
870
+ // TODO: use native Array.find, Array.findIndex when IE support is dropped
871
+ var arrayFindIndex = function arrayFindIndex(arr, pred) {
872
+ for (var i = 0; i !== arr.length; ++i) {
873
+ if (pred(arr[i])) {
874
+ return i;
875
+ }
876
+ }
877
+ return -1;
878
+ };
879
+
880
+ var arrayFind = function arrayFind(arr, pred) {
881
+ var idx = arrayFindIndex(arr, pred);
882
+ return idx !== -1 ? arr[idx] : undefined;
883
+ };
884
+
885
+ // coerce truthy value to array
886
+ var coerceTruthyValueToArray = function coerceTruthyValueToArray(val) {
887
+ if (Array.isArray(val)) {
888
+ return val;
889
+ } else if (val) {
890
+ return [val];
891
+ } else {
892
+ return [];
893
+ }
894
+ };
895
+
896
+ var isIE = function isIE() {
897
+ return !vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer && !isNaN(Number(document.documentMode));
898
+ };
899
+
900
+ var isEdge = function isEdge() {
901
+ return !vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer && navigator.userAgent.indexOf('Edge') > -1;
902
+ };
903
+
904
+ var isFirefox = function isFirefox() {
905
+ return !vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer && !!window.navigator.userAgent.match(/firefox/i);
906
+ };
907
+
908
+ var autoprefixer = function autoprefixer(style) {
909
+ if ((typeof style === 'undefined' ? 'undefined' : _typeof(style)) !== 'object') return style;
910
+ var rules = ['transform', 'transition', 'animation'];
911
+ var prefixes = ['ms-', 'webkit-'];
912
+ rules.forEach(function (rule) {
913
+ var value = style[rule];
914
+ if (rule && value) {
915
+ prefixes.forEach(function (prefix) {
916
+ style[prefix + rule] = value;
917
+ });
918
+ }
919
+ });
920
+ return style;
921
+ };
922
+
923
+ var kebabCase = function kebabCase(str) {
924
+ var hyphenateRE = /([^-])([A-Z])/g;
925
+ return str.replace(hyphenateRE, '$1-$2').replace(hyphenateRE, '$1-$2').toLowerCase();
926
+ };
927
+
928
+ var capitalize = function capitalize(str) {
929
+ if (!Object(_types__WEBPACK_IMPORTED_MODULE_1__[/* isString */ "e"])(str)) return str;
930
+ return str.charAt(0).toUpperCase() + str.slice(1);
931
+ };
932
+
933
+ var looseEqual = function looseEqual(a, b) {
934
+ var isObjectA = Object(_types__WEBPACK_IMPORTED_MODULE_1__[/* isObject */ "d"])(a);
935
+ var isObjectB = Object(_types__WEBPACK_IMPORTED_MODULE_1__[/* isObject */ "d"])(b);
936
+ if (isObjectA && isObjectB) {
937
+ return JSON.stringify(a) === JSON.stringify(b);
938
+ } else if (!isObjectA && !isObjectB) {
939
+ return String(a) === String(b);
940
+ } else {
941
+ return false;
942
+ }
943
+ };
944
+
945
+ var arrayEquals = function arrayEquals(arrayA, arrayB) {
946
+ arrayA = arrayA || [];
947
+ arrayB = arrayB || [];
948
+
949
+ if (arrayA.length !== arrayB.length) {
950
+ return false;
951
+ }
952
+
953
+ for (var i = 0; i < arrayA.length; i++) {
954
+ if (!looseEqual(arrayA[i], arrayB[i])) {
955
+ return false;
956
+ }
957
+ }
958
+
959
+ return true;
960
+ };
961
+
962
+ var isEqual = function isEqual(value1, value2) {
963
+ if (Array.isArray(value1) && Array.isArray(value2)) {
964
+ return arrayEquals(value1, value2);
965
+ }
966
+ return looseEqual(value1, value2);
967
+ };
968
+
969
+ var isEmpty = function isEmpty(val) {
970
+ // null or undefined
971
+ if (val == null) return true;
972
+
973
+ if (typeof val === 'boolean') return false;
974
+
975
+ if (typeof val === 'number') return !val;
976
+
977
+ if (val instanceof Error) return val.message === '';
978
+
979
+ switch (Object.prototype.toString.call(val)) {
980
+ // String or Array
981
+ case '[object String]':
982
+ case '[object Array]':
983
+ return !val.length;
984
+
985
+ // Map or Set or File
986
+ case '[object File]':
987
+ case '[object Map]':
988
+ case '[object Set]':
989
+ {
990
+ return !val.size;
991
+ }
992
+ // Plain Object
993
+ case '[object Object]':
994
+ {
995
+ return !Object.keys(val).length;
996
+ }
997
+ }
998
+
999
+ return false;
1000
+ };
1001
+
1002
+ function rafThrottle(fn) {
1003
+ var locked = false;
1004
+ return function () {
1005
+ var _this = this;
1006
+
1007
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
1008
+ args[_key] = arguments[_key];
1009
+ }
1010
+
1011
+ if (locked) return;
1012
+ locked = true;
1013
+ window.requestAnimationFrame(function (_) {
1014
+ fn.apply(_this, args);
1015
+ locked = false;
1016
+ });
1017
+ };
1018
+ }
1019
+
1020
+ function objToArray(obj) {
1021
+ if (Array.isArray(obj)) {
1022
+ return obj;
1023
+ }
1024
+ return isEmpty(obj) ? [] : [obj];
1025
+ }
1026
+
1027
+ var isMac = function isMac() {
1028
+ return !vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer && /macintosh|mac os x/i.test(navigator.userAgent);
1029
+ };
1030
+
1031
+ /***/ }),
1032
+
1033
+ /***/ 38:
1034
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1035
+
1036
+ "use strict";
1037
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return isVNode; });
1038
+ /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
1039
+ 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; };
1040
+
1041
+
1042
+
1043
+ function isVNode(node) {
1044
+ return node !== null && (typeof node === 'undefined' ? 'undefined' : _typeof(node)) === 'object' && Object(_util__WEBPACK_IMPORTED_MODULE_0__[/* hasOwn */ "j"])(node, 'componentOptions');
1045
+ };
1046
+
1047
+ /***/ }),
1048
+
1049
+ /***/ 4:
1050
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1051
+
1052
+ "use strict";
1053
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return isString; });
1054
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return isObject; });
1055
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return isHtmlElement; });
1056
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return isFunction; });
1057
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return isUndefined; });
1058
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return isDefined; });
1059
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
1060
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);
1061
+ 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; };
1062
+
1063
+
1064
+
1065
+ function isString(obj) {
1066
+ return Object.prototype.toString.call(obj) === '[object String]';
1067
+ }
1068
+
1069
+ function isObject(obj) {
1070
+ return Object.prototype.toString.call(obj) === '[object Object]';
1071
+ }
1072
+
1073
+ function isHtmlElement(node) {
1074
+ return node && node.nodeType === Node.ELEMENT_NODE;
1075
+ }
1076
+
1077
+ /**
1078
+ * - Inspired:
1079
+ * https://github.com/jashkenas/underscore/blob/master/modules/isFunction.js
1080
+ */
1081
+ var isFunction = function isFunction(functionToCheck) {
1082
+ var getType = {};
1083
+ return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';
1084
+ };
1085
+
1086
+ if ( true && (typeof Int8Array === 'undefined' ? 'undefined' : _typeof(Int8Array)) !== 'object' && (vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer || typeof document.childNodes !== 'function')) {
1087
+ isFunction = function isFunction(obj) {
1088
+ return typeof obj === 'function' || false;
1089
+ };
1090
+ }
1091
+
1092
+
1093
+
1094
+ var isUndefined = function isUndefined(val) {
1095
+ return val === void 0;
1096
+ };
1097
+
1098
+ var isDefined = function isDefined(val) {
1099
+ return val !== undefined && val !== null;
1100
+ };
1101
+
1102
+ /***/ }),
1103
+
1104
+ /***/ 7:
1105
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1106
+
1107
+ "use strict";
1108
+ /* harmony default export */ __webpack_exports__["a"] = (function (target) {
1109
+ for (var i = 1, j = arguments.length; i < j; i++) {
1110
+ var source = arguments[i] || {};
1111
+ for (var prop in source) {
1112
+ if (source.hasOwnProperty(prop)) {
1113
+ var value = source[prop];
1114
+ if (value !== undefined) {
1115
+ target[prop] = value;
1116
+ }
1117
+ }
1118
+ }
1119
+ }
1120
+
1121
+ return target;
1122
+ });;
1123
+
1124
+ /***/ }),
1125
+
1126
+ /***/ 8:
1127
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1128
+
1129
+ "use strict";
1130
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
1131
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);
1132
+
1133
+
1134
+ var scrollBarWidth = void 0;
1135
+
1136
+ /* harmony default export */ __webpack_exports__["a"] = (function () {
1137
+ if (vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer) return 0;
1138
+ if (scrollBarWidth !== undefined) return scrollBarWidth;
1139
+
1140
+ var outer = document.createElement('div');
1141
+ outer.className = 'el-scrollbar__wrap';
1142
+ outer.style.visibility = 'hidden';
1143
+ outer.style.width = '100px';
1144
+ outer.style.position = 'absolute';
1145
+ outer.style.top = '-9999px';
1146
+ document.body.appendChild(outer);
1147
+
1148
+ var widthNoScroll = outer.offsetWidth;
1149
+ outer.style.overflow = 'scroll';
1150
+
1151
+ var inner = document.createElement('div');
1152
+ inner.style.width = '100%';
1153
+ outer.appendChild(inner);
1154
+
1155
+ var widthWithScroll = inner.offsetWidth;
1156
+ outer.parentNode.removeChild(outer);
1157
+ scrollBarWidth = widthNoScroll - widthWithScroll;
1158
+
1159
+ return scrollBarWidth;
1160
+ });;
1161
+
1162
+ /***/ }),
1163
+
1164
+ /***/ 9:
1165
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1166
+
1167
+ "use strict";
1168
+
1169
+ // EXPORTS
1170
+ __webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ popup_manager; });
1171
+
1172
+ // EXTERNAL MODULE: external "vue"
1173
+ var external_vue_ = __webpack_require__(0);
1174
+ var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);
1175
+
1176
+ // EXTERNAL MODULE: ./src/utils/merge.js
1177
+ var merge = __webpack_require__(7);
1178
+
1179
+ // EXTERNAL MODULE: ./src/utils/dom.js
1180
+ var utils_dom = __webpack_require__(1);
1181
+
1182
+ // CONCATENATED MODULE: ./src/utils/popup/popup-manager.js
1183
+
1184
+
1185
+
1186
+ var hasModal = false;
1187
+ var hasInitZIndex = false;
1188
+ var popup_manager_zIndex = void 0;
1189
+
1190
+ var popup_manager_getModal = function getModal() {
1191
+ if (external_vue_default.a.prototype.$isServer) return;
1192
+ var modalDom = PopupManager.modalDom;
1193
+ if (modalDom) {
1194
+ hasModal = true;
1195
+ } else {
1196
+ hasModal = false;
1197
+ modalDom = document.createElement('div');
1198
+ PopupManager.modalDom = modalDom;
1199
+
1200
+ modalDom.addEventListener('touchmove', function (event) {
1201
+ event.preventDefault();
1202
+ event.stopPropagation();
1203
+ });
1204
+
1205
+ modalDom.addEventListener('click', function () {
1206
+ PopupManager.doOnModalClick && PopupManager.doOnModalClick();
1207
+ });
1208
+ }
1209
+
1210
+ return modalDom;
1211
+ };
1212
+
1213
+ var instances = {};
1214
+
1215
+ var PopupManager = {
1216
+ modalFade: true,
1217
+
1218
+ getInstance: function getInstance(id) {
1219
+ return instances[id];
1220
+ },
1221
+
1222
+ register: function register(id, instance) {
1223
+ if (id && instance) {
1224
+ instances[id] = instance;
1225
+ }
1226
+ },
1227
+
1228
+ deregister: function deregister(id) {
1229
+ if (id) {
1230
+ instances[id] = null;
1231
+ delete instances[id];
1232
+ }
1233
+ },
1234
+
1235
+ nextZIndex: function nextZIndex() {
1236
+ return PopupManager.zIndex++;
1237
+ },
1238
+
1239
+ modalStack: [],
1240
+
1241
+ doOnModalClick: function doOnModalClick() {
1242
+ var topItem = PopupManager.modalStack[PopupManager.modalStack.length - 1];
1243
+ if (!topItem) return;
1244
+
1245
+ var instance = PopupManager.getInstance(topItem.id);
1246
+ if (instance && instance.closeOnClickModal) {
1247
+ instance.close();
1248
+ }
1249
+ },
1250
+
1251
+ openModal: function openModal(id, zIndex, dom, modalClass, modalFade) {
1252
+ if (external_vue_default.a.prototype.$isServer) return;
1253
+ if (!id || zIndex === undefined) return;
1254
+ this.modalFade = modalFade;
1255
+
1256
+ var modalStack = this.modalStack;
1257
+
1258
+ for (var i = 0, j = modalStack.length; i < j; i++) {
1259
+ var item = modalStack[i];
1260
+ if (item.id === id) {
1261
+ return;
1262
+ }
1263
+ }
1264
+
1265
+ var modalDom = popup_manager_getModal();
1266
+
1267
+ Object(utils_dom["a" /* addClass */])(modalDom, 'v-modal');
1268
+ if (this.modalFade && !hasModal) {
1269
+ Object(utils_dom["a" /* addClass */])(modalDom, 'v-modal-enter');
1270
+ }
1271
+ if (modalClass) {
1272
+ var classArr = modalClass.trim().split(/\s+/);
1273
+ classArr.forEach(function (item) {
1274
+ return Object(utils_dom["a" /* addClass */])(modalDom, item);
1275
+ });
1276
+ }
1277
+ setTimeout(function () {
1278
+ Object(utils_dom["i" /* removeClass */])(modalDom, 'v-modal-enter');
1279
+ }, 200);
1280
+
1281
+ if (dom && dom.parentNode && dom.parentNode.nodeType !== 11) {
1282
+ dom.parentNode.appendChild(modalDom);
1283
+ } else {
1284
+ document.body.appendChild(modalDom);
1285
+ }
1286
+
1287
+ if (zIndex) {
1288
+ modalDom.style.zIndex = zIndex;
1289
+ }
1290
+ modalDom.tabIndex = 0;
1291
+ modalDom.style.display = '';
1292
+
1293
+ this.modalStack.push({ id: id, zIndex: zIndex, modalClass: modalClass });
1294
+ },
1295
+
1296
+ closeModal: function closeModal(id) {
1297
+ var modalStack = this.modalStack;
1298
+ var modalDom = popup_manager_getModal();
1299
+
1300
+ if (modalStack.length > 0) {
1301
+ var topItem = modalStack[modalStack.length - 1];
1302
+ if (topItem.id === id) {
1303
+ if (topItem.modalClass) {
1304
+ var classArr = topItem.modalClass.trim().split(/\s+/);
1305
+ classArr.forEach(function (item) {
1306
+ return Object(utils_dom["i" /* removeClass */])(modalDom, item);
1307
+ });
1308
+ }
1309
+
1310
+ modalStack.pop();
1311
+ if (modalStack.length > 0) {
1312
+ modalDom.style.zIndex = modalStack[modalStack.length - 1].zIndex;
1313
+ }
1314
+ } else {
1315
+ for (var i = modalStack.length - 1; i >= 0; i--) {
1316
+ if (modalStack[i].id === id) {
1317
+ modalStack.splice(i, 1);
1318
+ break;
1319
+ }
1320
+ }
1321
+ }
1322
+ }
1323
+
1324
+ if (modalStack.length === 0) {
1325
+ if (this.modalFade) {
1326
+ Object(utils_dom["a" /* addClass */])(modalDom, 'v-modal-leave');
1327
+ }
1328
+ setTimeout(function () {
1329
+ if (modalStack.length === 0) {
1330
+ if (modalDom.parentNode) modalDom.parentNode.removeChild(modalDom);
1331
+ modalDom.style.display = 'none';
1332
+ PopupManager.modalDom = undefined;
1333
+ }
1334
+ Object(utils_dom["i" /* removeClass */])(modalDom, 'v-modal-leave');
1335
+ }, 200);
1336
+ }
1337
+ }
1338
+ };
1339
+
1340
+ Object.defineProperty(PopupManager, 'zIndex', {
1341
+ configurable: true,
1342
+ get: function get() {
1343
+ if (!hasInitZIndex) {
1344
+ popup_manager_zIndex = popup_manager_zIndex || (external_vue_default.a.prototype.$ELEMENT || {}).zIndex || 2000;
1345
+ hasInitZIndex = true;
1346
+ }
1347
+ return popup_manager_zIndex;
1348
+ },
1349
+ set: function set(value) {
1350
+ popup_manager_zIndex = value;
1351
+ }
1352
+ });
1353
+
1354
+ var popup_manager_getTopPopup = function getTopPopup() {
1355
+ if (external_vue_default.a.prototype.$isServer) return;
1356
+ if (PopupManager.modalStack.length > 0) {
1357
+ var topPopup = PopupManager.modalStack[PopupManager.modalStack.length - 1];
1358
+ if (!topPopup) return;
1359
+ var instance = PopupManager.getInstance(topPopup.id);
1360
+
1361
+ return instance;
1362
+ }
1363
+ };
1364
+
1365
+ if (!external_vue_default.a.prototype.$isServer) {
1366
+ // handle `esc` key when the popup is shown
1367
+ window.addEventListener('keydown', function (event) {
1368
+ if (event.keyCode === 27) {
1369
+ var topPopup = popup_manager_getTopPopup();
1370
+
1371
+ if (topPopup && topPopup.closeOnPressEscape) {
1372
+ topPopup.handleClose ? topPopup.handleClose() : topPopup.handleAction ? topPopup.handleAction('cancel') : topPopup.close();
1373
+ }
1374
+ }
1375
+ });
1376
+ }
1377
+
1378
+ /* harmony default export */ var popup_manager = (PopupManager);
1379
+ // EXTERNAL MODULE: ./src/utils/scrollbar-width.js
1380
+ var scrollbar_width = __webpack_require__(8);
1381
+
1382
+ // CONCATENATED MODULE: ./src/utils/popup/index.js
1383
+
1384
+
1385
+
1386
+
1387
+
1388
+
1389
+ var idSeed = 1;
1390
+
1391
+ var scrollBarWidth = void 0;
1392
+
1393
+ /* harmony default export */ var popup = __webpack_exports__["b"] = ({
1394
+ props: {
1395
+ visible: {
1396
+ type: Boolean,
1397
+ default: false
1398
+ },
1399
+ openDelay: {},
1400
+ closeDelay: {},
1401
+ zIndex: {},
1402
+ modal: {
1403
+ type: Boolean,
1404
+ default: false
1405
+ },
1406
+ modalFade: {
1407
+ type: Boolean,
1408
+ default: true
1409
+ },
1410
+ modalClass: {},
1411
+ modalAppendToBody: {
1412
+ type: Boolean,
1413
+ default: false
1414
+ },
1415
+ lockScroll: {
1416
+ type: Boolean,
1417
+ default: true
1418
+ },
1419
+ closeOnPressEscape: {
1420
+ type: Boolean,
1421
+ default: false
1422
+ },
1423
+ closeOnClickModal: {
1424
+ type: Boolean,
1425
+ default: false
1426
+ }
1427
+ },
1428
+
1429
+ beforeMount: function beforeMount() {
1430
+ this._popupId = 'popup-' + idSeed++;
1431
+ popup_manager.register(this._popupId, this);
1432
+ },
1433
+ beforeDestroy: function beforeDestroy() {
1434
+ popup_manager.deregister(this._popupId);
1435
+ popup_manager.closeModal(this._popupId);
1436
+
1437
+ this.restoreBodyStyle();
1438
+ },
1439
+ data: function data() {
1440
+ return {
1441
+ opened: false,
1442
+ bodyPaddingRight: null,
1443
+ computedBodyPaddingRight: 0,
1444
+ withoutHiddenClass: true,
1445
+ rendered: false
1446
+ };
1447
+ },
1448
+
1449
+
1450
+ watch: {
1451
+ visible: function visible(val) {
1452
+ var _this = this;
1453
+
1454
+ if (val) {
1455
+ if (this._opening) return;
1456
+ if (!this.rendered) {
1457
+ this.rendered = true;
1458
+ external_vue_default.a.nextTick(function () {
1459
+ _this.open();
1460
+ });
1461
+ } else {
1462
+ this.open();
1463
+ }
1464
+ } else {
1465
+ this.close();
1466
+ }
1467
+ }
1468
+ },
1469
+
1470
+ methods: {
1471
+ open: function open(options) {
1472
+ var _this2 = this;
1473
+
1474
+ if (!this.rendered) {
1475
+ this.rendered = true;
1476
+ }
1477
+
1478
+ var props = Object(merge["a" /* default */])({}, this.$props || this, options);
1479
+
1480
+ if (this._closeTimer) {
1481
+ clearTimeout(this._closeTimer);
1482
+ this._closeTimer = null;
1483
+ }
1484
+ clearTimeout(this._openTimer);
1485
+
1486
+ var openDelay = Number(props.openDelay);
1487
+ if (openDelay > 0) {
1488
+ this._openTimer = setTimeout(function () {
1489
+ _this2._openTimer = null;
1490
+ _this2.doOpen(props);
1491
+ }, openDelay);
1492
+ } else {
1493
+ this.doOpen(props);
1494
+ }
1495
+ },
1496
+ doOpen: function doOpen(props) {
1497
+ if (this.$isServer) return;
1498
+ if (this.willOpen && !this.willOpen()) return;
1499
+ if (this.opened) return;
1500
+
1501
+ this._opening = true;
1502
+
1503
+ var dom = this.$el;
1504
+
1505
+ var modal = props.modal;
1506
+
1507
+ var zIndex = props.zIndex;
1508
+ if (zIndex) {
1509
+ popup_manager.zIndex = zIndex;
1510
+ }
1511
+
1512
+ if (modal) {
1513
+ if (this._closing) {
1514
+ popup_manager.closeModal(this._popupId);
1515
+ this._closing = false;
1516
+ }
1517
+ popup_manager.openModal(this._popupId, popup_manager.nextZIndex(), this.modalAppendToBody ? undefined : dom, props.modalClass, props.modalFade);
1518
+ if (props.lockScroll) {
1519
+ this.withoutHiddenClass = !Object(utils_dom["d" /* hasClass */])(document.body, 'el-popup-parent--hidden');
1520
+ if (this.withoutHiddenClass) {
1521
+ this.bodyPaddingRight = document.body.style.paddingRight;
1522
+ this.computedBodyPaddingRight = parseInt(Object(utils_dom["c" /* getStyle */])(document.body, 'paddingRight'), 10);
1523
+ }
1524
+ scrollBarWidth = Object(scrollbar_width["a" /* default */])();
1525
+ var bodyHasOverflow = document.documentElement.clientHeight < document.body.scrollHeight;
1526
+ var bodyOverflowY = Object(utils_dom["c" /* getStyle */])(document.body, 'overflowY');
1527
+ if (scrollBarWidth > 0 && (bodyHasOverflow || bodyOverflowY === 'scroll') && this.withoutHiddenClass) {
1528
+ document.body.style.paddingRight = this.computedBodyPaddingRight + scrollBarWidth + 'px';
1529
+ }
1530
+ Object(utils_dom["a" /* addClass */])(document.body, 'el-popup-parent--hidden');
1531
+ }
1532
+ }
1533
+
1534
+ if (getComputedStyle(dom).position === 'static') {
1535
+ dom.style.position = 'absolute';
1536
+ }
1537
+
1538
+ dom.style.zIndex = popup_manager.nextZIndex();
1539
+ this.opened = true;
1540
+
1541
+ this.onOpen && this.onOpen();
1542
+
1543
+ this.doAfterOpen();
1544
+ },
1545
+ doAfterOpen: function doAfterOpen() {
1546
+ this._opening = false;
1547
+ },
1548
+ close: function close() {
1549
+ var _this3 = this;
1550
+
1551
+ if (this.willClose && !this.willClose()) return;
1552
+
1553
+ if (this._openTimer !== null) {
1554
+ clearTimeout(this._openTimer);
1555
+ this._openTimer = null;
1556
+ }
1557
+ clearTimeout(this._closeTimer);
1558
+
1559
+ var closeDelay = Number(this.closeDelay);
1560
+
1561
+ if (closeDelay > 0) {
1562
+ this._closeTimer = setTimeout(function () {
1563
+ _this3._closeTimer = null;
1564
+ _this3.doClose();
1565
+ }, closeDelay);
1566
+ } else {
1567
+ this.doClose();
1568
+ }
1569
+ },
1570
+ doClose: function doClose() {
1571
+ this._closing = true;
1572
+
1573
+ this.onClose && this.onClose();
1574
+
1575
+ if (this.lockScroll) {
1576
+ setTimeout(this.restoreBodyStyle, 200);
1577
+ }
1578
+
1579
+ this.opened = false;
1580
+
1581
+ this.doAfterClose();
1582
+ },
1583
+ doAfterClose: function doAfterClose() {
1584
+ popup_manager.closeModal(this._popupId);
1585
+ this._closing = false;
1586
+ },
1587
+ restoreBodyStyle: function restoreBodyStyle() {
1588
+ if (this.modal && this.withoutHiddenClass) {
1589
+ document.body.style.paddingRight = this.bodyPaddingRight;
1590
+ Object(utils_dom["i" /* removeClass */])(document.body, 'el-popup-parent--hidden');
1591
+ }
1592
+ this.withoutHiddenClass = true;
1593
+ }
1594
+ }
1595
+ });
1596
+
1597
+
1598
+
521
1599
  /***/ })
522
1600
 
523
1601
  /******/ });