Style Library
Prompt
Paste into any AI assistant before describing what to build — or attach it to a project below.
# Animation pattern — Avatar Circles
Overlapping circles of avatars.
Build it in React with `motion` (motion/react) and Tailwind CSS. Respect `prefers-reduced-motion` (render the final state without movement), keep it under ~400 ms for UI feedback, and animate only transform and opacity where possible.
Reference implementation (Magic UI, MIT):
```tsx
"use client"
import { cn } from "@/lib/utils"
interface Avatar {
imageUrl: string
profileUrl: string
}
interface AvatarCirclesProps {
className?: string
numPeople?: number
avatarUrls: Avatar[]
}
export const AvatarCircles = ({
numPeople,
className,
avatarUrls,
}: AvatarCirclesProps) => {
return (
<div className={cn("z-10 flex -space-x-4 rtl:space-x-reverse", className)}>
{avatarUrls.map((url, index) => (
<a
key={index}
href={url.profileUrl}
target="_blank"
rel="noopener noreferrer"
>
<img
key={index}
className="h-10 w-10 rounded-full border-2 border-white dark:border-gray-800"
src={url.imageUrl}
width={40}
height={40}
alt={`Avatar ${index + 1}`}
/>
</a>
))}
{(numPeople ?? 0) > 0 && (
<a
className="flex h-10 w-10 items-center justify-center rounded-full border-2 border-white bg-black text-center text-xs font-medium text-white hover:bg-gray-600 dark:border-gray-800 dark:bg-white dark:text-black"
href=""
>
+{numPeople}
</a>
)}
</div>
)
}
```Use it in an app
Create a free account to attach this style to a project: the hub adds it to the prompt your AI assistant gets, so it builds every page in this look.
From Magic UI (MIT, commit d7207e5).View source