Staaarter

Capabilities Accordion

Ruled, expandable capability rows with oversized type, detail copy, and monospace tag chips. Each row expands in place to reveal a description and a set of small tag chips.

By Staaarter Team
Agency
Docs
Live preview

Docs

Installation

A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its dependencies and any missing npm packages, and installs them straight into your project.

npx shadcn add https://staaarter.com/r/capabilities-accordion.json

Prefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/agency/agency21.tsx instead.

Usage

The file also exports agency21Demo, the exact props behind the preview above. Spread it to get a working section in one line, then replace it with your own data.

import { Agency21, agency21Demo } from "@/components/blocks/agency/agency21";

export default function Page() {
  return <Agency21 {...agency21Demo} />;
}

Props

PropTypeDefaultDescription
headingReactNodenoneSection heading above the capability list.
descriptionstringnoneOptional supporting copy under the heading.
capabilitiesCapability[]noneExpandable capability rows, each with a name, description, and tags.
classNamestringnoneExtra classes for the outer section element.

Types

type Capability = { name: string; description: string; tags: string[] };

Behavior notes

  • Expand/collapse is real, working expand/collapse implemented with native HTML <details>/<summary>, not React state, so this stays a Server Component with no "use client" directive.
  • The chevron rotation is pure CSS (group-open:rotate-180 on the <details> element's open state), no JavaScript involved.
  • All rows render collapsed by default and are independent of one another; opening one does not close the others.