@coinmeca/ui
Version:
This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
121 lines • 2.9 kB
TypeScript
import { DragElastic, Transition, Variants, motion } from 'framer-motion';
export interface SwipePosition {
x?: number;
opacity?: number;
zIndex?: number;
}
export interface SwipeConfig {
type?: keyof typeof motion;
vertical?: boolean;
length?: number;
index?: number;
slide?: boolean;
loop?: boolean;
elastic?: DragElastic | Function;
out?: number;
threshold?: number;
variants?: Variants | Function;
transition?: Transition;
onSwipe?: Function;
onDrag?: Function;
}
export type Swipe = boolean | SwipeConfig | undefined;
interface SwipeOutput {
as: any;
custom: number;
index: number;
direction: number;
elastic: DragElastic;
out: number;
threshold: number;
variants: (i?: number) => Variants | undefined;
animate: string;
transition: Transition;
drag: boolean | 'x' | 'y' | undefined;
dragElastic: DragElastic;
dragConstraints: {
top?: number;
bottom?: number;
left?: number;
right?: number;
};
onDrag: (e: MouseEvent | TouchEvent | PointerEvent, info: {
offset: {
x: number;
y: number;
};
delta: {
x: number;
y: number;
};
velocity: {
x: number;
y: number;
};
}) => void;
onDragEnd: (e: MouseEvent | TouchEvent | PointerEvent, info: {
offset: {
x: number;
y: number;
};
delta: {
x: number;
y: number;
};
velocity: {
x: number;
y: number;
};
}) => void;
}
export interface SwipeProps {
as?: any;
custom?: number;
index?: number;
direction?: number;
elastic?: DragElastic;
out?: number;
threshold?: number;
variants?: Variants | ((i?: number) => Variants | undefined);
animate?: string;
transition?: Transition;
drag?: boolean | 'x' | 'y' | undefined;
dragElastic?: DragElastic;
dragConstraints?: {
top?: number;
bottom?: number;
left?: number;
right?: number;
};
onDrag?: (e: MouseEvent | TouchEvent | PointerEvent, info: {
offset: {
x: number;
y: number;
};
delta: {
x: number;
y: number;
};
velocity: {
x: number;
y: number;
};
}) => void;
onDragEnd?: (e: MouseEvent | TouchEvent | PointerEvent, info: {
offset: {
x: number;
y: number;
};
delta: {
x: number;
y: number;
};
velocity: {
x: number;
y: number;
};
}) => void;
}
export default function useSwipe(config?: Swipe): SwipeOutput | undefined;
export {};
//# sourceMappingURL=useSwipe.d.ts.map