Orbiting Circles
A collection of circles which move in orbit along a circular path.
A collection of circles which move in orbit along a circular path.
import { cn } from "@/lib/utils";export interface OrbitingCirclesProps {className?: string;children?: React.ReactNode;reverse?: boolean;duration?: number;delay?: number;radius?: number;path?: boolean;}export default function OrbitingCircles({className,children,reverse,duration = 20,delay = 10,radius = 50,path = true,}: OrbitingCirclesProps) {return (<>{path && (<svgxmlns="http://www.w3.org/2000/svg"version="1.1"className="pointer-events-none absolute inset-0 size-full"><circleclassName="stroke-black/10 stroke-1 dark:stroke-white/10"cx="50%"cy="50%"r={radius}fill="none"/></svg>)}<divstyle={{"--duration": duration,"--radius": radius,"--delay": -delay,} as React.CSSProperties}className={cn("absolute flex size-full transform-gpu animate-orbit items-center justify-center rounded-full border bg-black/10 [animation-delay:calc(var(--delay)*1000ms)] dark:bg-white/10",{ "[animation-direction:reverse]": reverse },className,)}>{children}</div></>);}
Orbiting Circles
Prop | Type | Description | Default |
---|---|---|---|
className | string | The class name for the component. | "" |
children | React.ReactNode | The children nodes of the component. | null |
reverse | boolean | If | false |
duration | number | The duration of the animation in seconds. | 20 |
delay | number | The delay before the animation starts, in seconds. | 10 |
radius | number | The radius of the orbit in pixels. | 50 |