import "./file_dropzone.css"; import type * as React from "react"; import { useRender } from "@base-ui/react/use-render"; import { type StyleProps } from "./style_props"; export interface FileDropzoneProps extends StyleProps { /** Receives the picked/dropped files. Bytes/upload belong to the host — * this component only captures the files. */ onFiles: (files: File[]) => void; /** Native `accept` filter (e.g. `"application/pdf,image/*"`); also applied * to dropped files. */ accept?: string; /** Allow more than one file. Default true. */ multiple?: boolean; /** Main line ("Kéo thả tệp vào đây"). */ label?: string; /** Secondary line. Defaults to the locale's `fileDropzone.hint` ("or click to * browse" / "hoặc bấm để chọn"); override with an accepted-types line * ("…, PDF, ảnh"). */ hint?: string; /** Main line while a drag hovers the zone ("Thả để tải lên"). */ dropLabel?: string; /** Minimum zone height — it grows to fit the icon + labels + padding, so a * small value never crops the content. Default 160, and the control row when * {@link FileDropzoneProps.compact} states a LINE. */ height?: number; /** ONE LINE instead of a well — the glyph, the invitation and the hint on a * control row, for an intake that sits INSIDE something else. The well is * still right where the intake IS the surface. */ compact?: boolean; disabled?: boolean; accessibilityLabel?: string; testID?: string; ref?: React.Ref; render?: useRender.RenderProp; } /** Drag-and-drop upload zone — a dashed well with an icon and invitation that * lights up in the accent under a drag. It is ALSO a paste sink while mounted, * scoped to the zone's own region. It composes `FileDropTarget`. */ export declare function FileDropzone(props: FileDropzoneProps): React.JSX.Element;