Skip to content

Upgrade EUI to v115.0.0#266413

Merged
weronikaolejniczak merged 37 commits into
elastic:mainfrom
weronikaolejniczak:test/tooltip-focus
May 11, 2026
Merged

Upgrade EUI to v115.0.0#266413
weronikaolejniczak merged 37 commits into
elastic:mainfrom
weronikaolejniczak:test/tooltip-focus

Conversation

@weronikaolejniczak
Copy link
Copy Markdown
Contributor

@weronikaolejniczak weronikaolejniczak commented Apr 29, 2026

Dependency updates

  • @elastic/eui - v114.3.0 ⏩ v115.0.0
  • @elastic/eslint-plugin-eui - v2.11.1 ⏩ v2.12.0

Package updates

Summary

Note

Please be mindful that as the Design System team we are not aware of your specific area pre-requisites and testing setups, and are realistically not capable of testing the entirety of Kibana. That being said, we want to do our best at migrating breaking changes. All tooltip usages were updated accordingly but there might be mistakes and bugs. That's why, I would advise every reviewer to smoke-test their domain tooltips. We'd also greatly appreciate your help with adjusting anything that may be wrong 🙏🏻

Kapture.2026-05-04.at.18.50.14.mp4
  • tooltips no longer appear on programmatic focus return (e.g. when closing flyouts, modals) - unless you're using the keyboard to navigate,
  • tooltips do not persist on mouse click which was annoying for the sighted users and tricky to handle in automated testing environments,
  • there's no timeout-based delay that's inconsistent across Kibana and makes the UI seem laggy,
  • we made the animation simpler and tooltip content font-size smaller, resulting in a better visual hierarchy,
  • :accessibility: VoiceOver no longer has problems with announcing tooltip content on trigger focus.

These changes have been developed with SC 1.4.13 Content on Hover or Focus in mind while providing the best possible UX.

