Skip to content

Conversation

@mgadewoll
Copy link
Contributor

@mgadewoll mgadewoll commented Mar 31, 2025

Summary

Note

Panel borders were changed in this PR to use borders on a pseudo element instead of the panel element directly to support "floating" borders in dark mode and prevent visible transparent borders in light mode.

This PR fixes a visual issue where panel borders would overlap other elements due to a styling of z-index: 1.

Changes

  • updatesEuiPanel border styles by changing the pseudo element for borders from ::before to ::after
    • this ensures the border overlaps content naturally without increased z-index
    • adds a VRT-only story for overlapping panels to track borders are layered correctly
  • updates EuiToast styles to align with the panel border style change

before

Screenshot 2025-03-31 at 12 46 10

after

Screenshot 2025-03-31 at 12 53 13

QA

  • verify EuiPanel and related components look as expected (EuiCard, EuiSplitPanel, EuiToast, EuiPopover, EuiTooltip, EuiTour)

General checklist

  • Browser QA
    • Checked in both light and dark modes
    • Checked in both MacOS and Windows high contrast modes
    • Checked in mobile
    • Checked in Chrome, Safari, Edge, and Firefox
    • Checked for accessibility including keyboard-only and screenreader modes
  • Docs site QA
  • Code quality checklist
  • Release checklist
    • A changelog entry exists and is marked appropriately.
    • If applicable, added the breaking change issue label (and filled out the breaking change checklist)
  • Designer checklist
    • If applicable, file an issue to update EUI's Figma library with any corresponding UI changes. (This is an internal repo, if you are external to Elastic, ask a maintainer to submit this request)

- uses :after instead of :before with z-index to ensure it's over panel content (for nested flush content) and at the same time won't overlap other content breaking logical DOM order
- ensures we notice if the borders misbehave
@mgadewoll mgadewoll self-assigned this Mar 31, 2025
@kibanamachine
Copy link

Preview staging links for this PR:

@elasticmachine
Copy link
Collaborator

💚 Build Succeeded

cc @mgadewoll

@mgadewoll mgadewoll marked this pull request as ready for review March 31, 2025 12:13
@mgadewoll mgadewoll requested a review from a team as a code owner March 31, 2025 12:13
@tkajtoch tkajtoch self-requested a review March 31, 2025 15:58
Copy link
Member

@tkajtoch tkajtoch left a comment

Choose a reason for hiding this comment

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

Tested in Storybook and haven't noticed any issues. The changes look good to me!

@mgadewoll mgadewoll merged commit 6d4d031 into elastic:main Mar 31, 2025
6 checks passed
weronikaolejniczak added a commit to elastic/kibana that referenced this pull request Apr 10, 2025
> [!Note]
> This PR is a manual backport of the already merged
#217491

`101.0.1` ⏩ `101.3.0-classic.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)

## Package updates

### `@elastic/eui`

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

- Updated 78 existing and added two new glyphs (`code` and
`checkCircle`) for `EuiIcon`
([#8530](elastic/eui#8530))
- Changed `gutterSize` to `m` between right side items on
`EuiPageHeader` ([#8529](elastic/eui#8529))

**Bug fixes**

- Fixed a visual bug on disabled `EuiButton` in high contrast mode where
wrong text colors were applied
([#8550](elastic/eui#8550))

#### [`v101.2.0`](https://github.com/elastic/eui/releases/v101.2.0)

- Added `showToolTip` prop on `EuiColorPickerSwatch`
([#8512](elastic/eui#8512))

**Bug fixes**

- Fixed a visual issue of overlapping borders for layered `EuiPanel`s
([#8519](elastic/eui#8519))
- Fixes wrong `colorMode` styling for the search in `EuiHeader` with
`theme="dark"` ([#8496](elastic/eui#8496))

**Accessibility**

- Improved the accessibility of `EuiColorPicker` by adding color label
tooltips on hover and focus for color swatches
([#8512](elastic/eui#8512))
- Added `disableScreenReaderOutput` prop on `EuiToolTip` to manually
control if the tooltip content should be read when focusing the trigger.
This prevents duplicate screen reader output when the tooltip content
and `aria-label` on the trigger element have the same text content.
([#8508](elastic/eui#8508))
- Improves text color contrast for `EuiButton` with `color="warning"` in
high contrast mode ([#8496](elastic/eui#8496))
- Improves contrast and visible distinction of the following components
in high contrast mode:
([#8496](elastic/eui#8496))
  - `EuiCode`
  - `EuiBadge`
  - `EuiBetaBadge`
  - `EuiNotificationBadge`

**Dependency updates**

- Updated `prismjs` to v1.30.0
([#8506](elastic/eui#8506))

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

- Updates `EuiTableRow` styles to check support for `:has(+)` selector
([#8498](elastic/eui#8498))


<!--ONMERGE {"backportTargets":["9.0"]} ONMERGE-->

---------

Co-authored-by: Weronika Olejniczak <weronika.olejniczak@elastic.co>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants