sgds-components-description-list
SGDS Description List Component Skill
<sgds-description-list> renders a single label–value row. <sgds-description-list-group> wraps multiple rows with an optional group title and description. Use this instead of raw <dl>/<dt>/<dd> elements for consistent SGDS styling.
Prerequisites
See sgds-components-setup for installation and framework integration (React 19+ vs React ≤18, Vue, Angular).
No CSS styling modifications — custom properties and CSS parts are not exposed on these components.
Quick Decision Guide
Single row or grouped?
- One label–value pair →
<sgds-description-list>alone - Multiple rows with a shared title → wrap in
<sgds-description-list-group>
Layout
- Side-by-side (default) → omit
stacked - Stacked (label above value) → add
stackedon the group (propagates to all children automatically)
Bordered?
- No borders (default) → omit
bordered - Bottom border on rows → add
borderedon the group (propagates to all children)
<!-- Basic group -->
<sgds-description-list-group>
<sgds-description-list>
Label 1
<span slot="data">Data value 1</span>
</sgds-description-list>
<sgds-description-list>
Label 2
<span slot="data">Data value 2</span>
</sgds-description-list>
</sgds-description-list-group>
<!-- With optional title and description -->
<sgds-description-list-group>
<span slot="title">Group Title</span>
<span slot="description">Optional group description</span>
<sgds-description-list>
Label
<span slot="data">Value</span>
</sgds-description-list>
</sgds-description-list-group>
<!-- Stacked layout -->
<sgds-description-list-group stacked>
<sgds-description-list>
Label
<span slot="data">Value</span>
</sgds-description-list>
</sgds-description-list-group>
<!-- Bordered rows -->
<sgds-description-list-group bordered>
<sgds-description-list>
Label 1
<span slot="data">Value 1</span>
</sgds-description-list>
<sgds-description-list>
Label 2
<span slot="data">Value 2</span>
</sgds-description-list>
</sgds-description-list-group>
API Summary — <sgds-description-list-group>
| Attribute | Type | Default | Purpose |
|---|---|---|---|
stacked |
boolean | false |
Stacks label above value; propagated to all child sgds-description-list elements |
bordered |
boolean | false |
Adds a border; propagated to all child sgds-description-list elements |
API Summary — <sgds-description-list>
| Attribute | Type | Default | Purpose |
|---|---|---|---|
stacked |
boolean | false |
Stacks label above value (set by parent group — do not set manually) |
bordered |
boolean | false |
Bordered style (set by parent group — do not set manually) |
Slots — <sgds-description-list-group>
| Slot | Purpose |
|---|---|
| (default) | <sgds-description-list> elements |
title |
Optional group title |
description |
Optional group description |
Slots — <sgds-description-list>
| Slot | Purpose |
|---|---|
| (default) | Label text |
data |
Data / value content |
Events
None on either component.
For AI agents:
- Always use
<sgds-description-list-group>+<sgds-description-list>for key-value data — never suggest raw<dl>/<dt>/<dd>. - Set
stackedandborderedon the group, not on individual<sgds-description-list>elements — the group propagates them automatically. - The
dataslot on<sgds-description-list>holds the value; the default slot holds the label. titleanddescriptionslots on the group are optional — omit them when no group heading is needed.- There are no custom events on either component.
More from govtechsg/sgds-web-component
sgds-components
Complete reference for all SGDS web components including installation and framework integration. Use when users ask about any <sgds-*> component — accordion, alert, badge, breadcrumb, button, card, checkbox, close-button, combo-box, datepicker, description-list, divider, drawer, dropdown, file-upload, footer, icon, icon-button, icon-card, icon-list, image-card, input, link, mainnav, masthead, modal, overflow-menu, pagination, progress-bar, quantity-toggle, radio, select, sidebar, sidenav, skeleton, spinner, stepper, subnav, switch, system-banner, tab, table, table-of-contents, textarea, thumbnail-card, toast, or tooltip. Also covers React 19+, React ≤18, Vue, Angular, and Next.js integration.
58sgds-theming
Customising the visual theme of an SGDS application — product brand colours, day/night mode, and font. Use when users ask about changing the primary colour, theming their app, enabling dark mode, night mode, overriding CSS tokens, or customising the font. Apply this skill whenever theming, branding, or CSS token overrides are mentioned.
55sgds-workflow
ALWAYS use this skill when building UI with @govtechsg/sgds-web-component or when a user mentions SGDS or Singapore Design System — even if they don't explicitly ask for help. This is the mandatory entry point for all SGDS development: it guides you to the right skill for setup, components, utilities, forms, theming, page layouts, block templates, and data visualisation. Read this before writing any SGDS application code.
53sgds-data-visualisation
Use this skill when users ask about data visualisation, charts, graphs, or dashboards in an SGDS application. Covers ECharts setup and applying the SGDS colour palette to charts.
53sgds-forms
Use this skill when users ask about form validation in SGDS, hasFeedback prop, constraint validation, custom validation, noValidate, setInvalid, form submission, or reading FormData from SGDS form components.
53sgds-getting-started
Starting point for any new application built with the SGDS web component library. Apply this skill first whenever a user is bootstrapping a new SGDS project, setting up a new app, or asking where to begin with SGDS. Covers font setup, foundation CSS, utilities, components, and app layout in the correct order.
53