@elastic/eui v115.0.0

  • Updated EuiToolTip default font size from 14px to 12px (#9627)
  • Updated EuiToolTip show animation to opacity-only with a 150ms grace period delay, preventing visual flickering when quickly hovering over multiple tooltip triggers (#9626)
  • Updated EuiToolTip to respect input modality. Tooltip no longer persists on mouse-click focus or shows on programmatic focus return. (#9624)

Bug fixes

  • Fixed uiPlugins[].button type to allow UI plugins to not have a toolbar button in EuiMarkdownEditor (#9634)
  • Fixed EuiToolTip self-hiding when the mouse moves over child elements within the trigger (#9626)

Breaking changes

  • Removed delay prop and ToolTipDelay type from EuiToolTip and EuiIconTip (#9626)
  • Removed waitForEuiToolTipVisible and waitForEuiToolTipHidden RTL test helpers; tooltip show/hide is now synchronous so direct assertions can be used instead (#9626)

Accessibility

  • Fixed invalid nested interactive elements in EuiMarkdownEditor by removing role from the drop zone wrapper. (#9625)

@elastic/eslint-plugin-eui v2.12.0

  • Added a new prefer-tooltip-trigger-focus-test-utility rule that flags fireEvent.focus() inside it/test blocks that also query for a tooltip. The rule auto-fixes to focusEuiToolTipTrigger from EUI's RTL test utilities. (#9624)

@weronikaolejniczak weronikaolejniczak self-assigned this Apr 29, 2026
@weronikaolejniczak weronikaolejniczak changed the title [EUI] Test tooltip focus [EUI] Test tooltip focus and delay Apr 30, 2026
@weronikaolejniczak weronikaolejniczak force-pushed the test/tooltip-focus branch 6 times, most recently from ab7adba to e572eb4 Compare May 4, 2026 16:27
@weronikaolejniczak weronikaolejniczak changed the title [EUI] Test tooltip focus and delay Upgrade EUI to v115.0.0 May 6, 2026
@weronikaolejniczak weronikaolejniczak force-pushed the test/tooltip-focus branch 3 times, most recently from 947a913 to 08a2ed4 Compare May 6, 2026 12:16
@weronikaolejniczak weronikaolejniczak added EUI backport:skip This PR does not require backporting release_note:skip Skip the PR/issue when compiling release notes labels May 6, 2026
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Fyi @Zacqary, I'm removing the workaround

Copy link
Copy Markdown
Member

@pickypg pickypg left a comment

Choose a reason for hiding this comment

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

LGT Stack Monitoring

@weronikaolejniczak weronikaolejniczak force-pushed the test/tooltip-focus branch 2 times, most recently from 36533fd to 6b7257a Compare May 8, 2026 16:01
@kibanamachine
Copy link
Copy Markdown
Contributor

kibanamachine commented May 11, 2026

💛 Build succeeded, but was flaky

  • Buildkite Build
  • Commit: 4e28e01
  • Kibana Serverless Image: docker.elastic.co/kibana-ci/kibana-serverless:pr-266413-4e28e0137666

Failed CI Steps

Test Failures

  • [job] [logs] Scout Lane #29 - serverless-search / agent_builder / local-serverless-search - Agent Builder — conversation error handling - keeps the previous conversation rounds visible when there is an error
  • [job] [logs] Scout Lane #29 - serverless-search / agent_builder / local-serverless-search - Agent Builder — conversation error handling - keeps the previous conversation rounds visible when there is an error
  • [job] [logs] Scout Lane #10 - stateful-classic / default / local-stateful-classic - APM integration not installed but setup completed - Admin user

Metrics [docs]

Module Count

Fewer modules leads to a faster build time

id before after diff
core 665 664 -1

Async chunks

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

id before after diff
agentBuilder 1.1MB 1.1MB -13.0B
aiops 526.5KB 526.4KB -26.0B
alertingVTwo 733.5KB 733.4KB -68.0B
apm 2.8MB 2.8MB -65.0B
cases 2.3MB 2.3MB -16.0B
cloudSecurityPosture 613.9KB 613.9KB -52.0B
controls 524.5KB 524.5KB -26.0B
core 135.1KB 135.0KB -40.0B
cps 13.7KB 13.7KB -13.0B
dashboard 1.1MB 1.1MB -16.0B
dashboardMarkdown 76.0KB 76.0KB -16.0B
datasetQuality 526.4KB 526.4KB -13.0B
discover 1.9MB 1.9MB -156.0B
embeddable 89.0KB 88.9KB -64.0B
esql 896.9KB 896.8KB -94.0B
esqlDataGrid 153.9KB 153.8KB -52.0B
eventAnnotationListing 208.7KB 208.7KB -55.0B
filesManagement 104.5KB 104.4KB -16.0B
fleet 2.7MB 2.7MB -13.0B
graph 374.1KB 374.1KB -29.0B
indexManagement 792.1KB 792.1KB -13.0B
infra 1.5MB 1.5MB -132.0B
lens 2.1MB 2.1MB -232.0B
links 102.7KB 102.7KB -42.0B
maps 3.2MB 3.2MB -68.0B
ml 5.6MB 5.6MB -611.0B
osquery 1.3MB 1.3MB -52.0B
remoteClusters 85.5KB 85.5KB -26.0B
searchAssistant 199.1KB 199.0KB -114.0B
securitySolution 12.0MB 12.0MB -129.0B
sessionView 357.1KB 357.1KB +9.0B
slo 1.2MB 1.2MB -78.0B
spaces 236.2KB 236.2KB -13.0B
transform 632.0KB 631.9KB -26.0B
unifiedDocViewer 676.6KB 676.6KB -39.0B
unifiedSearch 310.0KB 309.7KB -367.0B
uptime 493.3KB 493.3KB -13.0B
visDefaultEditor 81.9KB 81.9KB -13.0B
visTypeGauge 8.6KB 8.6KB -13.0B
visTypeHeatmap 9.7KB 9.7KB -13.0B
visTypeVega 2.0MB 2.0MB -585.0B
visTypeXy 41.6KB 41.6KB -26.0B
visualizationListing 97.4KB 97.4KB -16.0B
visualizations 334.9KB 334.8KB -16.0B
watcher 158.8KB 158.8KB -26.0B
workflowsManagement 2.3MB 2.3MB -26.0B
total -3.4KB

Page load bundle

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

id before after diff
core 525.6KB 525.2KB -330.0B
elasticAssistant 266.3KB 266.2KB -151.0B
kbnUiSharedDeps-npmDll 7.3MB 7.3MB -2.7KB
navigation 10.7KB 10.7KB -13.0B
savedObjectsManagement 19.9KB 19.9KB -26.0B
visDefaultEditor 32.3KB 32.3KB -29.0B
total -3.2KB

History

cc @weronikaolejniczak

@weronikaolejniczak weronikaolejniczak enabled auto-merge (squash) May 11, 2026 07:52
@weronikaolejniczak weronikaolejniczak merged commit fe0c08d into elastic:main May 11, 2026
32 checks passed
clintandrewhall pushed a commit that referenced this pull request May 12, 2026
## Dependency updates

- `@elastic/eui` - v114.3.0 ⏩ v115.0.0
- `@elastic/eslint-plugin-eui` - v2.11.1 ⏩ v2.12.0

## Package updates

### Summary

> [!NOTE]
> Please be mindful that as the Design System team we are not aware of
your specific area pre-requisites and testing setups, and are
realistically not capable of testing the entirety of Kibana. That being
said, we want to do our best at migrating breaking changes. All tooltip
usages were updated accordingly but there might be mistakes and bugs.
That's why, **I would advise every reviewer to smoke-test their domain
tooltips**. We'd also greatly appreciate your help with adjusting
anything that may be wrong 🙏🏻


https://github.com/user-attachments/assets/2da29c89-aba1-40f9-ae3e-13790a34aedf

- tooltips **no longer appear on programmatic focus return** (e.g. when
closing flyouts, modals) - unless you're using the keyboard to navigate,
- tooltips **do not persist on mouse click** which was annoying for the
sighted users and tricky to handle in automated testing environments,
- there's **no timeout-based delay** that's inconsistent across Kibana
and makes the UI seem laggy,
- we made the **animation simpler** and tooltip content **font-size
smaller**, resulting in a better visual hierarchy,
- :accessibility: VoiceOver no longer has problems with **announcing
tooltip content** on trigger focus.

These changes have been developed with [SC 1.4.13 Content on Hover or
Focus](https://www.w3.org/TR/WCAG21/#content-on-hover-or-focus) in mind
while providing the best possible UX.

### `@elastic/eui`
[v115.0.0](https://github.com/elastic/eui/blob/main/packages/eui/changelogs/CHANGELOG_2026.md)

- Updated `EuiToolTip` default font size from 14px to 12px
([#9627](elastic/eui#9627))
- Updated `EuiToolTip` show animation to opacity-only with a 150ms grace
period delay, preventing visual flickering when quickly hovering over
multiple tooltip triggers
([#9626](elastic/eui#9626))
- Updated `EuiToolTip` to respect input modality. Tooltip no longer
persists on mouse-click focus or shows on programmatic focus return.
([#9624](elastic/eui#9624))

**Bug fixes**

- Fixed `uiPlugins[].button` type to allow UI plugins to not have a
toolbar button in `EuiMarkdownEditor`
([#9634](elastic/eui#9634))
- Fixed `EuiToolTip` self-hiding when the mouse moves over child
elements within the trigger
([#9626](elastic/eui#9626))

**Breaking changes**

- Removed `delay` prop and `ToolTipDelay` type from `EuiToolTip` and
`EuiIconTip` ([#9626](elastic/eui#9626))
- Removed `waitForEuiToolTipVisible` and `waitForEuiToolTipHidden` RTL
test helpers; tooltip show/hide is now synchronous so direct assertions
can be used instead ([#9626](elastic/eui#9626))

**Accessibility**

- Fixed invalid nested interactive elements in `EuiMarkdownEditor` by
removing `role` from the drop zone wrapper.
([#9625](elastic/eui#9625))

### `@elastic/eslint-plugin-eui`
[v2.12.0](https://github.com/elastic/eui/blob/main/packages/eslint-plugin/changelogs/CHANGELOG_2026.md)

- Added a new `prefer-tooltip-trigger-focus-test-utility` rule that
flags `fireEvent.focus()` inside `it`/`test` blocks that also query for
a tooltip. The rule auto-fixes to `focusEuiToolTipTrigger` from EUI's
RTL test utilities. ([#9624](elastic/eui#9624))

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport:skip This PR does not require backporting ci:project-deploy-observability Create an Observability project EUI Feature:Drilldowns Embeddable panel Drilldowns Feature:Embedding Embedding content via iFrame release_note:skip Skip the PR/issue when compiling release notes Team:Fleet Team label for Observability Data Collection Fleet team Team:obs-presentation Focus: APM UI, Infra UI, Hosts UI, Universal Profiling, Obs Overview and left Navigation Team:One Workflow Team label for One Workflow (Workflow automation) v9.5.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.