Live demo
This is the real useUploader + useDropzone + useFilePreview stack, running in the browser. There is no backend: a mock adapter fakes progress and fails about 30% of the time so you can try cancel and retry.
Accepts images and PDFs, up to 10 MB, 8 files, 2 concurrent uploads.
The UI above is just one composition. The library ships no styles — swap the markup for your design system. See Getting started or the declarative components example.