bkui-vue 1.0.3-beta.62 → 1.0.3-beta.62.dialog.1

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 (216) hide show
  1. package/dist/index.cjs.js +69 -69
  2. package/dist/index.esm.js +20255 -19428
  3. package/dist/index.umd.js +69 -69
  4. package/dist/style.css +1 -1
  5. package/dist/style.variable.css +1 -1
  6. package/lib/affix/index.js +1 -1
  7. package/lib/alert/index.js +1 -1
  8. package/lib/animate-number/index.js +7 -8
  9. package/lib/badge/index.js +1 -1
  10. package/lib/breadcrumb/index.js +1 -1
  11. package/lib/button/index.js +1 -1
  12. package/lib/card/index.js +1 -1
  13. package/lib/cascader/index.js +38 -42
  14. package/lib/checkbox/index.js +6 -7
  15. package/lib/collapse/index.js +11 -12
  16. package/lib/collapse-transition/index.js +3 -4
  17. package/lib/color-picker/index.js +10 -13
  18. package/lib/components.d.ts +1 -0
  19. package/lib/components.js +1 -0
  20. package/lib/config-provider/index.js +1 -1
  21. package/lib/container/index.js +10 -12
  22. package/lib/date-picker/index.js +1 -1
  23. package/lib/dialog/dialog.css +139 -77
  24. package/lib/dialog/dialog.d.ts +41 -121
  25. package/lib/dialog/dialog.less +10 -65
  26. package/lib/dialog/dialog.variable.css +139 -77
  27. package/lib/dialog/index.d.ts +105 -272
  28. package/lib/dialog/index.js +95 -104
  29. package/lib/dialog/props.d.ts +8 -48
  30. package/lib/directives/index.js +1 -1
  31. package/lib/divider/index.js +2 -3
  32. package/lib/dropdown/index.js +6 -8
  33. package/lib/exception/index.js +1 -1
  34. package/lib/fixed-navbar/index.js +2 -3
  35. package/lib/form/index.js +1 -1
  36. package/lib/icon/angle-double-down-line.js +1 -1
  37. package/lib/icon/angle-double-left-line.js +1 -1
  38. package/lib/icon/angle-double-left.js +1 -1
  39. package/lib/icon/angle-double-right-line.js +1 -1
  40. package/lib/icon/angle-double-right.js +1 -1
  41. package/lib/icon/angle-double-up-line.js +1 -1
  42. package/lib/icon/angle-down-fill.js +1 -1
  43. package/lib/icon/angle-down-line.js +1 -1
  44. package/lib/icon/angle-down.js +1 -1
  45. package/lib/icon/angle-left.js +1 -1
  46. package/lib/icon/angle-right.js +1 -1
  47. package/lib/icon/angle-up-fill.js +1 -1
  48. package/lib/icon/angle-up.js +1 -1
  49. package/lib/icon/archive-fill.js +1 -1
  50. package/lib/icon/arrows-left.js +1 -1
  51. package/lib/icon/arrows-right.js +1 -1
  52. package/lib/icon/assistant.js +1 -1
  53. package/lib/icon/audio-fill.js +1 -1
  54. package/lib/icon/bk.js +1 -1
  55. package/lib/icon/circle.js +1 -1
  56. package/lib/icon/close-line.js +1 -1
  57. package/lib/icon/close.js +1 -1
  58. package/lib/icon/code.js +1 -1
  59. package/lib/icon/cog-shape.js +1 -1
  60. package/lib/icon/collapse-left.js +1 -1
  61. package/lib/icon/copy-shape.js +1 -1
  62. package/lib/icon/copy.js +1 -1
  63. package/lib/icon/data-shape.js +1 -1
  64. package/lib/icon/del.js +1 -1
  65. package/lib/icon/doc-fill.js +1 -1
  66. package/lib/icon/done.js +1 -1
  67. package/lib/icon/down-shape.js +1 -1
  68. package/lib/icon/down-small.js +1 -1
  69. package/lib/icon/edit-line.js +1 -1
  70. package/lib/icon/ellipsis.js +1 -1
  71. package/lib/icon/enlarge-line.js +1 -1
  72. package/lib/icon/error.js +1 -1
  73. package/lib/icon/excel-fill.js +1 -1
  74. package/lib/icon/exclamation-circle-shape.js +1 -1
  75. package/lib/icon/eye.js +1 -1
  76. package/lib/icon/filliscreen-line.js +1 -1
  77. package/lib/icon/fix-line.js +1 -1
  78. package/lib/icon/fix-shape.js +1 -1
  79. package/lib/icon/folder-open.js +1 -1
  80. package/lib/icon/folder-shape-open.js +1 -1
  81. package/lib/icon/folder-shape.js +1 -1
  82. package/lib/icon/folder.js +1 -1
  83. package/lib/icon/funnel.js +1 -1
  84. package/lib/icon/grag-fill.js +1 -1
  85. package/lib/icon/help-document-fill.js +1 -1
  86. package/lib/icon/help-fill.js +1 -1
  87. package/lib/icon/help.js +1 -1
  88. package/lib/icon/image-fill.js +1 -1
  89. package/lib/icon/img-error.js +1 -1
  90. package/lib/icon/img-placehoulder.js +1 -1
  91. package/lib/icon/info-line.js +1 -1
  92. package/lib/icon/info.js +1 -1
  93. package/lib/icon/left-shape.js +1 -1
  94. package/lib/icon/left-turn-line.js +1 -1
  95. package/lib/icon/loading.js +1 -1
  96. package/lib/icon/narrow-line.js +1 -1
  97. package/lib/icon/original.js +1 -1
  98. package/lib/icon/pdf-fill.js +1 -1
  99. package/lib/icon/play-shape.js +1 -1
  100. package/lib/icon/plus.js +1 -1
  101. package/lib/icon/ppt-fill.js +1 -1
  102. package/lib/icon/qq.js +1 -1
  103. package/lib/icon/right-shape.js +1 -1
  104. package/lib/icon/right-turn-line.js +1 -1
  105. package/lib/icon/search.js +1 -1
  106. package/lib/icon/share.js +1 -1
  107. package/lib/icon/spinner.js +1 -1
  108. package/lib/icon/success.js +1 -1
  109. package/lib/icon/switcher-loading.js +1 -1
  110. package/lib/icon/text-all.js +1 -1
  111. package/lib/icon/text-file.js +1 -1
  112. package/lib/icon/text-fill.js +1 -1
  113. package/lib/icon/transfer.js +1 -1
  114. package/lib/icon/tree-application-shape.js +1 -1
  115. package/lib/icon/unfull-screen.js +1 -1
  116. package/lib/icon/unvisible.js +1 -1
  117. package/lib/icon/up-shape.js +1 -1
  118. package/lib/icon/upload.js +1 -1
  119. package/lib/icon/video-fill.js +1 -1
  120. package/lib/icon/warn.js +1 -1
  121. package/lib/icon/weixin-pro.js +1 -1
  122. package/lib/icon/weixin.js +1 -1
  123. package/lib/image/index.js +10 -11
  124. package/lib/info-box/index.d.ts +2 -2
  125. package/lib/info-box/index.js +316 -177
  126. package/lib/info-box/info-box.css +63 -7
  127. package/lib/info-box/info-box.d.ts +17 -16
  128. package/lib/info-box/info-box.less +76 -14
  129. package/lib/info-box/info-box.variable.css +63 -7
  130. package/lib/info-box/render-component.d.ts +4 -0
  131. package/lib/input/index.js +4 -4
  132. package/lib/link/index.js +2 -2
  133. package/lib/loading/index.js +11 -12
  134. package/lib/menu/index.js +2 -3
  135. package/lib/message/index.js +1 -1
  136. package/lib/modal/index.d.ts +45 -325
  137. package/lib/modal/index.js +188 -667
  138. package/lib/modal/mask.d.ts +6 -0
  139. package/lib/modal/modal.css +131 -31
  140. package/lib/modal/modal.d.ts +16 -126
  141. package/lib/modal/modal.less +84 -28
  142. package/lib/modal/modal.variable.css +131 -31
  143. package/lib/modal/props.mixin.d.ts +2 -53
  144. package/lib/navigation/index.js +7 -9
  145. package/lib/notify/index.js +1 -1
  146. package/lib/overflow-title/index.js +9 -10
  147. package/lib/pagination/index.js +1 -1
  148. package/lib/plugin-popover/index.js +26 -30
  149. package/lib/pop-confirm/index.js +4 -5
  150. package/lib/popover/index.js +26 -30
  151. package/lib/popover2/index.js +2 -2
  152. package/lib/process/index.js +4 -4
  153. package/lib/progress/index.js +5 -6
  154. package/lib/radio/index.js +6 -7
  155. package/lib/rate/index.js +1 -1
  156. package/lib/resize-layout/index.js +1 -1
  157. package/lib/scrollbar/index.d.ts +14 -0
  158. package/lib/scrollbar/index.js +18737 -0
  159. package/lib/scrollbar/scrollbar-core/can-use-dom.d.ts +2 -0
  160. package/lib/scrollbar/scrollbar-core/helpers.d.ts +5 -0
  161. package/lib/scrollbar/scrollbar-core/index.d.ts +236 -0
  162. package/lib/scrollbar/scrollbar-core/mouse-wheel.d.ts +5 -0
  163. package/lib/scrollbar/scrollbar-core/scrollbar-width.d.ts +1 -0
  164. package/lib/scrollbar/scrollbar.css +74 -0
  165. package/lib/scrollbar/scrollbar.less +93 -0
  166. package/lib/scrollbar/scrollbar.variable.css +203 -0
  167. package/lib/search-select/index.js +11 -14
  168. package/lib/select/index.js +4 -4
  169. package/lib/shared/index.d.ts +0 -1
  170. package/lib/shared/index.js +6 -56
  171. package/lib/sideslider/index.d.ts +31 -222
  172. package/lib/sideslider/index.js +53 -40
  173. package/lib/sideslider/sideslider.css +4 -42
  174. package/lib/sideslider/sideslider.d.ts +14 -105
  175. package/lib/sideslider/sideslider.less +13 -58
  176. package/lib/sideslider/sideslider.variable.css +4 -42
  177. package/lib/slider/index.js +19 -20
  178. package/lib/steps/index.js +4 -4
  179. package/lib/swiper/index.js +1 -1
  180. package/lib/switcher/index.js +1 -1
  181. package/lib/tab/index.js +3 -4
  182. package/lib/table/const.d.ts +1 -1
  183. package/lib/table/index.d.ts +23 -0
  184. package/lib/table/index.js +182 -51
  185. package/lib/table/plugins/use-fixed-column.d.ts +1 -1
  186. package/lib/table/plugins/use-pagination.d.ts +3 -1
  187. package/lib/table/plugins/use-shift-key.d.ts +11 -0
  188. package/lib/table/props.d.ts +8 -0
  189. package/lib/table/table.css +97 -42
  190. package/lib/table/table.d.ts +11 -0
  191. package/lib/table/table.less +43 -58
  192. package/lib/table/table.variable.css +97 -42
  193. package/lib/table/use-attributes.d.ts +1 -0
  194. package/lib/table/use-render.d.ts +1 -1
  195. package/lib/table-column/index.js +7 -3
  196. package/lib/tag/index.js +1 -1
  197. package/lib/tag-input/index.js +3 -4
  198. package/lib/tree/index.d.ts +23 -0
  199. package/lib/tree/index.js +19 -15
  200. package/lib/tree/props.d.ts +8 -0
  201. package/lib/tree/tree.css +75 -2
  202. package/lib/tree/tree.d.ts +11 -0
  203. package/lib/tree/tree.variable.css +75 -2
  204. package/lib/upload/index.js +4 -4
  205. package/lib/virtual-render/index.d.ts +4 -0
  206. package/lib/virtual-render/index.js +255 -55
  207. package/lib/virtual-render/props.d.ts +7 -0
  208. package/lib/virtual-render/use-fix-top.d.ts +2 -7
  209. package/lib/virtual-render/use-scrollbar.d.ts +23 -0
  210. package/lib/virtual-render/v-virtual-render.d.ts +2 -1
  211. package/lib/virtual-render/virtual-render.css +75 -2
  212. package/lib/virtual-render/virtual-render.d.ts +2 -0
  213. package/lib/virtual-render/virtual-render.less +3 -3
  214. package/lib/virtual-render/virtual-render.variable.css +75 -2
  215. package/package.json +1 -1
  216. package/lib/shared/mask.d.ts +0 -11
@@ -3,6 +3,8 @@ import "./virtual-render.less";
3
3
  import * as __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_shared_edbdfb03__ from "../shared";
4
4
  import * as __WEBPACK_EXTERNAL_MODULE_vue__ from "vue";
5
5
  import * as __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_config_provider_fe8577a3__ from "../config-provider";
6
+ import * as __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a__ from "vue-types";
7
+ import * as __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_scrollbar_918447d0__ from "../scrollbar";
6
8
  import * as __WEBPACK_EXTERNAL_MODULE_lodash_throttle_a7b7506a__ from "lodash/throttle";
7
9
  /******/ // The require scope
8
10
  /******/ var __webpack_require__ = {};
@@ -101,7 +103,7 @@ function toPrimitive(t, r) {
101
103
 
102
104
  function toPropertyKey(t) {
103
105
  var i = toPrimitive(t, "string");
104
- return "symbol" == _typeof(i) ? i : String(i);
106
+ return "symbol" == _typeof(i) ? i : i + "";
105
107
  }
106
108
  ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/defineProperty.js
107
109
 
@@ -127,6 +129,10 @@ const external_vue_namespaceObject = external_vue_x({ ["computed"]: () => __WEBP
127
129
  var config_provider_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
128
130
  var config_provider_y = x => () => x
129
131
  const config_provider_namespaceObject = config_provider_x({ ["usePrefix"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_config_provider_fe8577a3__.usePrefix });
132
+ ;// CONCATENATED MODULE: external "vue-types"
133
+ var external_vue_types_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
134
+ var external_vue_types_y = x => () => x
135
+ const external_vue_types_namespaceObject = external_vue_types_x({ ["toType"]: () => __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a__.toType });
130
136
  ;// CONCATENATED MODULE: ../../packages/virtual-render/src/props.ts
131
137
 
132
138
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -157,6 +163,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
157
163
  * IN THE SOFTWARE.
158
164
  */
159
165
 
166
+
160
167
  var EventProps = {
161
168
  onContentScroll: Function
162
169
  };
@@ -241,6 +248,14 @@ var virtualRenderProps = _objectSpread({
241
248
  * 保持滚动条位置、当前渲染区间
242
249
  */
243
250
  keepAlive: shared_namespaceObject.PropTypes.bool.def(false),
251
+ /**
252
+ * 是否允许滚动条改变原有DOM结构
253
+ */
254
+ scrollbar: (0,external_vue_types_namespaceObject.toType)('IScrollbarOption', {
255
+ "default": {
256
+ enabled: true
257
+ }
258
+ }),
244
259
  /**
245
260
  * 数据监听改变时,是否自动重置位置到[0, 0]
246
261
  */
@@ -248,16 +263,32 @@ var virtualRenderProps = _objectSpread({
248
263
  wrapperStyle: shared_namespaceObject.PropTypes.any.def({})
249
264
  }, EventProps);
250
265
  ;// CONCATENATED MODULE: ../../packages/virtual-render/src/use-fix-top.tsx
251
- /* harmony default export */ const use_fix_top = (function (props, refRoot) {
252
- var scrollTo = function scrollTo() {
253
- var option = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
254
- left: 0,
255
- top: 0
256
- };
257
- var left = option.left,
258
- top = option.top;
259
- refRoot.value.scrollTo(left, top);
260
- };
266
+ /*
267
+ * Tencent is pleased to support the open source community by making
268
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
269
+ *
270
+ * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
271
+ *
272
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
273
+ *
274
+ * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
275
+ *
276
+ * ---------------------------------------------------
277
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
278
+ * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
279
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
280
+ * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
281
+ *
282
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
283
+ * the Software.
284
+ *
285
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
286
+ * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
287
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
288
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
289
+ * IN THE SOFTWARE.
290
+ */
291
+ /* harmony default export */ const use_fix_top = (function (props, scrollTo) {
261
292
  /**
262
293
  * 指定元素滚动到顶部
263
294
  * @param param0
@@ -282,15 +313,91 @@ var virtualRenderProps = _objectSpread({
282
313
  if (typeof targetIndex === 'number') {
283
314
  var resolvedIndex = targetIndex >= 0 ? targetIndex : 0;
284
315
  var offsetY = resolvedIndex * props.lineHeight;
285
- scrollTo({
286
- left: 0,
287
- top: offsetY
316
+ scrollTo(0, offsetY);
317
+ }
318
+ return null;
319
+ };
320
+ return {
321
+ fixToTop: fixToTop
322
+ };
323
+ });
324
+ ;// CONCATENATED MODULE: external "../scrollbar"
325
+ var scrollbar_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
326
+ var scrollbar_y = x => () => x
327
+ const scrollbar_namespaceObject = scrollbar_x({ ["default"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_scrollbar_918447d0__["default"] });
328
+ ;// CONCATENATED MODULE: ../../packages/virtual-render/src/use-scrollbar.tsx
329
+ /*
330
+ * Tencent is pleased to support the open source community by making
331
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
332
+ *
333
+ * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
334
+ *
335
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
336
+ *
337
+ * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
338
+ *
339
+ * ---------------------------------------------------
340
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
341
+ * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
342
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
343
+ * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
344
+ *
345
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
346
+ * the Software.
347
+ *
348
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
349
+ * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
350
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
351
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
352
+ * IN THE SOFTWARE.
353
+ */
354
+
355
+
356
+ /* harmony default export */ const use_scrollbar = (function (target, props) {
357
+ var instance = null;
358
+ var _usePrefix = (0,config_provider_namespaceObject.usePrefix)(),
359
+ resolveClassName = _usePrefix.resolveClassName;
360
+ var classNames = {
361
+ contentEl: resolveClassName('scrollbar-content-el'),
362
+ wrapper: resolveClassName('scrollbar-wrapper'),
363
+ scrollbar: resolveClassName('scrollbar'),
364
+ track: resolveClassName('scrollbar-track'),
365
+ visible: resolveClassName('scrollbar-visible'),
366
+ horizontal: resolveClassName('scrollbar-horizontal'),
367
+ vertical: resolveClassName('scrollbar-vertical'),
368
+ hover: resolveClassName('scrollbar-hover'),
369
+ dragging: resolveClassName('scrollbar-dragging'),
370
+ scrolling: resolveClassName('scrollbar-scrolling'),
371
+ scrollable: resolveClassName('scrollbar-scrollable'),
372
+ mouseEntered: resolveClassName('scrollbar-mouse-entered')
373
+ };
374
+ var init = function init(scrollFn, delegateXContent, delegateYContent) {
375
+ instance = new scrollbar_namespaceObject["default"](target.value, {
376
+ classNames: classNames,
377
+ wrapperNode: target.value,
378
+ useSystemScrollYBehavior: !props.enabled,
379
+ useSystemScrollXBehavior: true,
380
+ delegateXContent: delegateXContent,
381
+ delegateYContent: delegateYContent,
382
+ onScrollCallback: scrollFn
383
+ });
384
+ };
385
+ var scrollTo = function scrollTo(x, y) {
386
+ var _props$scrollbar;
387
+ if ((_props$scrollbar = props.scrollbar) !== null && _props$scrollbar !== void 0 && _props$scrollbar.enabled) {
388
+ instance.scrollTo({
389
+ left: x,
390
+ top: y
288
391
  });
392
+ return;
289
393
  }
394
+ target.value.scrollTo(x, y);
290
395
  };
291
396
  return {
292
- fixToTop: fixToTop,
293
- scrollTo: scrollTo
397
+ init: init,
398
+ instance: instance,
399
+ scrollTo: scrollTo,
400
+ classNames: classNames
294
401
  };
295
402
  });
296
403
  ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/classCallCheck.js
@@ -325,6 +432,7 @@ const throttle_namespaceObject = throttle_x({ ["default"]: () => __WEBPACK_EXTER
325
432
  ;// CONCATENATED MODULE: ../../packages/virtual-render/src/v-virtual-render.ts
326
433
 
327
434
 
435
+
328
436
  /*
329
437
  * Tencent is pleased to support the open source community by making
330
438
  * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
@@ -375,14 +483,14 @@ function getMatchedIndex(maxCount, maxHeight, groupItemCount, callback) {
375
483
  diffHeight: diffHeight
376
484
  };
377
485
  }
378
- function computedVirtualIndex(lineHeight, callback, pagination, _el, event) {
379
- if (!event.target) {
486
+ function computedVirtualIndex(lineHeight, callback, pagination, wrapper, event) {
487
+ if (!wrapper || !event.offset) {
380
488
  return;
381
489
  }
382
- var elScrollTop = event.target.scrollTop;
383
- var elScrollLeft = event.target.scrollLeft;
384
- var elScrollHeight = event.target.scrollHeight;
385
- var elOffsetHeight = event.target.offsetHeight;
490
+ var elScrollTop = event.offset.y;
491
+ var elScrollLeft = event.offset.x;
492
+ var elScrollHeight = wrapper.scrollHeight;
493
+ var elOffsetHeight = wrapper.offsetHeight;
386
494
  var count = pagination.count,
387
495
  groupItemCount = pagination.groupItemCount;
388
496
  var targetStartIndex = 0;
@@ -402,7 +510,8 @@ function computedVirtualIndex(lineHeight, callback, pagination, _el, event) {
402
510
  }
403
511
  var bottom = elScrollHeight - elOffsetHeight - elScrollTop;
404
512
  typeof callback === 'function' && callback(event, targetStartIndex, targetEndIndex, elScrollTop, translateY, elScrollLeft, {
405
- bottom: bottom >= 0 ? bottom : 0
513
+ bottom: bottom >= 0 ? bottom : 0,
514
+ scrollbar: event
406
515
  });
407
516
  return {
408
517
  targetStartIndex: targetStartIndex,
@@ -414,13 +523,39 @@ function computedVirtualIndex(lineHeight, callback, pagination, _el, event) {
414
523
  }
415
524
  var VisibleRender = /*#__PURE__*/function () {
416
525
  function VisibleRender(binding, el) {
526
+ var _this = this;
417
527
  _classCallCheck(this, VisibleRender);
528
+ _defineProperty(this, "getEvent", function (event) {
529
+ var _this$binding$value$s = _this.binding.value.scrollbar,
530
+ scrollbar = _this$binding$value$s === void 0 ? {
531
+ enabled: false
532
+ } : _this$binding$value$s;
533
+ if (scrollbar.enabled) {
534
+ var _event$offset;
535
+ return {
536
+ offset: (_event$offset = event.offset) !== null && _event$offset !== void 0 ? _event$offset : event
537
+ };
538
+ }
539
+ if (event !== null && event !== void 0 && event.offset) {
540
+ return {
541
+ offset: event === null || event === void 0 ? void 0 : event.offset
542
+ };
543
+ }
544
+ var elScrollTop = event.target.scrollTop;
545
+ var elScrollLeft = event.target.scrollLeft;
546
+ return {
547
+ offset: {
548
+ x: elScrollLeft,
549
+ y: elScrollTop
550
+ }
551
+ };
552
+ });
418
553
  this.binding = binding;
419
554
  this.wrapper = el;
420
555
  var throttleDelay = binding.value.throttleDelay;
421
556
  this.delay = throttleDelay;
422
557
  }
423
- _createClass(VisibleRender, [{
558
+ return _createClass(VisibleRender, [{
424
559
  key: "render",
425
560
  value: function render(e) {
426
561
  var _this$binding$value = this.binding.value,
@@ -431,11 +566,13 @@ var VisibleRender = /*#__PURE__*/function () {
431
566
  pagination = _this$binding$value$p === void 0 ? {} : _this$binding$value$p,
432
567
  onlyScroll = _this$binding$value.onlyScroll;
433
568
  if (onlyScroll) {
434
- var elScrollTop = this.wrapper.scrollTop;
435
- var elScrollLeft = this.wrapper.scrollLeft;
436
- var bottom = this.wrapper.scrollHeight - this.wrapper.offsetHeight - this.wrapper.scrollTop;
569
+ var _e$offset, _e$offset$x, _e$offset2;
570
+ var elScrollTop = (_e$offset = e.offset) === null || _e$offset === void 0 ? void 0 : _e$offset.y;
571
+ var elScrollLeft = (_e$offset$x = (_e$offset2 = e.offset) === null || _e$offset2 === void 0 ? void 0 : _e$offset2.x) !== null && _e$offset$x !== void 0 ? _e$offset$x : 0;
572
+ var bottom = this.wrapper.scrollHeight - this.wrapper.offsetHeight - elScrollTop;
437
573
  handleScrollCallback(e, null, null, elScrollTop, elScrollTop, elScrollLeft, {
438
- bottom: bottom >= 0 ? bottom : 0
574
+ bottom: bottom >= 0 ? bottom : 0,
575
+ scrollbar: e
439
576
  });
440
577
  return;
441
578
  }
@@ -457,7 +594,7 @@ var VisibleRender = /*#__PURE__*/function () {
457
594
  }, {
458
595
  key: "executeThrottledRender",
459
596
  value: function executeThrottledRender(e) {
460
- (0,throttle_namespaceObject["default"])(this.render.bind(this), this.delay)(e);
597
+ (0,throttle_namespaceObject["default"])(this.render.bind(this), this.delay)(this.getEvent(e));
461
598
  }
462
599
  }, {
463
600
  key: "install",
@@ -477,7 +614,6 @@ var VisibleRender = /*#__PURE__*/function () {
477
614
  this.binding = binding;
478
615
  }
479
616
  }]);
480
- return VisibleRender;
481
617
  }();
482
618
  var instance = null;
483
619
  /* harmony default export */ const v_virtual_render = ({
@@ -532,28 +668,46 @@ function use_tag_render_objectSpread(e) { for (var r = 1; r < arguments.length;
532
668
 
533
669
 
534
670
 
671
+
535
672
  /* harmony default export */ const use_tag_render = (function (props, ctx) {
536
673
  var renderAs = props.renderAs,
537
674
  contentAs = props.contentAs;
675
+ var refRoot = (0,external_vue_namespaceObject.ref)(null);
676
+ var _useScrollbar = use_scrollbar(refRoot, props),
677
+ init = _useScrollbar.init,
678
+ scrollTo = _useScrollbar.scrollTo,
679
+ classNames = _useScrollbar.classNames;
680
+ var contentStyle = (0,external_vue_namespaceObject.reactive)({
681
+ x: 0,
682
+ y: 0
683
+ });
684
+ var computedStyle = (0,external_vue_namespaceObject.computed)(function () {
685
+ return use_tag_render_objectSpread({}, props.contentStyle);
686
+ });
538
687
  /** 指令触发Scroll事件,计算当前startIndex & endIndex & scrollTop & translateY */
539
688
  var handleScrollCallback = function handleScrollCallback(event, _startIndex, _endIndex, _scrollTop, translateY, scrollLeft, pos) {
689
+ var scrollbar = pos.scrollbar;
690
+ if (scrollbar !== null && scrollbar !== void 0 && scrollbar.offset) {
691
+ var _scrollbar$offset;
692
+ Object.assign(contentStyle, (_scrollbar$offset = scrollbar === null || scrollbar === void 0 ? void 0 : scrollbar.offset) !== null && _scrollbar$offset !== void 0 ? _scrollbar$offset : {});
693
+ }
540
694
  ctx.emit('content-scroll', [event, {
541
695
  translateY: translateY,
542
696
  translateX: scrollLeft,
543
697
  pos: pos
544
698
  }]);
545
699
  };
546
- var instance = null;
700
+ var renderInstance = null;
547
701
  var binding = (0,external_vue_namespaceObject.computed)(function () {
548
702
  return {
549
703
  lineHeight: props.lineHeight,
704
+ scrollbar: props.scrollbar,
550
705
  handleScrollCallback: handleScrollCallback,
551
706
  pagination: {},
552
707
  throttleDelay: props.throttleDelay,
553
708
  onlyScroll: props.scrollEvent
554
709
  };
555
710
  });
556
- var refRoot = (0,external_vue_namespaceObject.ref)(null);
557
711
  /** 虚拟渲染外层容器样式 */
558
712
  var wrapperStyle = (0,external_vue_namespaceObject.computed)(function () {
559
713
  var _props$maxHeight;
@@ -565,20 +719,36 @@ function use_tag_render_objectSpread(e) { for (var r = 1; r < arguments.length;
565
719
  maxHeight: (_props$maxHeight = props.maxHeight) !== null && _props$maxHeight !== void 0 ? _props$maxHeight : height
566
720
  }, props.wrapperStyle);
567
721
  });
568
- var _useFixTop = use_fix_top(props, refRoot),
569
- scrollTo = _useFixTop.scrollTo,
722
+ var _useFixTop = use_fix_top(props, scrollTo),
570
723
  fixToTop = _useFixTop.fixToTop;
571
724
  ctx.expose({
572
725
  scrollTo: scrollTo,
573
726
  fixToTop: fixToTop
574
727
  });
575
728
  (0,external_vue_namespaceObject.onMounted)(function () {
576
- instance = new VisibleRender(binding, refRoot.value);
577
- instance.install();
729
+ var _props$scrollbar;
730
+ renderInstance = new VisibleRender(binding, refRoot.value);
731
+ if ((_props$scrollbar = props.scrollbar) !== null && _props$scrollbar !== void 0 && _props$scrollbar.enabled) {
732
+ init(renderInstance.executeThrottledRender.bind(renderInstance));
733
+ return;
734
+ }
735
+ renderInstance.install();
578
736
  });
579
737
  (0,external_vue_namespaceObject.onUnmounted)(function () {
580
- var _instance;
581
- (_instance = instance) === null || _instance === void 0 || _instance.uninstall();
738
+ var _renderInstance;
739
+ (_renderInstance = renderInstance) === null || _renderInstance === void 0 || _renderInstance.uninstall();
740
+ });
741
+ var wrapperClassNames = (0,external_vue_namespaceObject.computed)(function () {
742
+ if (props.scrollbar.enabled) {
743
+ return [props.className, classNames.wrapper];
744
+ }
745
+ return [props.className];
746
+ });
747
+ var contentClassNames = (0,external_vue_namespaceObject.computed)(function () {
748
+ if (props.scrollbar.enabled) {
749
+ return [props.contentClassName, classNames.contentEl];
750
+ }
751
+ return [props.contentClassName];
582
752
  });
583
753
  return {
584
754
  rendAsTag: function rendAsTag() {
@@ -586,12 +756,12 @@ function use_tag_render_objectSpread(e) { for (var r = 1; r < arguments.length;
586
756
  return (0,external_vue_namespaceObject.h)(
587
757
  // @ts-ignore:next-line
588
758
  renderAs, {
589
- "class": props.className,
759
+ "class": wrapperClassNames.value,
590
760
  style: wrapperStyle.value,
591
761
  ref: refRoot
592
762
  }, [(_ctx$slots$beforeCont = (_ctx$slots$beforeCont2 = (_ctx$slots = ctx.slots).beforeContent) === null || _ctx$slots$beforeCont2 === void 0 ? void 0 : _ctx$slots$beforeCont2.call(_ctx$slots)) !== null && _ctx$slots$beforeCont !== void 0 ? _ctx$slots$beforeCont : '', (0,external_vue_namespaceObject.h)(contentAs, {
593
- "class": props.contentClassName,
594
- style: props.contentStyle
763
+ "class": contentClassNames.value,
764
+ style: computedStyle.value
595
765
  }, [(_ctx$slots$default = (_ctx$slots$default2 = (_ctx$slots2 = ctx.slots)["default"]) === null || _ctx$slots$default2 === void 0 ? void 0 : _ctx$slots$default2.call(_ctx$slots2, {
596
766
  data: props.list
597
767
  })) !== null && _ctx$slots$default !== void 0 ? _ctx$slots$default : '']), (_ctx$slots$afterConte = (_ctx$slots$afterConte2 = (_ctx$slots3 = ctx.slots).afterContent) === null || _ctx$slots$afterConte2 === void 0 ? void 0 : _ctx$slots$afterConte2.call(_ctx$slots3)) !== null && _ctx$slots$afterConte !== void 0 ? _ctx$slots$afterConte : '', (_ctx$slots$afterSecti = (_ctx$slots$afterSecti2 = (_ctx$slots4 = ctx.slots).afterSection) === null || _ctx$slots$afterSecti2 === void 0 ? void 0 : _ctx$slots$afterSecti2.call(_ctx$slots4)) !== null && _ctx$slots$afterSecti !== void 0 ? _ctx$slots$afterSecti : '']);
@@ -640,6 +810,7 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
640
810
 
641
811
 
642
812
 
813
+
643
814
  /* harmony default export */ const virtual_render = ((0,external_vue_namespaceObject.defineComponent)({
644
815
  name: 'VirtualRender',
645
816
  directives: {
@@ -671,10 +842,17 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
671
842
  lineHeight: props.lineHeight,
672
843
  handleScrollCallback: handleScrollCallback,
673
844
  pagination: pagination,
674
- throttleDelay: props.throttleDelay
845
+ throttleDelay: props.throttleDelay,
846
+ scrollbar: props.scrollbar
675
847
  };
676
848
  });
677
849
  var refRoot = (0,external_vue_namespaceObject.ref)(null);
850
+ var refVirtualSection = (0,external_vue_namespaceObject.ref)(null);
851
+ var refContent = (0,external_vue_namespaceObject.ref)(null);
852
+ var _useScrollbar = use_scrollbar(refRoot, props),
853
+ init = _useScrollbar.init,
854
+ scrollTo = _useScrollbar.scrollTo,
855
+ classNames = _useScrollbar.classNames;
678
856
  var instance = null;
679
857
  var pagination = (0,external_vue_namespaceObject.reactive)({
680
858
  startIndex: 0,
@@ -704,10 +882,9 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
704
882
  var end = (pagination.endIndex + props.preloadItemCount) * props.groupItemCount;
705
883
  var total = localList.value.length;
706
884
  if (total < end) {
707
- var contentLength = end - start;
708
885
  calcList.value = localList.value.slice(start, total);
709
886
  end = total + 1;
710
- start = end - contentLength;
887
+ start = end - Math.ceil(refContent.value.offsetHeight / props.lineHeight);
711
888
  start = start < 0 ? 0 : start;
712
889
  }
713
890
  var value = localList.value.slice(start, end + 10);
@@ -717,7 +894,18 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
717
894
  }
718
895
  };
719
896
  (0,external_vue_namespaceObject.onMounted)(function () {
897
+ var _props$scrollbar;
720
898
  instance = new VisibleRender(binding, refRoot.value);
899
+ if ((_props$scrollbar = props.scrollbar) !== null && _props$scrollbar !== void 0 && _props$scrollbar.enabled) {
900
+ init(instance.executeThrottledRender.bind(instance), null, refVirtualSection.value);
901
+ instance.executeThrottledRender.call(instance, {
902
+ offset: {
903
+ x: 0,
904
+ y: 0
905
+ }
906
+ });
907
+ return;
908
+ }
721
909
  instance.install();
722
910
  });
723
911
  (0,external_vue_namespaceObject.onUnmounted)(function () {
@@ -781,10 +969,7 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
781
969
  });
782
970
  /** 展示列表内容区域样式 */
783
971
  var innerContentStyle = (0,external_vue_namespaceObject.computed)(function () {
784
- return props.scrollPosition === 'content' ? {
785
- top: "".concat(pagination.scrollTop + props.scrollOffsetTop, "px"),
786
- transform: "translateY(-".concat(pagination.translateY, "px)")
787
- } : {};
972
+ return props.scrollPosition === 'content' ? {} : {};
788
973
  });
789
974
  /** 虚拟渲染外层容器样式 */
790
975
  var wrapperStyle = (0,external_vue_namespaceObject.computed)(function () {
@@ -809,7 +994,7 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
809
994
  resolveClassName = _usePrefix.resolveClassName;
810
995
  /** 外层样式列表 */
811
996
  var wrapperClass = (0,external_vue_namespaceObject.computed)(function () {
812
- return [resolveClassName('virtual-render'), props.scrollXName, props.scrollYName].concat(_toConsumableArray(resolvePropClassName(props.className)), [props.scrollPosition === 'container' ? resolveClassName('virtual-content') : '']);
997
+ return [resolveClassName('virtual-render')].concat(_toConsumableArray(resolvePropClassName(props.className)), [props.scrollPosition === 'container' ? resolveClassName('virtual-content') : '']);
813
998
  });
814
999
  /** 内容区域样式列表 */
815
1000
  var innerClass = (0,external_vue_namespaceObject.computed)(function () {
@@ -820,20 +1005,33 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
820
1005
  * @param keepLastPostion
821
1006
  */
822
1007
  var reset = function reset() {
1008
+ var _instance2;
823
1009
  handleChangeListConfig();
824
1010
  afterListDataReset();
1011
+ (_instance2 = instance) === null || _instance2 === void 0 || _instance2.executeThrottledRender.call(instance, {
1012
+ offset: {
1013
+ x: 0,
1014
+ y: 0
1015
+ }
1016
+ });
825
1017
  };
826
- var _useFixTop = use_fix_top(props, refRoot),
827
- scrollTo = _useFixTop.scrollTo,
1018
+ var _useFixTop = use_fix_top(props, scrollTo),
828
1019
  fixToTop = _useFixTop.fixToTop;
829
1020
  (0,external_vue_namespaceObject.watch)(function () {
830
1021
  return [props.lineHeight, props.height, props.list, props.maxHeight];
831
1022
  }, function () {
832
- var _instance2;
833
- (_instance2 = instance) === null || _instance2 === void 0 || _instance2.setBinding(binding);
1023
+ var _instance3;
1024
+ (_instance3 = instance) === null || _instance3 === void 0 || _instance3.setBinding(binding);
834
1025
  handleChangeListConfig();
835
1026
  (0,external_vue_namespaceObject.nextTick)(function () {
1027
+ var _instance4;
836
1028
  afterListDataReset();
1029
+ (_instance4 = instance) === null || _instance4 === void 0 || _instance4.executeThrottledRender.call(instance, {
1030
+ offset: {
1031
+ x: 0,
1032
+ y: 0
1033
+ }
1034
+ });
837
1035
  });
838
1036
  }, {
839
1037
  deep: true,
@@ -850,14 +1048,16 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
850
1048
  // @ts-ignore:next-line
851
1049
  renderAs || 'div', {
852
1050
  ref: refRoot,
853
- "class": wrapperClass.value,
1051
+ "class": [].concat(_toConsumableArray(wrapperClass.value), [classNames.wrapper]),
854
1052
  style: wrapperStyle.value
855
1053
  }, [(_ctx$slots$beforeCont = (_ctx$slots$beforeCont2 = (_ctx$slots = ctx.slots).beforeContent) === null || _ctx$slots$beforeCont2 === void 0 ? void 0 : _ctx$slots$beforeCont2.call(_ctx$slots)) !== null && _ctx$slots$beforeCont !== void 0 ? _ctx$slots$beforeCont : '', (0,external_vue_namespaceObject.h)(contentAs || 'div', {
856
- "class": innerClass.value,
1054
+ ref: refContent,
1055
+ "class": [].concat(_toConsumableArray(innerClass.value), [classNames.contentEl]),
857
1056
  style: virtual_render_objectSpread(virtual_render_objectSpread({}, innerContentStyle.value), props.contentStyle)
858
1057
  }, [(_ctx$slots$default = (_ctx$slots$default2 = (_ctx$slots2 = ctx.slots)["default"]) === null || _ctx$slots$default2 === void 0 ? void 0 : _ctx$slots$default2.call(_ctx$slots2, {
859
1058
  data: calcList.value
860
1059
  })) !== null && _ctx$slots$default !== void 0 ? _ctx$slots$default : '']), (_ctx$slots$afterConte = (_ctx$slots$afterConte2 = (_ctx$slots3 = ctx.slots).afterContent) === null || _ctx$slots$afterConte2 === void 0 ? void 0 : _ctx$slots$afterConte2.call(_ctx$slots3)) !== null && _ctx$slots$afterConte !== void 0 ? _ctx$slots$afterConte : '', (0,external_vue_namespaceObject.h)('div', {
1060
+ ref: refVirtualSection,
861
1061
  "class": [resolveClassName('virtual-section')],
862
1062
  style: innerStyle.value
863
1063
  }), (_ctx$slots$afterSecti = (_ctx$slots$afterSecti2 = (_ctx$slots4 = ctx.slots).afterSection) === null || _ctx$slots$afterSecti2 === void 0 ? void 0 : _ctx$slots$afterSecti2.call(_ctx$slots4)) !== null && _ctx$slots$afterSecti !== void 0 ? _ctx$slots$afterSecti : '']);
@@ -1,4 +1,7 @@
1
1
  import { ExtractPropTypes } from 'vue';
2
+ export type IScrollbarOption = {
3
+ enabled: boolean;
4
+ };
2
5
  export declare const virtualRenderProps: {
3
6
  onContentScroll: FunctionConstructor;
4
7
  /** 传入原始数据源 */
@@ -181,6 +184,10 @@ export declare const virtualRenderProps: {
181
184
  } & {
182
185
  default: boolean;
183
186
  };
187
+ /**
188
+ * 是否允许滚动条改变原有DOM结构
189
+ */
190
+ scrollbar: import("vue-types").VueTypeDef<IScrollbarOption>;
184
191
  /**
185
192
  * 数据监听改变时,是否自动重置位置到[0, 0]
186
193
  */
@@ -1,4 +1,3 @@
1
- import { Ref } from 'vue';
2
1
  import { VirtualRenderProps } from './props';
3
2
  type IFixToTopParams = {
4
3
  index?: number;
@@ -8,11 +7,7 @@ type IFixToTopParams = {
8
7
  };
9
8
  position: number[];
10
9
  };
11
- declare const _default: (props: VirtualRenderProps, refRoot: Ref<HTMLElement>) => {
12
- fixToTop: (params: IFixToTopParams) => void;
13
- scrollTo: (option?: {
14
- left: number;
15
- top: number;
16
- }) => void;
10
+ declare const _default: (props: VirtualRenderProps, scrollTo: (x: any, y: any) => void) => {
11
+ fixToTop: (params: IFixToTopParams) => any;
17
12
  };
18
13
  export default _default;
@@ -0,0 +1,23 @@
1
+ import { Ref } from 'vue';
2
+ import BkScrollbar from '../scrollbar';
3
+ import { VirtualRenderProps } from './props';
4
+ declare const _default: (target: Ref<HTMLElement>, props: VirtualRenderProps) => {
5
+ init: (scrollFn?: any, delegateXContent?: any, delegateYContent?: any) => void;
6
+ instance: BkScrollbar;
7
+ scrollTo: (x: any, y: any) => void;
8
+ classNames: {
9
+ contentEl: string;
10
+ wrapper: string;
11
+ scrollbar: string;
12
+ track: string;
13
+ visible: string;
14
+ horizontal: string;
15
+ vertical: string;
16
+ hover: string;
17
+ dragging: string;
18
+ scrolling: string;
19
+ scrollable: string;
20
+ mouseEntered: string;
21
+ };
22
+ };
23
+ export default _default;
@@ -3,7 +3,7 @@ export declare function getMatchedIndex(maxCount: number, maxHeight: number, gro
3
3
  height: number;
4
4
  diffHeight: number;
5
5
  };
6
- export declare function computedVirtualIndex(lineHeight: any, callback: any, pagination: any, _el: any, event: any): {
6
+ export declare function computedVirtualIndex(lineHeight: any, callback: any, pagination: any, wrapper: any, event: any): {
7
7
  targetStartIndex: number;
8
8
  targetEndIndex: number;
9
9
  elScrollTop: any;
@@ -20,6 +20,7 @@ export declare class VisibleRender {
20
20
  install(): void;
21
21
  uninstall(): void;
22
22
  setBinding(binding: any): void;
23
+ private getEvent;
23
24
  }
24
25
  declare const _default: {
25
26
  mounted(el: any, binding: any): void;