About
One image rises from below, then the rest slide out from under it into an overlapping fan.
Built with React and Tailwind. Copy the prompt and paste it into Claude Code, Cursor or Lovable: your agent adds Tweenly Image Fan to your project and fits it to your theme.
Code
How Tweenly Image Fan is used: the demo's code. The component's own source comes with a free account.
Usage.tsx
"use client";
import {ThemeProvider as LibraryDemoThemeProvider} from "next-themes";
import { ImageFan } from "@/components/ui/tweenly-image-fan"
const images = [
{
"src": "https://trytweenly.vercel.app/gallery/01.jpg",
"alt": "Gallery image 1"
},
{
"src": "https://trytweenly.vercel.app/gallery/02.jpg",
"alt": "Gallery image 2"
},
{
"src": "https://trytweenly.vercel.app/gallery/03.jpg",
"alt": "Gallery image 3"
},
{
"src": "https://trytweenly.vercel.app/gallery/04.jpg",
"alt": "Gallery image 4"
},
{
"src": "https://trytweenly.vercel.app/gallery/05.jpg",
"alt": "Gallery image 5"
},
{
"src": "https://trytweenly.vercel.app/gallery/06.jpg",
"alt": "Gallery image 6"
},
{
"src": "https://trytweenly.vercel.app/gallery/07.jpg",
"alt": "Gallery image 7"
},
{
"src": "https://trytweenly.vercel.app/gallery/08.jpg",
"alt": "Gallery image 8"
}
];
export function Demo() {
return (
<ImageFan images={images} />
)
}
function SourceSpecimen(){return <Demo/>}
export default function LibraryRegistryPreview(){return <LibraryDemoThemeProvider defaultTheme="dark" enableSystem={false}><div data-component-demo data-demo-theme="dark" data-theme="dark" className="dark" style={{background:"var(--background)",color:"var(--foreground)"}}><div className="relative w-full min-w-0 max-w-5xl min-h-[400px] flex items-center justify-center"><SourceSpecimen/></div></div></LibraryDemoThemeProvider>}








