maz-ui
Version:
A standalone components library for Vue.Js 3 & Nuxt.Js 3
28 lines (27 loc) • 1.19 kB
TypeScript
import { MaybeRef, MaybeRefOrGetter, Ref } from 'vue';
export interface UseDropzoneReturn {
files: Ref<File[] | null>;
isOverDropZone: Ref<boolean>;
isOverError: Ref<boolean>;
}
export interface UseDropzoneOptions {
/**
* Allowed data types, if not set, all data types are allowed.
* Also can be a function to check the data types.
*/
dataTypes?: MaybeRef<string[]> | ((types: readonly string[]) => boolean);
onDrop?: (files: File[] | null, event: DragEvent) => unknown;
onEnter?: (files: File[] | null, event: DragEvent) => unknown;
onLeave?: (files: File[] | null, event: DragEvent) => unknown;
onOver?: (files: File[] | null, event: DragEvent) => unknown;
onError?: (files: File[] | null, event: DragEvent) => unknown;
/**
* Allow multiple files to be dropped. Defaults to true.
*/
multiple?: boolean;
/**
* Prevent default behavior for unhandled events. Defaults to false.
*/
preventDefaultForUnhandled?: boolean;
}
export declare function useDropzone(target: MaybeRefOrGetter<HTMLElement | null | undefined>, options?: UseDropzoneOptions | UseDropzoneOptions['onDrop']): UseDropzoneReturn;