UNPKG

@fremtind/jkl-react-hooks

Version:
28 lines (27 loc) 1.18 kB
import { type MouseEventHandler, type PointerEventHandler, type MutableRefObject } from "react"; export type SwipeChangeHandler<T extends HTMLElement> = (event: React.MouseEvent<T> | React.PointerEvent<T>, pressed: boolean) => void; type SwipeGestureOptions<T extends HTMLElement> = { onClick?: MouseEventHandler<T>; onChange?: SwipeChangeHandler<T>; onPointerDown?: PointerEventHandler<T>; onPointerUp?: PointerEventHandler<T>; onPointerMove?: PointerEventHandler<T>; onPointerCancel?: PointerEventHandler<T>; }; /** * Logikk for å håndtere en swipe, for eksempel brukt i toggle switch. * * @param options Callbacks for de ulike stegene i en swipe-gesture * @returns Handlers for de ulike stegene i en swipe-gesture */ export declare function useSwipeGesture<T extends HTMLElement>(options: SwipeGestureOptions<T>): { swipeHandled: MutableRefObject<"on" | "off" | false>; gestureHandlers: { onClick: MouseEventHandler<T>; onPointerDown: PointerEventHandler<T>; onPointerMove: PointerEventHandler<T>; onPointerUp: PointerEventHandler<T>; onPointerCancel: PointerEventHandler<T>; }; }; export {};