







pnpm dlx shadcn@latest add @gammaui/radial-intro
import { RadialIntro } from "@/components/ui/radial-intro"
const ITEMS = [
{
id: 1,
name: "Framer University",
src: "https://pbs.twimg.com/profile_images/1602734731728142336/9Bppcs67_400x400.jpg",
},
{
id: 2,
name: "arhamkhnz",
src: "https://pbs.twimg.com/profile_images/1897311929028255744/otxpL-ke_400x400.jpg",
},
{
id: 3,
name: "Skyleen",
src: "https://pbs.twimg.com/profile_images/1948770261848756224/oPwqXMD6_400x400.jpg",
},
{
id: 4,
name: "Shadcn",
src: "https://pbs.twimg.com/profile_images/1593304942210478080/TUYae5z7_400x400.jpg",
},
]
export default function Example() {
return <RadialIntro orbitItems={ITEMS} stageSize={320} imageSize={60} />
}This will display rotating orbiting images with smooth animations powered by Motion.
| Prop | Type | Default | Description |
|---|---|---|---|
| orbitItems | OrbitItem[] | — | The list of images (with id, name, src) to place in orbit. |
| stageSize | number | 320 | The width/height of the orbit container. |
| imageSize | number | 60 | Image size for each orbiting item. |
type OrbitItem = {
id: number
name: string
src: string
}<Component orbitItems={ITEMS} stageSize={480} imageSize={80} /><Component orbitItems={ITEMS} imageSize={40} /><Component
orbitItems={[
{ id: 1, name: "Mars", src: "/planets/mars.png" },
{ id: 2, name: "Venus", src: "/planets/venus.png" },
{ id: 3, name: "Jupiter", src: "/planets/jupiter.png" },
]}
/>LayoutGroup and motionstageSize for more orbit spacing.spinConfig inside the component.