AhaSlides Design
v0.52.0React · Vue · Lit

Patterns · Settings

Section Header

A settings GROUP header — the hierarchy parent that a stack of setting rows sits under: a noun-phrase label, an optional "?" help, and a right-aligned action slot (a master switch, a count, a link).

Examples

Label
Help
Section header · the settings GROUP header (label + "?" help + action slot)
Variants · plain · with "?" help · with an action (master switch / count / link)
12
A group in context · a header over its setting rows

API

PropTypeDefaultNotes
labelstringThe group title — a noun phrase in sentence case; exposed as a role=heading aria-level=3
helpstringOptional guidance — renders the "?" help trigger (circled question glyph) after the label; the tooltip carries the text
actionslotRight-aligned slot (slot="action") — a master switch, a count, or a link

Install

# .npmrc — once: point the @ahaslides-product scope at GitHub Packages
@ahaslides-product:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=${GITHUB_TOKEN}   # a GitHub token with read:packages

npm i @ahaslides-product/design
import '@ahaslides-product/design/tokens.css';   // once, at the app root
import '@ahaslides-product/design/aha-section-header';   // registers <aha-section-header>

Agent feed for this component (absolute, fetchable anywhere): section-header.agent.json · section-header.md · section-header.llms.txt

When to use

When to use
  • Section header — the title of a GROUP of settings — the hierarchy parent over a stack of rows
  • Setting row — ONE setting inside the group — a label + a control
  • Settings list — a whole schema-driven surface of groups + rows at once
Name the group with a short noun phrase in sentence case ("Audience", "Interaction") — never a full sentence and never Title Case. Add `help` only when the group needs a word of guidance; keep the label itself terse. Reach for the `action` slot to hang a master switch that toggles the whole group, a count of items, or a "Manage" link — anything that acts on the group, not on one row.
Surfaces
editor dashboard settings audience

Spec

Row flex; align-items center; gap 8 · Label Plus Jakarta 14/21, weight 600, text-default (#1A1A1A) — a role=heading aria-level=3 · Casing noun phrase, sentence case — "Presentation", NOT "Presentation Settings" · Help optional "?" after the label (DS <aha-tooltip help> — the circled question glyph) · Action right-aligned slot (margin-left:auto) — a master switch / count / link · Motion none — static header, no interactive state of its own