-
Notifications
You must be signed in to change notification settings - Fork 861
[Visual Refresh][EuiSelectableTemplateSitewide] Add colorModes prop
#8806
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
[Visual Refresh][EuiSelectableTemplateSitewide] Add colorModes prop
#8806
Conversation
- allows for granular control over which theme is applied to search and popover elements
- makes use of the new theme prop instead to handle different colorMode requirements
acstll
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.
I went through all the steps in the suggested QA process and it's working perfectly as expected 👌 — I only have one question regarding the prop name…
packages/eui/src/components/selectable/selectable_templates/selectable_template_sitewide.tsx
Outdated
Show resolved
Hide resolved
💚 Build SucceededHistory
cc @mgadewoll |
💚 Build Succeeded
History
cc @mgadewoll |
acstll
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.
🟢
f704eb8
into
elastic:feat/inputs-visual-refresh
theme propcolorModes prop
|
This PR contains breaking changes. The opener of this pull request is asked to perform the following due diligence steps below, to assist EUI in our next Kibana upgrade:
|
`105.0.0` ⏩ `106.0.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) ## Changes ### Visual Refresh: Input updates >[!IMPORTANT] This PR includes visual changes on input elements as part of the Visual Refresh project. These changes have been open for QA ahead of time on [this draft PR](#224382). Almost all changes were done on EUI side. The changes to form elements were done in elastic/eui#8767 and elastic/eui#8778. Additionally this PR adds the following changes related to Visual Refresh input updates: - adds newly introduced prop `colorModes` on **EuiSelectableTemplateSitewide** (elastic/eui#8806) to ensure expected output - updates styles for `in_table_search_control.tsx` to ensure correct visual output ([conversation](#224382 (comment))) - updates color values in tests/snapshots ### What changes visibly? 🔗 See a more detailed overview of changes [here](https://docs.google.com/document/d/1pxfev-NQhvbyMCkIGDNgEC4XewnkV_N32p8aEyhvRHo/edit?usp=sharing). The visually most noticeable change is the update of state indicators for focus and invalid. The indicator underline was changed to a full outline. | before | after | |---|---| |  |  | |  |  | 1. General form layout and input element updates - updated text and border colors - visible hover states - updated state indicators (e.g. focus and invalid) - updated disabled, readonly, drag etc states - slightly updated paddings - increased icon size in compressed forms - added border between form control layout append/prepend elements and main form element 2. **EuiSelectableTemplateSitewide** - added prop `colorModes` to handle color modes for search and popover elements separately ### Which EUI components are affected? - EuiFieldText - EuiFieldNumber - EuiFielPassword - EuiFieldSearch - EuiTextarea - EuiSelect - EuiSuperSelect - EuiFilePicker - EuiDatePicker - EuiSuperDatePicker - EuiComboBox - EuiFormLabel - EuiFormErrorText - EuiFormControlLayout - EuiFormControlLayoutDelimited - EuiFormControlLayoutIcons - EuiSelectableTemplateSitewide ## Screenshots <details> <summary>View comparison screenshots</summary> | LIGHT | DARK | |---|---| |  |  | |  |  | |  |  | |  |  | |  |  | </details> ## Additional changes - fixes missing border due to wrong token usage in `filter_button_group.tsx` ([change](https://github.com/elastic/kibana/compare/main...mgadewoll:eui/v106.0.0?expand=1#diff-05e15a78042cf7b418177c3ccde14623d1acad0b98a07e61780ac4d4a9caa60bR63)) - updates JSON token import paths ([change](https://github.com/elastic/kibana/compare/main...mgadewoll:eui/v106.0.0?expand=1#diff-a4c2ecff5ea550ffdce81da06e4ba26fdc4cfa48bc13b766a42b8388c03ebd7aR13)) - updates color values in tests/snapshots >[!NOTE] Color value changes in tests/snapshots are expected due to a previously missed change in the default initial colors for eui palettes to ensure Borealis colors for static usages. This surfaces specifically in tests as they are not connected to component renders. ## Package updates ### `@elastic/eui` #### [`v106.0.0`](https://github.com/elastic/eui/releases/v106.0.0) - Added `colorModes` prop to `EuiSelectableTemplateSitewide` to support granular control over the applied `colorMode` for the search and popover components ([#8806](elastic/eui#8806)) - Added high contrast mode specific color values for `colors.vis` and `colors.severity` tokens in light color mode ([#8800](elastic/eui#8800)) - Added new `refresh` design for input styles on form picker components: ([#8778](elastic/eui#8778)) - `EuiComboBox` - `EuiFilePicker` - `EuiDatePicker` - `EuiSuperDatePicker` - Updated the font size of `xs` size `EuiButtonEmpty` to `14px` ([#8778](elastic/eui#8778)) - Added a new `backgroundStyle` prop to the `EuiFlyoutChild` component. ([#8847](elastic/eui#8847)) - Updates to `EuiFlyoutSessionProvider` ([#8846](elastic/eui#8846)) * Remove the onUnmount callbacks from various flyout configurations * Consolidate unmount behavior with a single onUnmount prop at the provider level. * Removed onCloseFlyout and onCloseChildFlyout from the flyout render context. * Fixed the canGoBack logic in packages/eui/src/components/flyout/sessions/use_eui_flyout.ts. - Added new `refresh` design for input styles and form layout components: ([#8767](elastic/eui#8767)) - `EuiFieldText` - `EuiFieldNumber` - `EuiFieldPassword` - `EuiFieldSearch` - `EuiTextarea` - `EuiSelect` - `EuiSuperSelect` - `EuiFormControlLayout` - `EuiFormControlLayoutDelimited` - `EuiFormControlLayoutIcons` - `EuiFormLabel` - `EuiFormErrorText` - Added semantic tokens: ([#8767](elastic/eui#8767)) - `colors.borderInteractiveFormsHoverPlain` - `colors.borderInteractiveFormsHoverDanger` - Added component tokens: ([#8767](elastic/eui#8767)) - `components.forms.backgroundDropping` - `components.forms.borderFocused` - `components.forms.borderInvalid` - `components.forms.borderHovered` - `components.forms.borderInvalidHovered` - `components.forms.borderAutofilledHovered` - `components.forms.clearButtonBackground` - Updated values for tokens: ([#8767](elastic/eui#8767)) - `colors.textWarning` - `colors.borderStrongPrimary` - `colors.borderStrongAccent` - `colors.borderStrongAccentSecondary` - `colors.borderStrongNeutral` - `colors.borderStrongSuccess` - `colors.borderStrongWarning` - `colors.borderStrongRisk` - `colors.borderStrongDanger` - `components.forms.backgroundReadOnly` **Bug fixes** - Fixed the screen reader output in `EuiProgress` when a node is passed in the `label` prop ([#8856](elastic/eui#8856)) - Removed unnecessary `title` attributes for `label` and `valueText` in `EuiProgress` ([#8856](elastic/eui#8856)) - Fixed wrong initialization options on `EUI_VIS_COLOR_STORE` which resulted in partially wrong initial color values for static `euiPalette{name}` functions (e.g. `euiPaletteForTemperature`) ([#8844](elastic/eui#8844)) **Breaking changes** - Removed custom style overrides for `EuiSelectableTemplateSitewide` search inside `EuiHeader` - Use the `colorModes` prop on `EuiSelectableTemplateSitewide` instead to control the color mode output. ([#8806](elastic/eui#8806)) ### `@elastic/eui-theme-borealis` #### [`v3.3.0`](https://github.com/elastic/eui/blob/main/packages/eui-theme-borealis/changelogs/CHANGELOG_2025.md?plain=1#L1) - Added high contrast mode specific color values for `colors.vis` and `colors.severity` tokens in light color mode ([#8800](elastic/eui#8800)) - Added semantic tokens: ([#8767](elastic/eui#8767)) - `colors.borderInteractiveFormsHoverPlain` - `colors.borderInteractiveFormsHoverDanger` - Added component tokens: ([#8767](elastic/eui#8767)) - `components.forms.backgroundDropping` - `components.forms.borderFocused` - `components.forms.borderInvalid` - `components.forms.borderHovered` - `components.forms.borderInvalidHovered` - `components.forms.borderAutofilledHovered` - `components.forms.clearButtonBackground` - Updated values for tokens: ([#8767](elastic/eui#8767)) - `colors.textWarning` - `colors.borderStrongPrimary` - `colors.borderStrongAccent` - `colors.borderStrongAccentSecondary` - `colors.borderStrongNeutral` - `colors.borderStrongSuccess` - `colors.borderStrongWarning` - `colors.borderStrongRisk` - `colors.borderStrongDanger` - `components.forms.backgroundReadOnly` ### `@elastic/eui-theme-common` ## [`v3.0.0`](https://github.com/elastic/eui/blob/main/packages/eui-theme-common/changelogs/CHANGELOG_2025.md?plain=1#L1) - Added semantic tokens: ([#8767](elastic/eui#8767)) - `colors.borderInteractiveFormsHoverPlain` - `colors.borderInteractiveFormsHoverDanger` - Added component tokens: ([#8767](elastic/eui#8767)) - `components.forms.backgroundDropping` - `components.forms.borderFocused` - `components.forms.borderInvalid` - `components.forms.borderHovered` - `components.forms.borderInvalidHovered` - `components.forms.borderAutofilledHovered` - `components.forms.clearButtonBackground` **Breaking changes** - Updated `_EuiThemeColors` type to include `_EuiThemeVisColors` and `_EuiThemeSeverityColors` as `StrictColorModeSwitch` instead of static colors. This requires `vis` and `severity` keys to be defined as part of `LIGHT` and `DARK` color mode objects. ([#8800](elastic/eui#8800))
`105.0.0` ⏩ `106.0.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) ## Changes ### Visual Refresh: Input updates >[!IMPORTANT] This PR includes visual changes on input elements as part of the Visual Refresh project. These changes have been open for QA ahead of time on [this draft PR](elastic#224382). Almost all changes were done on EUI side. The changes to form elements were done in elastic/eui#8767 and elastic/eui#8778. Additionally this PR adds the following changes related to Visual Refresh input updates: - adds newly introduced prop `colorModes` on **EuiSelectableTemplateSitewide** (elastic/eui#8806) to ensure expected output - updates styles for `in_table_search_control.tsx` to ensure correct visual output ([conversation](elastic#224382 (comment))) - updates color values in tests/snapshots ### What changes visibly? 🔗 See a more detailed overview of changes [here](https://docs.google.com/document/d/1pxfev-NQhvbyMCkIGDNgEC4XewnkV_N32p8aEyhvRHo/edit?usp=sharing). The visually most noticeable change is the update of state indicators for focus and invalid. The indicator underline was changed to a full outline. | before | after | |---|---| |  |  | |  |  | 1. General form layout and input element updates - updated text and border colors - visible hover states - updated state indicators (e.g. focus and invalid) - updated disabled, readonly, drag etc states - slightly updated paddings - increased icon size in compressed forms - added border between form control layout append/prepend elements and main form element 2. **EuiSelectableTemplateSitewide** - added prop `colorModes` to handle color modes for search and popover elements separately ### Which EUI components are affected? - EuiFieldText - EuiFieldNumber - EuiFielPassword - EuiFieldSearch - EuiTextarea - EuiSelect - EuiSuperSelect - EuiFilePicker - EuiDatePicker - EuiSuperDatePicker - EuiComboBox - EuiFormLabel - EuiFormErrorText - EuiFormControlLayout - EuiFormControlLayoutDelimited - EuiFormControlLayoutIcons - EuiSelectableTemplateSitewide ## Screenshots <details> <summary>View comparison screenshots</summary> | LIGHT | DARK | |---|---| |  |  | |  |  | |  |  | |  |  | |  |  | </details> ## Additional changes - fixes missing border due to wrong token usage in `filter_button_group.tsx` ([change](https://github.com/elastic/kibana/compare/main...mgadewoll:eui/v106.0.0?expand=1#diff-05e15a78042cf7b418177c3ccde14623d1acad0b98a07e61780ac4d4a9caa60bR63)) - updates JSON token import paths ([change](https://github.com/elastic/kibana/compare/main...mgadewoll:eui/v106.0.0?expand=1#diff-a4c2ecff5ea550ffdce81da06e4ba26fdc4cfa48bc13b766a42b8388c03ebd7aR13)) - updates color values in tests/snapshots >[!NOTE] Color value changes in tests/snapshots are expected due to a previously missed change in the default initial colors for eui palettes to ensure Borealis colors for static usages. This surfaces specifically in tests as they are not connected to component renders. ## Package updates ### `@elastic/eui` #### [`v106.0.0`](https://github.com/elastic/eui/releases/v106.0.0) - Added `colorModes` prop to `EuiSelectableTemplateSitewide` to support granular control over the applied `colorMode` for the search and popover components ([elastic#8806](elastic/eui#8806)) - Added high contrast mode specific color values for `colors.vis` and `colors.severity` tokens in light color mode ([elastic#8800](elastic/eui#8800)) - Added new `refresh` design for input styles on form picker components: ([elastic#8778](elastic/eui#8778)) - `EuiComboBox` - `EuiFilePicker` - `EuiDatePicker` - `EuiSuperDatePicker` - Updated the font size of `xs` size `EuiButtonEmpty` to `14px` ([elastic#8778](elastic/eui#8778)) - Added a new `backgroundStyle` prop to the `EuiFlyoutChild` component. ([elastic#8847](elastic/eui#8847)) - Updates to `EuiFlyoutSessionProvider` ([elastic#8846](elastic/eui#8846)) * Remove the onUnmount callbacks from various flyout configurations * Consolidate unmount behavior with a single onUnmount prop at the provider level. * Removed onCloseFlyout and onCloseChildFlyout from the flyout render context. * Fixed the canGoBack logic in packages/eui/src/components/flyout/sessions/use_eui_flyout.ts. - Added new `refresh` design for input styles and form layout components: ([elastic#8767](elastic/eui#8767)) - `EuiFieldText` - `EuiFieldNumber` - `EuiFieldPassword` - `EuiFieldSearch` - `EuiTextarea` - `EuiSelect` - `EuiSuperSelect` - `EuiFormControlLayout` - `EuiFormControlLayoutDelimited` - `EuiFormControlLayoutIcons` - `EuiFormLabel` - `EuiFormErrorText` - Added semantic tokens: ([elastic#8767](elastic/eui#8767)) - `colors.borderInteractiveFormsHoverPlain` - `colors.borderInteractiveFormsHoverDanger` - Added component tokens: ([elastic#8767](elastic/eui#8767)) - `components.forms.backgroundDropping` - `components.forms.borderFocused` - `components.forms.borderInvalid` - `components.forms.borderHovered` - `components.forms.borderInvalidHovered` - `components.forms.borderAutofilledHovered` - `components.forms.clearButtonBackground` - Updated values for tokens: ([elastic#8767](elastic/eui#8767)) - `colors.textWarning` - `colors.borderStrongPrimary` - `colors.borderStrongAccent` - `colors.borderStrongAccentSecondary` - `colors.borderStrongNeutral` - `colors.borderStrongSuccess` - `colors.borderStrongWarning` - `colors.borderStrongRisk` - `colors.borderStrongDanger` - `components.forms.backgroundReadOnly` **Bug fixes** - Fixed the screen reader output in `EuiProgress` when a node is passed in the `label` prop ([elastic#8856](elastic/eui#8856)) - Removed unnecessary `title` attributes for `label` and `valueText` in `EuiProgress` ([elastic#8856](elastic/eui#8856)) - Fixed wrong initialization options on `EUI_VIS_COLOR_STORE` which resulted in partially wrong initial color values for static `euiPalette{name}` functions (e.g. `euiPaletteForTemperature`) ([elastic#8844](elastic/eui#8844)) **Breaking changes** - Removed custom style overrides for `EuiSelectableTemplateSitewide` search inside `EuiHeader` - Use the `colorModes` prop on `EuiSelectableTemplateSitewide` instead to control the color mode output. ([elastic#8806](elastic/eui#8806)) ### `@elastic/eui-theme-borealis` #### [`v3.3.0`](https://github.com/elastic/eui/blob/main/packages/eui-theme-borealis/changelogs/CHANGELOG_2025.md?plain=1#L1) - Added high contrast mode specific color values for `colors.vis` and `colors.severity` tokens in light color mode ([elastic#8800](elastic/eui#8800)) - Added semantic tokens: ([elastic#8767](elastic/eui#8767)) - `colors.borderInteractiveFormsHoverPlain` - `colors.borderInteractiveFormsHoverDanger` - Added component tokens: ([elastic#8767](elastic/eui#8767)) - `components.forms.backgroundDropping` - `components.forms.borderFocused` - `components.forms.borderInvalid` - `components.forms.borderHovered` - `components.forms.borderInvalidHovered` - `components.forms.borderAutofilledHovered` - `components.forms.clearButtonBackground` - Updated values for tokens: ([elastic#8767](elastic/eui#8767)) - `colors.textWarning` - `colors.borderStrongPrimary` - `colors.borderStrongAccent` - `colors.borderStrongAccentSecondary` - `colors.borderStrongNeutral` - `colors.borderStrongSuccess` - `colors.borderStrongWarning` - `colors.borderStrongRisk` - `colors.borderStrongDanger` - `components.forms.backgroundReadOnly` ### `@elastic/eui-theme-common` ## [`v3.0.0`](https://github.com/elastic/eui/blob/main/packages/eui-theme-common/changelogs/CHANGELOG_2025.md?plain=1#L1) - Added semantic tokens: ([elastic#8767](elastic/eui#8767)) - `colors.borderInteractiveFormsHoverPlain` - `colors.borderInteractiveFormsHoverDanger` - Added component tokens: ([elastic#8767](elastic/eui#8767)) - `components.forms.backgroundDropping` - `components.forms.borderFocused` - `components.forms.borderInvalid` - `components.forms.borderHovered` - `components.forms.borderInvalidHovered` - `components.forms.borderAutofilledHovered` - `components.forms.clearButtonBackground` **Breaking changes** - Updated `_EuiThemeColors` type to include `_EuiThemeVisColors` and `_EuiThemeSeverityColors` as `StrictColorModeSwitch` instead of static colors. This requires `vis` and `severity` keys to be defined as part of `LIGHT` and `DARK` color mode objects. ([elastic#8800](elastic/eui#8800))
`105.0.0` ⏩ `106.0.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) ## Changes ### Visual Refresh: Input updates >[!IMPORTANT] This PR includes visual changes on input elements as part of the Visual Refresh project. These changes have been open for QA ahead of time on [this draft PR](elastic#224382). Almost all changes were done on EUI side. The changes to form elements were done in elastic/eui#8767 and elastic/eui#8778. Additionally this PR adds the following changes related to Visual Refresh input updates: - adds newly introduced prop `colorModes` on **EuiSelectableTemplateSitewide** (elastic/eui#8806) to ensure expected output - updates styles for `in_table_search_control.tsx` to ensure correct visual output ([conversation](elastic#224382 (comment))) - updates color values in tests/snapshots ### What changes visibly? 🔗 See a more detailed overview of changes [here](https://docs.google.com/document/d/1pxfev-NQhvbyMCkIGDNgEC4XewnkV_N32p8aEyhvRHo/edit?usp=sharing). The visually most noticeable change is the update of state indicators for focus and invalid. The indicator underline was changed to a full outline. | before | after | |---|---| |  |  | |  |  | 1. General form layout and input element updates - updated text and border colors - visible hover states - updated state indicators (e.g. focus and invalid) - updated disabled, readonly, drag etc states - slightly updated paddings - increased icon size in compressed forms - added border between form control layout append/prepend elements and main form element 2. **EuiSelectableTemplateSitewide** - added prop `colorModes` to handle color modes for search and popover elements separately ### Which EUI components are affected? - EuiFieldText - EuiFieldNumber - EuiFielPassword - EuiFieldSearch - EuiTextarea - EuiSelect - EuiSuperSelect - EuiFilePicker - EuiDatePicker - EuiSuperDatePicker - EuiComboBox - EuiFormLabel - EuiFormErrorText - EuiFormControlLayout - EuiFormControlLayoutDelimited - EuiFormControlLayoutIcons - EuiSelectableTemplateSitewide ## Screenshots <details> <summary>View comparison screenshots</summary> | LIGHT | DARK | |---|---| |  |  | |  |  | |  |  | |  |  | |  |  | </details> ## Additional changes - fixes missing border due to wrong token usage in `filter_button_group.tsx` ([change](https://github.com/elastic/kibana/compare/main...mgadewoll:eui/v106.0.0?expand=1#diff-05e15a78042cf7b418177c3ccde14623d1acad0b98a07e61780ac4d4a9caa60bR63)) - updates JSON token import paths ([change](https://github.com/elastic/kibana/compare/main...mgadewoll:eui/v106.0.0?expand=1#diff-a4c2ecff5ea550ffdce81da06e4ba26fdc4cfa48bc13b766a42b8388c03ebd7aR13)) - updates color values in tests/snapshots >[!NOTE] Color value changes in tests/snapshots are expected due to a previously missed change in the default initial colors for eui palettes to ensure Borealis colors for static usages. This surfaces specifically in tests as they are not connected to component renders. ## Package updates ### `@elastic/eui` #### [`v106.0.0`](https://github.com/elastic/eui/releases/v106.0.0) - Added `colorModes` prop to `EuiSelectableTemplateSitewide` to support granular control over the applied `colorMode` for the search and popover components ([elastic#8806](elastic/eui#8806)) - Added high contrast mode specific color values for `colors.vis` and `colors.severity` tokens in light color mode ([elastic#8800](elastic/eui#8800)) - Added new `refresh` design for input styles on form picker components: ([elastic#8778](elastic/eui#8778)) - `EuiComboBox` - `EuiFilePicker` - `EuiDatePicker` - `EuiSuperDatePicker` - Updated the font size of `xs` size `EuiButtonEmpty` to `14px` ([elastic#8778](elastic/eui#8778)) - Added a new `backgroundStyle` prop to the `EuiFlyoutChild` component. ([elastic#8847](elastic/eui#8847)) - Updates to `EuiFlyoutSessionProvider` ([elastic#8846](elastic/eui#8846)) * Remove the onUnmount callbacks from various flyout configurations * Consolidate unmount behavior with a single onUnmount prop at the provider level. * Removed onCloseFlyout and onCloseChildFlyout from the flyout render context. * Fixed the canGoBack logic in packages/eui/src/components/flyout/sessions/use_eui_flyout.ts. - Added new `refresh` design for input styles and form layout components: ([elastic#8767](elastic/eui#8767)) - `EuiFieldText` - `EuiFieldNumber` - `EuiFieldPassword` - `EuiFieldSearch` - `EuiTextarea` - `EuiSelect` - `EuiSuperSelect` - `EuiFormControlLayout` - `EuiFormControlLayoutDelimited` - `EuiFormControlLayoutIcons` - `EuiFormLabel` - `EuiFormErrorText` - Added semantic tokens: ([elastic#8767](elastic/eui#8767)) - `colors.borderInteractiveFormsHoverPlain` - `colors.borderInteractiveFormsHoverDanger` - Added component tokens: ([elastic#8767](elastic/eui#8767)) - `components.forms.backgroundDropping` - `components.forms.borderFocused` - `components.forms.borderInvalid` - `components.forms.borderHovered` - `components.forms.borderInvalidHovered` - `components.forms.borderAutofilledHovered` - `components.forms.clearButtonBackground` - Updated values for tokens: ([elastic#8767](elastic/eui#8767)) - `colors.textWarning` - `colors.borderStrongPrimary` - `colors.borderStrongAccent` - `colors.borderStrongAccentSecondary` - `colors.borderStrongNeutral` - `colors.borderStrongSuccess` - `colors.borderStrongWarning` - `colors.borderStrongRisk` - `colors.borderStrongDanger` - `components.forms.backgroundReadOnly` **Bug fixes** - Fixed the screen reader output in `EuiProgress` when a node is passed in the `label` prop ([elastic#8856](elastic/eui#8856)) - Removed unnecessary `title` attributes for `label` and `valueText` in `EuiProgress` ([elastic#8856](elastic/eui#8856)) - Fixed wrong initialization options on `EUI_VIS_COLOR_STORE` which resulted in partially wrong initial color values for static `euiPalette{name}` functions (e.g. `euiPaletteForTemperature`) ([elastic#8844](elastic/eui#8844)) **Breaking changes** - Removed custom style overrides for `EuiSelectableTemplateSitewide` search inside `EuiHeader` - Use the `colorModes` prop on `EuiSelectableTemplateSitewide` instead to control the color mode output. ([elastic#8806](elastic/eui#8806)) ### `@elastic/eui-theme-borealis` #### [`v3.3.0`](https://github.com/elastic/eui/blob/main/packages/eui-theme-borealis/changelogs/CHANGELOG_2025.md?plain=1#L1) - Added high contrast mode specific color values for `colors.vis` and `colors.severity` tokens in light color mode ([elastic#8800](elastic/eui#8800)) - Added semantic tokens: ([elastic#8767](elastic/eui#8767)) - `colors.borderInteractiveFormsHoverPlain` - `colors.borderInteractiveFormsHoverDanger` - Added component tokens: ([elastic#8767](elastic/eui#8767)) - `components.forms.backgroundDropping` - `components.forms.borderFocused` - `components.forms.borderInvalid` - `components.forms.borderHovered` - `components.forms.borderInvalidHovered` - `components.forms.borderAutofilledHovered` - `components.forms.clearButtonBackground` - Updated values for tokens: ([elastic#8767](elastic/eui#8767)) - `colors.textWarning` - `colors.borderStrongPrimary` - `colors.borderStrongAccent` - `colors.borderStrongAccentSecondary` - `colors.borderStrongNeutral` - `colors.borderStrongSuccess` - `colors.borderStrongWarning` - `colors.borderStrongRisk` - `colors.borderStrongDanger` - `components.forms.backgroundReadOnly` ### `@elastic/eui-theme-common` ## [`v3.0.0`](https://github.com/elastic/eui/blob/main/packages/eui-theme-common/changelogs/CHANGELOG_2025.md?plain=1#L1) - Added semantic tokens: ([elastic#8767](elastic/eui#8767)) - `colors.borderInteractiveFormsHoverPlain` - `colors.borderInteractiveFormsHoverDanger` - Added component tokens: ([elastic#8767](elastic/eui#8767)) - `components.forms.backgroundDropping` - `components.forms.borderFocused` - `components.forms.borderInvalid` - `components.forms.borderHovered` - `components.forms.borderInvalidHovered` - `components.forms.borderAutofilledHovered` - `components.forms.clearButtonBackground` **Breaking changes** - Updated `_EuiThemeColors` type to include `_EuiThemeVisColors` and `_EuiThemeSeverityColors` as `StrictColorModeSwitch` instead of static colors. This requires `vis` and `severity` keys to be defined as part of `LIGHT` and `DARK` color mode objects. ([elastic#8800](elastic/eui#8800))
`105.0.0` ⏩ `106.0.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) ## Changes ### Visual Refresh: Input updates >[!IMPORTANT] This PR includes visual changes on input elements as part of the Visual Refresh project. These changes have been open for QA ahead of time on [this draft PR](elastic#224382). Almost all changes were done on EUI side. The changes to form elements were done in elastic/eui#8767 and elastic/eui#8778. Additionally this PR adds the following changes related to Visual Refresh input updates: - adds newly introduced prop `colorModes` on **EuiSelectableTemplateSitewide** (elastic/eui#8806) to ensure expected output - updates styles for `in_table_search_control.tsx` to ensure correct visual output ([conversation](elastic#224382 (comment))) - updates color values in tests/snapshots ### What changes visibly? 🔗 See a more detailed overview of changes [here](https://docs.google.com/document/d/1pxfev-NQhvbyMCkIGDNgEC4XewnkV_N32p8aEyhvRHo/edit?usp=sharing). The visually most noticeable change is the update of state indicators for focus and invalid. The indicator underline was changed to a full outline. | before | after | |---|---| |  |  | |  |  | 1. General form layout and input element updates - updated text and border colors - visible hover states - updated state indicators (e.g. focus and invalid) - updated disabled, readonly, drag etc states - slightly updated paddings - increased icon size in compressed forms - added border between form control layout append/prepend elements and main form element 2. **EuiSelectableTemplateSitewide** - added prop `colorModes` to handle color modes for search and popover elements separately ### Which EUI components are affected? - EuiFieldText - EuiFieldNumber - EuiFielPassword - EuiFieldSearch - EuiTextarea - EuiSelect - EuiSuperSelect - EuiFilePicker - EuiDatePicker - EuiSuperDatePicker - EuiComboBox - EuiFormLabel - EuiFormErrorText - EuiFormControlLayout - EuiFormControlLayoutDelimited - EuiFormControlLayoutIcons - EuiSelectableTemplateSitewide ## Screenshots <details> <summary>View comparison screenshots</summary> | LIGHT | DARK | |---|---| |  |  | |  |  | |  |  | |  |  | |  |  | </details> ## Additional changes - fixes missing border due to wrong token usage in `filter_button_group.tsx` ([change](https://github.com/elastic/kibana/compare/main...mgadewoll:eui/v106.0.0?expand=1#diff-05e15a78042cf7b418177c3ccde14623d1acad0b98a07e61780ac4d4a9caa60bR63)) - updates JSON token import paths ([change](https://github.com/elastic/kibana/compare/main...mgadewoll:eui/v106.0.0?expand=1#diff-a4c2ecff5ea550ffdce81da06e4ba26fdc4cfa48bc13b766a42b8388c03ebd7aR13)) - updates color values in tests/snapshots >[!NOTE] Color value changes in tests/snapshots are expected due to a previously missed change in the default initial colors for eui palettes to ensure Borealis colors for static usages. This surfaces specifically in tests as they are not connected to component renders. ## Package updates ### `@elastic/eui` #### [`v106.0.0`](https://github.com/elastic/eui/releases/v106.0.0) - Added `colorModes` prop to `EuiSelectableTemplateSitewide` to support granular control over the applied `colorMode` for the search and popover components ([elastic#8806](elastic/eui#8806)) - Added high contrast mode specific color values for `colors.vis` and `colors.severity` tokens in light color mode ([elastic#8800](elastic/eui#8800)) - Added new `refresh` design for input styles on form picker components: ([elastic#8778](elastic/eui#8778)) - `EuiComboBox` - `EuiFilePicker` - `EuiDatePicker` - `EuiSuperDatePicker` - Updated the font size of `xs` size `EuiButtonEmpty` to `14px` ([elastic#8778](elastic/eui#8778)) - Added a new `backgroundStyle` prop to the `EuiFlyoutChild` component. ([elastic#8847](elastic/eui#8847)) - Updates to `EuiFlyoutSessionProvider` ([elastic#8846](elastic/eui#8846)) * Remove the onUnmount callbacks from various flyout configurations * Consolidate unmount behavior with a single onUnmount prop at the provider level. * Removed onCloseFlyout and onCloseChildFlyout from the flyout render context. * Fixed the canGoBack logic in packages/eui/src/components/flyout/sessions/use_eui_flyout.ts. - Added new `refresh` design for input styles and form layout components: ([elastic#8767](elastic/eui#8767)) - `EuiFieldText` - `EuiFieldNumber` - `EuiFieldPassword` - `EuiFieldSearch` - `EuiTextarea` - `EuiSelect` - `EuiSuperSelect` - `EuiFormControlLayout` - `EuiFormControlLayoutDelimited` - `EuiFormControlLayoutIcons` - `EuiFormLabel` - `EuiFormErrorText` - Added semantic tokens: ([elastic#8767](elastic/eui#8767)) - `colors.borderInteractiveFormsHoverPlain` - `colors.borderInteractiveFormsHoverDanger` - Added component tokens: ([elastic#8767](elastic/eui#8767)) - `components.forms.backgroundDropping` - `components.forms.borderFocused` - `components.forms.borderInvalid` - `components.forms.borderHovered` - `components.forms.borderInvalidHovered` - `components.forms.borderAutofilledHovered` - `components.forms.clearButtonBackground` - Updated values for tokens: ([elastic#8767](elastic/eui#8767)) - `colors.textWarning` - `colors.borderStrongPrimary` - `colors.borderStrongAccent` - `colors.borderStrongAccentSecondary` - `colors.borderStrongNeutral` - `colors.borderStrongSuccess` - `colors.borderStrongWarning` - `colors.borderStrongRisk` - `colors.borderStrongDanger` - `components.forms.backgroundReadOnly` **Bug fixes** - Fixed the screen reader output in `EuiProgress` when a node is passed in the `label` prop ([elastic#8856](elastic/eui#8856)) - Removed unnecessary `title` attributes for `label` and `valueText` in `EuiProgress` ([elastic#8856](elastic/eui#8856)) - Fixed wrong initialization options on `EUI_VIS_COLOR_STORE` which resulted in partially wrong initial color values for static `euiPalette{name}` functions (e.g. `euiPaletteForTemperature`) ([elastic#8844](elastic/eui#8844)) **Breaking changes** - Removed custom style overrides for `EuiSelectableTemplateSitewide` search inside `EuiHeader` - Use the `colorModes` prop on `EuiSelectableTemplateSitewide` instead to control the color mode output. ([elastic#8806](elastic/eui#8806)) ### `@elastic/eui-theme-borealis` #### [`v3.3.0`](https://github.com/elastic/eui/blob/main/packages/eui-theme-borealis/changelogs/CHANGELOG_2025.md?plain=1#L1) - Added high contrast mode specific color values for `colors.vis` and `colors.severity` tokens in light color mode ([elastic#8800](elastic/eui#8800)) - Added semantic tokens: ([elastic#8767](elastic/eui#8767)) - `colors.borderInteractiveFormsHoverPlain` - `colors.borderInteractiveFormsHoverDanger` - Added component tokens: ([elastic#8767](elastic/eui#8767)) - `components.forms.backgroundDropping` - `components.forms.borderFocused` - `components.forms.borderInvalid` - `components.forms.borderHovered` - `components.forms.borderInvalidHovered` - `components.forms.borderAutofilledHovered` - `components.forms.clearButtonBackground` - Updated values for tokens: ([elastic#8767](elastic/eui#8767)) - `colors.textWarning` - `colors.borderStrongPrimary` - `colors.borderStrongAccent` - `colors.borderStrongAccentSecondary` - `colors.borderStrongNeutral` - `colors.borderStrongSuccess` - `colors.borderStrongWarning` - `colors.borderStrongRisk` - `colors.borderStrongDanger` - `components.forms.backgroundReadOnly` ### `@elastic/eui-theme-common` ## [`v3.0.0`](https://github.com/elastic/eui/blob/main/packages/eui-theme-common/changelogs/CHANGELOG_2025.md?plain=1#L1) - Added semantic tokens: ([elastic#8767](elastic/eui#8767)) - `colors.borderInteractiveFormsHoverPlain` - `colors.borderInteractiveFormsHoverDanger` - Added component tokens: ([elastic#8767](elastic/eui#8767)) - `components.forms.backgroundDropping` - `components.forms.borderFocused` - `components.forms.borderInvalid` - `components.forms.borderHovered` - `components.forms.borderInvalidHovered` - `components.forms.borderAutofilledHovered` - `components.forms.clearButtonBackground` **Breaking changes** - Updated `_EuiThemeColors` type to include `_EuiThemeVisColors` and `_EuiThemeSeverityColors` as `StrictColorModeSwitch` instead of static colors. This requires `vis` and `severity` keys to be defined as part of `LIGHT` and `DARK` color mode objects. ([elastic#8800](elastic/eui#8800))
Summary
Important
This PR merges into a feature branch.
This PR should be rebased after the second update PR is merged.
Relates to https://github.com/elastic/eui-private/issues/324
Closes #8802
Changes
themeprop onEuiSelectableTemplateSitewidethemesupports the providercolorModevalueslight,dark,inverseas well as more genericdefaultandglobal(defaultwill apply the nearest context'scolorModewhileglobalapply the outermost (global) context'scolorMode)EuiHeaderforEuiSelectableTemplateSitewidesearchWhy are we making this change?
Note
TL;DR: Aligning
EuiSelectableTemplateSitewidestyles with new Visual Refresh specs.The Visual Refresh updates for inputs triggered also a change for how the
EuiSelectableTemplateSitewidesearch input should be displayed insideEuiHeader. Previously the input would be displayed as faux-dark theme when non-focused, but displayed as light theme when focused.ℹ️
EuiHeadercurrently implements a visual-only dark mode (docs) when it has istheme="dark". It does not use aEuiThemeProviderto apply color context. Meaning it'stheme="dark"looks like dark mode but is actually still light mode.With the Visual Refresh this changes towards using the expected visual
colorModebased on context: TheEuiHeaderis (visually only) in dark mode therefore the search input should be in dark mode too for any state, using the form element specific scoped styles instead of usage specific overrides inEuiHeader. The search popover however should follow the overall global colorMode (as it did previously).ℹ️ Eventually this should mean that
EuiHeaderuses a context provider to apply proper color modes, but this requires more investigation as it has bigger implications to consider based on Kibana usage (issue)Screenshots #
Toggle screenshots
LIGHT mode
DARK mode
Impact to users
EuiSelectableTemplateSitewideinsideEuiHeader. The expected new usage is to use thecolorModesprop to adjustEuiSelectableTemplateSitewideas needed depending on use case.QA
EuiSelectableTemplateSitewide:themeverify that all possible values ('light', 'dark', 'inverse', 'default', 'global') can be applied and result in expected outputEuiSelectableTemplateSitewideuses default input styles (design specs)EuiHeaderstory "Dark Theme with Sitewide Search":General checklist
Checked for accessibility including keyboard-only and screenreader modes@defaultif default values are missing) and playground togglesChecked Code Sandbox works for any docs examplesAdded or updated jest and cypress testsIf applicable, added the breaking change issue label (and filled out the breaking change 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)