Docs / Inlay / Instance Labels

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.

Discovery Call

One call.
We'll both know.

An hour to walk through your project, ask the hard questions, and work out honestly if we're the right team for it.

  • One call per day - it gets our full attention
  • Australia's only Laravel Premier Partner
  • Senior engineers only - no juniors on your project
  • Brisbane-based, onshore team

Press Esc to close  ·  B to reopen