Playground

Every preset, live at real size. Pick one, try its actions, then copy the code.

Upload

A photo or file upload, as a posting app shows it: the thumbnail, a ring with the percentage, and a check when it lands.

Read the docs

Take it to your app

Install this preset, then mount it inside your provider. Open Customize to change its regions and copy a file of your own.

npx shadcn@latest add https://islandcn.dev/r/upload-activity.json
Usage
import { UploadActivity } from "@/components/islandcn/upload-activity";
// Anywhere inside <IslandProvider>, with <Island /> mounted once:<UploadActivity fileName="mochi-asleep.jpg" src="/samples/mochi-asleep.jpg" progress={progress} totalBytes={6_000_000} destination="Family"/>

Each action is one call your code makes.