Drop it inside any <Upload>: when a batch finishes, a burst of confetti in your theme's colors.
"use client"
import { UploadConfetti } from "@/components/upload-confetti"
import {
Upload,
UploadDropzone,
UploadDropzoneDescription,
UploadDropzoneTitle,
UploadQueue,
} from "@/components/ui/upload"
export default function UploadConfettiExample() {
return (
<Upload className="relative max-w-md">
<UploadDropzone>
<UploadDropzoneTitle>Finish a batch to celebrate</UploadDropzoneTitle>
<UploadDropzoneDescription>
Confetti uses your theme's colors
</UploadDropzoneDescription>
</UploadDropzone>
<UploadQueue size="sm" />
<UploadConfetti />
</Upload>
)
}
Installation
npx shadcn@latest add @uploadcn/upload-confettiUsage
import { UploadConfetti } from "@/components/upload-confetti"<Upload className="relative">
<UploadDropzone />
<UploadQueue />
<UploadConfetti />
</Upload>It's a part, not a whole uploader: it reads the nearest <Upload>. Colors come from --primary and --chart-1…5, so it matches every theme. Give the parent relative.
Props
Prop
Type