Build Components

Hoist

File upload. Choose or drop files, with the kind and size checked and every change announced.

Component
File upload
Pattern
File input + drop area
Outputs
React + Tailwind, HTML/CSS/JS
Status
In stock, tested

Test bench

Runs the exported code, not a mock-up.

Output

Hoist ยท React + TailwindFull width

Keyboard map
KeysWhat happens
TabFocus the choose button, then each attached file's remove button.
EnterorSpaceOpen the file picker, or remove the focused file.

Take it home

React + Tailwind CSS v4: install with one command, or copy the file. Your options are already in it.

npx shadcn@latest add "/r/upload.json"

Run it in your project root. It writes components/upload.tsx with the options you set here. Needs Tailwind CSS v4 and a project set up for the shadcn CLI (npx shadcn@latest init).