eoss 0.1.0-alpha.20 → 0.1.0-alpha.21

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 (207) hide show
  1. package/lib/account-login.js +1943 -1890
  2. package/lib/alert.js +4 -4
  3. package/lib/aside.js +4 -4
  4. package/lib/autocomplete.js +4936 -4834
  5. package/lib/avatar.js +4 -4
  6. package/lib/backtop.js +4 -4
  7. package/lib/badge.js +4 -4
  8. package/lib/breadcrumb-item.js +6 -6
  9. package/lib/breadcrumb.js +7 -7
  10. package/lib/button-group.js +11 -14
  11. package/lib/button.js +6 -6
  12. package/lib/ca-login.js +2480 -2382
  13. package/lib/calendar.js +798 -798
  14. package/lib/card.js +4 -4
  15. package/lib/carousel-item.js +911 -813
  16. package/lib/carousel.js +1646 -1548
  17. package/lib/cascader-panel.js +2556 -2458
  18. package/lib/cascader.js +4546 -4444
  19. package/lib/checkbox-button.js +4 -4
  20. package/lib/checkbox-group.js +2894 -2841
  21. package/lib/checkbox.js +4 -4
  22. package/lib/col.js +2 -2
  23. package/lib/collapse-item.js +35159 -2572
  24. package/lib/collapse.js +35410 -2762
  25. package/lib/color-picker.js +494 -490
  26. package/lib/config/api.js +15 -1
  27. package/lib/container.js +4 -4
  28. package/lib/cron.js +4 -4
  29. package/lib/data-table.js +1895 -1842
  30. package/lib/date-picker.js +6422 -6320
  31. package/lib/dialog.js +2912 -2806
  32. package/lib/divider.js +4 -4
  33. package/lib/drawer.js +311 -299
  34. package/lib/dropdown-item.js +6 -6
  35. package/lib/dropdown-menu.js +539 -535
  36. package/lib/dropdown.js +2270 -2172
  37. package/lib/email-login.js +1783 -1730
  38. package/lib/empty.js +723 -0
  39. package/lib/eoss.common.js +63680 -56193
  40. package/lib/flip.js +4 -4
  41. package/lib/flow-group.js +2985 -2887
  42. package/lib/flow.js +28067 -28022
  43. package/lib/footer.js +4 -4
  44. package/lib/form-item.js +1935 -1837
  45. package/lib/form.js +9230 -9092
  46. package/lib/header.js +4 -4
  47. package/lib/icon.js +1708 -1590
  48. package/lib/icons.js +4 -4
  49. package/lib/image-viewer.js +1660 -1562
  50. package/lib/image.js +162 -162
  51. package/lib/index.js +1 -1
  52. package/lib/infinite-scroll.js +76 -76
  53. package/lib/input-number.js +172 -172
  54. package/lib/input.js +1362 -1264
  55. package/lib/link.js +4 -4
  56. package/lib/loading.js +321 -317
  57. package/lib/login.js +3306 -3300
  58. package/lib/lowcode.js +13320 -0
  59. package/lib/main.js +14465 -14339
  60. package/lib/marquee.js +1237 -1139
  61. package/lib/menu-item-group.js +119 -119
  62. package/lib/menu-item.js +114 -114
  63. package/lib/menu.js +6193 -6091
  64. package/lib/message-box.js +3582 -3480
  65. package/lib/message.js +2265 -2163
  66. package/lib/notification.js +2430 -2328
  67. package/lib/option-group.js +4 -4
  68. package/lib/option.js +842 -744
  69. package/lib/page-header.js +4 -4
  70. package/lib/pagination.js +1916 -1815
  71. package/lib/phone-login.js +1788 -1735
  72. package/lib/popconfirm.js +8 -8
  73. package/lib/popover.js +4559 -4457
  74. package/lib/progress.js +4 -4
  75. package/lib/qr-code.js +9 -9
  76. package/lib/qrcode-login.js +1600 -1543
  77. package/lib/radio-button.js +6 -6
  78. package/lib/radio-group.js +2142 -2089
  79. package/lib/radio.js +6 -6
  80. package/lib/rate.js +1226 -1128
  81. package/lib/row.js +2 -2
  82. package/lib/scrollbar.js +2695 -2597
  83. package/lib/select.js +5985 -5961
  84. package/lib/selector-panel.js +5239 -5186
  85. package/lib/selector.js +1712 -1659
  86. package/lib/slider.js +16 -16
  87. package/lib/step.js +35836 -2736
  88. package/lib/steps.js +1281 -1183
  89. package/lib/submenu.js +461 -457
  90. package/lib/switch.js +1010 -912
  91. package/lib/tab-pane.js +4 -4
  92. package/lib/table-column.js +2595 -2497
  93. package/lib/table.js +9225 -9239
  94. package/lib/tabs.js +2414 -2320
  95. package/lib/tag.js +4 -4
  96. package/lib/theme-chalk/account-login.css +1 -1
  97. package/lib/theme-chalk/autocomplete.css +1 -1
  98. package/lib/theme-chalk/base.css +1 -1
  99. package/lib/theme-chalk/cascader.css +1 -1
  100. package/lib/theme-chalk/date-picker.css +1 -1
  101. package/lib/theme-chalk/empty.css +1 -0
  102. package/lib/theme-chalk/fonts/iconfont.ttf +0 -0
  103. package/lib/theme-chalk/fonts/iconfont.woff +0 -0
  104. package/lib/theme-chalk/form.css +1 -1
  105. package/lib/theme-chalk/icon.css +1 -1
  106. package/lib/theme-chalk/index.css +1 -1
  107. package/lib/theme-chalk/input-number.css +1 -1
  108. package/lib/theme-chalk/input.css +1 -1
  109. package/lib/theme-chalk/login.css +1 -1
  110. package/lib/theme-chalk/lowcode.css +1 -0
  111. package/lib/theme-chalk/main.css +1 -1
  112. package/lib/theme-chalk/message-box.css +1 -1
  113. package/lib/theme-chalk/pagination.css +1 -1
  114. package/lib/theme-chalk/qrcode-login.css +1 -1
  115. package/lib/theme-chalk/select.css +1 -1
  116. package/lib/theme-chalk/slider.css +1 -1
  117. package/lib/theme-chalk/tabs.css +1 -1
  118. package/lib/theme-chalk/time-picker.css +1 -1
  119. package/lib/theme-chalk/transfer.css +1 -1
  120. package/lib/time-picker.js +5823 -5819
  121. package/lib/time-select.js +3578 -3574
  122. package/lib/timeline-item.js +4 -4
  123. package/lib/timeline.js +4 -4
  124. package/lib/tips.js +1633 -1580
  125. package/lib/toolbar.js +213 -213
  126. package/lib/tooltip.js +4441 -4339
  127. package/lib/transfer.js +938 -840
  128. package/lib/tree-group.js +1875 -1757
  129. package/lib/tree.js +2626 -2573
  130. package/lib/upload.js +7209 -7156
  131. package/lib/utils/ajax.js +185 -243
  132. package/lib/utils/bus.js +2 -2
  133. package/lib/utils/popup/index.js +5 -1
  134. package/lib/utils/util.js +108 -11
  135. package/package.json +2 -2
  136. package/packages/button/src/button-group.vue +1 -4
  137. package/packages/collapse/src/collapse-item.vue +47 -33
  138. package/packages/dialog/src/dialog.vue +4 -1
  139. package/packages/drawer/src/drawer.vue +12 -4
  140. package/packages/empty/index.js +7 -0
  141. package/packages/empty/src/img-empty.vue +132 -0
  142. package/packages/empty/src/index.vue +49 -0
  143. package/packages/form/src/form-item-render.vue +16 -18
  144. package/packages/form/src/form.vue +27 -5
  145. package/packages/icons/src/icon.json +1 -1
  146. package/packages/login/src/login.vue +19 -21
  147. package/packages/login/src/mixins.js +2 -1
  148. package/packages/lowcode/index.js +5 -0
  149. package/packages/lowcode/src/aside.vue +331 -0
  150. package/packages/lowcode/src/attribute/bind.vue +441 -0
  151. package/packages/lowcode/src/attribute/dependency.vue +325 -0
  152. package/packages/lowcode/src/attribute/function.vue +112 -0
  153. package/packages/lowcode/src/attribute/property.vue +331 -0
  154. package/packages/lowcode/src/attribute/styles.vue +318 -0
  155. package/packages/lowcode/src/attribute.vue +135 -0
  156. package/packages/lowcode/src/canvas.vue +296 -0
  157. package/packages/lowcode/src/json.vue +32 -0
  158. package/packages/lowcode/src/lowcode.vue +539 -0
  159. package/packages/lowcode/src/modules.vue +93 -0
  160. package/packages/lowcode/src/pages.vue +91 -0
  161. package/packages/lowcode/src/render.vue +247 -0
  162. package/packages/lowcode/src/source.vue +32 -0
  163. package/packages/lowcode/src/toolbar.vue +162 -0
  164. package/packages/main/src/components/pages.vue +28 -2
  165. package/packages/main/src/components/set-menus.vue +3 -3
  166. package/packages/main/src/components/user.vue +6 -1
  167. package/packages/main/src/early.vue +2 -2
  168. package/packages/main/src/gzw.vue +55 -61
  169. package/packages/main/src/minxs.js +113 -36
  170. package/packages/pagination/src/pager.vue +2 -2
  171. package/packages/pagination/src/pagination.js +4 -1
  172. package/packages/qrcode-login/src/qrcode-login.vue +6 -2
  173. package/packages/select/src/select.vue +28 -6
  174. package/packages/steps/src/step.vue +7 -5
  175. package/packages/tabs/src/tab-nav.vue +1 -0
  176. package/packages/tabs/src/tabs.vue +0 -2
  177. package/packages/theme-chalk/dist/fonts/iconfont.ttf +0 -0
  178. package/packages/theme-chalk/dist/fonts/iconfont.woff +0 -0
  179. package/packages/theme-chalk/gulpfile.js +3 -0
  180. package/packages/theme-chalk/src/account-login.scss +1 -0
  181. package/packages/theme-chalk/src/base.scss +1 -1
  182. package/packages/theme-chalk/src/common/var.scss +16 -0
  183. package/packages/theme-chalk/src/empty.scss +45 -0
  184. package/packages/theme-chalk/src/fonts/iconfont.ttf +0 -0
  185. package/packages/theme-chalk/src/fonts/iconfont.woff +0 -0
  186. package/packages/theme-chalk/src/form.scss +1 -8
  187. package/packages/theme-chalk/src/icon.scss +30 -1
  188. package/packages/theme-chalk/src/index.scss +2 -0
  189. package/packages/theme-chalk/src/input-number.scss +0 -4
  190. package/packages/theme-chalk/src/input.scss +9 -0
  191. package/packages/theme-chalk/src/login.scss +32 -29
  192. package/packages/theme-chalk/src/lowcode.scss +461 -0
  193. package/packages/theme-chalk/src/main.scss +28 -65
  194. package/packages/theme-chalk/src/pagination.scss +4 -55
  195. package/packages/theme-chalk/src/qrcode-login.scss +3 -1
  196. package/packages/theme-chalk/src/tabs.scss +81 -50
  197. package/src/config/api.js +13 -0
  198. package/src/index.js +17 -4
  199. package/src/utils/ajax.js +61 -65
  200. package/src/utils/bus.js +2 -2
  201. package/src/utils/popup/index.js +5 -1
  202. package/src/utils/util.js +104 -7
  203. package/lib/index_/345/211/257/346/234/254.js +0 -583
  204. package/packages/dialog copy/index.js +0 -8
  205. package/packages/dialog copy/src/dialog.vue +0 -615
  206. package/src/index_/345/211/257/346/234/254.js +0 -359
  207. /package/{packages/form/src → src/components}/field-render.vue +0 -0
package/lib/submenu.js CHANGED
@@ -82,7 +82,7 @@ module.exports =
82
82
  /******/
83
83
  /******/
84
84
  /******/ // Load entry module and return exports
85
- /******/ return __webpack_require__(__webpack_require__.s = 147);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 149);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
@@ -127,208 +127,17 @@ function _broadcast(componentName, eventName, params) {
127
127
 
128
128
  /***/ }),
129
129
 
130
- /***/ 147:
130
+ /***/ 12:
131
131
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
132
132
 
133
133
  "use strict";
134
- __webpack_require__.r(__webpack_exports__);
135
- /* harmony import */ var _menu_src_submenu__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(85);
136
-
137
-
138
- /* istanbul ignore next */
139
- _menu_src_submenu__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].install = function (Vue) {
140
- Vue.component(_menu_src_submenu__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].name, _menu_src_submenu__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"]);
141
- };
142
-
143
- /* harmony default export */ __webpack_exports__["default"] = (_menu_src_submenu__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"]);
144
-
145
- /***/ }),
146
-
147
- /***/ 18:
148
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
149
-
150
- "use strict";
151
- /* harmony default export */ __webpack_exports__["a"] = (function (target) {
152
- for (var i = 1, j = arguments.length; i < j; i++) {
153
- var source = arguments[i] || {};
154
- for (var prop in source) {
155
- if (source.hasOwnProperty(prop)) {
156
- var value = source[prop];
157
- if (value !== undefined) {
158
- target[prop] = value;
159
- }
160
- }
161
- }
162
- }
163
-
164
- return target;
165
- });;
166
-
167
- /***/ }),
168
-
169
- /***/ 19:
170
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
171
-
172
- "use strict";
173
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getScrollbarWidth; });
174
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return scrollIntoView; });
175
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getScrollSize; });
176
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return scrollMove; });
177
- /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
134
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4);
178
135
  /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);
136
+ /* harmony import */ var eoss_src_utils_popup__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(23);
179
137
 
180
138
 
181
- /**
182
- * 缓存变量,用于存储计算过的滚动条宽度
183
- */
184
- var scrollBarWidth = void 0;
185
-
186
- /**
187
- * 计算并返回浏览器滚动条的宽度
188
- * @returns {number} 滚动条宽度(像素)
189
- */
190
- var getScrollbarWidth = function getScrollbarWidth() {
191
- // 服务器端渲染时返回0
192
- if (vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer) return 0;
193
- // 如果已经计算过,直接返回缓存值
194
- if (scrollBarWidth !== undefined) return scrollBarWidth;
195
-
196
- // 创建测试元素
197
- var outer = document.createElement('div');
198
- outer.className = 'es-scrollbar__wrap';
199
- outer.style.visibility = 'hidden';
200
- outer.style.width = '100px';
201
- outer.style.position = 'absolute';
202
- outer.style.top = '-9999px';
203
- document.body.appendChild(outer);
204
-
205
- // 计算无滚动条时的宽度
206
- var widthNoScroll = outer.offsetWidth;
207
- outer.style.overflow = 'scroll';
208
-
209
- // 创建内部元素并计算有滚动条时的宽度
210
- var inner = document.createElement('div');
211
- inner.style.width = '100%';
212
- outer.appendChild(inner);
213
-
214
- var widthWithScroll = inner.offsetWidth;
215
- // 清理DOM
216
- outer.parentNode.removeChild(outer);
217
- // 计算滚动条宽度
218
- scrollBarWidth = widthNoScroll - widthWithScroll;
219
-
220
- return scrollBarWidth;
221
- };
222
-
223
- /**
224
- * 将指定元素滚动到容器视图中
225
- * @param {HTMLElement} container - 容器元素
226
- * @param {HTMLElement} selected - 要滚动到视图中的元素
227
- * @example
228
- * // 用法示例
229
- * const container = document.querySelector('.container');
230
- * const element = document.querySelector('.target-element');
231
- * scrollIntoView(container, element);
232
- */
233
- function scrollIntoView(container, selected) {
234
- // 服务器端渲染时不执行
235
- if (vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer) return;
236
-
237
- // 如果没有指定元素,滚动到顶部
238
- if (!selected) {
239
- container.scrollTop = 0;
240
- return;
241
- }
242
-
243
- // 收集所有偏移父元素
244
- var offsetParents = [];
245
- var pointer = selected.offsetParent;
246
- while (pointer && container !== pointer && container.contains(pointer)) {
247
- offsetParents.push(pointer);
248
- pointer = pointer.offsetParent;
249
- }
250
-
251
- // 计算元素相对于容器的顶部偏移量
252
- var top = selected.offsetTop + offsetParents.reduce(function (prev, curr) {
253
- return prev + curr.offsetTop;
254
- }, 0);
255
- var bottom = top + selected.offsetHeight;
256
- var viewRectTop = container.scrollTop;
257
- var viewRectBottom = viewRectTop + container.clientHeight;
258
-
259
- // 调整滚动位置使元素可见
260
- if (top < viewRectTop) {
261
- container.scrollTop = top;
262
- } else if (bottom > viewRectBottom) {
263
- container.scrollTop = bottom - container.clientHeight;
264
- }
265
- }
266
-
267
- // 获取滚动条大小
268
- function getScrollSize(wrap) {
269
- if (!wrap) {
270
- return { width: '', height: '' };
271
- };
272
- var heightPercentage = 0;
273
- var widthPercentage = 0;
274
-
275
- // 修复滚动条尺寸计算逻辑
276
- var scrollHeight = wrap.scrollHeight;
277
- var scrollWidth = wrap.scrollWidth;
278
- var clientHeight = wrap.clientHeight;
279
- var clientWidth = wrap.clientWidth;
280
- var sizes = {
281
- width: '',
282
- height: ''
283
- };
284
- // 只有当内容高度超过容器高度时才显示垂直滚动条
285
- if (scrollHeight > clientHeight) {
286
- heightPercentage = clientHeight * 100 / scrollHeight;
287
- sizes.height = heightPercentage < 100 ? heightPercentage + '%' : '100%';
288
- } else {
289
- sizes.height = '';
290
- }
291
-
292
- // 只有当内容宽度超过容器宽度时才显示水平滚动条
293
- if (scrollWidth > clientWidth) {
294
- widthPercentage = clientWidth * 100 / scrollWidth;
295
- sizes.width = widthPercentage < 100 ? widthPercentage + '%' : '100%';
296
- } else {
297
- sizes.width = '';
298
- }
299
- return sizes;
300
- }
301
-
302
- // 滚动条移动
303
- function scrollMove(wrap) {
304
- if (!wrap) return;
305
139
 
306
- // 立即更新滚动条位置,不使用阈值判断
307
- var y = wrap.scrollTop * 100 / wrap.clientHeight;
308
- var x = wrap.scrollLeft * 100 / wrap.clientWidth;
309
- return { y: y, x: x };
310
- }
311
-
312
- /***/ }),
313
-
314
- /***/ 2:
315
- /***/ (function(module, exports) {
316
-
317
- module.exports = require("vue");
318
-
319
- /***/ }),
320
-
321
- /***/ 20:
322
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
323
-
324
- "use strict";
325
- /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
326
- /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);
327
- /* harmony import */ var eoss_src_utils_popup__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(22);
328
-
329
-
330
-
331
- var PopperJS = vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer ? function () {} : __webpack_require__(37);
140
+ var PopperJS = vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer ? function () {} : __webpack_require__(41);
332
141
  var stopPropagation = function stopPropagation(e) {
333
142
  return e.stopPropagation();
334
143
  };
@@ -553,43 +362,227 @@ var stopPropagation = function stopPropagation(e) {
553
362
  }
554
363
  }
555
364
 
