Published by cee-chen 11 months ago
EuiDataGrid
cell actions to display above cells instead of within them, to avoid content clipping issues (#7343)EuiDataGrid
cell expansion popovers to sit on top of cells instead of below/next to them (#7343)EuiListGroupItem
to render an external icon and screen reader affordance for links with target
set to to _blank
(#7352)EuiListGroupItem
with a new external
prop, which allows enabling or disabling the new external link icon (#7352)EuiText
to no longer set any opinionated styles on child <img>
tags - use EuiImage
for image display within text instead (#7360)EuiBasicTable
/`EuiInMemoryTable's mobile UI for custom actions (#7361)EuiDataGridToolbarControl
subcomponent, which is useful for rendering your own custom EuiDataGrid
toolbar buttons while matching the look of the default controls (#7369)EuiDataGrid
's toolbar controls to show active/current counts in badges, and updated the Columns button icon (#7369)EuiButtonEmpty
to allow passing false
to textProps
, which allows rendering custom button content without an extra text wrapper (#7369)EuiDataGrid
column header cells to show the sort arrow after the heading text, instead of before (#7371)EuiDataGrid
's column header actions icon from a chevron to boxesVertical
(#7371)EuiBasicTable
and EuiInMemoryTable
s. Alongside name
, the description
, href
, and data-test-subj
properties now also accept an optional callback that the current item
will be passed to (#7373)EuiContextMenuItem
with a new toolTipProps
prop (#7373)EuiSelectable
now allows configurable text truncation via listProps.truncationProps
(#7388)EuiTextTruncate
now supports a new calculationDelayMs
prop for working around font loading or layout shifting scenarios (#7388)Bug fixes
EuiPopover
positioning calculations when hasArrow
was set to false (#7343)EuiSuperSelect
to render options with falsy values (false, 0, and ''), but not nullish values (undefined or null) (#7362)EuiSuperSelect
's typing to allow non-string values (e.g., booleans or numbers) (#7362)EuiDataGrid
's numeric and currency column heading cells to be correctly right-aligned (#7371)EuiBasicTable
and EuiInMemoryTable
actions not showing tooltip descriptions when rendered in the all actions popover menu (#7373)EuiContextMenu
link hover (#7373)EuiBreadcrumb
s with popoverContent
(#7375)EuiFormRow
s with hasEmptyLabelSpace
being very slightly off in vertical alignment (#7380)Deprecations
EuiContextMenuItem
's toolTipTitle
prop. Use toolTipProps.title
instead (#7373)EuiContextMenuItem
's toolTipPosition
prop. Use toolTipProps.position
instead (#7373)Accessibility
EuiBasicTable
/EuiInMemoryTable
rendering nested interactive custom actions (#7361)EuiBasicTable
and EuiInMemoryTable
actions not correctly reading out action descriptions to screen readers (#7373)EuiBasicTable
and EuiInMemoryTable
primary actions not visibly appearing on keyboard focus (#7373)Published by tkajtoch 12 months ago
EuiPopover
s in dark mode to increase visibility & contrast against other page/panel backgrounds (#7310)EuiDataGrid
to prevent unneeded re-renders (#7324)role
prop to EuiAccordion
(#7326)role
prop to EuiGlobalToastList
(#7328)EuiSuperDatePicker
now allows users to paste ISO 8601, RFC 2822, and Unix timestamps in the Absolute
tab input, in addition to timestamps in the dateFormat
prop (#7331)EuiComboBox
es now behave more like a normal text field/input. Backspacing will no longer delete the entire value, and selected values can now be double clicked and copied. (#7332)EuiDataGrid
's display settings popover now allows users to clear the "Lines per row" input before typing in a new number (#7338)EuiSuperDatePicker
's Absolute tab for users manually typing in timestamps (#7341)EuiI18n
s with multiple tokens
to accept dynamic values
(#7341)Bug fixes
EuiComboBox
's onSearchChange
callback to pass the correct hasMatchingOptions
value (#7334)EuiSelectableTemplateSitewide
bug where the popoverButton
behavior would break if passed a non-DOM React wrapper (#7339)Deprecations
EuiPopover
: deprecated anchorClassName
. Use className
instead (#7311)EuiPopover
: deprecated buttonRef
. Use popoverRef
instead (#7311)EuiPopover
: removed extra .euiPopover__anchor
div wrapper. Target .euiPopover
instead if necessary (#7311)EuiButtonGroup
's name
prop. This can safely be removed. (#7325)Breaking changes
euiPaletteComplimentary
- use euiPaletteComplementary
Instead (#7333)Accessibility
type="single"
EuiButtonGroup
s to render standard buttons instead of radio buttons under the hood, per recent a11y recommendations (#7325)EuiAccordion
now defaults to a less screenreader-noisy group
role instead of region
. If your accordion contains significant enough content to be a document landmark role, you may re-configure it back to region
. (#7326)EuiDataGrid
columns via toolbar (#7327)EuiGlobalToastList
now defaults to a log
role. If your toasts will always require immediate user action, consider (with caution) using the alert
role instead. (#7328)CSS-in-JS conversions
$euiFontFamily
and $euiCodeFontFamily
to match Emotion fonts (#7332)Published by cee-chen 12 months ago
eventColor
prop on EuiCommentEvent
to apply the color to the entire comment header. (#7288)EuiBasicTable
and EuiInMemoryTable
to support a new controlled selection API: selection.selected
(#7321)Bug fixes
EuiFieldNumbers
not correctly updating native validity state (#7291)EuiListGroupItem
to pass style
props to the wrapping <li>
element alongside className
and css
. All other props will be passed to the underlying content. (#7298)EuiListGroupItem
's non-transitioned transform on hover/focus (#7298)EuiDataGrid
s with gridStyle.stripes
sometimes showing buggy row striping after being sorted (#7301)EuiDataGrid
's gridStyle.rowClasses
API to not conflict with gridStyle.stripes
if dynamically updated (#7301)EuiDataGrid
's gridStyle.rowClasses
API to support multiple space-separated classes (#7301)EuiInputPopover
not calling onPanelResize
callback prop (#7305)EuiDualRange
incorrectly positioning highlights when rendered with showInput="inputWithPopover"
(#7305)EuiTabs
incorrectly wrapping text when it should instead either scroll or truncate (#7309)EuiContextMenu
now renders text colors correctly when used within an EuiBottomBar
(#7312)EuiSuperDatePicker
's Absolute date picker (#7313)EuiDataGrid
cells visually cutting off overflowing content a little too quickly (#7320)Deprecations
EuiBasicTable
and EuiInMemoryTable
's ref setSelection
API. Use the new selection.selected
API instead. (#7321)Breaking changes
EuiPageTemplate_Deprecated
, EuiPageSideBar_Deprecated
, and EuiPageContent*_Deprecated
(#7265)ghost
color option from EuiButton
, EuiButtonEmpty
, and EuiButtonIcon
. Use an <EuiThemeProvider colorMode="dark">
wrapper and color="text"
instead. (#7296)Dependency updates
refractor
to v3.6.0 (#7127)rehype-raw
to v5.1.0 (#7127)vfile
to v4.2.1 (#7127)Accessibility
EuiContextMenu
now correctly respects reduced motion preferences (#7312)EuiAccordion
s no longer attempt to focus child content when the accordion is externally opened via forceState
, but will continue to focus expanded content when users click the toggle button. (#7314)CSS-in-JS conversions
EuiContextMenu
, EuiContextMenuPanel
, and EuiContextMenuItem
to Emotion; Removed $euiContextMenuWidth
(#7312)Published by 1Copenut about 1 year ago
tokenVectorSparse
token and updated tokenDenseVector
token (now named tokenVectorDense
). (#7282)CSS-in-JS conversions
EuiProvider
. (#7272)Published by 1Copenut about 1 year ago
pushAnimation
prop to push EuiFlyout
s, which enables a slide in animation (#7239)EuiComboBox
to use EuiInputPopover
under the hood (#7246)inputPopoverProps
to EuiComboBox
, which allows customizing the underlying popover (#7246)EuiTextBlockTruncate
component for multi-line truncation (#7250)EuiBasicTable
and EuiInMemoryTable
to support multi-line truncation. This can be set via truncateText.lines
in the columns
prop. (#7254)Bug fixes
EuiFlexGroup
and EuiFlexGrid
's m
gutter size (#7251)EuiFlyout
with memoization (#7259)EuiContextMenu
's animation between panels (#7268)Breaking changes
font.defaultUnits
token. This means that the global font size will use the rem
unit by default, instead of px
. (#7182)accessibleClickKeys
, comboBoxKeys
, and cascadingMenuKeys
services. Use the generic keys
service instead (#7256)EuiColorStops
due to low usage (#7262)EuiSuggest
. We recommend using EuiSelectable
or EuiComboBox
instead (#7263)euiHeaderAffordForFixed
Sass mixin, and $euiHeaderHeight
and $euiHeaderHeightCompensation
Sass variables. Use the CSS variable --var(euiFixedHeadersOffset, 0)
instead. (#7264)Accessibility
rem
or em
font units, EUI now respects, instead of ignoring, browser default font sizes set by end users. (#7182)Published by cee-chen about 1 year ago
Published by 1Copenut about 1 year ago
EuiCallOut
with a new onDismiss
prop (#7156)renderCustomToolbar
prop to EuiDataGrid
, which allows custom rendering of the toolbar. (#7190)allowResetButton
prop to toolbarVisibility.showDisplaySelector
of EuiDataGrid
, which allows hiding the "Reset to default" button from the display settings popover. (#7190)additionalDisplaySettings
prop to toolbarVisibility.showDisplaySelector
of EuiDataGrid
, which allows rendering extra settings inside the display settings popover. (#7190)EuiDataGrid
's toolbar display settings button icon (#7190)EuiTextTruncate
with significantly improved iteration performance. Removed measurementRenderAPI
prop, as EuiTextTruncation
now only uses more performant canvas render API (#7210)EuiPopover
with a new configurable repositionToCrossAxis
prop (#7211)EuiDatePicker
to support compressed
input styling (#7218)gradient
and palette
icon glyphs. (#7220)Bug fixes
EuiPopover
's missing animations on popover close (#7211)EuiInputPopover
anchoring to the wrong side and missing shadows on smaller screens (#7211)EuiSuperDatePicker
icon spacing on the quick select button (#7217)EuiMarkdownEditor
's default processing plugins (#7221)Published by cee-chen about 1 year ago
EuiComboBox
to allow configuring text truncation behavior via truncationProps
. These props can be set on the entire combobox as well as on on individual dropdown options. (#7028)EuiInMemoryTable
with a new searchFormat
prop (defaults to eql
). When setting this prop to text
, the built-in search bar will ignore EQL syntax and allow searching for plain strings with special characters and symbols. (#7175)Bug fixes
EuiComboBox
now always shows the highlighted search text, even on truncated text (#7028)EuiSearchBar
's default placeholder and aria-label text (#7175)EuiDescriptionListTitle
to use a taller line-height for readability (#7185)EuiComboBox
to correctly truncate selected items when displayed as pills and plain text (#7193)Accessibility
aria-current
attribute to EuiTablePagination
(#7186)CSS-in-JS conversions
EuiDroppable
and EuiDraggable
to Emotion; Removed $euiDragAndDropSpacing
Sass variables (#7187)Published by breehall about 1 year ago
EuiGlobalToastList
now shows a "Clear all" button by default once above a certain number of toasts (defaults to 3). This threshold is configurable with the showClearAllButtonAt
prop (#7111)onClearAllToasts
callback to EuiGlobalToastList
(#7111)value
, onChange
, and onCancel
props that allow EuiInlineEdit
to be used as a controlled component (#7157)grabOmnidirectional
, transitionLeftIn
, transitionLeftOut
, transitionTopIn
, and transitionTopOut
icon glyphs. (#7168)Bug fixes
EuiInlineEdit
components to correctly spread ...rest
attributes to the parent wrapper (#7157)EuiListGroupItem
to correctly render the extraAction
button when showToolTip
is also passed (#7159)Dependency updates
Accessibility
EuiAccordion
now correctly respects reduced motion settings (#7161)EuiAccordion
now shows a focus outline to keyboard users around its revealed children on open (#7161)CSS-in-JS conversions
EuiSplitPanel
to Emotion (#7172)Published by cee-chen about 1 year ago
EuiTextTruncate
component, which provides custom truncation options beyond native CSS (#7116)EuiHeader
s now set a global CSS --euiFixedHeadersOffset
variable, which updates dynamically based on the number of fixed headers on the page. (#7144)EuiFlyout
s now dynamically set their position, height, and mask based on the number of fixed headers on the page. (#7144)EuiPageSidebar
s now dynamically set their position and height based on the number of fixed headers on the page. This can still be overridden via the sticky.offset
prop if needed. (#7144)EuiPageTemplate
now dynamically offsets content from any fixed headers on the page. This can still be overridden via the offset
prop if needed. (#7144)EuiAccordion
with a new borders
prop (#7154)EuiAccordion
with a new buttonProps.paddingSize
prop (#7154)Deprecations
euiHeaderAffordForFixed
mixin. Use the new global CSS var(--euiFixedHeadersOffset)
variable instead. (#7144)CSS-in-JS conversions
classNames
that are component-specific. As part of this effort, we have removed the following EuiAccordion
-specific classes: (#7154)
.euiAccordionForm
styles. Use the borders="horizontal"
prop instead.euiAccordionForm__button
styles. Use the buttonProps={{ paddingSize: 'm' }}
prop instead.euiAccordionForm__extraAction
styles. Convert this to your own custom CSS if necessary..euiAccordionForm__title
styles. Convert this to your own custom CSS if necessary.Published by cee-chen about 1 year ago
font.defaultUnits
theme token. EUI component font sizes default to rem
units - this token allows consumers to configure this to px
or em
(#7133)EuiDescriptionList
with new columnWidths
prop (#7146)Bug fixes
EuiDataGrid
's keyboard shortcuts popover display (#7146)CSS-in-JS conversions
useEuiFontSize()
's measurement
option to unit
for clarity (#7133)Published by 1Copenut about 1 year ago
EuiDescriptionList
with a new columnGutterSize
prop (#7062)Deprecations
EuiSuggest
. We recommend using EuiSelectable
or EuiComboBox
instead (#7122)EuiControlBar
. We recommend using EuiBottomBar
instead (#7122)EuiColorStops
. We recommend copying the component to your application if necessary (#7122)EuiNotificationEvent
. We recommend copying the component to your application if necessary (#7122)Breaking changes
EuiDescriptionList
's gutterSize
prop to rowGutterSize
(#7062)EuiDescriptionList
's rowGutterSize
prop now defaults to a size of s
(was previously m
) (#7062)Accessibility
EuiDescriptionListTitle
s to meet WCAG color contrast requirements (#7062)CSS-in-JS conversions
EuiKeyPadMenuItem
to Emotion; Removed $euiKeyPadMenuSize
and $euiKeyPadMenuMarginSize
(#7118)Published by breehall about 1 year ago
EuiResizableButton
is now available as a generic top-level export (#7087)alignIndicator
prop to EuiResizableButton
. Defaults to center
, and can now additionally be configured to start
and end
(#7087)useGeneratedHtmlId
hook to use React.useId
as the source of unique identifiers when available (#7095)CSS-in-JS conversions
Published by cee-chen about 1 year ago
EuiAutoSizer
. This primarily affects typing around the disableHeight
and disableWidth
props (#6798)EuiAutoSize
, EuiAutoSizeHorizontal
, and EuiAutoSizeVertical
types to support EuiAutoSizer
's now-stricter typing (#6798)EuiDatePickerRange
to support compressed
display (#7058)EuiFlyoutBody
with a new scrollableTabIndex
prop (#7061)panelMinWidth
prop to EuiInputPopover
(#7071)inputPopoverProps
prop for EuiRange
s and EuiDualRange
s with showInput="inputWithPopover"
set (#7082)Bug fixes
EuiToolTip
overriding instead of merging its aria-describedby
tooltip ID with any existing aria-describedby
s (#7055)EuiSuperDatePicker
's compressed
display (#7058)EuiAccordion
to remove tabbable children from sequential keyboard navigation when the accordion is closed (#7064)EuiFlyout
s to accept custom aria-describedby
IDs (#7065)Accessibility
dialog
role and tabIndex
from push EuiFlyout
s. Push flyouts, compared to overlay flyouts, require manual accessibility management. (#7065)