-
Notifications
You must be signed in to change notification settings - Fork 841
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
[EuiDescriptionList] Update display to grid for vertical column option with new props #7062
Conversation
💚 CLA has been signed |
Preview documentation changes for this PR: https://eui.elastic.co/pr_7062_buildkite/ |
Preview documentation changes for this PR: https://eui.elastic.co/pr_7062_buildkite/ |
Preview documentation changes for this PR: https://eui.elastic.co/pr_7062_buildkite/ |
Preview documentation changes for this PR: https://eui.elastic.co/pr_7062_buildkite/ |
Preview documentation changes for this PR: https://eui.elastic.co/pr_7062_buildkite/ |
Preview documentation changes for this PR: https://eui.elastic.co/pr_7062_buildkite/ |
Preview documentation changes for this PR: https://eui.elastic.co/pr_7062_buildkite/ |
Preview documentation changes for this PR: https://eui.elastic.co/pr_7062_buildkite/ |
src/components/description_list/description_list_title.styles.ts
Outdated
Show resolved
Hide resolved
Preview documentation changes for this PR: https://eui.elastic.co/pr_7062/ |
@cee-chen / @ryankeairns - Issue #7119 should take over the |
Thanks @kyrspl! Can you ping me either on Slack or in this GitHub thread once the max-width CSS has been removed from this PR? I'll re-review at that point. |
Preview documentation changes for this PR: https://eui.elastic.co/pr_7062/ |
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.
🎉 Everything looks great and the code feels super clean to me! Thanks for taking the extra time to have deeper discussions on this Kyriakos, and for tackling #6856 as well!
Preview documentation changes for this PR: https://eui.elastic.co/pr_7062/ |
Thanks for your help and guidance @cee-chen! |
Preview documentation changes for this PR: https://eui.elastic.co/pr_7062/ |
@ryankeairns Up to you for the final review :) |
Preview documentation changes for this PR: https://eui.elastic.co/pr_7062/ |
Preview documentation changes for this PR: https://eui.elastic.co/pr_7062/ |
💚 Build Succeeded
History
|
## PR change summary `v87.2.0`⏩`v88.1.0`⚠️ The biggest thing to QA in this PR is several **breaking changes** to `EuiDescriptionList`. ### Description list `columnWidths` prop This PR introduces a new `columnWidths` prop and removes several Kibana instances of custom CSS overrides to title/description column widths. The primary motivation behind this is not just to reduce custom CSS, but also because v88.0.0 introduced an underlying CSS change of `column` description lists to using [`display: grid` CSS](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_grid_layout). The new prop allows us to support existing description list custom widths while not requiring Kibana developers to understand or write grid CSS (except for 1 or two scenarios around `max-width`).⚠️ **No user-facing UI around column widths should have regressed as a result of these changes. If they have, please let us know in this PR.** ### Description list gutter size changes The prop `gutterSize` has been renamed to `rowGutterSize` and the default size is now `s` instead of `m`. The change to `s` from `m` means there is an **expected** smaller gap between list items (see below screenshots): **Current `EuiDescriptionList` with default `rowGutterSize="s"`** <img width="753" alt="" src="https://github.com/elastic/kibana/assets/934879/c17aef28-ed3b-40c4-84c3-396e788b13bb"> **Prior `EuiDescriptionList` with default `gutterSize="m"`** <img width="721" alt="" src="https://github.com/elastic/kibana/assets/934879/84d5f5a2-8fa6-4f99-9dc0-73fd143aa1e1"> If Kibana teams prefer to keep the previous `m` gutter for their instances of `EuiDescriptionList`, you have a couple of options: 1. Let EUI team know in the PR and we can set usage back to what it was before 2. Set `rowGutterSize="m"` yourselves manually --- ## [`88.1.0`](https://github.com/elastic/eui/tree/v88.1.0) - Added `font.defaultUnits` theme token. EUI component font sizes default to `rem` units - this token allows consumers to configure this to `px` or `em` ([#7133](elastic/eui#7133)) - Updated `EuiDescriptionList` with new `columnWidths` prop ([#7146](elastic/eui#7146)) **Bug fixes** - Fixed `EuiDataGrid`'s keyboard shortcuts popover display ([#7146](elastic/eui#7146)) **CSS-in-JS conversions** - Renamed `useEuiFontSize()`'s `measurement` option to `unit` for clarity ([#7133](elastic/eui#7133)) ## [`88.0.0`](https://github.com/elastic/eui/tree/v88.0.0) - Updated `EuiDescriptionList` with a new `columnGutterSize` prop ([#7062](elastic/eui#7062)) **Deprecations** - Deprecated `EuiSuggest`. We recommend using `EuiSelectable` or `EuiComboBox` instead ([#7122](elastic/eui#7122)) - Deprecated `EuiControlBar`. We recommend using `EuiBottomBar` instead ([#7122](elastic/eui#7122)) - Deprecated `EuiColorStops`. We recommend copying the component to your application if necessary ([#7122](elastic/eui#7122)) - Deprecated `EuiNotificationEvent`. We recommend copying the component to your application if necessary ([#7122](elastic/eui#7122)) **Breaking changes** - Renamed `EuiDescriptionList`'s `gutterSize` prop to `rowGutterSize` ([#7062](elastic/eui#7062)) - `EuiDescriptionList`'s `rowGutterSize` prop now defaults to a size of `s` (was previously `m`) ([#7062](elastic/eui#7062)) **Accessibility** - Fixed the dark mode colors of inline `EuiDescriptionListTitle`s to meet WCAG color contrast requirements ([#7062](elastic/eui#7062)) **CSS-in-JS conversions** - Converted `EuiKeyPadMenuItem` to Emotion; Removed `$euiKeyPadMenuSize` and `$euiKeyPadMenuMarginSize` ([#7118](elastic/eui#7118)) --------- Co-authored-by: Cee Chen <[email protected]> Co-authored-by: Cee Chen <[email protected]> Co-authored-by: kibanamachine <[email protected]> Co-authored-by: Nikita Indik <[email protected]>
Summary
This PR fixes issue #7011 and #6856. In addition, the following design decisions are included:
columnGutterSize
prop that controls vertical spacing between the 2 columns.gutterSize
torowGutterSize
title
's colors indark
mode forinline
lists.grid
forvertical
lists. This allows us to easily control both the vertical spacing between columns but also between rowsTo do
grid
for vertical listscolumnGutterSize
proprow-gap
usingrowGutterSize
Design
The idea here is to change the display to
grid
in order to have more flexible control over the columns and individual cells.We introduce the
columnGap
prop to control vertical spacing between the columns.Furthermore, it would be nice to control row spacing as well. We currently use
gutterSize
as a prop as well use the booleancompressed
. Happy to discuss how we can add some logic around these two.Finally, we're limiting the title'sRemoved from PRmax-width
to380px
(note: tbc) for optimal reading/scanning.General checklist
@default
if default values are missing) and playground toggles- [ ] Checked Code Sandbox works for any docs examples- [ ] Checked for accessibility including keyboard-only and screenreader modes