TrademarkTrademarkDocs
Ctrl k
Search docs...
Components

Setting

Updated: September 21, 2026
View on GitHub
Every editor UI grows the same row: a label, sometimes a description, sometimes an explainer, and one control on the right. Setting is that row. The control is passed as children rather than as a typed prop, so the component never has to know what can sit in it — including controls that do not exist yet. info puts a sentence of context behind a small icon beside the label, so a setting can explain itself without spending a line of the panel on a description that is only read once. It renders an InfoTip, which is also exported on its own for use anywhere else. SettingGroup nests sub-settings inside its own box rather than beside it, so the relationship survives a panel with ten groups in it. The header control is what usually gates the body. The group is a single surface — the header and the body it reveals share one background, separated by a hairline — so opening one grows the panel instead of stacking a second panel inside it. Its border is an alpha, which reads against whatever the group is nested in. A property with more than one axis belongs in one row. SettingAxes puts them side by side, and wraps when the panel is too narrow, instead of splitting into two rows that read as unrelated settings.
Prop
Type
Default
label
Name of the setting.
React.ReactNode—
description
What it does, under the label.
React.ReactNode—
info
Extra detail behind an InfoTip.
React.ReactNode—
controlWidth
Width reserved for the control, in rem, so a column of settings lines up.
number14
children
React.ReactNode—
…and every FlexProps propinherited—
Prop
Type
Default
label
ReactNode—
description
ReactNode—
info
ReactNode—
control
ReactNode—
open
boolean—
children
React.ReactNode—
…and every FlexProps propinherited—
Prop
Type
Default
label
ReactNode—
info
ReactNode—
axes
{ label: ReactNode; control: ReactNode }[]—
axisWidth
number13
…and every FlexProps propinherited—
Prop
Type
Default
children
React.ReactNode—
size
xssmlxl
xs
…and every FlexProps propinherited—
Edit this page on GitHub
TrademarkTrademark
Built with curiosity by Lorant One and the Design Engineers Club