556
- // Create arrow element
557
- var arrow = document.createElement('div');
365
+ // Create arrow element
366
+ var arrow = document.createElement('div');
367
+
368
+ // Copy Vue hash attribute if exists
369
+ if (hash) {
370
+ arrow.setAttribute(hash, '');
371
+ }
372
+
373
+ // Set arrow attributes
374
+ arrow.setAttribute('x-arrow', '');
375
+ arrow.className = 'popper__arrow';
376
+
377
+ // Append to element
378
+ element.appendChild(arrow);
379
+ }
380
+ },
381
+
382
+ beforeDestroy: function beforeDestroy() {
383
+ this.doDestroy(true);
384
+
385
+ // Clean up DOM elements and event listeners
386
+ if (this.popperElm && this.popperElm.parentNode === document.body) {
387
+ this.popperElm.removeEventListener('click', stopPropagation);
388
+ document.body.removeChild(this.popperElm);
389
+ }
390
+ },
391
+
392
+
393
+ // call destroy in keep-alive mode
394
+ deactivated: function deactivated() {
395
+ this.$options.beforeDestroy[0].call(this);
396
+ }
397
+ });
398
+
399
+ /***/ }),
400
+
401
+ /***/ 149:
402
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
403
+
404
+ "use strict";
405
+ __webpack_require__.r(__webpack_exports__);
406
+ /* harmony import */ var _menu_src_submenu__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(91);
407
+
408
+
409
+ /* istanbul ignore next */
410
+ _menu_src_submenu__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].install = function (Vue) {
411
+ Vue.component(_menu_src_submenu__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].name, _menu_src_submenu__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"]);
412
+ };
413
+
414
+ /* harmony default export */ __webpack_exports__["default"] = (_menu_src_submenu__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"]);
415
+
416
+ /***/ }),
417
+
418
+ /***/ 15:
419
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
420
+
421
+ "use strict";
422
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getScrollbarWidth; });
423
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return scrollIntoView; });
424
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getScrollSize; });
425
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return scrollMove; });
426
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4);
427
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);
428
+
429
+
430
+ /**
431
+ * 缓存变量,用于存储计算过的滚动条宽度
432
+ */
433
+ var scrollBarWidth = void 0;
434
+
435
+ /**
436
+ * 计算并返回浏览器滚动条的宽度
437
+ * @returns {number} 滚动条宽度(像素)
438
+ */
439
+ var getScrollbarWidth = function getScrollbarWidth() {
440
+ // 服务器端渲染时返回0
441
+ if (vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer) return 0;
442
+ // 如果已经计算过,直接返回缓存值
443
+ if (scrollBarWidth !== undefined) return scrollBarWidth;
444
+
445
+ // 创建测试元素
446
+ var outer = document.createElement('div');
447
+ outer.className = 'es-scrollbar__wrap';
448
+ outer.style.visibility = 'hidden';
449
+ outer.style.width = '100px';
450
+ outer.style.position = 'absolute';
451
+ outer.style.top = '-9999px';
452
+ document.body.appendChild(outer);
453
+
454
+ // 计算无滚动条时的宽度
455
+ var widthNoScroll = outer.offsetWidth;
456
+ outer.style.overflow = 'scroll';
457
+
458
+ // 创建内部元素并计算有滚动条时的宽度
459
+ var inner = document.createElement('div');
460
+ inner.style.width = '100%';
461
+ outer.appendChild(inner);
462
+
463
+ var widthWithScroll = inner.offsetWidth;
464
+ // 清理DOM
465
+ outer.parentNode.removeChild(outer);
466
+ // 计算滚动条宽度
467
+ scrollBarWidth = widthNoScroll - widthWithScroll;
468
+
469
+ return scrollBarWidth;
470
+ };
471
+
472
+ /**
473
+ * 将指定元素滚动到容器视图中
474
+ * @param {HTMLElement} container - 容器元素
475
+ * @param {HTMLElement} selected - 要滚动到视图中的元素
476
+ * @example
477
+ * // 用法示例
478
+ * const container = document.querySelector('.container');
479
+ * const element = document.querySelector('.target-element');
480
+ * scrollIntoView(container, element);
481
+ */
482
+ function scrollIntoView(container, selected) {
483
+ // 服务器端渲染时不执行
484
+ if (vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer) return;
485
+
486
+ // 如果没有指定元素,滚动到顶部
487
+ if (!selected) {
488
+ container.scrollTop = 0;
489
+ return;
490
+ }
491
+
492
+ // 收集所有偏移父元素
493
+ var offsetParents = [];
494
+ var pointer = selected.offsetParent;
495
+ while (pointer && container !== pointer && container.contains(pointer)) {
496
+ offsetParents.push(pointer);
497
+ pointer = pointer.offsetParent;
498
+ }
499
+
500
+ // 计算元素相对于容器的顶部偏移量
501
+ var top = selected.offsetTop + offsetParents.reduce(function (prev, curr) {
502
+ return prev + curr.offsetTop;
503
+ }, 0);
504
+ var bottom = top + selected.offsetHeight;
505
+ var viewRectTop = container.scrollTop;
506
+ var viewRectBottom = viewRectTop + container.clientHeight;
507
+
508
+ // 调整滚动位置使元素可见
509
+ if (top < viewRectTop) {
510
+ container.scrollTop = top;
511
+ } else if (bottom > viewRectBottom) {
512
+ container.scrollTop = bottom - container.clientHeight;
513
+ }
514
+ }
515
+
516
+ // 获取滚动条大小
517
+ function getScrollSize(wrap) {
518
+ if (!wrap) {
519
+ return { width: '', height: '' };
520
+ };
521
+ var heightPercentage = 0;
522
+ var widthPercentage = 0;
558
523
 
559
- // Copy Vue hash attribute if exists
560
- if (hash) {
561
- arrow.setAttribute(hash, '');
562
- }
524
+ // 修复滚动条尺寸计算逻辑
525
+ var scrollHeight = wrap.scrollHeight;
526
+ var scrollWidth = wrap.scrollWidth;
527
+ var clientHeight = wrap.clientHeight;
528
+ var clientWidth = wrap.clientWidth;
529
+ var sizes = {
530
+ width: '',
531
+ height: ''
532
+ };
533
+ // 只有当内容高度超过容器高度时才显示垂直滚动条
534
+ if (scrollHeight > clientHeight) {
535
+ heightPercentage = clientHeight * 100 / scrollHeight;
536
+ sizes.height = heightPercentage < 100 ? heightPercentage + '%' : '100%';
537
+ } else {
538
+ sizes.height = '';
539
+ }
563
540
 
564
- // Set arrow attributes
565
- arrow.setAttribute('x-arrow', '');
566
- arrow.className = 'popper__arrow';
541
+ // 只有当内容宽度超过容器宽度时才显示水平滚动条
542
+ if (scrollWidth > clientWidth) {
543
+ widthPercentage = clientWidth * 100 / scrollWidth;
544
+ sizes.width = widthPercentage < 100 ? widthPercentage + '%' : '100%';
545
+ } else {
546
+ sizes.width = '';
547
+ }
548
+ return sizes;
549
+ }
567
550
 
