Skip to Content

Description List

Semantic key value list for order details, invoices, specifications or account profiles. Default spaces rows on a gap and divided rules a line between them, and long values wrap under their term.

pnpm dlx shadcn add @01orbital/description-list

Usage

import {
  DescriptionList,
  DescriptionListDetails,
  DescriptionListItem,
  DescriptionListTerm,
} from "@/components/description-list/description-list"

const ROWS = [
  { term: "Order", value: "ORB-10482" },
  { term: "Placed", value: "November 6, 2026" },
  { term: "Ships to", value: "Megan McArthur, Pasadena" },
  { term: "Total", value: "$184.00" },
] as const

/** A divided Description List: four label and value rows. */
export default function DescriptionListDemo() {
  return (
    <DescriptionList variant="divided" className="w-full max-w-sm">
      {ROWS.map((row) => (
        <DescriptionListItem key={row.term}>
          <DescriptionListTerm>{row.term}</DescriptionListTerm>
          <DescriptionListDetails>{row.value}</DescriptionListDetails>
        </DescriptionListItem>
      ))}
    </DescriptionList>
  )
}

Examples

New

description-list-clinic-appointment

description-list-clinic-appointment

Clinic Appointment

Example of the Description List: divided appointment details for a physiotherapy clinic, with a preparation note below. The description list shows label and value rows such as order or appointment details.

pnpm dlx shadcn add @01orbital/description-list-clinic-appointment

New

description-list-receipt

description-list-receipt

Receipt

Example of the Description List as an order receipt: dashed edges, a large total and a divided list of details. The description list shows label and value rows such as order or appointment details.

pnpm dlx shadcn add @01orbital/description-list-receipt

Anatomy

Description List is built from 4 parts. In the example they nest like this:

DescriptionList
└─ DescriptionListItem
   ├─ DescriptionListTerm
   └─ DescriptionListDetails

API reference

DescriptionList

Prop

Type

It also accepts the HTML attributes of the element it renders.

DescriptionListItem

It accepts the HTML attributes of the element it renders.

DescriptionListTerm

It accepts the HTML attributes of the element it renders.

DescriptionListDetails

It accepts the HTML attributes of the element it renders.

Dependencies

npm: class-variance-authority, cn. The CLI installs them for you.

No other registry pieces.