Progress
@sushindustries/uiThe native progress element, restyled - omit value and the indeterminate state is real.
Examples are the tab where the component is shown doing a job, not demonstrating a prop. The API tab already lists the props.
tanstacktanstack add https://adamjurek.com/r/tanstack/progress.jsonpnpm dlx shadcn@latest add https://adamjurek.com/r/shadcn/progress.jsonPress Compare. The frames are real viewports, so a layout that breaks at 320 breaks here too rather than in somebody's hands.
In a page
import { Progress } from "@sushindustries/ui";
export function UploadCard({ percent }: { percent: number | undefined }) {
return (
<div className="card p-6">
<h3 className="h4 m-0">report.pdf</h3>
<div className="mt-4">
<Progress label="Uploading" value={percent} />
</div>
</div>
);
}tsx