568
- // Append to element
569
- element.appendChild(arrow);
570
- }
571
- },
551
+ // 滚动条移动
552
+ function scrollMove(wrap) {
553
+ if (!wrap) return;
572
554
 
573
- beforeDestroy: function beforeDestroy() {
574
- this.doDestroy(true);
555
+ // 立即更新滚动条位置,不使用阈值判断
556
+ var y = wrap.scrollTop * 100 / wrap.clientHeight;
557
+ var x = wrap.scrollLeft * 100 / wrap.clientWidth;
558
+ return { y: y, x: x };
559
+ }
575
560
 
576
- // Clean up DOM elements and event listeners
577
- if (this.popperElm && this.popperElm.parentNode === document.body) {
578
- this.popperElm.removeEventListener('click', stopPropagation);
579
- document.body.removeChild(this.popperElm);
580
- }
581
- },
561
+ /***/ }),
582
562
 
563
+ /***/ 16:
564
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
583
565
 
584
- // call destroy in keep-alive mode
585
- deactivated: function deactivated() {
586
- this.$options.beforeDestroy[0].call(this);
566
+ "use strict";
567
+ /* harmony default export */ __webpack_exports__["a"] = (function (target) {
568
+ for (var i = 1, j = arguments.length; i < j; i++) {
569
+ var source = arguments[i] || {};
570
+ for (var prop in source) {
571
+ if (source.hasOwnProperty(prop)) {
572
+ var value = source[prop];
573
+ if (value !== undefined) {
574
+ target[prop] = value;
575
+ }
576
+ }
577
+ }
587
578
  }
588
- });
579
+
580
+ return target;
581
+ });;
589
582
 
590
583
  /***/ }),
591
584
 
592
- /***/ 22:
585
+ /***/ 23:
593
586
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
594
587
 
595
588
  "use strict";
@@ -598,14 +591,14 @@ var stopPropagation = function stopPropagation(e) {
598
591
  __webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ popup_manager; });
599
592
 
600
593
  // EXTERNAL MODULE: external "vue"
601
- var external_vue_ = __webpack_require__(2);
594
+ var external_vue_ = __webpack_require__(4);
602
595
  var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);
603
596
 
604
597
  // EXTERNAL MODULE: ./src/utils/merge.js
605
- var merge = __webpack_require__(18);
598
+ var merge = __webpack_require__(16);
606
599
 
607
600
  // EXTERNAL MODULE: ./src/utils/dom.js
608
- var utils_dom = __webpack_require__(4);
601
+ var utils_dom = __webpack_require__(5);
609
602
 
610
603
  // CONCATENATED MODULE: ./src/utils/popup/popup-manager.js
611
604
 
@@ -814,7 +807,7 @@ if (!external_vue_default.a.prototype.$isServer) {
814
807
 
815
808
  /* harmony default export */ var popup_manager = (PopupManager);
816
809
  // EXTERNAL MODULE: ./src/utils/scrollbar.js
817
- var scrollbar = __webpack_require__(19);
810
+ var scrollbar = __webpack_require__(15);
818
811
 
819
812
  // CONCATENATED MODULE: ./src/utils/popup/index.js
820
813
 
@@ -860,6 +853,10 @@ var scrollBarWidth = void 0;
860
853
  closeOnClickModal: {
861
854
  type: Boolean,
862
855
  default: false
856
+ },
857
+ lazy: {
858
+ type: Boolean,
859
+ default: true
863
860
  }
864
861
  },
865
862
 
@@ -889,7 +886,7 @@ var scrollBarWidth = void 0;
889
886
  bodyPaddingRight: null,
890
887
  computedBodyPaddingRight: 0,
891
888
  withoutHiddenClass: true,
892
- rendered: false
889
+ rendered: !this.lazy
893
890
  };
894
891
  },
895
892
 
@@ -1040,14 +1037,126 @@ var scrollBarWidth = void 0;
1040
1037
 
1041
1038
  /***/ }),
1042
1039
 
1043
- /***/ 36:
1040
+ /***/ 3:
1041
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1042
+
1043
+ "use strict";
1044
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; });
1045
+ /* globals __VUE_SSR_CONTEXT__ */
1046
+
1047
+ // IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
1048
+ // This module is a runtime utility for cleaner component module output and will
1049
+ // be included in the final webpack user bundle.
1050
+
1051
+ function normalizeComponent(
1052
+ scriptExports,
1053
+ render,
1054
+ staticRenderFns,
1055
+ functionalTemplate,
1056
+ injectStyles,
1057
+ scopeId,
1058
+ moduleIdentifier /* server only */,
1059
+ shadowMode /* vue-cli only */
1060
+ ) {
1061
+ // Vue.extend constructor export interop
1062
+ var options =
1063
+ typeof scriptExports === 'function' ? scriptExports.options : scriptExports
1064
+
1065
+ // render functions
1066
+ if (render) {
1067
+ options.render = render
1068
+ options.staticRenderFns = staticRenderFns
1069
+ options._compiled = true
1070
+ }
1071
+
1072
+ // functional template
1073
+ if (functionalTemplate) {
1074
+ options.functional = true
1075
+ }
1076
+
1077
+ // scopedId
1078
+ if (scopeId) {
1079
+ options._scopeId = 'data-v-' + scopeId
1080
+ }
1081
+
1082
+ var hook
1083
+ if (moduleIdentifier) {
1084
+ // server build
1085
+ hook = function (context) {
1086
+ // 2.3 injection
1087
+ context =
1088
+ context || // cached call
1089
+ (this.$vnode && this.$vnode.ssrContext) || // stateful
1090
+ (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
1091
+ // 2.2 with runInNewContext: true
1092
+ if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
1093
+ context = __VUE_SSR_CONTEXT__
1094
+ }
1095
+ // inject component styles
1096
+ if (injectStyles) {
1097
+ injectStyles.call(this, context)
1098
+ }
1099
+ // register component module identifier for async chunk inferrence
1100
+ if (context && context._registeredComponents) {
1101
+ context._registeredComponents.add(moduleIdentifier)
1102
+ }
1103
+ }
1104
+ // used by ssr in case component is cached and beforeCreate
1105
+ // never gets called
1106
+ options._ssrRegister = hook
1107
+ } else if (injectStyles) {
1108
+ hook = shadowMode
1109
+ ? function () {
1110
+ injectStyles.call(
1111
+ this,
1112
+ (options.functional ? this.parent : this).$root.$options.shadowRoot
1113
+ )
1114
+ }
1115
+ : injectStyles
1116
+ }
1117
+
1118
+ if (hook) {
1119
+ if (options.functional) {
1120
+ // for template-only hot-reload because in that case the render fn doesn't
1121
+ // go through the normalizer
1122
+ options._injectStyles = hook
1123
+ // register for functional component in vue file
1124
+ var originalRender = options.render
1125
+ options.render = function renderWithStyleInjection(h, context) {
1126
+ hook.call(context)
1127
+ return originalRender(h, context)
1128
+ }
1129
+ } else {
1130
+ // inject component registration as beforeCreate hook
1131
+ var existing = options.beforeCreate
1132
+ options.beforeCreate = existing ? [].concat(existing, hook) : [hook]
1133
+ }
1134
+ }
1135
+
1136
+ return {
1137
+ exports: scriptExports,
1138
+ options: options
1139
+ }
1140
+ }
1141
+
1142
+
1143
+ /***/ }),
1144
+
1145
+ /***/ 37:
1044
1146
  /***/ (function(module, exports) {
1045
1147
 
1046
1148
  module.exports = require("eoss/lib/tooltip");
1047
1149
 
1048
1150
  /***/ }),
