-
Notifications
You must be signed in to change notification settings - Fork 8.5k
Upgrade EUI to v60.0.0 #134919
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade EUI to v60.0.0 #134919
Conversation
b75a6a5 to
6e3500b
Compare
…n-` prefix instead of a dynamic hash - The goal of this is to reduce thrashing on downstream Kibana snapshots whenever EUI CSS changes + Add serializer to Canvas' storyshots tests as well + Switch several .html() snapshots to .render() - render uses the new serializer logic, but .html() does not and will still output CSS hashes, plus is more difficult to read
fkanout
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable Observability changes LGTM.
ogupte
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
APM changes LGTM!
justinkambic
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Uptime changes LGTM
- the Cypress query/command being used wasn't working correctly
YulNaumenko
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
paul-tavares
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 on behalf of Security Solution Onboarding and Lifecycle Management team
azasypkin
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Security and Interactive Setup changes LGTM.
Kerry350
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Monitoring changes LGTM
|
@elasticmachine merge upstream |
💛 Build succeeded, but was flakyFailed CI StepsTest Failures
Metrics [docs]Module Count
Async chunks
Canvas Sharable Runtime
Page load bundle
History
To update your PR or re-run it, just comment with: |
## Summary fixes #161441 fixes #161464 The recent `EuiButtonEmpty`/`EuiButtonIcon` Emotion conversions have highlighted a CSS order/specificity flaw in Kibana compared to EUI - EUI orders its Sass _after_ its Emotion styles (see https://elastic.github.io/eui/#/), and Kibana orders Sass _before_ Emotion styles. I'm not totally sure why Greg set up Kibana's style order the way he did in #134919, but at this point, EUI has enough of its baseline atom components converted to Emotion that remaining components in Sass are all generally molecules or higher level components that need to come after Emotion. ### QA - [x] Test as many pages in Kibana as possible to ensure no visual regressions 🤞 --------- Co-authored-by: Kibana Machine <[email protected]>
## Summary fixes elastic#161441 fixes elastic#161464 The recent `EuiButtonEmpty`/`EuiButtonIcon` Emotion conversions have highlighted a CSS order/specificity flaw in Kibana compared to EUI - EUI orders its Sass _after_ its Emotion styles (see https://elastic.github.io/eui/#/), and Kibana orders Sass _before_ Emotion styles. I'm not totally sure why Greg set up Kibana's style order the way he did in elastic#134919, but at this point, EUI has enough of its baseline atom components converted to Emotion that remaining components in Sass are all generally molecules or higher level components that need to come after Emotion. ### QA - [x] Test as many pages in Kibana as possible to ensure no visual regressions 🤞 --------- Co-authored-by: Kibana Machine <[email protected]> (cherry picked from commit b9eae62)
Summary
[email protected]⏩[email protected]In this PR, we've added an Emotion snapshot serializer change that changes the dynamic
css-{hash}emotion className prefixes to a staticemotion-. The long-term goal of this is to reduce thrashing on downstream Kibana snapshots whenever EUI CSS changes.Added
.render()calls to snapshot tests are intended to reduce the output of EUI components that use Emotion for styling. If you prefer the more verbose snapshot output in your plugin, we can remove the call.Emotion cache & meta/style tag details
There are two types of styling conflict issues in Kibana that this PR fixes:
Depending on selector specificity, the incorrect styles could be applied because of style tag source order. To solve this, EUI implements a way to better handle style tag injection which allows for the following ordering:
This commit has the changes to Kibana to make this happen. The gist is that we need to target another tag in the and a second Emotion cache to bundle styles together. EUI takes care of the rest.
This is only necessary while EUI is in transition to Emotion and we have to manage two types of styling.
60.0.0EuiProvider.cacheto enable more granular style insertion (#5853)EuiProvider(#5853)gutterSizeprop toEuiTimeline(#5955)onActiveOptionChangecallback toEuiSelectable(#5978)Bug fixes
EuiTimelineItemwhere the vertical line was not showing on the last item whenverticalAlignwas set tocenter(#5955)logicalCSS()where the left and rightlogicalPositions were wrong (#5955)EuiComboBoxwhen an option group contains hundreds of thousands of options (#5976)Breaking changes
componentprop fromEuiTimelineItem, which now defaults toli. Consequently, aEuiTimeline(ol) is required to wrap the timeline items (#5955)CSS-in-JS conversions
EuiStatto Emotion (#5968)59.1.0colorprop toEuiLoadingSpinner(#5878)overrideLinkBehaviorprop toEuiSkipLinkfor applications that use hash routers (#5957)Bug fixes
EuiSelectableMessageflex layout when containing multiple children nodes (#5966)CSS-in-JS
EuiFacetGroupandEuiFacetButtonto Emotion and removed$euiFacetGutterSizes(#5878)Closes #134908