UNPKG

@mirawision/reactive-hooks

Version:

A comprehensive collection of 50+ React hooks for state management, UI interactions, device APIs, async operations, drag & drop, audio/speech, and more. Full TypeScript support with SSR safety.

31 lines (30 loc) 887 B
import { RefObject } from 'react'; export interface DropZoneOptions { onDrop: (files: File[] | DataTransferItemList) => void; multiple?: boolean; accept?: string; } export interface DropZoneState { over: boolean; } /** * A hook that provides drop zone functionality for file uploads. * @param ref React ref object for the drop zone element * @param opts Configuration options * @returns Object containing drop zone state * * @example * const ref = useRef(null); * const { over } = useDropZone(ref, { * onDrop: (files) => console.log('Dropped files:', files), * multiple: true, * accept: 'image/*' * }); * * return ( * <div ref={ref} style={{ border: over ? '2px dashed blue' : '2px dashed gray' }}> * Drop files here * </div> * ); */ export declare function useDropZone(ref: RefObject<HTMLElement>, opts: DropZoneOptions): DropZoneState;