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.