1049
1151
 
1050
- /***/ 37:
1152
+ /***/ 4:
1153
+ /***/ (function(module, exports) {
1154
+
1155
+ module.exports = require("vue");
1156
+
1157
+ /***/ }),
1158
+
1159
+ /***/ 41:
1051
1160
  /***/ (function(module, exports, __webpack_require__) {
1052
1161
 
1053
1162
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
@@ -2478,7 +2587,109 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
2478
2587
 
2479
2588
  /***/ }),
2480
2589
 
2481
- /***/ 4:
2590
+ /***/ 49:
2591
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
2592
+
2593
+ "use strict";
2594
+ /* harmony import */ var eoss_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5);
2595
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
2596
+
2597
+
2598
+
2599
+ var Transition = function () {
2600
+ function Transition() {
2601
+ _classCallCheck(this, Transition);
2602
+ }
2603
+
2604
+ Transition.prototype.beforeEnter = function beforeEnter(el) {
2605
+ Object(eoss_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__[/* addClass */ "a"])(el, 'collapse-transition');
2606
+ if (!el.dataset) el.dataset = {};
2607
+ if (el.dataset.state === 6 || !el.dataset.state) {
2608
+ el.dataset.oldPaddingTop = el.style.paddingTop;
2609
+ el.dataset.oldPaddingBottom = el.style.paddingBottom;
2610
+ }
2611
+ el.dataset.state = 1;
2612
+
2613
+ el.style.height = '0';
2614
+ el.style.paddingTop = 0;
2615
+ el.style.paddingBottom = 0;
2616
+ };
2617
+
2618
+ Transition.prototype.enter = function enter(el) {
2619
+ el.dataset.oldOverflow = el.style.overflow;
2620
+ if (el.scrollHeight !== 0) {
2621
+ el.style.height = el.scrollHeight + 'px';
2622
+ el.style.paddingTop = el.dataset.oldPaddingTop;
2623
+ el.style.paddingBottom = el.dataset.oldPaddingBottom;
2624
+ } else {
2625
+ el.style.height = '';
2626
+ el.style.paddingTop = el.dataset.oldPaddingTop;
2627
+ el.style.paddingBottom = el.dataset.oldPaddingBottom;
2628
+ }
2629
+
2630
+ el.dataset.state = 2;
2631
+ el.style.overflow = 'hidden';
2632
+ };
2633
+
2634
+ Transition.prototype.afterEnter = function afterEnter(el) {
2635
+ // for safari: remove class then reset height is necessary
2636
+ Object(eoss_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__[/* removeClass */ "i"])(el, 'collapse-transition');
2637
+ el.style.height = '';
2638
+ el.style.overflow = el.dataset.oldOverflow;
2639
+ el.dataset.state = 3;
2640
+ };
2641
+
2642
+ Transition.prototype.beforeLeave = function beforeLeave(el) {
2643
+ if (!el.dataset) el.dataset = {};
2644
+ el.dataset.oldPaddingTop = el.style.paddingTop;
2645
+ el.dataset.oldPaddingBottom = el.style.paddingBottom;
2646
+ el.dataset.oldOverflow = el.style.overflow;
2647
+ el.dataset.state = 4;
2648
+
2649
+ el.style.height = el.scrollHeight + 'px';
2650
+ el.style.overflow = 'hidden';
2651
+ };
2652
+
2653
+ Transition.prototype.leave = function leave(el) {
2654
+ if (el.scrollHeight !== 0) {
2655
+ // for safari: add class after set height, or it will jump to zero height suddenly, weired
2656
+ Object(eoss_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__[/* addClass */ "a"])(el, 'collapse-transition');
2657
+ el.style.height = 0;
2658
+ el.style.paddingTop = 0;
2659
+ el.style.paddingBottom = 0;
2660
+ el.dataset.state = 5;
2661
+ }
2662
+ };
2663
+
2664
+ Transition.prototype.afterLeave = function afterLeave(el) {
2665
+ Object(eoss_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__[/* removeClass */ "i"])(el, 'collapse-transition');
2666
+ el.style.height = '';
2667
+ el.style.overflow = el.dataset.oldOverflow;
2668
+ el.style.paddingTop = el.dataset.oldPaddingTop;
2669
+ el.style.paddingBottom = el.dataset.oldPaddingBottom;
2670
+ el.dataset.state = 6;
2671
+ };
2672
+
2673
+ return Transition;
2674
+ }();
2675
+
2676
+ /* harmony default export */ __webpack_exports__["a"] = ({
2677
+ name: 'EsCollapseTransition',
2678
+ functional: true,
2679
+ render: function render(h, _ref) {
2680
+ var children = _ref.children;
2681
+
2682
+ var data = {
2683
+ on: new Transition()
2684
+ };
2685
+
2686
+ return h('transition', data, children);
2687
+ }
2688
+ });
2689
+
2690
+ /***/ }),
2691
+
2692
+ /***/ 5:
2482
2693
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2483
2694
 
2484
2695
  "use strict";
@@ -2494,7 +2705,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
2494
2705
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getScrollContainer; });
2495
2706
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return isInContainer; });
2496
2707
  /* unused harmony export insertAfter */
2497
- /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
2708
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4);
2498
2709
  /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);
2499
2710
  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; };
2500
2711
 
@@ -2737,7 +2948,7 @@ function insertAfter(newEl, targetEl) {
2737
2948
 
2738
2949
  /***/ }),
2739
2950
 
2740
- /***/ 42:
2951
+ /***/ 57:
2741
2952
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2742
2953
 
2743
2954
  "use strict";
@@ -2875,10 +3086,10 @@ render._withStripped = true
2875
3086
  // CONCATENATED MODULE: ./packages/menu/src/menu-item.vue?vue&type=template&id=133351e8&
2876
3087
 
2877
3088
  // EXTERNAL MODULE: ./packages/menu/src/menu-mixin.js
2878
- var menu_mixin = __webpack_require__(47);
3089
+ var menu_mixin = __webpack_require__(76);
2879
3090
 
2880
3091
  // EXTERNAL MODULE: external "eoss/lib/tooltip"
