UNPKG

vexip-ui

Version:

A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good

41 lines (40 loc) 1.67 kB
import { Ref } from 'vue'; import { NativeScrollMode } from './symbol'; export declare function useScrollWrapper({ mode, disabled, appear, scrollX, scrollY, onResize, onBeforeRefresh, onAfterRefresh, }: { mode: Ref<NativeScrollMode>; disabled: Ref<boolean>; appear: Ref<boolean>; scrollX: Ref<number>; scrollY: Ref<number>; onResize?: (entity: ResizeObserverEntry) => void; onBeforeRefresh?: () => void; onAfterRefresh?: () => void; }): { contentEl: Ref<HTMLElement | undefined, HTMLElement | undefined>; content: { el: HTMLElement | undefined; scrollWidth: number; offsetWidth: number; scrollHeight: number; offsetHeight: number; }; x: Ref<number, number>; y: Ref<number, number>; percentX: Ref<number, number>; percentY: Ref<number, number>; xScrollLimit: import('vue').ComputedRef<number>; yScrollLimit: import('vue').ComputedRef<number>; enableXScroll: import('vue').ComputedRef<boolean>; enableYScroll: import('vue').ComputedRef<boolean>; xBarLength: import('vue').ComputedRef<number>; yBarLength: import('vue').ComputedRef<number>; handleResize: (entity: ResizeObserverEntry) => void; setScrollX: (value: number) => void; setScrollY: (value: number) => void; computePercent: () => void; refresh: () => Promise<void>; scrollTo: (clientX: number, clientY: number, duration?: number) => Promise<void>; scrollBy: (deltaX: number, deltaY: number, duration?: number) => Promise<void>; scrollToElement: (el: string | Element, duration?: number, offset?: number) => Promise<void>; triggerUpdate: () => void; };