spinner
kibo-ui-registry/spinnerFreeComponent
A spinner is a visual indicator that shows progress or activity.
Live preview
live · rendered by the registry
Rendered by Kibo UI Registry on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://www.kibo-ui.com/r/spinner.jsonSource
1import { Spinner as ShadcnSpinner } from "@repo/shadcn-ui/components/ui/spinner";2import {3 LoaderCircleIcon,4 LoaderIcon,5 LoaderPinwheelIcon,6 type LucideProps,7} from "lucide-react";8import { cn } from "@/lib/utils";910type SpinnerVariantProps = Omit<SpinnerProps, "variant">;1112const Throbber = ({ className, ...props }: SpinnerVariantProps) => (13 <LoaderIcon className={cn("animate-spin", className)} {...props} />14);1516const Pinwheel = ({ className, ...props }: SpinnerVariantProps) => (17 <LoaderPinwheelIcon className={cn("animate-spin", className)} {...props} />18);1920const CircleFilled = ({21 className,22 size = 24,23 ...props24}: SpinnerVariantProps) => (25 <div className="relative" style={{ width: size, height: size }}>26 <div className="absolute inset-0 rotate-180">27 <LoaderCircleIcon28 className={cn("animate-spin", className, "text-foreground opacity-20")}29 size={size}30 {...props}31 />32 </div>33 <LoaderCircleIcon34 className={cn("relative animate-spin", className)}35 size={size}36 {...props}37 />38 </div>39);4041const Ellipsis = ({ size = 24, ...props }: SpinnerVariantProps) => {42 return (43 <svg44 height={size}45 viewBox="0 0 24 24"46 width={size}47 xmlns="http://www.w3.org/2000/svg"48 {...props}49 >50 <title>Loading...</title>51 <circle cx="4" cy="12" fill="currentColor" r="2">52 <animate53 attributeName="cy"54 begin="0;ellipsis3.end+0.25s"55 calcMode="spline"56 dur="0.6s"57 id="ellipsis1"58 keySplines=".33,.66,.66,1;.33,0,.66,.33"59 values="12;6;12"60 />61 </circle>62 <circle cx="12" cy="12" fill="currentColor" r="2">63 <animate64 attributeName="cy"65 begin="ellipsis1.begin+0.1s"66 calcMode="spline"67 dur="0.6s"68 keySplines=".33,.66,.66,1;.33,0,.66,.33"69 values="12;6;12"70 />71 </circle>72 <circle cx="20" cy="12" fill="currentColor" r="2">73 <animate74 attributeName="cy"75 begin="ellipsis1.begin+0.2s"76 calcMode="spline"77 dur="0.6s"78 id="ellipsis3"79 keySplines=".33,.66,.66,1;.33,0,.66,.33"80 values="12;6;12"81 />82 </circle>83 </svg>84 );85};8687const Ring = ({ size = 24, ...props }: SpinnerVariantProps) => (88 <svg89 height={size}90 stroke="currentColor"91 viewBox="0 0 44 44"92 width={size}93 xmlns="http://www.w3.org/2000/svg"94// … truncated
What it pulls in
npm packages
Files it writes
More from Kibo UI Registry
All 41 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| announcementannouncement | Kibo UI Registry | Components | Free | no deps | |
| avatar-stackavatar-stack | Kibo UI Registry | Components | Free | no deps | |
| bannerbanner | Kibo UI Registry | Components | Free | 2 deps | |
| calendarcalendar | Kibo UI Registry | Components | Free | 3 deps | |
| choiceboxchoicebox | Kibo UI Registry | Components | Free | 2 deps | |
| code-blockcode-block | Kibo UI Registry | Components | Free | 5 deps · 2 files | |
| color-pickercolor-picker | Kibo UI Registry | Components | Free | 3 deps | |
| comboboxcombobox | Kibo UI Registry | Components | Free | 2 deps |
