UNPKG

tdesign-vue

Version:
70 lines (64 loc) 2.46 kB
/** * tdesign v1.15.0 * (c) 2026 tdesign * @license MIT */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var VueCompositionAPI = require('@vue/composition-api'); var hooks_useVirtualScrollNew = require('../../hooks/useVirtualScrollNew.js'); require('@babel/runtime/helpers/toConsumableArray'); require('@babel/runtime/helpers/slicedToArray'); require('../../hooks/useResizeObserver.js'); var useListVirtualScroll = function useListVirtualScroll(scroll, listRef, listItems) { var virtualScrollParams = VueCompositionAPI.computed(function () { return { data: listItems.value, scroll: scroll }; }); var virtualConfig = hooks_useVirtualScrollNew["default"](listRef, virtualScrollParams); var isVirtualScroll = VueCompositionAPI.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 = VueCompositionAPI.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 = VueCompositionAPI.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 }; }; exports["default"] = useListVirtualScroll; //# sourceMappingURL=useListVirtualScroll.js.map