pnpm dlx shadcn@latest add 'https://retroui.dev/r/loader.json'
import { Loader } from "@/components/ui/loader"
// Default
<Loader />
// With variants
<Loader variant="secondary" size="lg" />
// Custom configuration
<Loader
count={4} // Number of squares
duration={1.2} // Animation duration in seconds
delayStep={120} // Delay between squares in milliseconds
/>
// Fully customized
<Loader
variant="secondary"
size="lg"
count={4}
duration={1.2}
delayStep={120}
className="my-4"
/>
variant
default
| secondary
| outline
default
size
sm
| md
| lg
md
count
number
3
duration
number
0.5
delayStep
number
100
className
string
undefined
asChild
boolean
false
true
, merges the component's props onto its immediate child elementThe Loader component includes the following attributes:
role="status"
aria-label="Loading..."
This ensures screen readers can properly announce the loading state to users.
Last Updated: 20 Aug, 2025