API and Development
SettingsSection, SettingsRow, and the exported enums from @prepared911/ui/blocks/settings-section.
The declaration in packages/ui/src/blocks/settings-section/schema.ts is the contract for inputs, slots, composed components, and variants. Prop types and TSDoc are in packages/ui/src/blocks/settings-section/props.ts.
Row copy defaults live in packages/ui/src/utils/settings-declaration/default-settings-section-copy-catalog.ts (settingsSection.* keys).
| Name | Type | Default | Description |
|---|---|---|---|
title | LocalizedMessage | — | Section title; rendered as a heading at level. |
audience | SettingsRowAudience | SettingsRowAudience.CustomerFacing | Who may see the section. |
canView | boolean | — | When false, the section renders null (section-level view permission). |
children | ReactNode | — | SettingsRow children. |
className | string | — | — |
copyOverrides | SettingsSectionCopyOverrides | — | Partial overrides for generated settings section copy. |
description | LocalizedMessage | — | Supporting copy under the title. Required when kind is danger. |
emptyState | SettingsSectionEmptyState | — | Shown inside the card when the section has no row children but remains on the page. |
id | string | — | — |
infoContent | LocalizedMessage | — | Body of the optional info popover beside the title. |
infoLabel | LocalizedMessage | — | Accessible name of the optional info popover trigger beside the title. |
kind | SettingsSectionKind | SettingsSectionKind.Default | Visual intent of the section. |
level | SettingsSectionLevel | SettingsSectionLevel.Two | Heading level of the title. |
locale | string | — | BCP 47 locale override for generated row copy and toasts; otherwise uses the nearest LocaleProvider. |
ref | Ref<HTMLDivElement> | — | — |
viewerIsStaff | boolean | — | When false, rows with audience: internal render null. |