Requirements

Drop Upload is plain React and CSS Modules, so it runs in whatever you are already building with.

RequirementSupported
React18 and 19
FrameworksNext.js, Vite, Remix, Astro
StylingCSS Modules — no Tailwind required
TypeScriptOptional — the ZIP ships a plain-JavaScript copy too
Dependenciesmotion, 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.