Chladni Upload, animated React component
An upload progress indicator made of sand on a vibrating plate. Each stage of the upload plays a higher note, the sand jumps off the moving parts and settles on the new quiet lines so the pattern gets finer as the file goes up, and at 100% it gathers into a check mark.
- Pro
- Loaders
- Spring
Play with it
Move the controls and watch it change. Copy code gives you a snippet with only the props you changed.
A2 · mode 1:3
mix-final.wav
24.6 MB · ready
Each stage is a higher note. The sand finds the new quiet lines.
Props
| Prop | Type | Default | What it does |
|---|---|---|---|
| fileName | string | "mix-final.wav" | The file name shown under the plate. |
| fileSize | number | 24.6 | Size in MB. The "x of y MB" line counts up to it. |
| duration | number | 7 | How long a full upload takes, in seconds. |
| onComplete | () => void | — | Called once each time an upload reaches 100%. |
| autoplay | boolean | false | Uploads, holds the check, resets and goes again until someone presses the button. Pauses off screen and never runs under reduced motion. |
| className | string | — | Extra classes for the card. |