A dashed dropzone with an upload chip and hint, over a single file row with a live progress bar.
Import member records
Drop a CSV or browse — we map the fields
Requires shadcn/ui initialized. Run npx shadcn@latest init if you haven't.
import { Upload32 } from "@/components/beste/piece/upload32";
<Upload32
title="Import member records"
hint="Drop a CSV or browse — we map the fields"
file={{
"name": "members_export_2026.csv",
"percent": 72
}}
/>Upload prompt that lists accepted formats as mono pills beside a size-limit caption.
Dashed upload surface centered on a cloud icon, with headline, subtitle, and a select button.
File tile with icon, name, size, and an inline progress bar.
Aggregate upload card with a total-files header, a single sky bar, and a done, uploading, queued tally.
Uploaded-image card with a dashed crop overlay on a gradient placeholder and rotate, crop, delete tools below.
Failed-upload card with a rose-tinted file row, an alert message in its own box, and a Retry button.