[EuiFilterGroup][EuiFilterButton] Implement redesign - #9961
Conversation
|
👋 Since this is a community submitted pull request, a Buildkite build has not been started automatically. Would an Elastic organization member please verify the contents of this pull request and kick off a build manually? |
3c384f4 to
7573287
Compare
📷 46 visual difference(s) foundLook at the visual diff below. If everything is expected, run Approve visual changes to update baselines, re-run the job or make appropriate fixes. See the visual regression testing wiki for more information. Expand to revieweuifilterbutton (8 differences)
euifiltergroup (6 differences)
euiform (2 differences)
euisearchbar (4 differences)
euisuperdatepicker (6 differences)
euibuttongroup (14 differences)
euidatagrid (4 differences)
euiinmemorytable (2 differences)
|
7c9e37c to
90208fc
Compare
📷 22 visual difference(s) foundLook at the visual diff below. If everything is expected, run Approve visual changes to update baselines, re-run the job or make appropriate fixes. See the visual regression testing wiki for more information. Expand to revieweuifilterbutton (8 differences)
euifiltergroup (6 differences)
euiform (2 differences)
euiinmemorytable (2 differences)
euisearchbar (4 differences)
|
4326c2b to
da5d11b
Compare
📷 20 visual difference(s) foundLook at the visual diff below. If everything is expected, run Approve visual changes to update baselines, re-run the job or make appropriate fixes. See the visual regression testing wiki for more information. Expand to revieweuifilterbutton (8 differences)
euifiltergroup (6 differences)
euiinmemorytable (2 differences)
euisearchbar (4 differences)
|
|
buildkite test this |
📷 20 visual difference(s) foundLook at the visual diff below. If everything is expected, run Approve visual changes to update baselines, re-run the job or make appropriate fixes. See the visual regression testing wiki for more information. Expand to revieweuifilterbutton (8 differences)
euifiltergroup (6 differences)
euiinmemorytable (2 differences)
euisearchbar (4 differences)
|
|
buildkite test this |
There was a problem hiding this comment.
🟡 Changes recommended
There are at least two concrete issues to address (a TypeScript-typing problem in the story and a likely unintended divider border color inconsistency in the new styles).
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Implements the redesign and updated API for EuiFilterGroup/EuiFilterButton, aligning their visuals and behavior with the recent EuiButtonGroup redesign work (incl. new selection display variants and optional dividers).
Changes:
- Added
displayandshowDividersprops toEuiFilterGroup, plus an internal context to pass inherited styling state toEuiFilterButton. - Updated
EuiFilterButtonimplementation/styling (notably toggle rendering) and adjusted related snapshots. - Updated docs and changelog entries to reflect the new API and visuals.
File summaries
| File | Description |
|---|---|
| packages/website/docs/components/navigation/buttons/filter-group.mdx | Updates docs copy + example to include display/showDividers usage. |
| packages/eui/src/components/search_bar/filters/snapshots/is_filter.test.tsx.snap | Snapshot updates for filter button markup/classes. |
| packages/eui/src/components/search_bar/filters/snapshots/field_value_toggle_group_filter.test.tsx.snap | Snapshot updates for toggle group filter rendering. |
| packages/eui/src/components/search_bar/filters/snapshots/field_value_toggle_filter.test.tsx.snap | Snapshot updates for toggle filter rendering. |
| packages/eui/src/components/search_bar/snapshots/search_filters.test.tsx.snap | Snapshot updates reflecting new data-* attributes + wrapper classes. |
| packages/eui/src/components/search_bar/snapshots/search_bar.test.tsx.snap | Snapshot updates reflecting new data-* attributes + wrapper classes. |
| packages/eui/src/components/form/form_control_layout/form_control_layout.styles.ts | Removes wrapper padding for filter buttons within form control side nodes. |
| packages/eui/src/components/filter_group/filter_group.tsx | Adds display/showDividers, provides internal context, and sets data-* attributes. |
| packages/eui/src/components/filter_group/filter_group.styles.ts | Adds divider gap + display-based CSS var; updates radius handling. |
| packages/eui/src/components/filter_group/filter_group.stories.tsx | Updates Storybook to exercise new props and toggle behavior. |
| packages/eui/src/components/filter_group/filter_group_context.tsx | New internal context for propagating group-only state to buttons. |
| packages/eui/src/components/filter_group/filter_button.tsx | Updates toggle rendering to use EuiButton and consumes group context. |
| packages/eui/src/components/filter_group/filter_button.styles.ts | Significant styling changes: inset sizing, dividers, compressed handling. |
| packages/eui/src/components/filter_group/snapshots/filter_group.test.tsx.snap | Snapshot updates for new data-* attributes. |
| packages/eui/src/components/filter_group/snapshots/filter_button.test.tsx.snap | Snapshot updates for wrapper/button class changes. |
| packages/eui/changelogs/upcoming/9961.md | Adds changelog entry for FilterGroup/FilterButton redesign + new props. |
| packages/eui/changelogs/upcoming/9953.md | Removes now-superseded FilterGroup/FilterButton note from prior PR entry. |
Review details
- Files reviewed: 17/37 changed files
- Comments generated: 2
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
📷 4 visual difference(s) foundLook at the visual diff below. If everything is expected, run Approve visual changes to update baselines, re-run the job or make appropriate fixes. See the visual regression testing wiki for more information. Expand to revieweuidatagrid (4 differences)
|
089fa40 to
3be7f79
Compare
| *:where(.euiButton, .euiButtonIcon):is([aria-pressed='true']) { | ||
| background-color: ${euiTheme.colors.backgroundLightText}; | ||
| *:where(.euiButton, .euiButtonIcon) { | ||
| &:where(:is([aria-pressed='true']):not(${euiDisabledSelector})) { |
📷 4 visual difference(s) foundLook at the visual diff below. If everything is expected, run Approve visual changes to update baselines, re-run the job or make appropriate fixes. See the visual regression testing wiki for more information. Expand to revieweuidatagrid (4 differences)
|
3be7f79 to
f6ba0b5
Compare
📷 4 visual difference(s) foundLook at the visual diff below. If everything is expected, run Approve visual changes to update baselines, re-run the job or make appropriate fixes. See the visual regression testing wiki for more information. Expand to revieweuidatagrid (4 differences)
|
|
buildkite test this |
📷 4 visual difference(s) foundLook at the visual diff below. If everything is expected, run Approve visual changes to update baselines, re-run the job or make appropriate fixes. See the visual regression testing wiki for more information. Expand to revieweuidatagrid (4 differences)
|
…ckground/fill for selected buttons
f6ba0b5 to
d3cb170
Compare
weronikaolejniczak
left a comment
There was a problem hiding this comment.
LGTM 🟢 Thanks for the change, Lene!
💚 Build Succeeded
History
cc @mgadewoll |
💚 Build Succeeded
History
cc @mgadewoll |






































































































































Summary
Note
This PR is related to the updates for new button group designs and API.
This PR should merge after #9953.
EuiFilterGroupandEuiFilterButtonto fully align them with the updates done forEuiButtonGroup.showDividersprop onEuiFilterGroupto optionally show/hide dividers between group childrendisplayprop('regular' | 'highlighted')to render different visual selection state variantsEuiFilterGroupandEuiFilterButtonEuiFilterGroupContextto pass non public props toEuiFilterButton(inherited fromEuiFilterGroup)EuiButtonGroupto ensure selected buttons keep a background color to distinguish selectionAPI Changes
EuiFilterGroupdisplayregular | highlighted. DefaultsregularEuiFilterGroupshowDividerstrue.Screenshots
isSelecteddisplay="highlighted"showDividers={false}EuiButtonGroupdisabled changesImpact Assessment
Note: Most PRs should be tested in Kibana to help gauge their Impact before merging.
Impact level: 🟢 Low
🧪 The changes have been run in Kibana CI (🟢 build)
Required Kibana changes: commits added here.
Release Readiness
Migration guide: {steps or link, for breaking/visual changes or deprecations}Adoption plan (new features): {link to issue/doc or outline who will integrate this and where}QA instructions for reviewer
💻 EuiFilterGroup Storybook
💻 EuiFilterButton Storybook
EuiFilterGroupandEuiFilterButtonstyles are aligned with the button group redesign specsdisplay="highlighted"switches correctly to dark grey toggle stateshowDividerscorrectly toggles show/hide dividersChecklist before marking Ready for Review
breaking changelabel (if applicable)Reviewer checklist