A customizable loading indicator with bouncing squares. 🔄
pnpm dlx shadcn@latest add @retroui/loaderCopy 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" />
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