@sdata/web-vue 3.2.1 → 3.3.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.
- package/README.md +2 -2
- package/dist/sd.css +91 -17
- package/dist/sd.min.css +1 -1
- package/es/_components/select-view/style/index.css +5 -6
- package/es/_components/virtual-list-v2/hooks/use-size.d.ts +17 -0
- package/es/_components/virtual-list-v2/hooks/use-size.js +95 -0
- package/es/_components/virtual-list-v2/index.d.ts +2 -0
- package/es/_components/virtual-list-v2/index.js +5 -0
- package/es/_components/virtual-list-v2/interface.d.ts +44 -0
- package/es/_components/virtual-list-v2/virtual-list-item.d.ts +22 -0
- package/es/_components/virtual-list-v2/virtual-list-item.js +37 -0
- package/es/_components/virtual-list-v2/virtual-list.js +47 -0
- package/es/_components/virtual-list-v2/virtual-list.vue.d.ts +749 -0
- package/es/_components/virtual-list-v2/virtual-list.vue_vue_type_script_lang.js +179 -0
- package/es/_hooks/use-config-provider-prop.d.ts +1 -1
- package/es/_virtual/_plugin-vue_export-helper.js +8 -0
- package/es/color-picker/hooks/use-control-block.js +4 -1
- package/es/components.d.ts +1 -0
- package/es/config-provider/config-provider.vue.d.ts +7 -1
- package/es/config-provider/config-provider.vue_vue_type_script_setup_true_lang.js +7 -1
- package/es/config-provider/context.d.ts +14 -0
- package/es/config-provider/index.d.ts +9 -0
- package/es/index.css +91 -17
- package/es/index.d.ts +2 -0
- package/es/index.js +2 -1
- package/es/index.scss +1 -0
- package/es/input-tag/style/index.css +5 -6
- package/es/input-tag/style/input-tag.scss +30 -10
- package/es/message/message.vue_vue_type_script_setup_true_lang.js +1 -1
- package/es/pagination/pagination.js +101 -19
- package/es/sd-vue.js +2 -0
- package/es/table/context.d.ts +1 -1
- package/es/table/hooks/use-column-resize.d.ts +3 -2
- package/es/table/hooks/use-column-resize.js +21 -48
- package/es/table/hooks/use-drag.d.ts +1 -3
- package/es/table/hooks/use-drag.js +2 -18
- package/es/table/index.d.ts +21 -36
- package/es/table/style/index.css +12 -5
- package/es/table/style/index.scss +16 -6
- package/es/table/table-operation-td.js +15 -12
- package/es/table/table-operation-th.js +2 -2
- package/es/table/table-tbody.js +3 -1
- package/es/table/table-td.js +3 -4
- package/es/table/table-th.js +24 -40
- package/es/table/table-thead.js +3 -1
- package/es/table/table.d.ts +13 -19
- package/es/table/table.js +205 -424
- package/es/table/utils.d.ts +2 -0
- package/es/table/utils.js +11 -1
- package/es/tag/index.d.ts +3 -3
- package/es/tag/tag.vue.d.ts +2 -2
- package/es/tag/tag.vue_vue_type_script_setup_true_lang.js +16 -5
- package/es/toolbar/index.d.ts +72 -0
- package/es/toolbar/index.js +10 -0
- package/es/toolbar/style/css.js +2 -0
- package/es/toolbar/style/index.css +85 -0
- package/es/toolbar/style/index.d.ts +2 -0
- package/es/toolbar/style/index.js +2 -0
- package/es/toolbar/style/index.scss +97 -0
- package/es/toolbar/style/token.scss +25 -0
- package/es/toolbar/toolbar.js +5 -0
- package/es/toolbar/toolbar.vue.d.ts +44 -0
- package/es/toolbar/toolbar.vue_vue_type_script_setup_true_lang.js +197 -0
- package/es/toolbar/types.d.ts +26 -0
- package/es/trigger/trigger.js +5 -1
- package/json/vetur-attributes.json +76 -1
- package/json/vetur-tags.json +24 -0
- package/json/web-types.json +163 -7
- package/package.json +1 -1
- package/es/table/table-col-group.vue.d.ts +0 -29
|
@@ -816,19 +816,18 @@
|
|
|
816
816
|
align-items: center;
|
|
817
817
|
min-width: 0;
|
|
818
818
|
margin-right: 4px;
|
|
819
|
-
color: var(--sd-color-text-1);
|
|
820
819
|
font-size: 12px;
|
|
821
820
|
white-space: pre-wrap;
|
|
822
821
|
word-break: break-word;
|
|
822
|
+
}
|
|
823
|
+
.sd-select-view-multiple .sd-select-view-inner .sd-select-view-tag:not(.sd-tag-custom-color):not(.sd-tag-red):not(.sd-tag-orangered):not(.sd-tag-orange):not(.sd-tag-gold):not(.sd-tag-lime):not(.sd-tag-green):not(.sd-tag-cyan):not(.sd-tag-blue):not(.sd-tag-sdblue):not(.sd-tag-purple):not(.sd-tag-pinkpurple):not(.sd-tag-magenta) {
|
|
824
|
+
color: var(--sd-color-text-1);
|
|
823
825
|
background-color: var(--sd-color-bg-2);
|
|
824
826
|
border-color: var(--sd-color-fill-3);
|
|
825
827
|
}
|
|
826
828
|
.sd-select-view-multiple .sd-select-view-inner .sd-select-view-tag .sd-icon-hover:hover::before {
|
|
827
829
|
background-color: var(--sd-color-fill-2);
|
|
828
830
|
}
|
|
829
|
-
.sd-select-view-multiple .sd-select-view-inner .sd-select-view-tag.sd-tag-custom-color {
|
|
830
|
-
color: var(--sd-color-white);
|
|
831
|
-
}
|
|
832
831
|
.sd-select-view-multiple .sd-select-view-inner .sd-select-view-tag.sd-tag-custom-color .sd-icon-hover.sd-tag-icon-hover:hover::before {
|
|
833
832
|
background-color: rgba(255, 255, 255, 0.2);
|
|
834
833
|
}
|
|
@@ -903,14 +902,14 @@
|
|
|
903
902
|
max-width: 100%;
|
|
904
903
|
vertical-align: bottom;
|
|
905
904
|
}
|
|
906
|
-
.sd-select-view-multiple.sd-select-view-focus .sd-select-view-tag {
|
|
905
|
+
.sd-select-view-multiple.sd-select-view-focus .sd-select-view-tag:not(.sd-tag-custom-color):not(.sd-tag-red):not(.sd-tag-orangered):not(.sd-tag-orange):not(.sd-tag-gold):not(.sd-tag-lime):not(.sd-tag-green):not(.sd-tag-cyan):not(.sd-tag-blue):not(.sd-tag-sdblue):not(.sd-tag-purple):not(.sd-tag-pinkpurple):not(.sd-tag-magenta) {
|
|
907
906
|
background-color: var(--sd-color-fill-2);
|
|
908
907
|
border-color: var(--sd-color-fill-2);
|
|
909
908
|
}
|
|
910
909
|
.sd-select-view-multiple.sd-select-view-focus .sd-select-view-tag .sd-icon-hover:hover::before {
|
|
911
910
|
background-color: var(--sd-color-fill-3);
|
|
912
911
|
}
|
|
913
|
-
.sd-select-view-multiple.sd-select-view-disabled .sd-select-view-tag {
|
|
912
|
+
.sd-select-view-multiple.sd-select-view-disabled .sd-select-view-tag:not(.sd-tag-custom-color):not(.sd-tag-red):not(.sd-tag-orangered):not(.sd-tag-orange):not(.sd-tag-gold):not(.sd-tag-lime):not(.sd-tag-green):not(.sd-tag-cyan):not(.sd-tag-blue):not(.sd-tag-sdblue):not(.sd-tag-purple):not(.sd-tag-pinkpurple):not(.sd-tag-magenta) {
|
|
914
913
|
color: var(--sd-color-text-4);
|
|
915
914
|
background-color: var(--sd-color-fill-2);
|
|
916
915
|
border-color: var(--sd-color-fill-3);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Ref } from 'vue';
|
|
2
|
+
export declare const useSize: ({ dataKeys, fixedSize, estimatedSize, buffer, }: {
|
|
3
|
+
dataKeys: Ref<(string | number)[]>;
|
|
4
|
+
fixedSize: Ref<boolean>;
|
|
5
|
+
estimatedSize: Ref<number | undefined>;
|
|
6
|
+
buffer: Ref<number>;
|
|
7
|
+
}) => {
|
|
8
|
+
frontPadding: import("vue").ComputedRef<number>;
|
|
9
|
+
behindPadding: import("vue").ComputedRef<number>;
|
|
10
|
+
start: Ref<number, number>;
|
|
11
|
+
end: import("vue").ComputedRef<number>;
|
|
12
|
+
getStartByScroll: (scrollOffset: number) => number;
|
|
13
|
+
setItemSize: (key: string | number, size: number) => void;
|
|
14
|
+
hasItemSize: (key: string | number) => boolean;
|
|
15
|
+
setStart: (index: number) => void;
|
|
16
|
+
getScrollOffset: (index: number) => number;
|
|
17
|
+
};
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { computed, onMounted, ref } from "vue";
|
|
2
|
+
//#region components/_components/virtual-list-v2/hooks/use-size.ts
|
|
3
|
+
var useSize = ({ dataKeys, fixedSize, estimatedSize, buffer }) => {
|
|
4
|
+
const firstRangeAverageSize = ref(0);
|
|
5
|
+
const sizeMap = /* @__PURE__ */ new Map();
|
|
6
|
+
const total = computed(() => dataKeys.value.length);
|
|
7
|
+
const start = ref(0);
|
|
8
|
+
const end = computed(() => {
|
|
9
|
+
const _end = start.value + buffer.value * 3;
|
|
10
|
+
if (_end > total.value) return total.value;
|
|
11
|
+
return _end;
|
|
12
|
+
});
|
|
13
|
+
const maxStart = computed(() => {
|
|
14
|
+
const max = total.value - buffer.value * 3;
|
|
15
|
+
if (max < 0) return 0;
|
|
16
|
+
return max;
|
|
17
|
+
});
|
|
18
|
+
const setStart = (index) => {
|
|
19
|
+
if (index < 0) start.value = 0;
|
|
20
|
+
else if (index > maxStart.value) start.value = maxStart.value;
|
|
21
|
+
else start.value = index;
|
|
22
|
+
};
|
|
23
|
+
const isFixed = ref(fixedSize.value);
|
|
24
|
+
const _estimatedSize = computed(() => {
|
|
25
|
+
var _estimatedSize$value;
|
|
26
|
+
const nextEstimatedSize = (_estimatedSize$value = estimatedSize.value) !== null && _estimatedSize$value !== void 0 ? _estimatedSize$value : 30;
|
|
27
|
+
if (nextEstimatedSize !== 30) return nextEstimatedSize;
|
|
28
|
+
return firstRangeAverageSize.value || nextEstimatedSize;
|
|
29
|
+
});
|
|
30
|
+
const setItemSize = (key, size) => {
|
|
31
|
+
sizeMap.set(key, size);
|
|
32
|
+
};
|
|
33
|
+
const getItemSize = (index) => {
|
|
34
|
+
var _sizeMap$get;
|
|
35
|
+
if (isFixed.value) return _estimatedSize.value;
|
|
36
|
+
const _key = dataKeys.value[index];
|
|
37
|
+
if (_key === void 0) return _estimatedSize.value;
|
|
38
|
+
return (_sizeMap$get = sizeMap.get(_key)) !== null && _sizeMap$get !== void 0 ? _sizeMap$get : _estimatedSize.value;
|
|
39
|
+
};
|
|
40
|
+
const hasItemSize = (key) => {
|
|
41
|
+
return sizeMap.has(key);
|
|
42
|
+
};
|
|
43
|
+
onMounted(() => {
|
|
44
|
+
const firstRangeTotalSize = Array.from(sizeMap.values()).reduce((pre, value) => pre + value, 0);
|
|
45
|
+
if (firstRangeTotalSize > 0) firstRangeAverageSize.value = firstRangeTotalSize / sizeMap.size;
|
|
46
|
+
});
|
|
47
|
+
const getScrollOffset = (index) => {
|
|
48
|
+
if (isFixed.value) return _estimatedSize.value * index;
|
|
49
|
+
return getOffset(0, index);
|
|
50
|
+
};
|
|
51
|
+
const getOffset = (start, end) => {
|
|
52
|
+
let offset = 0;
|
|
53
|
+
for (let i = start; i < end; i++) offset += getItemSize(i);
|
|
54
|
+
return offset;
|
|
55
|
+
};
|
|
56
|
+
const frontPadding = computed(() => {
|
|
57
|
+
if (isFixed.value) return _estimatedSize.value * start.value;
|
|
58
|
+
return getOffset(0, start.value);
|
|
59
|
+
});
|
|
60
|
+
const getOffsetIndex = (scrollOffset) => {
|
|
61
|
+
const isForward = scrollOffset >= frontPadding.value;
|
|
62
|
+
let offset = Math.abs(scrollOffset - frontPadding.value);
|
|
63
|
+
const _start = isForward ? start.value : start.value - 1;
|
|
64
|
+
let offsetIndex = 0;
|
|
65
|
+
while (offset > 0) {
|
|
66
|
+
const itemSize = getItemSize(_start + offsetIndex);
|
|
67
|
+
offset -= itemSize;
|
|
68
|
+
isForward ? offsetIndex++ : offsetIndex--;
|
|
69
|
+
}
|
|
70
|
+
return offsetIndex;
|
|
71
|
+
};
|
|
72
|
+
const getStartByScroll = (scrollOffset) => {
|
|
73
|
+
const offsetIndex = getOffsetIndex(scrollOffset);
|
|
74
|
+
const _start = start.value + offsetIndex - buffer.value;
|
|
75
|
+
if (_start < 0) return 0;
|
|
76
|
+
if (_start > maxStart.value) return maxStart.value;
|
|
77
|
+
return _start;
|
|
78
|
+
};
|
|
79
|
+
return {
|
|
80
|
+
frontPadding,
|
|
81
|
+
behindPadding: computed(() => {
|
|
82
|
+
if (isFixed.value) return _estimatedSize.value * (total.value - end.value);
|
|
83
|
+
return getOffset(end.value, total.value);
|
|
84
|
+
}),
|
|
85
|
+
start,
|
|
86
|
+
end,
|
|
87
|
+
getStartByScroll,
|
|
88
|
+
setItemSize,
|
|
89
|
+
hasItemSize,
|
|
90
|
+
setStart,
|
|
91
|
+
getScrollOffset
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
//#endregion
|
|
95
|
+
export { useSize };
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { VNode } from 'vue';
|
|
2
|
+
import type { ScrollbarProps } from '../../scrollbar';
|
|
3
|
+
export type VirtualItemKey = string | number;
|
|
4
|
+
export interface InternalDataItem {
|
|
5
|
+
key: VirtualItemKey;
|
|
6
|
+
index: number;
|
|
7
|
+
item: unknown;
|
|
8
|
+
}
|
|
9
|
+
export type ItemSlot = (props: {
|
|
10
|
+
item: unknown;
|
|
11
|
+
index: number;
|
|
12
|
+
}) => VNode[];
|
|
13
|
+
export interface ScrollIntoViewOptions {
|
|
14
|
+
index?: number;
|
|
15
|
+
key?: VirtualItemKey;
|
|
16
|
+
align: 'auto' | 'top' | 'bottom';
|
|
17
|
+
}
|
|
18
|
+
export interface VirtualListProps {
|
|
19
|
+
height?: number | string;
|
|
20
|
+
threshold?: number;
|
|
21
|
+
isStaticItemHeight?: boolean;
|
|
22
|
+
fixedSize?: boolean;
|
|
23
|
+
estimatedSize?: number;
|
|
24
|
+
buffer?: number;
|
|
25
|
+
data?: unknown[];
|
|
26
|
+
itemKey?: string | ((item: unknown) => VirtualItemKey);
|
|
27
|
+
component?: keyof HTMLElementTagNameMap | {
|
|
28
|
+
container?: keyof HTMLElementTagNameMap;
|
|
29
|
+
list?: keyof HTMLElementTagNameMap;
|
|
30
|
+
content?: keyof HTMLElementTagNameMap;
|
|
31
|
+
};
|
|
32
|
+
listAttrs?: Record<string, unknown>;
|
|
33
|
+
contentAttrs?: Record<string, unknown>;
|
|
34
|
+
paddingPosition?: 'content' | 'list';
|
|
35
|
+
scrollbar?: boolean | ScrollbarProps;
|
|
36
|
+
}
|
|
37
|
+
export type ScrollOptions = number | {
|
|
38
|
+
index?: number;
|
|
39
|
+
key?: VirtualItemKey;
|
|
40
|
+
align?: 'auto' | 'top' | 'bottom';
|
|
41
|
+
};
|
|
42
|
+
export interface VirtualListRef {
|
|
43
|
+
scrollTo: (options: ScrollOptions) => void;
|
|
44
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
2
|
+
hasItemSize: {
|
|
3
|
+
type: FunctionConstructor;
|
|
4
|
+
required: true;
|
|
5
|
+
};
|
|
6
|
+
setItemSize: {
|
|
7
|
+
type: FunctionConstructor;
|
|
8
|
+
required: true;
|
|
9
|
+
};
|
|
10
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
11
|
+
[key: string]: any;
|
|
12
|
+
}> | null, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
13
|
+
hasItemSize: {
|
|
14
|
+
type: FunctionConstructor;
|
|
15
|
+
required: true;
|
|
16
|
+
};
|
|
17
|
+
setItemSize: {
|
|
18
|
+
type: FunctionConstructor;
|
|
19
|
+
required: true;
|
|
20
|
+
};
|
|
21
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
22
|
+
export default _default;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { getFirstComponent } from "../../_utils/vue-utils.js";
|
|
2
|
+
import { cloneVNode, defineComponent, getCurrentInstance, onBeforeUnmount, onMounted, ref } from "vue";
|
|
3
|
+
//#region components/_components/virtual-list-v2/virtual-list-item.tsx
|
|
4
|
+
var virtual_list_item_default = /* @__PURE__ */ defineComponent({
|
|
5
|
+
name: "VirtualListItem",
|
|
6
|
+
props: {
|
|
7
|
+
hasItemSize: {
|
|
8
|
+
type: Function,
|
|
9
|
+
required: true
|
|
10
|
+
},
|
|
11
|
+
setItemSize: {
|
|
12
|
+
type: Function,
|
|
13
|
+
required: true
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
setup(props, { slots }) {
|
|
17
|
+
var _getCurrentInstance;
|
|
18
|
+
const key = (_getCurrentInstance = getCurrentInstance()) === null || _getCurrentInstance === void 0 ? void 0 : _getCurrentInstance.vnode.key;
|
|
19
|
+
const itemRef = ref();
|
|
20
|
+
const setItemSize = () => {
|
|
21
|
+
var _itemRef$value$$el, _itemRef$value, _ele$getBoundingClien, _ele$getBoundingClien2;
|
|
22
|
+
const ele = (_itemRef$value$$el = (_itemRef$value = itemRef.value) === null || _itemRef$value === void 0 ? void 0 : _itemRef$value.$el) !== null && _itemRef$value$$el !== void 0 ? _itemRef$value$$el : itemRef.value;
|
|
23
|
+
const height = (_ele$getBoundingClien = ele === null || ele === void 0 || (_ele$getBoundingClien2 = ele.getBoundingClientRect) === null || _ele$getBoundingClien2 === void 0 ? void 0 : _ele$getBoundingClien2.call(ele).height) !== null && _ele$getBoundingClien !== void 0 ? _ele$getBoundingClien : ele === null || ele === void 0 ? void 0 : ele.offsetHeight;
|
|
24
|
+
if (height) props.setItemSize(key, height);
|
|
25
|
+
};
|
|
26
|
+
onMounted(() => setItemSize());
|
|
27
|
+
onBeforeUnmount(() => setItemSize());
|
|
28
|
+
return () => {
|
|
29
|
+
var _slots$default;
|
|
30
|
+
const child = getFirstComponent((_slots$default = slots.default) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots));
|
|
31
|
+
if (child) return cloneVNode(child, { ref: itemRef }, true);
|
|
32
|
+
return null;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
//#endregion
|
|
37
|
+
export { virtual_list_item_default as default };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import virtual_list_vue_vue_type_script_lang_default from "./virtual-list.vue_vue_type_script_lang.js";
|
|
2
|
+
import _plugin_vue_export_helper_default from "../../_virtual/_plugin-vue_export-helper.js";
|
|
3
|
+
import { Fragment, createBlock, createElementBlock, mergeProps, openBlock, renderList, renderSlot, resolveComponent, resolveDynamicComponent, withCtx } from "vue";
|
|
4
|
+
//#region components/_components/virtual-list-v2/virtual-list.vue
|
|
5
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
6
|
+
const _component_VirtualListItem = resolveComponent("VirtualListItem");
|
|
7
|
+
return openBlock(), createBlock(resolveDynamicComponent(_ctx.containerComponent), mergeProps({
|
|
8
|
+
ref: "containerRef",
|
|
9
|
+
class: _ctx.prefixCls,
|
|
10
|
+
style: _ctx.style
|
|
11
|
+
}, _ctx.containerProps, { onScroll: _ctx.onScroll }), {
|
|
12
|
+
default: withCtx(() => [(openBlock(), createBlock(resolveDynamicComponent(_ctx.mergedComponent.list), mergeProps(_ctx.listAttrs, { style: _ctx.paddingPosition === "list" ? {
|
|
13
|
+
paddingTop: `${_ctx.frontPadding}px`,
|
|
14
|
+
paddingBottom: `${_ctx.behindPadding}px`
|
|
15
|
+
} : {} }), {
|
|
16
|
+
default: withCtx(() => [(openBlock(), createBlock(resolveDynamicComponent(_ctx.mergedComponent.content), mergeProps({ ref: "contentRef" }, _ctx.contentAttrs, { style: _ctx.paddingPosition === "content" ? {
|
|
17
|
+
paddingTop: `${_ctx.frontPadding}px`,
|
|
18
|
+
paddingBottom: `${_ctx.behindPadding}px`
|
|
19
|
+
} : {} }), {
|
|
20
|
+
default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.currentList, (item, index) => {
|
|
21
|
+
var _item$_ctx$itemKey;
|
|
22
|
+
return openBlock(), createBlock(_component_VirtualListItem, {
|
|
23
|
+
key: (_item$_ctx$itemKey = item[_ctx.itemKey]) !== null && _item$_ctx$itemKey !== void 0 ? _item$_ctx$itemKey : _ctx.start + index,
|
|
24
|
+
"has-item-size": _ctx.hasItemSize,
|
|
25
|
+
"set-item-size": _ctx.setItemSize
|
|
26
|
+
}, {
|
|
27
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "item", {
|
|
28
|
+
item,
|
|
29
|
+
index: _ctx.start + index
|
|
30
|
+
})]),
|
|
31
|
+
_: 2
|
|
32
|
+
}, 1032, ["has-item-size", "set-item-size"]);
|
|
33
|
+
}), 128))]),
|
|
34
|
+
_: 3
|
|
35
|
+
}, 16, ["style"]))]),
|
|
36
|
+
_: 3
|
|
37
|
+
}, 16, ["style"]))]),
|
|
38
|
+
_: 3
|
|
39
|
+
}, 16, [
|
|
40
|
+
"class",
|
|
41
|
+
"style",
|
|
42
|
+
"onScroll"
|
|
43
|
+
]);
|
|
44
|
+
}
|
|
45
|
+
var virtual_list_default = /*#__PURE__*/ _plugin_vue_export_helper_default(virtual_list_vue_vue_type_script_lang_default, [["render", _sfc_render]]);
|
|
46
|
+
//#endregion
|
|
47
|
+
export { virtual_list_default as default };
|