Turns any element into a file drop zone through props to spread — a dragenter/dragleave depth counter nested children cannot flicker, an honest drag-time validity preview, dropped folders walked into relative paths, and every refusal itemised with a typed reason.
npx shadcn@latest add @zyeon/use-drag-drop-filesZyeon UI limits how often it can be asked, and useDragDropFiles hasn't had its turn. Its source will show here once it has.