2881
- var tooltip_ = __webpack_require__(36);
3092
+ var tooltip_ = __webpack_require__(37);
2882
3093
  var tooltip_default = /*#__PURE__*/__webpack_require__.n(tooltip_);
2883
3094
 
2884
3095
  // EXTERNAL MODULE: ./src/mixins/emitter.js
@@ -3070,7 +3281,7 @@ var emitter = __webpack_require__(10);
3070
3281
  // CONCATENATED MODULE: ./packages/menu/src/menu-item.vue?vue&type=script&lang=js&
3071
3282
  /* harmony default export */ var src_menu_itemvue_type_script_lang_js_ = (menu_itemvue_type_script_lang_js_);
3072
3283
  // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
3073
- var componentNormalizer = __webpack_require__(5);
3284
+ var componentNormalizer = __webpack_require__(3);
3074
3285
 
3075
3286
  // CONCATENATED MODULE: ./packages/menu/src/menu-item.vue
3076
3287
 
@@ -3095,109 +3306,7 @@ var component = Object(componentNormalizer["a" /* default */])(
3095
3306
 
3096
3307
  /***/ }),
3097
3308
 
3098
- /***/ 46:
3099
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
3100
-
3101
- "use strict";
3102
- /* harmony import */ var eoss_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4);
3103
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3104
-
3105
-
3106
-
3107
- var Transition = function () {
3108
- function Transition() {
3109
- _classCallCheck(this, Transition);
3110
- }
3111
-
3112
- Transition.prototype.beforeEnter = function beforeEnter(el) {
3113
- Object(eoss_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__[/* addClass */ "a"])(el, 'collapse-transition');
3114
- if (!el.dataset) el.dataset = {};
3115
- if (el.dataset.state === 6 || !el.dataset.state) {
3116
- el.dataset.oldPaddingTop = el.style.paddingTop;
3117
- el.dataset.oldPaddingBottom = el.style.paddingBottom;
3118
- }
3119
- el.dataset.state = 1;
3120
-
3121
- el.style.height = '0';
3122
- el.style.paddingTop = 0;
3123
- el.style.paddingBottom = 0;
3124
- };
3125
-
3126
- Transition.prototype.enter = function enter(el) {
3127
- el.dataset.oldOverflow = el.style.overflow;
3128
- if (el.scrollHeight !== 0) {
3129
- el.style.height = el.scrollHeight + 'px';
3130
- el.style.paddingTop = el.dataset.oldPaddingTop;
3131
- el.style.paddingBottom = el.dataset.oldPaddingBottom;
3132
- } else {
3133
- el.style.height = '';
3134
- el.style.paddingTop = el.dataset.oldPaddingTop;
3135
- el.style.paddingBottom = el.dataset.oldPaddingBottom;
3136
- }
3137
-
3138
- el.dataset.state = 2;
3139
- el.style.overflow = 'hidden';
3140
- };
3141
-
3142
- Transition.prototype.afterEnter = function afterEnter(el) {
3143
- // for safari: remove class then reset height is necessary
3144
- Object(eoss_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__[/* removeClass */ "i"])(el, 'collapse-transition');
3145
- el.style.height = '';
3146
- el.style.overflow = el.dataset.oldOverflow;
3147
- el.dataset.state = 3;
3148
- };
3149
-
3150
- Transition.prototype.beforeLeave = function beforeLeave(el) {
3151
- if (!el.dataset) el.dataset = {};
3152
- el.dataset.oldPaddingTop = el.style.paddingTop;
3153
- el.dataset.oldPaddingBottom = el.style.paddingBottom;
3154
- el.dataset.oldOverflow = el.style.overflow;
3155
- el.dataset.state = 4;
3156
-
3157
- el.style.height = el.scrollHeight + 'px';
3158
- el.style.overflow = 'hidden';
3159
- };
3160
-
3161
- Transition.prototype.leave = function leave(el) {
3162
- if (el.scrollHeight !== 0) {
3163
- // for safari: add class after set height, or it will jump to zero height suddenly, weired
3164
- Object(eoss_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__[/* addClass */ "a"])(el, 'collapse-transition');
3165
- el.style.height = 0;
3166
- el.style.paddingTop = 0;
3167
- el.style.paddingBottom = 0;
3168
- el.dataset.state = 5;
3169
- }
3170
- };
3171
-
3172
- Transition.prototype.afterLeave = function afterLeave(el) {
3173
- Object(eoss_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__[/* removeClass */ "i"])(el, 'collapse-transition');
3174
- el.style.height = '';
3175
- el.style.overflow = el.dataset.oldOverflow;
3176
- el.style.paddingTop = el.dataset.oldPaddingTop;
3177
- el.style.paddingBottom = el.dataset.oldPaddingBottom;
3178
- el.dataset.state = 6;
3179
- };
3180
-
3181
- return Transition;
3182
- }();
3183
-
3184
- /* harmony default export */ __webpack_exports__["a"] = ({
3185
- name: 'EsCollapseTransition',
3186
- functional: true,
3187
- render: function render(h, _ref) {
3188
- var children = _ref.children;
3189
-
3190
- var data = {
3191
- on: new Transition()
3192
- };
3193
-
3194
- return h('transition', data, children);
3195
- }
3196
- });
3197
-
3198
- /***/ }),
3199
-
3200
- /***/ 47:
3309
+ /***/ 76:
3201
3310
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3202
3311
 
3203
3312
  "use strict";
@@ -3246,7 +3355,7 @@ var Transition = function () {
3246
3355
 
3247
3356
  /***/ }),
3248
3357
 
3249
- /***/ 49:
3358
+ /***/ 80:
3250
3359
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3251
3360
 
3252
3361
  "use strict";
@@ -3406,112 +3515,7 @@ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in ob
3406
3515
 
3407
3516
  /***/ }),
3408
3517
 
