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/loading.js CHANGED
@@ -82,12 +82,179 @@ module.exports =
82
82
  /******/
83
83
  /******/
84
84
  /******/ // Load entry module and return exports
85
- /******/ return __webpack_require__(__webpack_require__.s = 166);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 170);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
89
89
 
90
- /***/ 166:
90
+ /***/ 15:
91
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
92
+
93
+ "use strict";
94
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getScrollbarWidth; });
95
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return scrollIntoView; });
96
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getScrollSize; });
97
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return scrollMove; });
98
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4);
99
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);
100
+
101
+
102
+ /**
103
+ * 缓存变量,用于存储计算过的滚动条宽度
104
+ */
105
+ var scrollBarWidth = void 0;
106
+
107
+ /**
108
+ * 计算并返回浏览器滚动条的宽度
109
+ * @returns {number} 滚动条宽度(像素)
110
+ */
111
+ var getScrollbarWidth = function getScrollbarWidth() {
112
+ // 服务器端渲染时返回0
113
+ if (vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer) return 0;
114
+ // 如果已经计算过,直接返回缓存值
115
+ if (scrollBarWidth !== undefined) return scrollBarWidth;
116
+
117
+ // 创建测试元素
118
+ var outer = document.createElement('div');
119
+ outer.className = 'es-scrollbar__wrap';
120
+ outer.style.visibility = 'hidden';
121
+ outer.style.width = '100px';
122
+ outer.style.position = 'absolute';
123
+ outer.style.top = '-9999px';
124
+ document.body.appendChild(outer);
125
+
126
+ // 计算无滚动条时的宽度
127
+ var widthNoScroll = outer.offsetWidth;
128
+ outer.style.overflow = 'scroll';
129
+
130
+ // 创建内部元素并计算有滚动条时的宽度
131
+ var inner = document.createElement('div');
132
+ inner.style.width = '100%';
133
+ outer.appendChild(inner);
134
+
135
+ var widthWithScroll = inner.offsetWidth;
136
+ // 清理DOM
137
+ outer.parentNode.removeChild(outer);
138
+ // 计算滚动条宽度
139
+ scrollBarWidth = widthNoScroll - widthWithScroll;
140
+
141
+ return scrollBarWidth;
142
+ };
143
+
144
+ /**
145
+ * 将指定元素滚动到容器视图中
146
+ * @param {HTMLElement} container - 容器元素
147
+ * @param {HTMLElement} selected - 要滚动到视图中的元素
148
+ * @example
149
+ * // 用法示例
150
+ * const container = document.querySelector('.container');
151
+ * const element = document.querySelector('.target-element');
152
+ * scrollIntoView(container, element);
153
+ */
154
+ function scrollIntoView(container, selected) {
155
+ // 服务器端渲染时不执行
156
+ if (vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer) return;
157
+
158
+ // 如果没有指定元素,滚动到顶部
159
+ if (!selected) {
160
+ container.scrollTop = 0;
161
+ return;
162
+ }
163
+
164
+ // 收集所有偏移父元素
165
+ var offsetParents = [];
166
+ var pointer = selected.offsetParent;
167
+ while (pointer && container !== pointer && container.contains(pointer)) {
168
+ offsetParents.push(pointer);
169
+ pointer = pointer.offsetParent;
170
+ }
171
+
172
+ // 计算元素相对于容器的顶部偏移量
173
+ var top = selected.offsetTop + offsetParents.reduce(function (prev, curr) {
174
+ return prev + curr.offsetTop;
175
+ }, 0);
176
+ var bottom = top + selected.offsetHeight;
177
+ var viewRectTop = container.scrollTop;
178
+ var viewRectBottom = viewRectTop + container.clientHeight;
179
+
180
+ // 调整滚动位置使元素可见
181
+ if (top < viewRectTop) {
182
+ container.scrollTop = top;
183
+ } else if (bottom > viewRectBottom) {
184
+ container.scrollTop = bottom - container.clientHeight;
185
+ }
186
+ }
187
+
188
+ // 获取滚动条大小
189
+ function getScrollSize(wrap) {
190
+ if (!wrap) {
191
+ return { width: '', height: '' };
192
+ };
193
+ var heightPercentage = 0;
194
+ var widthPercentage = 0;
195
+
196
+ // 修复滚动条尺寸计算逻辑
197
+ var scrollHeight = wrap.scrollHeight;
198
+ var scrollWidth = wrap.scrollWidth;
199
+ var clientHeight = wrap.clientHeight;
200
+ var clientWidth = wrap.clientWidth;
201
+ var sizes = {
202
+ width: '',
203
+ height: ''
204
+ };
205
+ // 只有当内容高度超过容器高度时才显示垂直滚动条
206
+ if (scrollHeight > clientHeight) {
207
+ heightPercentage = clientHeight * 100 / scrollHeight;
208
+ sizes.height = heightPercentage < 100 ? heightPercentage + '%' : '100%';
209
+ } else {
210
+ sizes.height = '';
211
+ }
212
+
213
+ // 只有当内容宽度超过容器宽度时才显示水平滚动条
214
+ if (scrollWidth > clientWidth) {
215
+ widthPercentage = clientWidth * 100 / scrollWidth;
216
+ sizes.width = widthPercentage < 100 ? widthPercentage + '%' : '100%';
217
+ } else {
218
+ sizes.width = '';
219
+ }
220
+ return sizes;
221
+ }
222
+
223
+ // 滚动条移动
224
+ function scrollMove(wrap) {
225
+ if (!wrap) return;
226
+
227
+ // 立即更新滚动条位置,不使用阈值判断
228
+ var y = wrap.scrollTop * 100 / wrap.clientHeight;
229
+ var x = wrap.scrollLeft * 100 / wrap.clientWidth;
230
+ return { y: y, x: x };
231
+ }
232
+
233
+ /***/ }),
234
+
235
+ /***/ 16:
236
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
237
+
238
+ "use strict";
239
+ /* harmony default export */ __webpack_exports__["a"] = (function (target) {
240
+ for (var i = 1, j = arguments.length; i < j; i++) {
241
+ var source = arguments[i] || {};
242
+ for (var prop in source) {
243
+ if (source.hasOwnProperty(prop)) {
244
+ var value = source[prop];
245
+ if (value !== undefined) {
246
+ target[prop] = value;
247
+ }
248
+ }
249
+ }
250
+ }
251
+
252
+ return target;
253
+ });;
254
+
255
+ /***/ }),
256
+
257
+ /***/ 170:
91
258
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
92
259
 
93
260
  "use strict";
@@ -95,7 +262,7 @@ module.exports =
95
262
  __webpack_require__.r(__webpack_exports__);
96
263
 
97
264
  // EXTERNAL MODULE: external "vue"
98
- var external_vue_ = __webpack_require__(2);
265
+ var external_vue_ = __webpack_require__(4);
99
266
  var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);
100
267
 
101
268
  // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/loading/src/loading.vue?vue&type=template&id=328a5396&
@@ -261,7 +428,7 @@ render._withStripped = true
261
428
  // CONCATENATED MODULE: ./packages/loading/src/loading.vue?vue&type=script&lang=js&
262
429
  /* harmony default export */ var src_loadingvue_type_script_lang_js_ = (loadingvue_type_script_lang_js_);
263
430
  // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
264
- var componentNormalizer = __webpack_require__(5);
431
+ var componentNormalizer = __webpack_require__(3);
265
432
 
266
433
  // CONCATENATED MODULE: ./packages/loading/src/loading.vue
267
434
 
@@ -284,10 +451,10 @@ var component = Object(componentNormalizer["a" /* default */])(
284
451
 
285
452
  /* harmony default export */ var loading = (component.exports);
286
453
  // EXTERNAL MODULE: ./src/utils/dom.js
287
- var dom = __webpack_require__(4);
454
+ var dom = __webpack_require__(5);
288
455
 
289
456
  // EXTERNAL MODULE: ./src/utils/popup/index.js + 1 modules
290
- var popup = __webpack_require__(22);
457
+ var popup = __webpack_require__(23);
291
458
 
292
459
  // CONCATENATED MODULE: ./src/utils/after-leave.js
293
460
  /**
@@ -447,7 +614,7 @@ loadingDirective.install = function (Vue) {
447
614
 
448
615
  /* harmony default export */ var directive = (loadingDirective);
449
616
  // EXTERNAL MODULE: ./src/utils/merge.js
450
- var merge = __webpack_require__(18);
617
+ var merge = __webpack_require__(16);
451
618
 
452
619
  // CONCATENATED MODULE: ./packages/loading/src/index.js
453
620
 
@@ -538,214 +705,40 @@ var src_Loading = function Loading() {
538
705
  });
539
706
 
540
707
  src_addStyle(options, parent, instance);
541
- if (instance.originalPosition !== 'absolute' && instance.originalPosition !== 'fixed') {
542
- Object(dom["a" /* addClass */])(parent, 'es-loading-parent--relative');
543
- }
544
- if (options.fullscreen && options.lock) {
545
- Object(dom["a" /* addClass */])(parent, 'es-loading-parent--hidden');
546
- }
547
- parent.appendChild(instance.$el);
548
- external_vue_default.a.nextTick(function () {
549
- instance.visible = true;
550
- });
551
- if (options.fullscreen) {
552
- fullscreenLoading = instance;
553
- }
554
- return instance;
555
- };
556
-
557
- /* harmony default export */ var src = (src_Loading);
558
- // CONCATENATED MODULE: ./packages/loading/index.js
559
-
560
-
561
-
562
- /* harmony default export */ var packages_loading = __webpack_exports__["default"] = ({
563
- install: function install(Vue) {
564
- Vue.use(directive);
565
- Vue.prototype.$loading = src;
566
- },
567
-
568
- directive: directive,
569
- service: src
570
- });
571
-
572
- /***/ }),
573
-
574
- /***/ 18:
575
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
576
-
577
- "use strict";
578
- /* harmony default export */ __webpack_exports__["a"] = (function (target) {
579
- for (var i = 1, j = arguments.length; i < j; i++) {
580
- var source = arguments[i] || {};
581
- for (var prop in source) {
582
- if (source.hasOwnProperty(prop)) {
583
- var value = source[prop];
584
- if (value !== undefined) {
585
- target[prop] = value;
586
- }
587
- }
588
- }
589
- }
590
-
591
- return target;
592
- });;
593
-
594
- /***/ }),
595
-
596
- /***/ 19:
597
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
598
-
599
- "use strict";
600
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getScrollbarWidth; });
601
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return scrollIntoView; });
602
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getScrollSize; });
603
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return scrollMove; });
604
- /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
605
- /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);
606
-
607
-
608
- /**
609
- * 缓存变量,用于存储计算过的滚动条宽度
610
- */
611
- var scrollBarWidth = void 0;
612
-
613
- /**
614
- * 计算并返回浏览器滚动条的宽度
615
- * @returns {number} 滚动条宽度(像素)
616
- */
617
- var getScrollbarWidth = function getScrollbarWidth() {
618
- // 服务器端渲染时返回0
619
- if (vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer) return 0;
620
- // 如果已经计算过,直接返回缓存值
621
- if (scrollBarWidth !== undefined) return scrollBarWidth;
622
-
623
- // 创建测试元素
624
- var outer = document.createElement('div');
625
- outer.className = 'es-scrollbar__wrap';
626
- outer.style.visibility = 'hidden';
627
- outer.style.width = '100px';
628
- outer.style.position = 'absolute';
629
- outer.style.top = '-9999px';
630
- document.body.appendChild(outer);
631
-
632
- // 计算无滚动条时的宽度
633
- var widthNoScroll = outer.offsetWidth;
634
- outer.style.overflow = 'scroll';
635
-
636
- // 创建内部元素并计算有滚动条时的宽度
637
- var inner = document.createElement('div');
638
- inner.style.width = '100%';
639
- outer.appendChild(inner);
640
-
641
- var widthWithScroll = inner.offsetWidth;
642
- // 清理DOM
643
- outer.parentNode.removeChild(outer);
644
- // 计算滚动条宽度
645
- scrollBarWidth = widthNoScroll - widthWithScroll;
646
-
647
- return scrollBarWidth;
648
- };
649
-
650
- /**
651
- * 将指定元素滚动到容器视图中
652
- * @param {HTMLElement} container - 容器元素
653
- * @param {HTMLElement} selected - 要滚动到视图中的元素
654
- * @example
655
- * // 用法示例
656
- * const container = document.querySelector('.container');
657
- * const element = document.querySelector('.target-element');
658
- * scrollIntoView(container, element);
659
- */
660
- function scrollIntoView(container, selected) {
661
- // 服务器端渲染时不执行
662
- if (vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer) return;
663
-
664
- // 如果没有指定元素,滚动到顶部
665
- if (!selected) {
666
- container.scrollTop = 0;
667
- return;
668
- }
669
-
670
- // 收集所有偏移父元素
671
- var offsetParents = [];
672
- var pointer = selected.offsetParent;
673
- while (pointer && container !== pointer && container.contains(pointer)) {
674
- offsetParents.push(pointer);
675
- pointer = pointer.offsetParent;
676
- }
677
-
678
- // 计算元素相对于容器的顶部偏移量
679
- var top = selected.offsetTop + offsetParents.reduce(function (prev, curr) {
680
- return prev + curr.offsetTop;
681
- }, 0);
682
- var bottom = top + selected.offsetHeight;
683
- var viewRectTop = container.scrollTop;
684
- var viewRectBottom = viewRectTop + container.clientHeight;
685
-
686
- // 调整滚动位置使元素可见
687
- if (top < viewRectTop) {
688
- container.scrollTop = top;
689
- } else if (bottom > viewRectBottom) {
690
- container.scrollTop = bottom - container.clientHeight;
691
- }
692
- }
693
-
694
- // 获取滚动条大小
695
- function getScrollSize(wrap) {
696
- if (!wrap) {
697
- return { width: '', height: '' };
698
- };
699
- var heightPercentage = 0;
700
- var widthPercentage = 0;
701
-
702
- // 修复滚动条尺寸计算逻辑
703
- var scrollHeight = wrap.scrollHeight;
704
- var scrollWidth = wrap.scrollWidth;
705
- var clientHeight = wrap.clientHeight;
706
- var clientWidth = wrap.clientWidth;
707
- var sizes = {
708
- width: '',
709
- height: ''
710
- };
711
- // 只有当内容高度超过容器高度时才显示垂直滚动条
712
- if (scrollHeight > clientHeight) {
713
- heightPercentage = clientHeight * 100 / scrollHeight;
714
- sizes.height = heightPercentage < 100 ? heightPercentage + '%' : '100%';
715
- } else {
716
- sizes.height = '';
717
- }
718
-
719
- // 只有当内容宽度超过容器宽度时才显示水平滚动条
720
- if (scrollWidth > clientWidth) {
721
- widthPercentage = clientWidth * 100 / scrollWidth;
722
- sizes.width = widthPercentage < 100 ? widthPercentage + '%' : '100%';
723
- } else {
724
- sizes.width = '';
708
+ if (instance.originalPosition !== 'absolute' && instance.originalPosition !== 'fixed') {
709
+ Object(dom["a" /* addClass */])(parent, 'es-loading-parent--relative');
725
710
  }
726
- return sizes;
727
- }
711
+ if (options.fullscreen && options.lock) {
712
+ Object(dom["a" /* addClass */])(parent, 'es-loading-parent--hidden');
713
+ }
714
+ parent.appendChild(instance.$el);
715
+ external_vue_default.a.nextTick(function () {
716
+ instance.visible = true;
717
+ });
718
+ if (options.fullscreen) {
719
+ fullscreenLoading = instance;
720
+ }
721
+ return instance;
722
+ };
728
723
 
729
- // 滚动条移动
730
- function scrollMove(wrap) {
731
- if (!wrap) return;
724
+ /* harmony default export */ var src = (src_Loading);
725
+ // CONCATENATED MODULE: ./packages/loading/index.js
732
726
 
733
- // 立即更新滚动条位置,不使用阈值判断
734
- var y = wrap.scrollTop * 100 / wrap.clientHeight;
735
- var x = wrap.scrollLeft * 100 / wrap.clientWidth;
736
- return { y: y, x: x };
737
- }
738
727
 
739
- /***/ }),
740
728
 
741
- /***/ 2:
742
- /***/ (function(module, exports) {
729
+ /* harmony default export */ var packages_loading = __webpack_exports__["default"] = ({
730
+ install: function install(Vue) {
731
+ Vue.use(directive);
732
+ Vue.prototype.$loading = src;
733
+ },
743
734
 
744
- module.exports = require("vue");
735
+ directive: directive,
736
+ service: src
737
+ });
745
738
 
746
739
  /***/ }),
747
740
 
748
- /***/ 22:
741
+ /***/ 23:
749
742
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
750
743
 
751
744
  "use strict";
@@ -754,14 +747,14 @@ module.exports = require("vue");
754
747
  __webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ popup_manager; });
755
748
 
756
749
  // EXTERNAL MODULE: external "vue"
757
- var external_vue_ = __webpack_require__(2);
750
+ var external_vue_ = __webpack_require__(4);
758
751
  var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);
759
752
 
760
753
  // EXTERNAL MODULE: ./src/utils/merge.js
761
- var merge = __webpack_require__(18);
754
+ var merge = __webpack_require__(16);
762
755
 
763
756
  // EXTERNAL MODULE: ./src/utils/dom.js
764
- var utils_dom = __webpack_require__(4);
757
+ var utils_dom = __webpack_require__(5);
765
758
 
766
759
  // CONCATENATED MODULE: ./src/utils/popup/popup-manager.js
767
760
 
@@ -970,7 +963,7 @@ if (!external_vue_default.a.prototype.$isServer) {
970
963
 
971
964
  /* harmony default export */ var popup_manager = (PopupManager);
972
965
  // EXTERNAL MODULE: ./src/utils/scrollbar.js
973
- var scrollbar = __webpack_require__(19);
966
+ var scrollbar = __webpack_require__(15);
974
967
 
975
968
  // CONCATENATED MODULE: ./src/utils/popup/index.js
976
969
 
@@ -1016,6 +1009,10 @@ var scrollBarWidth = void 0;
1016
1009
  closeOnClickModal: {
1017
1010
  type: Boolean,
1018
1011
  default: false
1012
+ },
1013
+ lazy: {
1014
+ type: Boolean,
1015
+ default: true
1019
1016
  }
1020
1017
  },
1021
1018
 
@@ -1045,7 +1042,7 @@ var scrollBarWidth = void 0;
1045
1042
  bodyPaddingRight: null,
1046
1043
  computedBodyPaddingRight: 0,
1047
1044
  withoutHiddenClass: true,
1048
- rendered: false
1045
+ rendered: !this.lazy
1049
1046
  };
1050
1047
  },
1051
1048
 
@@ -1194,9 +1191,121 @@ var scrollBarWidth = void 0;
1194
1191
 
