@extclp/vexip-ui
Version:
A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good
22 lines (21 loc) • 891 B
TypeScript
import { ComponentPublicInstance } from 'vue';
import { NativeScrollExposed } from '../native-scroll';
export interface VirtualListExposed extends ComponentPublicInstance {
scroll?: NativeScrollExposed;
wrapper?: HTMLElement;
list?: HTMLElement;
scrollOffset: number;
scrollTo: (top: number, behavior?: ScrollBehavior) => void;
scrollBy: (delta: number, behavior?: ScrollBehavior) => void;
scrollToKey: (key: string | number | symbol, behavior?: ScrollBehavior) => void;
scrollToIndex: (index: number, behavior?: ScrollBehavior) => void;
ensureIndexInView: (index: number, behavior?: ScrollBehavior) => void;
ensureKeyInView: (key: string | number | symbol, behavior?: ScrollBehavior) => void;
refresh: () => Promise<void>;
}
export interface ScrollPayload {
clientX: number;
clientY: number;
percentX: number;
percentY: number;
}