Display
Description List
A responsive term/description grid built on a semantic <dl>, styled with the quebi design system. Stacks on mobile and splits into two columns on larger screens.
displaydatalistkey-valuemetadata
Default
Terms in muted foreground, descriptions in white, with subtle row dividers.
- Name
- Aurelia Vance
- aurelia@quebi.de
- Role
- Platform Engineer
Invoice summary
Useful for rendering structured metadata such as an order or invoice.
- Invoice
- #QB-2026-0042
- Status
- Paid
- Amount
- €1,280.00
- Issued
- June 30, 2026
Long descriptions
Descriptions wrap independently of their terms.
- Project
- Quebi UI Library
- Summary
- A copy-paste React component library styled with the quebi design system, rendered live in a gallery and auto-published to a static AI-discovery API at build time.
Source
Copy this into your project. Resolve its dependencies from the registryDependencies in the component's API entry.
import { cn } from "@/lib/utils"
/**
* DescriptionList — quebi design system
*
* A responsive term/description grid (`<dl>`). Single column on small
* screens, a two-column term + description layout on `sm` and up. Terms
* read in muted foreground, descriptions in white, with subtle cyan
* dividers separating each row.
*/
export function DescriptionList({ className, ref, ...props }: React.ComponentProps<"dl">) {
return (
<dl
ref={ref}
data-slot="description-list"
className={cn(
"grid grid-cols-1 text-base/6 sm:grid-cols-[min(50%,calc(var(--spacing)*80))_auto] sm:text-sm/6",
className,
)}
{...props}
/>
)
}
export function DescriptionTerm({ className, ref, ...props }: React.ComponentProps<"dt">) {
return (
<dt
ref={ref}
data-slot="description-term"
className={cn(
"col-start-1 border-t border-cyan-500/10 pt-3 text-quebi-fg-muted first:border-none sm:py-3",
className,
)}
{...props}
/>
)
}
export function DescriptionDetails({ className, ref, ...props }: React.ComponentProps<"dd">) {
return (
<dd
ref={ref}
data-slot="description-details"
className={cn(
"pt-1 pb-3 text-white sm:border-t sm:border-cyan-500/10 sm:nth-2:border-none sm:py-3",
className,
)}
{...props}
/>
)
}