1195
1192
 
1196
1193
 
1194
+ /***/ }),
1195
+
1196
+ /***/ 3:
1197
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1198
+
1199
+ "use strict";
1200
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; });
1201
+ /* globals __VUE_SSR_CONTEXT__ */
1202
+
1203
+ // IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
1204
+ // This module is a runtime utility for cleaner component module output and will
1205
+ // be included in the final webpack user bundle.
1206
+
1207
+ function normalizeComponent(
1208
+ scriptExports,
1209
+ render,
1210
+ staticRenderFns,
1211
+ functionalTemplate,
1212
+ injectStyles,
1213
+ scopeId,
1214
+ moduleIdentifier /* server only */,
1215
+ shadowMode /* vue-cli only */
1216
+ ) {
1217
+ // Vue.extend constructor export interop
1218
+ var options =
1219
+ typeof scriptExports === 'function' ? scriptExports.options : scriptExports
1220
+
1221
+ // render functions
1222
+ if (render) {
1223
+ options.render = render
1224
+ options.staticRenderFns = staticRenderFns
1225
+ options._compiled = true
1226
+ }
1227
+
1228
+ // functional template
1229
+ if (functionalTemplate) {
1230
+ options.functional = true
1231
+ }
1232
+
1233
+ // scopedId
1234
+ if (scopeId) {
1235
+ options._scopeId = 'data-v-' + scopeId
1236
+ }
1237
+
1238
+ var hook
1239
+ if (moduleIdentifier) {
1240
+ // server build
1241
+ hook = function (context) {
1242
+ // 2.3 injection
1243
+ context =
1244
+ context || // cached call
1245
+ (this.$vnode && this.$vnode.ssrContext) || // stateful
1246
+ (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
1247
+ // 2.2 with runInNewContext: true
1248
+ if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
1249
+ context = __VUE_SSR_CONTEXT__
1250
+ }
1251
+ // inject component styles
1252
+ if (injectStyles) {
1253
+ injectStyles.call(this, context)
1254
+ }
1255
+ // register component module identifier for async chunk inferrence
1256
+ if (context && context._registeredComponents) {
1257
+ context._registeredComponents.add(moduleIdentifier)
1258
+ }
1259
+ }
1260
+ // used by ssr in case component is cached and beforeCreate
1261
+ // never gets called
1262
+ options._ssrRegister = hook
1263
+ } else if (injectStyles) {
1264
+ hook = shadowMode
1265
+ ? function () {
1266
+ injectStyles.call(
1267
+ this,
1268
+ (options.functional ? this.parent : this).$root.$options.shadowRoot
1269
+ )
1270
+ }
1271
+ : injectStyles
1272
+ }
1273
+
1274
+ if (hook) {
1275
+ if (options.functional) {
1276
+ // for template-only hot-reload because in that case the render fn doesn't
1277
+ // go through the normalizer
1278
+ options._injectStyles = hook
1279
+ // register for functional component in vue file
1280
+ var originalRender = options.render
1281
+ options.render = function renderWithStyleInjection(h, context) {
1282
+ hook.call(context)
1283
+ return originalRender(h, context)
1284
+ }
1285
+ } else {
1286
+ // inject component registration as beforeCreate hook
1287
+ var existing = options.beforeCreate
1288
+ options.beforeCreate = existing ? [].concat(existing, hook) : [hook]
1289
+ }
1290
+ }
1291
+
1292
+ return {
1293
+ exports: scriptExports,
1294
+ options: options
1295
+ }
1296
+ }
1297
+
1298
+
1197
1299
  /***/ }),
1198
1300
 
1199
1301
  /***/ 4:
1302
+ /***/ (function(module, exports) {
1303
+
1304
+ module.exports = require("vue");
1305
+
1306
+ /***/ }),
1307
+
1308
+ /***/ 5:
1200
1309
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1201
1310
 
