Progress
rivelle/progressFreeComponent
An accessible progress indicator with a luminous active range.
Live preview
live · rendered by the registry
Rendered by rivelle on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://rivelle.dev/r/progress.jsonSource
1"use client"23import * as React from "react"4import * as ProgressPrimitive from "@radix-ui/react-progress"56import { cn } from "@/lib/utils"78function Progress({ className, value = 0, ...props }: React.ComponentProps<typeof ProgressPrimitive.Root>) {9 const normalizedValue = Math.min(100, Math.max(0, value ?? 0))10 return (11 <ProgressPrimitive.Root12 data-slot="progress"13 className={cn("relative h-2.5 w-full overflow-hidden rounded-full border border-foreground/8 bg-foreground/[.07] shadow-[inset_0_1px_2px_color-mix(in_oklch,var(--foreground)_8%,transparent)]", className)}14 {...props}15 >16 <ProgressPrimitive.Indicator17 data-slot="progress-indicator"18 className="h-full w-full origin-left rounded-full bg-gradient-to-r from-primary via-primary to-[oklch(.7_.2_285)] shadow-[0_0_20px_-5px_var(--primary)] transition-transform duration-700 ease-[cubic-bezier(.16,1,.3,1)] motion-reduce:transition-none"19 style={{ transform: `translateX(-${100 - normalizedValue}%)` }}20 />21 </ProgressPrimitive.Root>22 )23}2425export { Progress }
What it pulls in
npm packages
Other registry items
Files it writes
More from rivelle
All 83 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | rivelle | Components | Free | 2 deps | |
| Alertalert | rivelle | Components | Free | 1 dep | |
| Alert Dialogalert-dialog | rivelle | Components | Free | 1 dep | |
| Aspect Ratioaspect-ratio | rivelle | Components | Free | 1 dep | |
| Avataravatar | rivelle | Components | Free | 1 dep | |
| Badgebadge | rivelle | Components | Free | 2 deps | |
| Breadcrumbbreadcrumb | rivelle | Components | Free | 2 deps | |
| Buttonbutton | rivelle | Components | Free | 2 deps |
