Instance labels
The editor's component tree identifies each row by the component's display name plus a short instance detail, so a page with three Hero components reads as Hero - "Welcome", Hero - "Our story", Hero - "Get in touch" rather than three indistinguishable hero rows.
The default heuristic
By default this is a deterministic heuristic (WearePixel\Inlay\Support\SectionInstanceLabel) that checks, in order, a setting named heading, title, name, or label, then falls back to the first declared text() setting - always a short plain-text field, never a textarea(), richtext(), image(), select(), repeater(), or group(). This means a list label can never surface long-form, structured, or sensitive content.
Overriding it
If none of those names fit, name the field explicitly instead of relying on the guess:
public static function settings(): Settings
{
return Settings::make()
->text('eyebrow')->label('Eyebrow')
->text('headline')->label('Headline')
->instanceLabel('headline');
}
instanceLabel() only takes effect for a text() field - naming anything else is simply ignored, the same as the heuristic ignoring one.
This is deliberately the only instance-naming mechanism the editor has. There's no separate, arbitrary "rename this component" field independent of its actual settings - that would need its own storage and its own place in the inspector for what the heuristic (or an explicit instanceLabel()) already covers in the common case.