Requirements
Drop Upload is plain React and CSS Modules, so it runs in whatever you are already building with.
| Requirement | Supported |
|---|---|
| React | 18 and 19 |
| Frameworks | Next.js, Vite, Remix, Astro |
| Styling | CSS Modules — no Tailwind required |
| TypeScript | Optional — the ZIP ships a plain-JavaScript copy too |
| Dependencies | motion, and nothing else |
Everything else is the browser's own: File, DataTransfer and AbortController do the work, so there is no upload library between your code and the file, and no npm dependency to keep in step with your build.
The component is a client component — it carries its own "use client"
directive, so it can be imported straight into a React Server Component page
without any wrapper of your own. In Astro, render it with a client:*
directive like any other React island.
Continue to Easy Installation to drop the component into your project.