[EuiDataGrid] Fix cell popover hidden behind sibling/nested flyouts#9630
Open
acstll wants to merge 4 commits intoelastic:mainfrom
Open
[EuiDataGrid] Fix cell popover hidden behind sibling/nested flyouts#9630acstll wants to merge 4 commits intoelastic:mainfrom
acstll wants to merge 4 commits intoelastic:mainfrom
Conversation
Cell expansion popovers were pinned to `levels.header` (1000), the same value as `levels.flyout`. With multiple unmanaged flyouts open the second one renders at 1002 and hides the popover. Drop the explicit `zIndex` so EuiPopover's dynamic `getElementZIndex(button) + 2000` derivation kicks in, lifting the popover above its host flyout regardless of how many siblings/children surround it. Closes elastic#8801
Contributor
There was a problem hiding this comment.
Pull request overview
Fixes an EuiDataGrid layering bug where cell expansion popovers could render underneath sibling/nested EuiFlyout overlay masks due to using a fixed z-index.
Changes:
- Removed the fixed
zIndexpassed to the grid’s cell expansion popover soEuiPopovercan derive z-index from the anchor’s stacking context. - Simplified DataGrid z-index variables to only track internal sticky header layering (no longer defining a dedicated
cellPopoverlevel). - Updated the existing RTL unit snapshot expectation and added an upcoming changelog entry.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| packages/eui/src/components/datagrid/data_grid.styles.ts | Removes the dedicated cellPopover z-index level and documents the new layering approach; keeps stickyHeader for internal grid layers. |
| packages/eui/src/components/datagrid/body/cell/data_grid_cell_popover.tsx | Stops passing a fixed zIndex so popover stacking follows the anchor context (default EuiPopover behavior). |
| packages/eui/src/components/datagrid/body/cell/data_grid_cell_popover.test.tsx | Updates the inline snapshot z-index value to reflect the new default-derived behavior. |
| packages/eui/changelogs/upcoming/9630.md | Documents the bug fix and the behavioral change in how z-index is determined. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Asserts the cell popover panel rises above an ancestor stacking context (e.g. a host flyout), which the previous Jest snapshot couldn't verify under jsdom. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Collaborator
💚 Build SucceededHistory
cc @acstll |
Collaborator
💚 Build Succeeded
History
cc @acstll |
30 tasks
Contributor
|
The approach and code lgtm, I'm testing in Kibana right now and validating some edge cases... |
weronikaolejniczak
approved these changes
May 7, 2026
Contributor
weronikaolejniczak
left a comment
There was a problem hiding this comment.
LGTM 🟢 The fix works in Kibana. Thanks for the detailed QA instructions, @acstll 🙏🏻
We have to wait with the merge until the next release is made.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Resolves #8801
Fixes a bug where cell popovers are not visible in sibling/nested flyouts because of
z-index. For a detailed explanation of the approach, please see #8801 (comment)API Changes
N/A
Screenshots
The screenshot represent the "after the fix" state. The expanded cell content popover in the screenshot is not visible without the fix.
Impact Assessment
Note: Most PRs should be tested in Kibana to help gauge their Impact before merging.
🔴 Breaking changes — What will break? How many usages in Kibana/Cloud UI are impacted?💅 Visual changes — May impact style overrides; could require visual testing. Explain and estimate impact.🧪 Test impact — May break functional or snapshot tests (e.g., HTML structure, class names, default values).🔧 Hard to integrate — If changes require substantial updates to Kibana, please stage the changes and link them here.Impact level: 🟢 None
This is a bug fix. It allows removing a workaround, as in elastic/kibana#251434
✔︎ Tested in Kibana → CI run in elastic/kibana#267791
Release Readiness
Documentation: {link to docs page(s)}Figma: {link to Figma or issue}Migration guide: {steps or link, for breaking/visual changes or deprecations}No migration or adoption needed, only the temporary workaround can be removed. Tracking issue: elastic/kibana#252119
QA instructions for reviewer
The only way to test this properly is running Kibana. You need to get to the Traces feature in Discover, which is only available with APM data (you cannot toggle it manually). The page you're looking for is that below, if you don't know how to get there, follow the instructions.
yarn kbn bootstrap, etc.)Instructions to see Traces in Discover
yarn kbn bootstrapnode scripts/synthtrace simple_trace.ts --target=http://elastic:changeme@localhost:9200in the terminal to feed APM data to ESToggle screenshots
Checklist before marking Ready for Review
breaking changelabel (if applicable)Reviewer checklist