Skip to content

Releases: elastic/eui

v94.0.0

09 Apr 00:47
Compare
Choose a tag to compare
  • Updated EuiTable, EuiBasicTable, and EuiInMemoryTable with a new responsiveBreakpoint prop, which allows customizing the point at which the table collapses into a mobile-friendly view with cards (#7625)
  • Updated EuiProvider's componentDefaults prop to allow configuring EuiTable.responsiveBreakpoint (#7625)

Bug fixes

  • EuiBasicTable & EuiInMemoryTable isPrimary actions are now correctly shown on mobile views (#7640)
  • Table mobileOptions: (#7642)
    • mobileOptions.align is now respected instead of all cells being forced to left alignment
    • textTruncate and textOnly are now respected even if a render function is not passed

Breaking changes

  • Removed unused EuiTableHeaderButton component (#7621)
  • Removed the responsive prop from EuiTable, EuiBasicTable, and EuiInMemoryTable. Use the new responsiveBreakpoint prop instead (#7625)
  • The following props are no longer needed by EuiBasicTable or EuiInMemoryTable for responsive table behavior to work correctly, and can be removed: (#7632)
    • isSelectable
    • isExpandable
    • hasActions
  • Removed the showOnHover prop from EuiTableRowCell / EuiBasicTable/EuiInMemoryTable's columns API. Use the new actions columns[].actions[].showOnHover API instead. (#7640)
  • Removed top-level textOnly prop from EuiBasicTable and EuiInMemoryTable. Use columns[].textOnly instead. (#7642)

DOM changes

  • EuiTable mobile headers no longer render in the DOM when not visible (previously rendered with display: none). This may affect DOM testing assertions. (#7625)
  • EuiTableRowCell now applies passed classNames to the parent <td> element, instead of to the inner cell content <div>. (#7631)
  • EuiTableRows rendered by basic and memory tables now only render a .euiTableRow-isSelectable className if the selection checkbox is not disabled (#7632)
  • EuiTableRowCells with textOnly set to false will no longer attempt to apply the .euiTableCellContent__text className to child elements. (#7641)
  • EuiTableRowCell no longer renders mobile headers to the DOM unless the current table is displaying its responsive view. (#7642)
  • EuiTableHeaderCell and EuiTableRowCell will no longer render in the DOM at all on mobile if their columns' mobileOptions.show is set to false. (#7642)
  • EuiTableHeaderCell and EuiTableRowCell will no longer render in the DOM at all on desktop if their columns' mobileOptions.only is set to true. (#7642)

CSS-in-JS conversions

  • Converted EuiTable, EuiTableRow, EuiTableRowCell, and all other table subcomponents to Emotion (#7654)
  • Removed the following EuiTable Sass variables: (#7654)
    • $euiTableCellContentPadding
    • $euiTableCellContentPaddingCompressed
    • $euiTableCellCheckboxWidth
    • $euiTableHoverColor
    • $euiTableSelectedColor
    • $euiTableHoverSelectedColor
    • $euiTableActionsBorderColor
    • $euiTableHoverClickableColor
    • $euiTableFocusClickableColor
  • Removed the following EuiTable Sass mixins: (#7654)
    • euiTableActionsBackgroundMobile
    • euiTableCellCheckbox
    • euiTableCell

v93.6.0

08 Apr 17:02
Compare
Choose a tag to compare
  • Updated EuiBreadcrumb styles to improve visual distinction of clickable breadcrumbs (#7615)

Deprecations

  • Deprecated color prop on EuiBreadcrumb (#7615)

Bug fixes

  • Fixed EuiComboBox to correctly select full matches within groups via the Enter key (#7658)

Accessibility

  • Updated EuiHeaderBreadcrumb styles to ensure min. required color contrast (#7643)
  • EuiSuperSelect now correctly reads out parent EuiFormRow labels to screen readers (#7650)
  • EuiSuperSelect now more closely mimics native <select> behavior in its keyboard behavior and navigation (#7650)
  • EuiSuperSelect no longer strands keyboard focus on close (#7650)
  • EuiSuperSelect now correctly allows keyboard navigating past disabled options in the middle of the options list (#7650)

v93.5.2

01 Apr 15:40
Compare
Choose a tag to compare

Dependency updates

  • Updated react-virtualized-auto-sizer to 1.0.24 (#7598)
  • Updated react-window to 1.8.10 (#7600)

CSS-in-JS conversions

  • Updated EUI's internal style memoization/performance utility to have configurable error/warning levels via setEuiDevProviderWarning (#7626)

v93.5.1

25 Mar 20:17
Compare
Choose a tag to compare

Bug fixes

  • Fixed unvirtualized EuiSelectables to not cause Jest/jsdom errors on active option change (#7618)

v93.5.0

25 Mar 16:07
Compare
Choose a tag to compare
  • EuiHeaderLinks now accepts a children render function that will be passed a closeMobilePopover callback, allowing consumers to close the mobile popover by its content (#7603)
  • Updated EuiSelectable to support scrolling list containers when listProps.isVirtualization is set to false (#7609)

Bug fixes

  • Fixed EuiIconTip's default aria-label text to be i18n tokenizable (#7606)
  • Fixed EuiTextArea's CSS box model to no longer render a few extra pixels of strut height (#7607)

Dependency updates

  • Updated @types/refractor to v3.4.0 (#7590)
  • Updated @types/lodash to v4.14.202 (#7591)
  • Removed @types/resize-observer-browser dependency. ResizeObserver types should already be baked in to Typescript as of 4.2+ (#7592)
  • Updated classnames to v2.5.1 (#7593)
  • Updated @types/numeral to v2.0.5 (#7594)
  • Updated @types/react-window to 1.8.8 (#7597)
  • Updated prop-types to v15.18.1 (#7602)
  • Removed prop-types as a peer dependency, per package recommendation (#7602)

Accessibility

  • EuiIcons no longer apply aria-hidden to empty icons, as long as a valid title or label is provided to the icon. In particular, this is intended to improve the accessibility of loading EuiIconTips. (#7606)

v93.4.0

18 Mar 16:28
Compare
Choose a tag to compare
  • Added the following properties to EuiButtonGroup's options configs: toolTipContent, toolTipProps, and title. These new properties allow wrapping buttons in EuiToolTips, and additionally customizing or disabling the native browser title tooltip. (#7461)
  • Enhanced EuiResizeObserver and useResizeObserver's performance to not trigger page reflows on resize event (#7575)
  • Updated EuiSuperUpdateButton to support custom button text via an optional children prop (#7576)

Bug fixes

  • Fixed EuiFlyout to not repeatedly remove/add a body class on resize (#7462)
  • Fixed EuiToast title text to wrap instead of overflowing out of the container (#7568)
  • Fixed a visual bug with EuiHeaderBreadcrumbs with popovers (#7580)

Deprecations

  • Deprecated euiPalettePositive and euiPaletteNegative in favour of a more culturally inclusive euiPaletteGreen and euiPaletteRed (#7570)
  • Deprecated all charts theme exports in favor of @elastic/charts exports: (#7572)
    • Deprecated EUI_CHARTS_THEME_<DARK|LIGHT> in favor of <DARK|LIGHT>_THEME from @elastic/charts. (#7572)
    • Deprecated EUI_SPARKLINE_THEME_PARTIAL in favor of useSparklineOverrides theme from the kibana charts plugin theme service.

Accessibility

  • Updated EuiModal to set an aria-modal attribute and a default dialog role (#7564)
  • Updated EuiConfirmModal to set a default alertdialog role (#7564)
  • Fixed EuiModal and EuiConfirmModal to properly trap Safari+VoiceOver's virtual cursor (#7564)

v93.3.0

11 Mar 19:49
Compare
Choose a tag to compare
  • Added new EuiDataGrid new prop: cellContext, an optional object of additional props passed to the cell render function. (#7374)
  • EuiBreadcrumbs's popoverContent API now accepts a render function that will be passed a closePopover callback, allowing consumers to close the breadcrumb popover from their popover content (#7555)

Bug fixes

  • Fixed missing animation on native EuiProgress bar update (#7538)
  • Fixed an EuiDataGrid bug with gridStyle.rowClasses, where custom consumer classes that began with euiDataGridRow would not be correctly removed/reapplied (#7549)
  • Fixed a visual EuiDataGrid bug where EuiCheckboxes within control columns were not vertically centered within single height rows (#7549)

v93.2.0

20 Feb 17:38
Compare
Choose a tag to compare
  • Updated EuiPageSidebar and EuiPageTemplate.Sidebar with a new hasEmbellish prop (defaults to false) (#7521)
  • Added diff glyph to EuiIcon (#7520)
  • Added newChat glyph to EuiIcon (#7524)

Bug fixes

  • Fixed EuiSideNav not correctly typing the items prop as required (#7521)
  • Fixed the CSS is not defined bug in EuiPageTemplate when rendering in some SSR environments, particularly Next.js v13 and up (#7525)
  • Fixed EuiDataGrid component to clean up timer from side effect on unmount (#7534)

Accessibility

  • Fixed EuiSideNav to render a fallback aria-label on mobile toggles if no heading or mobile title exists (#7521)

CSS-in-JS conversions

  • Converted EuiSideNav to Emotion; Removed the following Sass variables: (#7521)
    • $euiSideNavEmphasizedBackgroundColor
    • $euiSideNavRootTextcolor
    • $euiSideNavBranchTextcolor
    • $euiSideNavSelectedTextcolor
    • $euiSideNavDisabledTextcolor
  • Removed the euiSideNavEmbellish Sass mixin. Use the new EuiPageSidebar hasEmbellish prop instead (#7521)
  • Added a new memoization/performance optimization utility for CSS-in-JS styles (#7529)

v93.1.1

15 Feb 16:55
Compare
Choose a tag to compare

This is a patch release primarily intended for use by Kibana.

  • Added top-level EuiTreeView.Item export (#7526)

v93.1.0

12 Feb 16:41
Compare
Choose a tag to compare
  • Added index glyph to EuiIcon (#7498)
  • Updated EuiHighlight to accept an array of search strings, which allows highlighting multiple, separate words within its children. This new type and behavior only works if highlightAll is also set to true. (#7496)
  • Updated EuiContextMenu with a new panels.items.renderItem property, which allows rendering completely custom items next to standard EuiContextMenuItem objects (#7510)
  • EuiSuperDatePicker updates:
    • Updated EuiSuperDatePicker with a new canRoundRelativeUnits prop, which defaults to true (current behavior). To preserve displaying the unit that users select for relative time, set this to false. (#7502)
    • Updated EuiSuperDatePicker with a new refreshIntervalUnits prop. Passing this prop allows controlling and overriding the default unit rounding behavior. (#7501)
    • Updated EuiAutoRefresh and EuiRefreshInterval with a new intervalUnits prop. Passing this prop allows controlling and overriding the default unit rounding behavior. (#7501)
    • Updated onRefreshChange to pass back a new intervalUnits key that contains the current interval unit format (seconds, minutes, or hours). (#7501)
    • Updated EuiSuperDatePicker with a new refreshMinInterval prop, which accepts a minimum number in milliseconds (#7516)
    • Updated EuiAutoRefresh and EuiRefreshInterval with a new minInterval prop, which accepts a minimum number in milliseconds (#7516)

Bug fixes

  • Fixed EuiHighlight to not parse search strings as regexes (#7496)
  • Fixed EuiSuperDatePicker submit bug when used within <form> elements (#7504)
  • Fixed an EuiTreeView bug where aria-expanded was being applied to items without expandable children (#7513)

CSS-in-JS conversions

  • Converted EuiTreeView to Emotion. Updates as part of the conversion: (#7513)
    • Removed .euiTreeView__wrapper div node
    • Enforced consistent icon size based on display size