shadimage
designali
exampleaccordion-03source: ok · hit

Accordion 03

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

npx shadcn add "https://designali.com/r/accordion-03.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:18 PM

registry/designali/examples/accordion/accordion-03.tsx
/* eslint-disable @next/next/no-img-element */
import {
  Accordion,
  AccordionContent,
  AccordionItem,
  AccordionTrigger,
} from "@workspace/ui/components/accordion"
import { Button } from "@workspace/ui/components/button"

const items = [
  {
    id: "01",
    title: "Who am I?",
    img: "/img/chat-1-light.jpg",
    content:
      "I’m Ali Imam — a multidisciplinary designer and creative developer crafting thoughtful digital experiences with purpose and precision.",
  },
  {
    id: "02",
    title: "What do I design?",
    img: "/img/dashboard-1-dark.jpg",
    content:
      "I design intuitive interfaces, visual identities, and digital products that connect clarity with emotion — always guided by simplicity and usability.",
  },
  {
    id: "03",
    title: "My design approach",
    img: "/img/hero-1.jpg",
    content:
      "Every project begins with understanding. I combine logic, emotion, and craft to create experiences that feel effortless and meaningful.",
  },
  {
    id: "04",
    title: "Philosophy & values",
    img: "/img/hero-2.jpg",
    content:
      "Design should be timeless — not trendy. I value honesty in visuals, restraint in detail, and intention in every decision I make.",
  },
  {
    id: "05",
    title: "Beyond design",
    img: "/img/login-1.jpg",
    content:
      "Outside of work, I explore photography, motion, and creative coding — all ways to see and shape the world differently.",
  },
]

export default function Accordion03() {
  return (
    <div className="mx-auto flex w-full max-w-3xl items-center justify-center border">
      <Accordion defaultValue={["02"]} className="h-full w-full">
        {items.map((item) => (
          <AccordionItem
            value={item.id}
            key={item.id}
            className="relative overflow-hidden"
          >
            <AccordionTrigger
              className="group px-6 hover:no-underline [&>svg]:hidden data-[state=open]:h-40"
            >
              <h2 className="text-lg font-semibold md:text-xl">
                {item.title}
              </h2>
            </AccordionTrigger>

            <AccordionContent className="w-full p-0 pr-4">
              <div className="flex h-full w-full flex-col md:flex-row">
                {/* Content */}
                <div className="flex w-full shrink-0 flex-col justify-between gap-6 p-6 md:w-80">
                  <p className="text-muted-foreground">
                    {item.content}
                  </p> 
                  <Button className="w-fit">
                    View More
                  </Button>
                </div>

                {/* Image */}
                <div className="min-h-0 flex-1 border border-b-0">
                  <img
                    src={item.img}
                    alt={item.title}
                    className="h-full w-full object-contain"
                  />
                </div>
              </div>
            </AccordionContent>
          </AccordionItem>
        ))}
      </Accordion>
    </div>
  )
}

More from designali

Browse all components in this library →