3409
- /***/ 5:
3410
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
3411
-
3412
- "use strict";
3413
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; });
3414
- /* globals __VUE_SSR_CONTEXT__ */
3415
-
3416
- // IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
3417
- // This module is a runtime utility for cleaner component module output and will
3418
- // be included in the final webpack user bundle.
3419
-
3420
- function normalizeComponent(
3421
- scriptExports,
3422
- render,
3423
- staticRenderFns,
3424
- functionalTemplate,
3425
- injectStyles,
3426
- scopeId,
3427
- moduleIdentifier /* server only */,
3428
- shadowMode /* vue-cli only */
3429
- ) {
3430
- // Vue.extend constructor export interop
3431
- var options =
3432
- typeof scriptExports === 'function' ? scriptExports.options : scriptExports
3433
-
3434
- // render functions
3435
- if (render) {
3436
- options.render = render
3437
- options.staticRenderFns = staticRenderFns
3438
- options._compiled = true
3439
- }
3440
-
3441
- // functional template
3442
- if (functionalTemplate) {
3443
- options.functional = true
3444
- }
3445
-
3446
- // scopedId
3447
- if (scopeId) {
3448
- options._scopeId = 'data-v-' + scopeId
3449
- }
3450
-
3451
- var hook
3452
- if (moduleIdentifier) {
3453
- // server build
3454
- hook = function (context) {
3455
- // 2.3 injection
3456
- context =
3457
- context || // cached call
3458
- (this.$vnode && this.$vnode.ssrContext) || // stateful
3459
- (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
3460
- // 2.2 with runInNewContext: true
3461
- if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
3462
- context = __VUE_SSR_CONTEXT__
3463
- }
3464
- // inject component styles
3465
- if (injectStyles) {
3466
- injectStyles.call(this, context)
3467
- }
3468
- // register component module identifier for async chunk inferrence
3469
- if (context && context._registeredComponents) {
3470
- context._registeredComponents.add(moduleIdentifier)
3471
- }
3472
- }
3473
- // used by ssr in case component is cached and beforeCreate
3474
- // never gets called
3475
- options._ssrRegister = hook
3476
- } else if (injectStyles) {
3477
- hook = shadowMode
3478
- ? function () {
3479
- injectStyles.call(
3480
- this,
3481
- (options.functional ? this.parent : this).$root.$options.shadowRoot
3482
- )
3483
- }
3484
- : injectStyles
3485
- }
3486
-
3487
- if (hook) {
3488
- if (options.functional) {
3489
- // for template-only hot-reload because in that case the render fn doesn't
3490
- // go through the normalizer
3491
- options._injectStyles = hook
3492
- // register for functional component in vue file
3493
- var originalRender = options.render
3494
- options.render = function renderWithStyleInjection(h, context) {
3495
- hook.call(context)
3496
- return originalRender(h, context)
3497
- }
3498
- } else {
3499
- // inject component registration as beforeCreate hook
3500
- var existing = options.beforeCreate
3501
- options.beforeCreate = existing ? [].concat(existing, hook) : [hook]
3502
- }
3503
- }
3504
-
3505
- return {
3506
- exports: scriptExports,
3507
- options: options
3508
- }
3509
- }
3510
-
3511
-
3512
- /***/ }),
3513
-
3514
- /***/ 56:
3518
+ /***/ 82:
3515
3519
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3516
3520
 
3517
3521
  "use strict";
@@ -3575,10 +3579,10 @@ render._withStripped = true
3575
3579
  // CONCATENATED MODULE: ./packages/menu/src/menu-item-group.vue?vue&type=template&id=6d5d18cf&
3576
3580
 
3577
3581
  // EXTERNAL MODULE: ./packages/menu/src/mixins.js
3578
- var mixins = __webpack_require__(49);
3582
+ var mixins = __webpack_require__(80);
3579
3583
 
3580
3584
  // EXTERNAL MODULE: ./packages/menu/src/menu-item.vue + 4 modules
3581
- var menu_item = __webpack_require__(42);
3585
+ var menu_item = __webpack_require__(57);
3582
3586
 
3583
3587
  // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/menu/src/menu-item-group.vue?vue&type=script&lang=js&
3584
3588
  //
@@ -3668,7 +3672,7 @@ var menu_item = __webpack_require__(42);
3668
3672
  // CONCATENATED MODULE: ./packages/menu/src/menu-item-group.vue?vue&type=script&lang=js&
3669
3673
  /* harmony default export */ var src_menu_item_groupvue_type_script_lang_js_ = (menu_item_groupvue_type_script_lang_js_);
3670
3674
  // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
3671
- var componentNormalizer = __webpack_require__(5);
3675
+ var componentNormalizer = __webpack_require__(3);
3672
3676
 
3673
3677
  // CONCATENATED MODULE: ./packages/menu/src/menu-item-group.vue
3674
3678
 
@@ -3693,7 +3697,7 @@ var component = Object(componentNormalizer["a" /* default */])(
3693
3697
 
3694
3698
  /***/ }),
3695
3699
 
3696
- /***/ 85:
3700
+ /***/ 91:
3697
3701
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3698
3702
 
3699
3703
  "use strict";
@@ -4008,28 +4012,28 @@ render._withStripped = true
4008
4012
  // CONCATENATED MODULE: ./packages/menu/src/submenu.vue?vue&type=template&id=744ca69a&
4009
4013
 
4010
4014
  // EXTERNAL MODULE: ./src/utils/scrollbar.js
4011
- var scrollbar = __webpack_require__(19);
4015
+ var scrollbar = __webpack_require__(15);
4012
4016
 
4013
4017
  // EXTERNAL MODULE: ./packages/menu/src/mixins.js
4014
- var mixins = __webpack_require__(49);
4018
+ var mixins = __webpack_require__(80);
4015
4019
 
4016
4020
  // EXTERNAL MODULE: ./packages/menu/src/menu-mixin.js
4017
- var menu_mixin = __webpack_require__(47);
4021
+ var menu_mixin = __webpack_require__(76);
4018
4022
 
4019
4023
  // EXTERNAL MODULE: ./src/mixins/emitter.js
4020
4024
  var emitter = __webpack_require__(10);
4021
4025
 
4022
4026
  // EXTERNAL MODULE: ./src/utils/vue-popper.js
4023
- var vue_popper = __webpack_require__(20);
4027
+ var vue_popper = __webpack_require__(12);
4024
4028
 
4025
4029
  // EXTERNAL MODULE: ./packages/menu/src/menu-item.vue + 4 modules
4026
- var menu_item = __webpack_require__(42);
4030
+ var menu_item = __webpack_require__(57);
4027
4031
 
4028
4032
  // EXTERNAL MODULE: ./packages/menu/src/menu-item-group.vue + 4 modules
4029
- var menu_item_group = __webpack_require__(56);
4033
+ var menu_item_group = __webpack_require__(82);
4030
4034
 
4031
4035
  // EXTERNAL MODULE: ./src/transitions/collapse-transition.js
4032
- var collapse_transition = __webpack_require__(46);
4036
+ var collapse_transition = __webpack_require__(49);
4033
4037
 
4034
4038
  // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/menu/src/submenu.vue?vue&type=script&lang=js&
4035
4039
  //
@@ -4614,7 +4618,7 @@ var poperMixins = {
4614
4618
  // CONCATENATED MODULE: ./packages/menu/src/submenu.vue?vue&type=script&lang=js&
4615
4619
  /* harmony default export */ var src_submenuvue_type_script_lang_js_ = (submenuvue_type_script_lang_js_);
4616
4620
  // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
4617
- var componentNormalizer = __webpack_require__(5);
4621
+ var componentNormalizer = __webpack_require__(3);
4618
4622
 
4619
4623
  // CONCATENATED MODULE: ./packages/menu/src/submenu.vue
4620
4624