-
Notifications
You must be signed in to change notification settings - Fork 856
Open
Labels
support-duty-flywheelLabel for PRs, see eui-private #310Label for PRs, see eui-private #310
Description
Problem Statement
The EuiHeaderLogo
component currently defaults to rendering “Elastic” as plain text via children
. However, according to brand identity guidelines, it should render unified logo (icon + text), not plain text.
Proposed Solution
Update EuiHeaderLogo
to support:
- A new prop, e.g.
logoType
, which accepts'full'
(icon + text combined SVG) or'icon'
- Default to
'icon'
so consumers don’t have to override - Drop reliance on
children
for default, and render the unified Elastic logo by default inEuiHeader
documentation - Apply the change to the documentation website
Use Case
Kibana renders a full Elastic logo:

but EuiHeaderLogo
passes plain text through children:

Switching to a single, official logo reduces hacks and ensures consistency.
Value / Impact
- Aligns with Elastic brand guidelines
- Avoids consumers implementing hacks (e.g. replacing children manually)
- Simplifies future brand updates - one centralized logo asset
- Broad impact: applies across all EUI consumers (Kibana, Cloud, Enterprise Search, etc.)
Urgency
Moderately urgent. This isn’t blocking, but enables clean upgrade paths and avoids scattered hacks.
Do alternatives or workarounds exist?
Yes - both Kibana and Cloud currently override via children or CSS hacks. These are fragile and inconsistent, not ideal long-term.
Related code or customizations
Additional context
Specs
Mockup of prop usage:
<EuiHeaderLogo logoType="full" href="/" />
Next Steps
- EUI team: review and decide on prop / API blueprint, add support for unified icon default, update docs
- Consumers (Kibana / Cloud): remove custom overrides and switch to props once released, simplifying code
Metadata
Metadata
Assignees
Labels
support-duty-flywheelLabel for PRs, see eui-private #310Label for PRs, see eui-private #310