@nipe-solutions/react-spring-bottom-sheet
Version:
Accessible and composable bottom sheets for React
35 lines (34 loc) • 1.09 kB
TypeScript
export interface PointerSample {
pointerId: number;
clientY: number;
timeStamp: number;
}
export interface PointerCaptureTarget {
setPointerCapture?(pointerId: number): void;
releasePointerCapture?(pointerId: number): void;
hasPointerCapture?(pointerId: number): boolean;
}
export interface PointerMovement {
deltaY: number;
deltaSinceLastY: number;
positionY: number;
velocityY: number;
}
export interface PointerCompletion extends PointerMovement {
cancelled: boolean;
}
export interface PointerSessionOptions {
onStart(positionY: number): void;
onMove(movement: PointerMovement): void;
onEnd(completion: PointerCompletion): void;
}
export interface PointerSession {
readonly active: boolean;
start(pointer: PointerSample, target?: PointerCaptureTarget): boolean;
capture(target: PointerCaptureTarget): void;
move(pointer: PointerSample): void;
end(pointer: PointerSample): void;
cancel(): void;
dispose(): void;
}
export declare function createPointerSession(options: PointerSessionOptions): PointerSession;