@gdjiami/hooks
Version:
react hooks for mygzb.com
26 lines (25 loc) • 873 B
TypeScript
import { RefObject } from 'react';
import { GestureCoordinate, GestureEvent } from './useGesture';
export { GestureCoordinate, GestureEvent };
export interface MultiTouchGesture {
touches: GestureCoordinate[];
changedTouches: GestureCoordinate[];
}
export interface GestureOptions<T extends HTMLElement> {
onDown?: (info: MultiTouchGesture) => false | void;
onMove?: (info: MultiTouchGesture) => void;
onUp?: (info: MultiTouchGesture) => void;
onAction?: (info: GestureCoordinate[]) => void;
ref?: RefObject<T>;
}
/**
* 获取抽象化的mouse/touch事件. 支持多点触摸
* TODO: 可配mouse
* TODO: pasive
* TODO: 过滤
* @param options
*/
export default function useMultiTouchGesture<T extends HTMLElement = HTMLDivElement>(options: GestureOptions<T>): {
ref: RefObject<T>;
interacting: boolean;
};