Skip to content

[DO NOT MERGE][Visual Refresh] Button updates #220093

Closed
mgadewoll wants to merge 9 commits intoelastic:mainfrom
mgadewoll:eui/visual-refresh-button-updates
Closed

[DO NOT MERGE][Visual Refresh] Button updates #220093
mgadewoll wants to merge 9 commits intoelastic:mainfrom
mgadewoll:eui/visual-refresh-button-updates

Conversation

@mgadewoll
Copy link
Contributor

@mgadewoll mgadewoll commented May 5, 2025

Summary

Important

This PR is for QA purposes only (until further notice). This PR will not be merged. Instead the changes will be added to Kibana as part of this weeks EUI upgrade PR.

Changes

  1. EUI changes: Adds all Visual Refresh related EUI changes on button components:
  • EuiButton
  • EuiButtonEmpty
  • EuiButtonIcon
  • EuiButtonGroup
  • EuiFilterGroup/EuiFilterButton
  1. EUI button component API updates: Updates instances of EuiFilterButton usages that were missing isSelected prop or that should use the new isToggle prop to ensure the expected visual and semantic output as toggle button.
Examples of new toggle filter buttons
before after
Screenshot 2025-05-05 at 16 18 13 Screenshot 2025-05-02 at 13 48 28
Screenshot 2025-05-05 at 16 19 30 Screenshot 2025-05-02 at 14 02 46
Screenshot 2025-05-05 at 16 21 50 Screenshot 2025-05-02 at 14 08 07
  1. Custom styling updates: Updates custom styling overrides on EUI button components in selected high-visibility places to ensure expected Visual Refresh output. (This is a first iteration step to ensure expected design. In the future we want to replace custom buttons with proper EUI components)
Updated custom button styling
Solution/Area After
Discover(classic) Screenshot 2025-05-30 at 14 45 01
Discover(ES/QL) Screenshot 2025-05-30 at 14 45 11
Dashboard(Create Visualization) Screenshot 2025-05-30 at 14 47 21
Maps: Aligned map toolbar button hover Screenshot 2025-04-30 at 17 19 11

@mgadewoll mgadewoll self-assigned this May 5, 2025
@elasticmachine
Copy link
Contributor

elasticmachine commented May 5, 2025

🤖 Jobs for this PR can be triggered through checkboxes. 🚧

ℹ️ To trigger the CI, please tick the checkbox below 👇

  • Click to trigger kibana-pull-request for this PR!
  • Click to trigger kibana-deploy-project-from-pr for this PR!
  • Click to trigger kibana-deploy-cloud-from-pr for this PR!

@mgadewoll mgadewoll added ci:cloud-deploy Create or update a Cloud deployment ci:cloud-persist-deployment Persist cloud deployment indefinitely ci:project-deploy-elasticsearch Create an Elasticsearch Serverless project ci:project-deploy-observability Create an Observability project ci:project-deploy-security Create a Security Serverless Project ci:project-persist-deployment Persist project deployment indefinitely labels May 5, 2025
@github-actions
Copy link
Contributor

github-actions bot commented May 5, 2025

🤖 GitHub comments

Expand to view the GitHub comments

Just comment with:

  • /oblt-deploy : Deploy a Kibana instance using the Observability test environments.
  • run docs-build : Re-trigger the docs validation. (use unformatted text in the comment!)

@mgadewoll mgadewoll force-pushed the eui/visual-refresh-button-updates branch 4 times, most recently from ae36761 to 7b5ca85 Compare May 6, 2025 11:14
@kibanamachine
Copy link
Contributor

Project deployed, see credentials at: https://buildkite.com/elastic/kibana-deploy-project-from-pr/builds/452

