shadimage
designali
exampleaccordion-01source: ok · hit

Accordion 01

Personal FAQ accordion introducing Ali Imam, his design approach, inspirations, and ways to connect for collaborations.

npx shadcn add "https://designali.com/r/accordion-01.json"
free

Where it goes

faq

Interaction

accordion

Tags auto-generated by rules on 9/24/2026 — empty means no evidence, not lack of support.

Files1 · source cached 10/9/2026, 4:14:09 PM

registry/designali/examples/accordion/accordion-01.tsx
import { Plus } from "lucide-react"

import { cn } from "@workspace/ui/lib/utils"
import {
  Accordion,
  AccordionContent,
  AccordionItem,
  AccordionTrigger,
} from "@workspace/ui/components/accordion"

const items = [
  {
    id: "01",
    title: "Who am I?",
    content:
      "I’m Ali Imam — a designer and creative developer focused on building digital experiences that are minimal, meaningful, and timeless.",
  },
  {
    id: "02",
    title: "What do I design?",
    content:
      "I create clean, functional interfaces, brand systems, and digital products. My work blends simplicity with clarity and usability.",
  },
  {
    id: "03",
    title: "My design approach",
    content:
      "For me, design isn’t just visuals — it’s how something feels and works. I focus on clarity, detail, and storytelling in every project.",
  },
  {
    id: "04",
    title: "Beyond design",
    content:
      "I bridge design and development, turning ideas into interactive experiences with modern tools and technology.",
  },
  {
    id: "05",
    title: "What inspires me",
    content:
      "Minimalism, architecture, and everyday details. I believe great design is found in the small things we often overlook.",
  },
  {
    id: "06",
    title: "Who I work with",
    content:
      "I collaborate with startups, brands, and individuals who value thoughtful design and want to create lasting impact.",
  },
  {
    id: "07",
    title: "My toolkit",
    content:
      "Figma, Next.js, and modern frameworks are part of my process — but for me, tools always serve the idea, not the other way around.",
  },
  {
    id: "08",
    title: "Let’s connect",
    content:
      "You can reach me through contact@aliimam.in or on social platforms. I’m always open to new projects, collaborations, and conversations.",
  },
]

export default function Accordion01() {
  return (
    <div className="mx-auto flex h-full w-full max-w-xl items-center justify-center">
      <Accordion defaultValue={["03"]} className="w-full">
        {items.map((item) => (
          <AccordionItem value={item.id} key={item.id}>
            <AccordionTrigger className="[data-slot=accordion-trigger] cursor-pointer text-left duration-1000 hover:pl-3 hover:no-underline hover:[&_div.bg-primary]:bg-secondary hover:[&_svg]:rotate-90 hover:[&_svg]:text-primary [&>svg]:hidden">
              <div className="flex flex-1 items-start justify-between gap-4">
                <div className="flex items-center gap-3">
                  <h1>{item.id}</h1>
                  <h3 className="text-lg font-semibold md:text-xl">
                    {item.title}
                  </h3>
                </div>
                <div className="flex items-center bg-primary p-2 duration-500">
                  <Plus
                    className={cn(
                      "size-4 shrink-0 text-primary-foreground transition-transform duration-1000",
                      "[data-state=open]:rotate-90"
                    )}
                  />
                </div>
              </div>
            </AccordionTrigger>

            <AccordionContent className="pr-20 pb-6 text-muted-foreground">
              {item.content}
            </AccordionContent>
          </AccordionItem>
        ))}
      </Accordion>
    </div>
  )
}

More from designali

Browse all components in this library →