elastic / elastic/eui

Remove MIN width for the button by default

Open
#9,941 7 comments 0 reactions 1 assignee Claimed by @mgadewoll View on GitHub
Dominant language
TypeScript
Stars
6.4k
Forks
911
Avg merge
2d 11h
Merged PRs (30d)
65

Description

## Context

From [Slack discussion](https://elastic.slack.com/archives/C7QC1JV6F/p1787304125100879) (`#eui`, 21 Aug 2026).

EUI buttons currently have a **min-width by default**. In tight layouts this wastes space for little usability gain (icon-only buttons already cover small click targets). Split buttons are a common example.

The original reason for min-width: **unified search** (`run` → `search` → `refresh` → `cancel`) — keeping width stable so the UI doesn’t jump when the label changes.

## Decision

**Change the default for `minWidth` to `false`.** Callers opt in when they need a stable width (e.g. label/state changes that would otherwise cause layout jump). This number is up to the consumer.

## What to do

- [ ] Flip `EuiButton` `minWidth` default to `false`
- [ ] Keep `minWidth` as an opt-in for cases that need it (unified search is the known example)
- [ ] Check tight-layout consumers that already suffer from the current default (Streams, Workflows, split buttons were called out)
- [ ] On Kibana side, check if Discover and Dashbaords buttons opt in to use min-width not to break the layout

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.