onClick={() => onChange?.([])}
style={{ height: '1rem' }}
>
<EuiButtonEmpty size="xs" flush="right" onClick={() => onChange?.([])}>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed '1rem' height - no difference in render.

},
})}
style={{
css={{
Copy link
Contributor

@jeramysoucy jeramysoucy May 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Replaced style with preferred css property. minWidth is required to properly render the feature access level options (all, read, none) in the feature table.

})}
value={value}
style={{
css={{
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Replaced style with preferred css property. Removed backgroundColor: 'transparent' - no difference in render.

size="xs"
flush="right"
style={{ height: euiTheme.base }}
css={{ height: euiTheme.base }}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Replaced style with prefered css property. height: euiTheme.base required to properly render the color picker without misaligning the row.

Comment on lines +51 to +58
css={
fullWidth
? { width: `100%` }
: css`
margin: ${euiTheme.size.m};
width: calc(100% - ${euiTheme.size.m} * 2);
`
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed the redundant style property and changed component property to pass explicit "fullWidth" flag instead of full style.

onClick={() => setIsExpanded(false)}
style={{ alignSelf: 'center' }}
>
<EuiButtonEmpty size="xs" onClick={() => setIsExpanded(false)}>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed style - no difference in render.

onClick={() => setIsExpanded(true)}
style={{ alignSelf: 'center' }}
>
<EuiButtonEmpty size="xs" onClick={() => setIsExpanded(true)}>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed style - no difference in render.

@jeramysoucy
Copy link
Contributor

@mgadewoll I addressed the Kibana Security custom button style overrides in 9f178b4.

cc @SiddharthMantri for review

@mgadewoll
Copy link
Contributor Author

@mgadewoll I addressed the Kibana Security custom button style overrides in 9f178b4.

@jeramysoucy Awesome, thanks a lot for checking and the updates! 🎉

mgadewoll added 3 commits May 30, 2025 10:55
- adds isToggle and Selected for toggle buttons; adds missing isSelected on expander buttons
@mgadewoll mgadewoll force-pushed the eui/visual-refresh-button-updates branch from 9f178b4 to d3fe6ca Compare May 30, 2025 09:11
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unrelated file

@l-suarez The "Try ES|QL" button got changed a little. Instead of light grey, it's transparent. There might be not enough contrast now. Wdyt?

Screenshot 2025-05-30 at 11 52 23 Screenshot 2025-05-30 at 11 51 53

Copy link
Contributor

@jughosta jughosta May 30, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@l-suarez Also, the "+" button for adding filters might be too dark now and steals the attention from other elements on the page.

Screenshot 2025-05-30 at 11 58 47

Copy link
Contributor Author

@mgadewoll mgadewoll May 30, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, the "+" button for adding filters might be too dark now and steals the attention from other elements on the page.

@jughosta There were discussion around this specific button group and for now the decision is that the styles were reverted to be blue again (commit) I just need to get the CI back up to deploy the changes 😄

Screenshot 2025-05-30 at 11 05 45

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! Thanks, @mgadewoll!

@mgadewoll mgadewoll force-pushed the eui/visual-refresh-button-updates branch from a553e49 to dce2cff Compare May 30, 2025 12:37
@kibanamachine
Copy link
Contributor

PR Cloud deployment started at: https://buildkite.com/elastic/kibana-deploy-cloud-from-pr/builds/220

@elasticmachine
Copy link
Contributor

elasticmachine commented May 30, 2025

💔 Build Failed

Failed CI Steps

Test Failures

  • [job] [logs] Scout: [ platform / streams_app ] plugin / serverless-oblt - Classic Streams - full flow
  • [job] [logs] Scout: [ platform / streams_app ] plugin / serverless-oblt - Wired Streams - full flow
  • [job] [logs] Scout: [ platform / streams_app ] plugin / stateful - Classic Streams - full flow
  • [job] [logs] Scout: [ platform / streams_app ] plugin / stateful - Wired Streams - full flow

Metrics [docs]

Module Count

Fewer modules leads to a faster build time

id before after diff
controls 379 380 +1
dashboard 681 682 +1
maps 1277 1278 +1
ml 2403 2404 +1
visTypeVega 578 579 +1
total +5

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
alerting 91.2KB 91.2KB +13.0B
canvas 1.1MB 1.1MB +172.0B
cases 1.3MB 1.3MB +96.0B
cloudSecurityPosture 540.8KB 540.3KB -524.0B
controls 479.1KB 483.8KB +4.7KB
dashboard 613.5KB 618.2KB +4.7KB
datasetQuality 254.8KB 254.9KB +144.0B
dataVisualizer 670.8KB 670.8KB +13.0B
discover 1.1MB 1.1MB -129.0B
esql 247.4KB 247.4KB +13.0B
esqlDataGrid 159.4KB 158.8KB -598.0B
eventAnnotationListing 204.1KB 204.2KB +32.0B
exploratoryView 141.0KB 141.0KB +26.0B
filesManagement 102.9KB 102.9KB +32.0B
fleet 1.7MB 1.7MB +32.0B
graph 370.2KB 370.2KB +32.0B
indexManagement 684.3KB 684.3KB +53.0B
lens 1.5MB 1.5MB +479.0B
maps 3.0MB 3.0MB +4.6KB
ml 5.4MB 5.4MB +4.2KB
observabilityShared 37.6KB 37.6KB +16.0B
presentationUtil 66.8KB 67.2KB +423.0B
security 516.2KB 516.6KB +325.0B
securitySolution 9.2MB 9.2MB +232.0B
serverlessSearch 347.1KB 347.0KB -53.0B
slo 985.6KB 985.4KB -129.0B
spaces 210.1KB 210.1KB +13.0B
streamsApp 548.1KB 548.1KB +32.0B
synthetics 1.0MB 1.0MB +34.0B
triggersActionsUi 1.5MB 1.5MB +169.0B
unifiedDocViewer 219.8KB 220.1KB +303.0B
unifiedSearch 352.4KB 352.8KB +365.0B
uptime 490.8KB 490.9KB +62.0B
visTypeVega 2.1MB 2.1MB +4.2KB
visualizations 372.0KB 372.0KB +32.0B
total +24.0KB

Page load bundle

Size of the bundles that are downloaded on every page load. Target size is below 100kb

id before after diff
kbnUiSharedDeps-npmDll 6.3MB 6.3MB +28.1KB

History

cc @mgadewoll

@mgadewoll
Copy link
Contributor Author

ℹ️ This PR will be added to Kibana as part of this weeks EUI upgrade PR.

mgadewoll added a commit that referenced this pull request Jun 9, 2025
`102.2.0` ⏩ `102.3.0`

[Questions? Please see our Kibana upgrade
FAQ.](https://github.com/elastic/eui/blob/main/wiki/eui-team-processes/upgrading-kibana.md#faq-for-kibana-teams)

## Changes

>[!IMPORTANT]
This release contains the visual refresh updates for buttons ⏹️ 💅 
These have already been available for QA ahead of time on [this
PR](#220093).

1. **EUI changes**: Adds all Visual Refresh related EUI changes on
button components:

- `EuiButton`
- `EuiButtonEmpty`
- `EuiButtonIcon`
- `EuiButtonGroup`
- `EuiFilterGroup`/`EuiFilterButton`

2. **EUI button component API updates:** Updates instances of
`EuiFilterButton` usages that were missing `isSelected` prop or that
should use the new `isToggle` prop to ensure the expected visual and
semantic output as toggle button.

<details><summary><b>Examples of new toggle filter buttons</b></summary>

| before | after |
|---|---|
| ![Screenshot 2025-05-05 at 16 18
13](https://github.com/user-attachments/assets/65dcb4f1-27c2-4e73-8d0e-2702de8c35e3)
| ![Screenshot 2025-05-02 at 13 48
28](https://github.com/user-attachments/assets/54ec723b-ff3f-49b7-ad6c-0d804fcd8a82)
|
| ![Screenshot 2025-05-05 at 16 19
30](https://github.com/user-attachments/assets/65bcef9a-c06b-46e4-91e1-698a76b1dbc2)
| ![Screenshot 2025-05-02 at 14 02
46](https://github.com/user-attachments/assets/bf05d9f9-0eba-4733-87f6-d7abdaa53bfa)
|
| ![Screenshot 2025-05-05 at 16 21
50](https://github.com/user-attachments/assets/8f4a6592-9dc0-4b69-8ba5-aca0a3c26f69)
| ![Screenshot 2025-05-02 at 14 08
07](https://github.com/user-attachments/assets/34d78faa-4137-4650-a4a9-f71cbde64054)
|
</details>


3. **Custom styling updates:** Updates custom styling overrides on EUI
button components in selected **high-visibility places** (discover,
dashboard, lens) to ensure expected Visual Refresh output. (This is a
first iteration step to ensure expected design. In the future we want to
replace custom buttons with proper EUI components)

<details><summary><b>Updated custom button styling</b></summary>

| Solution/Area | After |
|---|---|
| Discover(classic) | ![Screenshot 2025-05-30 at 14 45
01](https://github.com/user-attachments/assets/93a46e2a-4989-4bcb-99f2-5eafa4483629)
|
| Discover(ES/QL) | ![Screenshot 2025-05-30 at 14 45
11](https://github.com/user-attachments/assets/8fc390d4-fdb0-4377-851c-b3835dc9a14e)
|
| Dashboard(Create Visualization) | ![Screenshot 2025-05-30 at 14 47
21](https://github.com/user-attachments/assets/a5895309-9b48-494d-b4b4-e91ca41e316b)
|
| Maps: Aligned map toolbar button hover | ![Screenshot 2025-04-30 at 17
19
11](https://github.com/user-attachments/assets/2d467f6b-ab50-46b1-b393-ed1e6c5d5548)
|

</details>

## Package updates

### `@elastic/eui`

## [`v102.3.0`](https://github.com/elastic/eui/releases/v102.3.0)

- Added support for `focusTrapProps.returnFocus` on `EuiFlyout`
([#8716](elastic/eui#8716))
- Updated `EuiDataGridToolbarControl` hover styles by removing
text-decoration and changing the badge background-color to ensure enough
contrast ([#8670](elastic/eui#8670))
- Added prop `isToggle` on `EuiFilterButton` to switch between regular
and toggle button ([#8652](elastic/eui#8652))
- Updated `hasActiveFilters` on `EuiFilterButton` to only control
highlighting filters, not a visual selected state
([#8652](elastic/eui#8652))
- Updated `EuiFilterButton` to ensure `isSelected` prop applies both
semantic and visual states
([#8652](elastic/eui#8652))
- Updated visual styling of `EuiButtonGroup`, `EuiFilterGroup` and
`EuiFilterButton` ([#8652](elastic/eui#8652))
- Updated `EuiNotificationBadge` border radius to `2px`
([#8652](elastic/eui#8652))
- Updated `EuiBreadcrumbs` text color for `type="application"`
([#8652](elastic/eui#8652))
- Added new `refresh` design variant for button components:
([#8595](elastic/eui#8595))
  - `EuiButton`
  - `EuiButtonEmpty`
  - `EuiButtonIcon`
- Added `flags.buttonVariant` with value `classic` to
`euiThemeAmsterdam` ([#8595](elastic/eui#8595))
- Added new button background component tokens to Amsterdam theme:
([#8595](elastic/eui#8595))
  - `background{color}Hover`
  - `background{color}Active`
  - `backgroundFilled{color}Hover`
  - `backgroundFilled{color}Active`
  - `backgroundEmpty{color}Hover`
  - `backgroundEmpty{color}Active`

**Bug fixes**

- Fixed an issue with `EuiDataGrid` where navigating cells with
simultaneous key presses would result in a crash in React 18 legacy mode
([#8698](elastic/eui#8698))

**Accessibility**

- Improved the accessibility experience of `EuiMarkdownEditorFooter` by
fixing the ARIA attributes of the `syntax help` modal.
([#8702](elastic/eui#8702))

### `@elastic/eui-theme-borealis`

## [`v1.1.0`](https://github.com/elastic/eui/releases/v1.1.0)

- Added token `filterButtonBadgeBackgroundHover`
([#8652](elastic/eui#8652))
- Updated values for tokens `buttonGroupFocusColor` and
`buttonGroupBackgroundDisabledSelected`
([#8652](elastic/eui#8652))
- Added `flags.buttonVariant` with value `refresh` to `euiThemeBorealis`
([#8595](elastic/eui#8595))
- Added new button background component tokens:
([#8595](elastic/eui#8595))
  - `background{color}Hover`
  - `background{color}Active`
  - `backgroundFilled{color}Hover`
  - `backgroundFilled{color}Active`
  - `backgroundEmpty{color}Hover`
  - `backgroundEmpty{color}Active`
- Updated `backgroundLightText` token value to `shade120`
([#8595](elastic/eui#8595))

---------

Co-authored-by: “jeramysoucy” <jeramy.soucy@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
mgadewoll added a commit to mgadewoll/kibana that referenced this pull request Jun 9, 2025
`102.2.0` ⏩ `102.3.0`

[Questions? Please see our Kibana upgrade
FAQ.](https://github.com/elastic/eui/blob/main/wiki/eui-team-processes/upgrading-kibana.md#faq-for-kibana-teams)

## Changes

>[!IMPORTANT]
This release contains the visual refresh updates for buttons ⏹️ 💅
These have already been available for QA ahead of time on [this
PR](elastic#220093).

1. **EUI changes**: Adds all Visual Refresh related EUI changes on
button components:

- `EuiButton`
- `EuiButtonEmpty`
- `EuiButtonIcon`
- `EuiButtonGroup`
- `EuiFilterGroup`/`EuiFilterButton`

2. **EUI button component API updates:** Updates instances of
`EuiFilterButton` usages that were missing `isSelected` prop or that
should use the new `isToggle` prop to ensure the expected visual and
semantic output as toggle button.

<details><summary><b>Examples of new toggle filter buttons</b></summary>

| before | after |
|---|---|
| ![Screenshot 2025-05-05 at 16 18
13](https://github.com/user-attachments/assets/65dcb4f1-27c2-4e73-8d0e-2702de8c35e3)
| ![Screenshot 2025-05-02 at 13 48
28](https://github.com/user-attachments/assets/54ec723b-ff3f-49b7-ad6c-0d804fcd8a82)
|
| ![Screenshot 2025-05-05 at 16 19
30](https://github.com/user-attachments/assets/65bcef9a-c06b-46e4-91e1-698a76b1dbc2)
| ![Screenshot 2025-05-02 at 14 02
46](https://github.com/user-attachments/assets/bf05d9f9-0eba-4733-87f6-d7abdaa53bfa)
|
| ![Screenshot 2025-05-05 at 16 21
50](https://github.com/user-attachments/assets/8f4a6592-9dc0-4b69-8ba5-aca0a3c26f69)
| ![Screenshot 2025-05-02 at 14 08
07](https://github.com/user-attachments/assets/34d78faa-4137-4650-a4a9-f71cbde64054)
|
</details>

3. **Custom styling updates:** Updates custom styling overrides on EUI
button components in selected **high-visibility places** (discover,
dashboard, lens) to ensure expected Visual Refresh output. (This is a
first iteration step to ensure expected design. In the future we want to
replace custom buttons with proper EUI components)

<details><summary><b>Updated custom button styling</b></summary>

| Solution/Area | After |
|---|---|
| Discover(classic) | ![Screenshot 2025-05-30 at 14 45
01](https://github.com/user-attachments/assets/93a46e2a-4989-4bcb-99f2-5eafa4483629)
|
| Discover(ES/QL) | ![Screenshot 2025-05-30 at 14 45
11](https://github.com/user-attachments/assets/8fc390d4-fdb0-4377-851c-b3835dc9a14e)
|
| Dashboard(Create Visualization) | ![Screenshot 2025-05-30 at 14 47
21](https://github.com/user-attachments/assets/a5895309-9b48-494d-b4b4-e91ca41e316b)
|
| Maps: Aligned map toolbar button hover | ![Screenshot 2025-04-30 at 17
19
11](https://github.com/user-attachments/assets/2d467f6b-ab50-46b1-b393-ed1e6c5d5548)
|

</details>

## Package updates

### `@elastic/eui`

## [`v102.3.0`](https://github.com/elastic/eui/releases/v102.3.0)

- Added support for `focusTrapProps.returnFocus` on `EuiFlyout`
([elastic#8716](elastic/eui#8716))
- Updated `EuiDataGridToolbarControl` hover styles by removing
text-decoration and changing the badge background-color to ensure enough
contrast ([elastic#8670](elastic/eui#8670))
- Added prop `isToggle` on `EuiFilterButton` to switch between regular
and toggle button ([elastic#8652](elastic/eui#8652))
- Updated `hasActiveFilters` on `EuiFilterButton` to only control
highlighting filters, not a visual selected state
([elastic#8652](elastic/eui#8652))
- Updated `EuiFilterButton` to ensure `isSelected` prop applies both
semantic and visual states
([elastic#8652](elastic/eui#8652))
- Updated visual styling of `EuiButtonGroup`, `EuiFilterGroup` and
`EuiFilterButton` ([elastic#8652](elastic/eui#8652))
- Updated `EuiNotificationBadge` border radius to `2px`
([elastic#8652](elastic/eui#8652))
- Updated `EuiBreadcrumbs` text color for `type="application"`
([elastic#8652](elastic/eui#8652))
- Added new `refresh` design variant for button components:
([elastic#8595](elastic/eui#8595))
  - `EuiButton`
  - `EuiButtonEmpty`
  - `EuiButtonIcon`
- Added `flags.buttonVariant` with value `classic` to
`euiThemeAmsterdam` ([elastic#8595](elastic/eui#8595))
- Added new button background component tokens to Amsterdam theme:
([elastic#8595](elastic/eui#8595))
  - `background{color}Hover`
  - `background{color}Active`
  - `backgroundFilled{color}Hover`
  - `backgroundFilled{color}Active`
  - `backgroundEmpty{color}Hover`
  - `backgroundEmpty{color}Active`

**Bug fixes**

- Fixed an issue with `EuiDataGrid` where navigating cells with
simultaneous key presses would result in a crash in React 18 legacy mode
([elastic#8698](elastic/eui#8698))

**Accessibility**

- Improved the accessibility experience of `EuiMarkdownEditorFooter` by
fixing the ARIA attributes of the `syntax help` modal.
([elastic#8702](elastic/eui#8702))

### `@elastic/eui-theme-borealis`

## [`v1.1.0`](https://github.com/elastic/eui/releases/v1.1.0)

- Added token `filterButtonBadgeBackgroundHover`
([elastic#8652](elastic/eui#8652))
- Updated values for tokens `buttonGroupFocusColor` and
`buttonGroupBackgroundDisabledSelected`
([elastic#8652](elastic/eui#8652))
- Added `flags.buttonVariant` with value `refresh` to `euiThemeBorealis`
([elastic#8595](elastic/eui#8595))
- Added new button background component tokens:
([elastic#8595](elastic/eui#8595))
  - `background{color}Hover`
  - `background{color}Active`
  - `backgroundFilled{color}Hover`
  - `backgroundFilled{color}Active`
  - `backgroundEmpty{color}Hover`
  - `backgroundEmpty{color}Active`
- Updated `backgroundLightText` token value to `shade120`
([elastic#8595](elastic/eui#8595))

---------

Co-authored-by: “jeramysoucy” <jeramy.soucy@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
(cherry picked from commit b2d1075)

# Conflicts:
#	src/platform/packages/shared/kbn-unified-field-list/src/components/field_list_filters/field_type_filter.test.tsx
#	src/platform/packages/shared/kbn-unified-field-list/src/components/field_list_filters/field_type_filter.tsx
#	src/platform/packages/shared/kbn-unified-field-list/src/components/field_list_grouped/field_list_grouped.test.tsx
#	src/platform/packages/shared/shared-ux/button_toolbar/src/popover/popover.test.tsx
#	src/platform/plugins/shared/controls/public/controls/data_controls/options_list_control/components/options_list_control.tsx
#	src/platform/plugins/shared/unified_doc_viewer/public/components/doc_viewer_table/table.test.tsx
#	x-pack/platform/plugins/private/canvas/shareable_runtime/components/__snapshots__/app.test.tsx.snap
#	x-pack/platform/plugins/shared/fleet/public/components/platform_selector.tsx
#	x-pack/platform/plugins/shared/lens/public/shared_components/dataview_picker/toolbar_button.tsx
#	x-pack/platform/plugins/shared/spaces/public/nav_control/components/manage_spaces_button.tsx
#	x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_enrichment/processor_outcome_preview.tsx
mgadewoll added a commit to mgadewoll/kibana that referenced this pull request Jun 9, 2025
`102.2.0` ⏩ `102.3.0`

[Questions? Please see our Kibana upgrade
FAQ.](https://github.com/elastic/eui/blob/main/wiki/eui-team-processes/upgrading-kibana.md#faq-for-kibana-teams)

## Changes

>[!IMPORTANT]
This release contains the visual refresh updates for buttons ⏹️ 💅
These have already been available for QA ahead of time on [this
PR](elastic#220093).

1. **EUI changes**: Adds all Visual Refresh related EUI changes on
button components:

- `EuiButton`
- `EuiButtonEmpty`
- `EuiButtonIcon`
- `EuiButtonGroup`
- `EuiFilterGroup`/`EuiFilterButton`

2. **EUI button component API updates:** Updates instances of
`EuiFilterButton` usages that were missing `isSelected` prop or that
should use the new `isToggle` prop to ensure the expected visual and
semantic output as toggle button.

<details><summary><b>Examples of new toggle filter buttons</b></summary>

| before | after |
|---|---|
| ![Screenshot 2025-05-05 at 16 18
13](https://github.com/user-attachments/assets/65dcb4f1-27c2-4e73-8d0e-2702de8c35e3)
| ![Screenshot 2025-05-02 at 13 48
28](https://github.com/user-attachments/assets/54ec723b-ff3f-49b7-ad6c-0d804fcd8a82)
|
| ![Screenshot 2025-05-05 at 16 19
30](https://github.com/user-attachments/assets/65bcef9a-c06b-46e4-91e1-698a76b1dbc2)
| ![Screenshot 2025-05-02 at 14 02
46](https://github.com/user-attachments/assets/bf05d9f9-0eba-4733-87f6-d7abdaa53bfa)
|
| ![Screenshot 2025-05-05 at 16 21
50](https://github.com/user-attachments/assets/8f4a6592-9dc0-4b69-8ba5-aca0a3c26f69)
| ![Screenshot 2025-05-02 at 14 08
07](https://github.com/user-attachments/assets/34d78faa-4137-4650-a4a9-f71cbde64054)
|
</details>

3. **Custom styling updates:** Updates custom styling overrides on EUI
button components in selected **high-visibility places** (discover,
dashboard, lens) to ensure expected Visual Refresh output. (This is a
first iteration step to ensure expected design. In the future we want to
replace custom buttons with proper EUI components)

<details><summary><b>Updated custom button styling</b></summary>

| Solution/Area | After |
|---|---|
| Discover(classic) | ![Screenshot 2025-05-30 at 14 45
01](https://github.com/user-attachments/assets/93a46e2a-4989-4bcb-99f2-5eafa4483629)
|
| Discover(ES/QL) | ![Screenshot 2025-05-30 at 14 45
11](https://github.com/user-attachments/assets/8fc390d4-fdb0-4377-851c-b3835dc9a14e)
|
| Dashboard(Create Visualization) | ![Screenshot 2025-05-30 at 14 47
21](https://github.com/user-attachments/assets/a5895309-9b48-494d-b4b4-e91ca41e316b)
|
| Maps: Aligned map toolbar button hover | ![Screenshot 2025-04-30 at 17
19
11](https://github.com/user-attachments/assets/2d467f6b-ab50-46b1-b393-ed1e6c5d5548)
|

</details>

## Package updates

### `@elastic/eui`

## [`v102.3.0`](https://github.com/elastic/eui/releases/v102.3.0)

- Added support for `focusTrapProps.returnFocus` on `EuiFlyout`
([elastic#8716](elastic/eui#8716))
- Updated `EuiDataGridToolbarControl` hover styles by removing
text-decoration and changing the badge background-color to ensure enough
contrast ([elastic#8670](elastic/eui#8670))
- Added prop `isToggle` on `EuiFilterButton` to switch between regular
and toggle button ([elastic#8652](elastic/eui#8652))
- Updated `hasActiveFilters` on `EuiFilterButton` to only control
highlighting filters, not a visual selected state
([elastic#8652](elastic/eui#8652))
- Updated `EuiFilterButton` to ensure `isSelected` prop applies both
semantic and visual states
([elastic#8652](elastic/eui#8652))
- Updated visual styling of `EuiButtonGroup`, `EuiFilterGroup` and
`EuiFilterButton` ([elastic#8652](elastic/eui#8652))
- Updated `EuiNotificationBadge` border radius to `2px`
([elastic#8652](elastic/eui#8652))
- Updated `EuiBreadcrumbs` text color for `type="application"`
([elastic#8652](elastic/eui#8652))
- Added new `refresh` design variant for button components:
([elastic#8595](elastic/eui#8595))
  - `EuiButton`
  - `EuiButtonEmpty`
  - `EuiButtonIcon`
- Added `flags.buttonVariant` with value `classic` to
`euiThemeAmsterdam` ([elastic#8595](elastic/eui#8595))
- Added new button background component tokens to Amsterdam theme:
([elastic#8595](elastic/eui#8595))
  - `background{color}Hover`
  - `background{color}Active`
  - `backgroundFilled{color}Hover`
  - `backgroundFilled{color}Active`
  - `backgroundEmpty{color}Hover`
  - `backgroundEmpty{color}Active`

**Bug fixes**

- Fixed an issue with `EuiDataGrid` where navigating cells with
simultaneous key presses would result in a crash in React 18 legacy mode
([elastic#8698](elastic/eui#8698))

**Accessibility**

- Improved the accessibility experience of `EuiMarkdownEditorFooter` by
fixing the ARIA attributes of the `syntax help` modal.
([elastic#8702](elastic/eui#8702))

### `@elastic/eui-theme-borealis`

## [`v1.1.0`](https://github.com/elastic/eui/releases/v1.1.0)

- Added token `filterButtonBadgeBackgroundHover`
([elastic#8652](elastic/eui#8652))
- Updated values for tokens `buttonGroupFocusColor` and
`buttonGroupBackgroundDisabledSelected`
([elastic#8652](elastic/eui#8652))
- Added `flags.buttonVariant` with value `refresh` to `euiThemeBorealis`
([elastic#8595](elastic/eui#8595))
- Added new button background component tokens:
([elastic#8595](elastic/eui#8595))
  - `background{color}Hover`
  - `background{color}Active`
  - `backgroundFilled{color}Hover`
  - `backgroundFilled{color}Active`
  - `backgroundEmpty{color}Hover`
  - `backgroundEmpty{color}Active`
- Updated `backgroundLightText` token value to `shade120`
([elastic#8595](elastic/eui#8595))

---------

Co-authored-by: “jeramysoucy” <jeramy.soucy@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
(cherry picked from commit b2d1075)

# Conflicts:
#	package.json
#	src/dev/license_checker/config.ts
#	src/platform/packages/shared/kbn-unified-data-table/src/utils/get_render_cell_value.test.tsx
#	src/platform/packages/shared/shared-ux/button_toolbar/src/buttons/toolbar_button/toolbar_button.styles.ts
#	src/platform/packages/shared/shared-ux/button_toolbar/src/popover/popover.test.tsx
#	src/platform/plugins/private/vis_types/vislib/public/vislib/components/legend/__snapshots__/legend.test.tsx.snap
#	src/platform/plugins/shared/controls/public/controls/data_controls/options_list_control/components/options_list_control.tsx
#	x-pack/platform/packages/shared/security/api_key_management/src/components/token_field.tsx
#	x-pack/platform/plugins/private/canvas/shareable_runtime/components/__snapshots__/app.test.tsx.snap
#	x-pack/platform/plugins/shared/fleet/public/components/platform_selector.tsx
#	x-pack/platform/plugins/shared/security/server/authentication/__snapshots__/unauthenticated_page.test.tsx.snap
#	x-pack/platform/plugins/shared/security/server/authorization/__snapshots__/reset_session_page.test.tsx.snap
#	x-pack/platform/plugins/shared/spaces/public/nav_control/components/manage_spaces_button.tsx
#	yarn.lock
@mgadewoll
Copy link
Contributor Author

The changes of this PR were merged as part of this EUI upgrade PR.

@mgadewoll mgadewoll closed this Jun 9, 2025
pmuellr pushed a commit to pmuellr/kibana that referenced this pull request Jun 11, 2025
`102.2.0` ⏩ `102.3.0`

[Questions? Please see our Kibana upgrade
FAQ.](https://github.com/elastic/eui/blob/main/wiki/eui-team-processes/upgrading-kibana.md#faq-for-kibana-teams)

## Changes

>[!IMPORTANT]
This release contains the visual refresh updates for buttons ⏹️ 💅 
These have already been available for QA ahead of time on [this
PR](elastic#220093).

1. **EUI changes**: Adds all Visual Refresh related EUI changes on
button components:

- `EuiButton`
- `EuiButtonEmpty`
- `EuiButtonIcon`
- `EuiButtonGroup`
- `EuiFilterGroup`/`EuiFilterButton`

2. **EUI button component API updates:** Updates instances of
`EuiFilterButton` usages that were missing `isSelected` prop or that
should use the new `isToggle` prop to ensure the expected visual and
semantic output as toggle button.

<details><summary><b>Examples of new toggle filter buttons</b></summary>

| before | after |
|---|---|
| ![Screenshot 2025-05-05 at 16 18
13](https://github.com/user-attachments/assets/65dcb4f1-27c2-4e73-8d0e-2702de8c35e3)
| ![Screenshot 2025-05-02 at 13 48
28](https://github.com/user-attachments/assets/54ec723b-ff3f-49b7-ad6c-0d804fcd8a82)
|
| ![Screenshot 2025-05-05 at 16 19
30](https://github.com/user-attachments/assets/65bcef9a-c06b-46e4-91e1-698a76b1dbc2)
| ![Screenshot 2025-05-02 at 14 02
46](https://github.com/user-attachments/assets/bf05d9f9-0eba-4733-87f6-d7abdaa53bfa)
|
| ![Screenshot 2025-05-05 at 16 21
50](https://github.com/user-attachments/assets/8f4a6592-9dc0-4b69-8ba5-aca0a3c26f69)
| ![Screenshot 2025-05-02 at 14 08
07](https://github.com/user-attachments/assets/34d78faa-4137-4650-a4a9-f71cbde64054)
|
</details>


3. **Custom styling updates:** Updates custom styling overrides on EUI
button components in selected **high-visibility places** (discover,
dashboard, lens) to ensure expected Visual Refresh output. (This is a
first iteration step to ensure expected design. In the future we want to
replace custom buttons with proper EUI components)

<details><summary><b>Updated custom button styling</b></summary>

| Solution/Area | After |
|---|---|
| Discover(classic) | ![Screenshot 2025-05-30 at 14 45
01](https://github.com/user-attachments/assets/93a46e2a-4989-4bcb-99f2-5eafa4483629)
|
| Discover(ES/QL) | ![Screenshot 2025-05-30 at 14 45
11](https://github.com/user-attachments/assets/8fc390d4-fdb0-4377-851c-b3835dc9a14e)
|
| Dashboard(Create Visualization) | ![Screenshot 2025-05-30 at 14 47
21](https://github.com/user-attachments/assets/a5895309-9b48-494d-b4b4-e91ca41e316b)
|
| Maps: Aligned map toolbar button hover | ![Screenshot 2025-04-30 at 17
19
11](https://github.com/user-attachments/assets/2d467f6b-ab50-46b1-b393-ed1e6c5d5548)
|

</details>

## Package updates

### `@elastic/eui`

## [`v102.3.0`](https://github.com/elastic/eui/releases/v102.3.0)

- Added support for `focusTrapProps.returnFocus` on `EuiFlyout`
([elastic#8716](elastic/eui#8716))
- Updated `EuiDataGridToolbarControl` hover styles by removing
text-decoration and changing the badge background-color to ensure enough
contrast ([elastic#8670](elastic/eui#8670))
- Added prop `isToggle` on `EuiFilterButton` to switch between regular
and toggle button ([elastic#8652](elastic/eui#8652))
- Updated `hasActiveFilters` on `EuiFilterButton` to only control
highlighting filters, not a visual selected state
([elastic#8652](elastic/eui#8652))
- Updated `EuiFilterButton` to ensure `isSelected` prop applies both
semantic and visual states
([elastic#8652](elastic/eui#8652))
- Updated visual styling of `EuiButtonGroup`, `EuiFilterGroup` and
`EuiFilterButton` ([elastic#8652](elastic/eui#8652))
- Updated `EuiNotificationBadge` border radius to `2px`
([elastic#8652](elastic/eui#8652))
- Updated `EuiBreadcrumbs` text color for `type="application"`
([elastic#8652](elastic/eui#8652))
- Added new `refresh` design variant for button components:
([elastic#8595](elastic/eui#8595))
  - `EuiButton`
  - `EuiButtonEmpty`
  - `EuiButtonIcon`
- Added `flags.buttonVariant` with value `classic` to
`euiThemeAmsterdam` ([elastic#8595](elastic/eui#8595))
- Added new button background component tokens to Amsterdam theme:
([elastic#8595](elastic/eui#8595))
  - `background{color}Hover`
  - `background{color}Active`
  - `backgroundFilled{color}Hover`
  - `backgroundFilled{color}Active`
  - `backgroundEmpty{color}Hover`
  - `backgroundEmpty{color}Active`

**Bug fixes**

- Fixed an issue with `EuiDataGrid` where navigating cells with
simultaneous key presses would result in a crash in React 18 legacy mode
([elastic#8698](elastic/eui#8698))

**Accessibility**

- Improved the accessibility experience of `EuiMarkdownEditorFooter` by
fixing the ARIA attributes of the `syntax help` modal.
([elastic#8702](elastic/eui#8702))

### `@elastic/eui-theme-borealis`

## [`v1.1.0`](https://github.com/elastic/eui/releases/v1.1.0)

- Added token `filterButtonBadgeBackgroundHover`
([elastic#8652](elastic/eui#8652))
- Updated values for tokens `buttonGroupFocusColor` and
`buttonGroupBackgroundDisabledSelected`
([elastic#8652](elastic/eui#8652))
- Added `flags.buttonVariant` with value `refresh` to `euiThemeBorealis`
([elastic#8595](elastic/eui#8595))
- Added new button background component tokens:
([elastic#8595](elastic/eui#8595))
  - `background{color}Hover`
  - `background{color}Active`
  - `backgroundFilled{color}Hover`
  - `backgroundFilled{color}Active`
  - `backgroundEmpty{color}Hover`
  - `backgroundEmpty{color}Active`
- Updated `backgroundLightText` token value to `shade120`
([elastic#8595](elastic/eui#8595))

---------

Co-authored-by: “jeramysoucy” <jeramy.soucy@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
nickpeihl pushed a commit to nickpeihl/kibana that referenced this pull request Jun 12, 2025
`102.2.0` ⏩ `102.3.0`

[Questions? Please see our Kibana upgrade
FAQ.](https://github.com/elastic/eui/blob/main/wiki/eui-team-processes/upgrading-kibana.md#faq-for-kibana-teams)

## Changes

>[!IMPORTANT]
This release contains the visual refresh updates for buttons ⏹️ 💅 
These have already been available for QA ahead of time on [this
PR](elastic#220093).

1. **EUI changes**: Adds all Visual Refresh related EUI changes on
button components:

- `EuiButton`
- `EuiButtonEmpty`
- `EuiButtonIcon`
- `EuiButtonGroup`
- `EuiFilterGroup`/`EuiFilterButton`

2. **EUI button component API updates:** Updates instances of
`EuiFilterButton` usages that were missing `isSelected` prop or that
should use the new `isToggle` prop to ensure the expected visual and
semantic output as toggle button.

<details><summary><b>Examples of new toggle filter buttons</b></summary>

| before | after |
|---|---|
| ![Screenshot 2025-05-05 at 16 18
13](https://github.com/user-attachments/assets/65dcb4f1-27c2-4e73-8d0e-2702de8c35e3)
| ![Screenshot 2025-05-02 at 13 48
28](https://github.com/user-attachments/assets/54ec723b-ff3f-49b7-ad6c-0d804fcd8a82)
|
| ![Screenshot 2025-05-05 at 16 19
30](https://github.com/user-attachments/assets/65bcef9a-c06b-46e4-91e1-698a76b1dbc2)
| ![Screenshot 2025-05-02 at 14 02
46](https://github.com/user-attachments/assets/bf05d9f9-0eba-4733-87f6-d7abdaa53bfa)
|
| ![Screenshot 2025-05-05 at 16 21
50](https://github.com/user-attachments/assets/8f4a6592-9dc0-4b69-8ba5-aca0a3c26f69)
| ![Screenshot 2025-05-02 at 14 08
07](https://github.com/user-attachments/assets/34d78faa-4137-4650-a4a9-f71cbde64054)
|
</details>


3. **Custom styling updates:** Updates custom styling overrides on EUI
button components in selected **high-visibility places** (discover,
dashboard, lens) to ensure expected Visual Refresh output. (This is a
first iteration step to ensure expected design. In the future we want to
replace custom buttons with proper EUI components)

<details><summary><b>Updated custom button styling</b></summary>

| Solution/Area | After |
|---|---|
| Discover(classic) | ![Screenshot 2025-05-30 at 14 45
01](https://github.com/user-attachments/assets/93a46e2a-4989-4bcb-99f2-5eafa4483629)
|
| Discover(ES/QL) | ![Screenshot 2025-05-30 at 14 45
11](https://github.com/user-attachments/assets/8fc390d4-fdb0-4377-851c-b3835dc9a14e)
|
| Dashboard(Create Visualization) | ![Screenshot 2025-05-30 at 14 47
21](https://github.com/user-attachments/assets/a5895309-9b48-494d-b4b4-e91ca41e316b)
|
| Maps: Aligned map toolbar button hover | ![Screenshot 2025-04-30 at 17
19
11](https://github.com/user-attachments/assets/2d467f6b-ab50-46b1-b393-ed1e6c5d5548)
|

</details>

## Package updates

### `@elastic/eui`

## [`v102.3.0`](https://github.com/elastic/eui/releases/v102.3.0)

- Added support for `focusTrapProps.returnFocus` on `EuiFlyout`
([elastic#8716](elastic/eui#8716))
- Updated `EuiDataGridToolbarControl` hover styles by removing
text-decoration and changing the badge background-color to ensure enough
contrast ([elastic#8670](elastic/eui#8670))
- Added prop `isToggle` on `EuiFilterButton` to switch between regular
and toggle button ([elastic#8652](elastic/eui#8652))
- Updated `hasActiveFilters` on `EuiFilterButton` to only control
highlighting filters, not a visual selected state
([elastic#8652](elastic/eui#8652))
- Updated `EuiFilterButton` to ensure `isSelected` prop applies both
semantic and visual states
([elastic#8652](elastic/eui#8652))
- Updated visual styling of `EuiButtonGroup`, `EuiFilterGroup` and
`EuiFilterButton` ([elastic#8652](elastic/eui#8652))
- Updated `EuiNotificationBadge` border radius to `2px`
([elastic#8652](elastic/eui#8652))
- Updated `EuiBreadcrumbs` text color for `type="application"`
([elastic#8652](elastic/eui#8652))
- Added new `refresh` design variant for button components:
([elastic#8595](elastic/eui#8595))
  - `EuiButton`
  - `EuiButtonEmpty`
  - `EuiButtonIcon`
- Added `flags.buttonVariant` with value `classic` to
`euiThemeAmsterdam` ([elastic#8595](elastic/eui#8595))
- Added new button background component tokens to Amsterdam theme:
([elastic#8595](elastic/eui#8595))
  - `background{color}Hover`
  - `background{color}Active`
  - `backgroundFilled{color}Hover`
  - `backgroundFilled{color}Active`
  - `backgroundEmpty{color}Hover`
  - `backgroundEmpty{color}Active`

**Bug fixes**

- Fixed an issue with `EuiDataGrid` where navigating cells with
simultaneous key presses would result in a crash in React 18 legacy mode
([elastic#8698](elastic/eui#8698))

**Accessibility**

- Improved the accessibility experience of `EuiMarkdownEditorFooter` by
fixing the ARIA attributes of the `syntax help` modal.
([elastic#8702](elastic/eui#8702))

### `@elastic/eui-theme-borealis`

## [`v1.1.0`](https://github.com/elastic/eui/releases/v1.1.0)

- Added token `filterButtonBadgeBackgroundHover`
([elastic#8652](elastic/eui#8652))
- Updated values for tokens `buttonGroupFocusColor` and
`buttonGroupBackgroundDisabledSelected`
([elastic#8652](elastic/eui#8652))
- Added `flags.buttonVariant` with value `refresh` to `euiThemeBorealis`
([elastic#8595](elastic/eui#8595))
- Added new button background component tokens:
([elastic#8595](elastic/eui#8595))
  - `background{color}Hover`
  - `background{color}Active`
  - `backgroundFilled{color}Hover`
  - `backgroundFilled{color}Active`
  - `backgroundEmpty{color}Hover`
  - `backgroundEmpty{color}Active`
- Updated `backgroundLightText` token value to `shade120`
([elastic#8595](elastic/eui#8595))

---------

Co-authored-by: “jeramysoucy” <jeramy.soucy@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:cloud-deploy Create or update a Cloud deployment ci:cloud-persist-deployment Persist cloud deployment indefinitely ci:project-deploy-elasticsearch Create an Elasticsearch Serverless project ci:project-deploy-observability Create an Observability project ci:project-deploy-security Create a Security Serverless Project ci:project-persist-deployment Persist project deployment indefinitely

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants