A customizable loading indicator with bouncing squares. 🔄
pnpm dlx shadcn@latest add @retroui/loaderimport { 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"
/>variantdefault | secondary | outlinedefaultsizesm | md | lgmdcountnumber3durationnumber0.5delayStepnumber100classNamestringundefinedasChildbooleanfalsetrue, 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