UNPKG

tdesign-vue

Version:
66 lines (62 loc) 2.27 kB
/** * tdesign v1.14.1 * (c) 2025 tdesign * @license MIT */ import { computed } from '@vue/composition-api'; import useVirtualScroll from '../../hooks/useVirtualScrollNew.js'; import '@babel/runtime/helpers/toConsumableArray'; import '@babel/runtime/helpers/slicedToArray'; import '../../hooks/useResizeObserver.js'; var useListVirtualScroll = function useListVirtualScroll(scroll, listRef, listItems) { var virtualScrollParams = computed(function () { return { data: listItems.value, scroll: scroll }; }); var virtualConfig = useVirtualScroll(listRef, virtualScrollParams); var isVirtualScroll = computed(function () { return virtualConfig.isVirtualScroll.value; }); var lastScrollY = -1; var onInnerVirtualScroll = function onInnerVirtualScroll(e) { var target = e.target || e.srcElement; var top = target.scrollTop; if (lastScrollY !== top) { virtualConfig.isVirtualScroll.value && virtualConfig.handleScroll(); } else { lastScrollY = -1; } lastScrollY = top; }; var cursorStyle = computed(function () { return { position: "absolute", width: "1px", height: "1px", transition: "transform 0.2s", transform: "translate(0, ".concat(virtualConfig.scrollHeight.value, "px)"), "-ms-transform": "translate(0, ".concat(virtualConfig.scrollHeight.value, "px)"), "-moz-transform": "translate(0, ".concat(virtualConfig.scrollHeight.value, "px)"), "-webkit-transform": "translate(0, ".concat(virtualConfig.scrollHeight.value, "px)") }; }); var listStyle = computed(function () { return { transform: "translate(0, ".concat(virtualConfig.translateY.value, "px)"), "-ms-transform": "translate(0, ".concat(virtualConfig.translateY.value, "px)"), "-moz-transform": "translate(0, ".concat(virtualConfig.translateY.value, "px)"), "-webkit-transform": "translate(0, ".concat(virtualConfig.translateY.value, "px)") }; }); return { virtualConfig: virtualConfig, cursorStyle: cursorStyle, listStyle: listStyle, isVirtualScroll: isVirtualScroll, onInnerVirtualScroll: onInnerVirtualScroll }; }; export { useListVirtualScroll as default }; //# sourceMappingURL=useListVirtualScroll.js.map