1202
1311
  "use strict";
@@ -1212,7 +1321,7 @@ var scrollBarWidth = void 0;
1212
1321
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getScrollContainer; });
1213
1322
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return isInContainer; });
1214
1323
  /* unused harmony export insertAfter */
1215
- /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
1324
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4);
1216
1325
  /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);
1217
1326
  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; };
1218
1327
 
@@ -1453,111 +1562,6 @@ function insertAfter(newEl, targetEl) {
1453
1562
  }
1454
1563
  }
1455
1564
 
1456
- /***/ }),
1457
-
1458
- /***/ 5:
1459
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
1460
-
1461
- "use strict";
1462
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; });
1463
- /* globals __VUE_SSR_CONTEXT__ */
1464
-
1465
- // IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
1466
- // This module is a runtime utility for cleaner component module output and will
1467
- // be included in the final webpack user bundle.
1468
-
1469
- function normalizeComponent(
1470
- scriptExports,
1471
- render,
1472
- staticRenderFns,
1473
- functionalTemplate,
1474
- injectStyles,
1475
- scopeId,
1476
- moduleIdentifier /* server only */,
1477
- shadowMode /* vue-cli only */
1478
- ) {
1479
- // Vue.extend constructor export interop
1480
- var options =
1481
- typeof scriptExports === 'function' ? scriptExports.options : scriptExports
1482
-
1483
- // render functions
1484
- if (render) {
1485
- options.render = render
1486
- options.staticRenderFns = staticRenderFns
1487
- options._compiled = true
1488
- }
1489
-
1490
- // functional template
1491
- if (functionalTemplate) {
1492
- options.functional = true
1493
- }
1494
-
1495
- // scopedId
1496
- if (scopeId) {
1497
- options._scopeId = 'data-v-' + scopeId
1498
- }
1499
-
1500
- var hook
1501
- if (moduleIdentifier) {
1502
- // server build
1503
- hook = function (context) {
1504
- // 2.3 injection
1505
- context =
1506
- context || // cached call
1507
- (this.$vnode && this.$vnode.ssrContext) || // stateful
1508
- (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
1509
- // 2.2 with runInNewContext: true
1510
- if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
1511
- context = __VUE_SSR_CONTEXT__
1512
- }
1513
- // inject component styles
1514
- if (injectStyles) {
1515
- injectStyles.call(this, context)
1516
- }
1517
- // register component module identifier for async chunk inferrence
1518
- if (context && context._registeredComponents) {
1519
- context._registeredComponents.add(moduleIdentifier)
1520
- }
1521
- }
1522
- // used by ssr in case component is cached and beforeCreate
1523
- // never gets called
1524
- options._ssrRegister = hook
1525
- } else if (injectStyles) {
1526
- hook = shadowMode
1527
- ? function () {
1528
- injectStyles.call(
1529
- this,
1530
- (options.functional ? this.parent : this).$root.$options.shadowRoot
1531
- )
1532
- }
1533
- : injectStyles
1534
- }
1535
-
1536
- if (hook) {
1537
- if (options.functional) {
1538
- // for template-only hot-reload because in that case the render fn doesn't
1539
- // go through the normalizer
1540
- options._injectStyles = hook
1541
- // register for functional component in vue file
1542
- var originalRender = options.render
1543
- options.render = function renderWithStyleInjection(h, context) {
1544
- hook.call(context)
1545
- return originalRender(h, context)
1546
- }
1547
- } else {
1548
- // inject component registration as beforeCreate hook
1549
- var existing = options.beforeCreate
1550
- options.beforeCreate = existing ? [].concat(existing, hook) : [hook]
1551
- }
1552
- }
1553
-
1554
- return {
1555
- exports: scriptExports,
1556
- options: options
1557
- }
1558
- }
1559
-
1560
-
1561
1565
  /***/ })
1562
1566
 
1563
1567
  /******/ });