vue-carousel-lite
Version:
Fast, Lightweight Vue Carousel With Touch, Mouse, Keyboard, Wheel & SSR support
23 lines (21 loc) • 881 B
TypeScript
import { CarouselProps, CarouselState } from '../types';
import { Ref, ComputedRef } from 'vue';
interface UseDragOptions {
containerRef: Ref<HTMLElement | null>;
trackRef: Ref<HTMLElement | null>;
state: CarouselState;
props: CarouselProps;
slideWidth: Ref<number>;
slideHeight: Ref<number>;
goToSlide: (index: number, smooth?: boolean) => void;
canGoNext: ComputedRef<boolean>;
canGoPrev: ComputedRef<boolean>;
updateState: (updates: Partial<CarouselState>) => void;
virtualOffset: ComputedRef<number>;
}
export declare function useDrag({ containerRef, trackRef, state, props, slideWidth, slideHeight, goToSlide, canGoNext, canGoPrev, updateState, virtualOffset, }: UseDragOptions): {
isDragging: Readonly<Ref<boolean, boolean>>;
deltaX: Readonly<Ref<number, number>>;
deltaY: Readonly<Ref<number, number>>;
};
export {};