From 7c48f55bff06a01552f0873c5d7cba655e7617ef Mon Sep 17 00:00:00 2001 From: Tomasz Kajtoch Date: Mon, 13 Oct 2025 19:14:53 +0200 Subject: [PATCH 1/9] chore: update @elastic/eui to 107.0.0 --- package.json | 4 ++-- src/dev/license_checker/config.ts | 4 ++-- yarn.lock | 26 +++++++++++++------------- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/package.json b/package.json index 1dc43ecd95ca6..37b2ffe9b397d 100644 --- a/package.json +++ b/package.json @@ -125,8 +125,8 @@ "@elastic/ecs": "^9.0.0", "@elastic/elasticsearch": "9.1.1", "@elastic/ems-client": "8.6.3", - "@elastic/eui": "106.7.0", - "@elastic/eui-theme-borealis": "3.5.0", + "@elastic/eui": "107.0.0", + "@elastic/eui-theme-borealis": "3.6.0", "@elastic/filesaver": "1.1.2", "@elastic/kibana-d3-color": "npm:@elastic/kibana-d3-color@2.0.1", "@elastic/monaco-esql": "^3.1.8", diff --git a/src/dev/license_checker/config.ts b/src/dev/license_checker/config.ts index 3334499a290bf..4e3d19c973749 100644 --- a/src/dev/license_checker/config.ts +++ b/src/dev/license_checker/config.ts @@ -89,8 +89,8 @@ export const LICENSE_OVERRIDES = { 'jsts@1.6.2': ['Eclipse Distribution License - v 1.0'], // cf. https://github.com/bjornharrtell/jsts '@mapbox/jsonlint-lines-primitives@2.0.2': ['MIT'], // license in readme https://github.com/tmcw/jsonlint '@elastic/ems-client@8.6.3': ['Elastic License 2.0'], - '@elastic/eui@106.7.0': ['Elastic License 2.0 OR AGPL-3.0-only OR SSPL-1.0'], - '@elastic/eui-theme-borealis@3.5.0': ['Elastic License 2.0 OR AGPL-3.0-only OR SSPL-1.0'], + '@elastic/eui@107.0.0': ['Elastic License 2.0 OR AGPL-3.0-only OR SSPL-1.0'], + '@elastic/eui-theme-borealis@3.6.0': ['Elastic License 2.0 OR AGPL-3.0-only OR SSPL-1.0'], 'language-subtag-registry@0.3.21': ['CC-BY-4.0'], // retired ODC‑By license https://github.com/mattcg/language-subtag-registry 'buffers@0.1.1': ['MIT'], // license in importing module https://www.npmjs.com/package/binary '@bufbuild/protobuf@2.5.2': ['Apache-2.0'], // license (Apache-2.0 AND BSD-3-Clause) diff --git a/yarn.lock b/yarn.lock index 6d1cd81e6f95c..b408ffe6e430a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2271,26 +2271,26 @@ resolved "https://registry.yarnpkg.com/@elastic/eslint-plugin-eui/-/eslint-plugin-eui-2.4.0.tgz#b793170bec1dbf7c15f7a7e7c5a64f4a8e622f23" integrity sha512-M+eV/dBtTlr8bazzkyyZKOU1N4dL483GtNNFYA1mrMpxVqroassB9rawmBHav0IATUhNVGzTevbv1nG9U4Zm5w== -"@elastic/eui-theme-borealis@3.5.0": - version "3.5.0" - resolved "https://registry.yarnpkg.com/@elastic/eui-theme-borealis/-/eui-theme-borealis-3.5.0.tgz#0db7abc4f4307dafa8068e402713184de0410f14" - integrity sha512-uxh7vV2K+4c4ema9NBHSkiWyLXleYmIgD5ANGkrxBN+p7nOFsvgWTrS0aH5/RonkxpBSk3/F51bllmMsJgeWhA== +"@elastic/eui-theme-borealis@3.6.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@elastic/eui-theme-borealis/-/eui-theme-borealis-3.6.0.tgz#95a8106981112eff010d691590ca758ab2950462" + integrity sha512-mQMtVfBB50Cnq0myytWTec4vwxxg1sgSoTpMK/i4lsr+xcfUbkjGQRIpPWfJaiWGnrUYhJeL1GyG8dHxEPeyYg== -"@elastic/eui-theme-common@4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@elastic/eui-theme-common/-/eui-theme-common-4.0.0.tgz#d3f10cc42f754923ae23cee9a1b62d4345157843" - integrity sha512-0X9KFVpQnyk4KsWD5W8fzzZbCud25XJ6z2J03qka0mwh4qGy/XWIiGflBC1BH1BZYu71olnaMKaSJQliY3LZlQ== +"@elastic/eui-theme-common@5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@elastic/eui-theme-common/-/eui-theme-common-5.0.0.tgz#896da358c1fd0ce16681c7bca1793840a2bb8f33" + integrity sha512-NcTKneakMdf2dIsQ9ZOqcRMsttCDQGos/RK51C9V+9QTA8roMDoDVg1zqGZY8ELOttzov1JUuPkfmN6Ga1jlkA== dependencies: "@types/lodash" "^4.14.202" chroma-js "^2.4.2" lodash "^4.17.21" -"@elastic/eui@106.7.0": - version "106.7.0" - resolved "https://registry.yarnpkg.com/@elastic/eui/-/eui-106.7.0.tgz#206934882e5c475248674ce9a08f45fe4ca52899" - integrity sha512-KAa8CptnPyffunhgIit9wBQ2w3EKNlBhLuKzHyDv6WSdxph0rIShA+sKLXz0uV6gO67aOr+28hVehjTA3IrFbA== +"@elastic/eui@107.0.0": + version "107.0.0" + resolved "https://registry.yarnpkg.com/@elastic/eui/-/eui-107.0.0.tgz#31a9d6ebe90495224fd136b9ae89318271b014cd" + integrity sha512-rFcO5Tdb46HHgNf6L3UH1lR+wZrm4a4qTuGbDM/Pru6Mc9/3vhoxGzpA8VlHIad3BaokVHRL+UqySiPl36WL+A== dependencies: - "@elastic/eui-theme-common" "4.0.0" + "@elastic/eui-theme-common" "5.0.0" "@elastic/prismjs-esql" "^1.1.0" "@hello-pangea/dnd" "^16.6.0" "@types/lodash" "^4.14.202" From b364781ade50a2250ff55c5628928fbdfab9fe70 Mon Sep 17 00:00:00 2001 From: Lene Gadewoll Date: Mon, 4 Aug 2025 16:54:07 +0200 Subject: [PATCH 2/9] refactor: shadow floating border adjustments --- .../src/components/field_item_button/field_item_button.tsx | 2 +- .../chrome/navigation/src/ui/components/panel/styles.ts | 4 ++++ .../public/timelines/components/bottom_bar/index.tsx | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/platform/packages/shared/kbn-unified-field-list/src/components/field_item_button/field_item_button.tsx b/src/platform/packages/shared/kbn-unified-field-list/src/components/field_item_button/field_item_button.tsx index b9711f9e1cd9a..9687549d8ea0a 100644 --- a/src/platform/packages/shared/kbn-unified-field-list/src/components/field_item_button/field_item_button.tsx +++ b/src/platform/packages/shared/kbn-unified-field-list/src/components/field_item_button/field_item_button.tsx @@ -304,7 +304,7 @@ const componentStyles = { }), fieldItemButton: (themeContext: UseEuiTheme) => { const { euiTheme } = themeContext; - const boxShadow = euiShadowXSmall(themeContext); + const boxShadow = euiShadowXSmall(themeContext, { border: 'none' }); return css({ width: '100%', diff --git a/src/platform/packages/shared/shared-ux/chrome/navigation/src/ui/components/panel/styles.ts b/src/platform/packages/shared/shared-ux/chrome/navigation/src/ui/components/panel/styles.ts index 8dc1020af4124..62fd117cbc6f7 100644 --- a/src/platform/packages/shared/shared-ux/chrome/navigation/src/ui/components/panel/styles.ts +++ b/src/platform/packages/shared/shared-ux/chrome/navigation/src/ui/components/panel/styles.ts @@ -29,4 +29,8 @@ export const navPanelStyles = ({ euiTheme }: Theme) => css` background-color: ${euiTheme.colors.backgroundBaseSubdued}; height: 100%; width: ${PANEL_WIDTH}; + /* unset default panel floating border */ + border: none; + /* add custom floating border */ + border-inline-end: 1px solid ${euiTheme.colors.borderBaseFloating}; `; diff --git a/x-pack/solutions/security/plugins/security_solution/public/timelines/components/bottom_bar/index.tsx b/x-pack/solutions/security/plugins/security_solution/public/timelines/components/bottom_bar/index.tsx index 9e8453fe08047..efc9910b8d745 100644 --- a/x-pack/solutions/security/plugins/security_solution/public/timelines/components/bottom_bar/index.tsx +++ b/x-pack/solutions/security/plugins/security_solution/public/timelines/components/bottom_bar/index.tsx @@ -45,7 +45,7 @@ export const TimelineBottomBar = React.memo( const title = useSelector((state: State) => selectTitleByTimelineById(state, timelineId)); return ( - + From 9042017127bd2a2c3824069102520fa4fd941345 Mon Sep 17 00:00:00 2001 From: Lene Gadewoll Date: Wed, 13 Aug 2025 18:51:05 +0200 Subject: [PATCH 3/9] refactor: align map button styles --- .../plugins/shared/maps/public/_mapbox_hacks.scss | 14 ++++++++++++-- .../toolbar_overlay/_toolbar_overlay.scss | 12 ++++++++++++ .../timeslider_toggle_button.tsx | 1 + 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/x-pack/platform/plugins/shared/maps/public/_mapbox_hacks.scss b/x-pack/platform/plugins/shared/maps/public/_mapbox_hacks.scss index b6afb79c9f47f..685ba807f99a9 100644 --- a/x-pack/platform/plugins/shared/maps/public/_mapbox_hacks.scss +++ b/x-pack/platform/plugins/shared/maps/public/_mapbox_hacks.scss @@ -11,7 +11,7 @@ .maplibregl-ctrl-group:not(:empty) { @include euiBottomShadowLarge; @include mapToolbarButtonGroupBorderRadius; - background-color: $euiColorEmptyShade; + background-color: $euiColorBackgroundBasePlain; transition: transform $euiAnimSpeedNormal ease-in-out; &:hover { @@ -20,9 +20,19 @@ > button { @include size($euiSizeXL); + margin: $euiColorBorderBaseFloating; + border: $euiBorderWidthThin solid $euiColorBorderBaseFloating; + border-radius: inherit; + + &:not(:last-child) { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + } + button { - border: none; + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; } } } diff --git a/x-pack/platform/plugins/shared/maps/public/connected_components/toolbar_overlay/_toolbar_overlay.scss b/x-pack/platform/plugins/shared/maps/public/connected_components/toolbar_overlay/_toolbar_overlay.scss index 8add6ab919b2d..e139bd23e48c2 100644 --- a/x-pack/platform/plugins/shared/maps/public/connected_components/toolbar_overlay/_toolbar_overlay.scss +++ b/x-pack/platform/plugins/shared/maps/public/connected_components/toolbar_overlay/_toolbar_overlay.scss @@ -7,6 +7,7 @@ .mapToolbarOverlay__button, .mapToolbarOverlay__buttonGroup { + @include euiBottomShadowLarge; position: relative; transition: transform $euiAnimSpeedNormal ease-in-out, background $euiAnimSpeedNormal ease-in-out; @@ -31,6 +32,17 @@ } } +.mapToolbarOverlay__button { + @include size($euiSizeXL); + overflow: hidden; + + .euiButtonIcon { + width: 100%; + height: 100%; + border-radius: 0; + } +} + .mapToolbarOverlay__buttonGroup { @include mapToolbarButtonGroupBorderRadius; display: flex; diff --git a/x-pack/platform/plugins/shared/maps/public/connected_components/toolbar_overlay/timeslider_toggle_button/timeslider_toggle_button.tsx b/x-pack/platform/plugins/shared/maps/public/connected_components/toolbar_overlay/timeslider_toggle_button/timeslider_toggle_button.tsx index f3cb7f63fe112..323775345c52f 100644 --- a/x-pack/platform/plugins/shared/maps/public/connected_components/toolbar_overlay/timeslider_toggle_button/timeslider_toggle_button.tsx +++ b/x-pack/platform/plugins/shared/maps/public/connected_components/toolbar_overlay/timeslider_toggle_button/timeslider_toggle_button.tsx @@ -45,6 +45,7 @@ export function TimesliderToggleButton(props: Props) { iconType="timeslider" aria-label={label} title={label} + color="text" isSelected={props.isTimesliderOpen} display={props.isTimesliderOpen ? 'fill' : 'empty'} /> From 5346c6e76b05d8e6fbb27f7807c0c7b5b9435f3c Mon Sep 17 00:00:00 2001 From: Lene Gadewoll Date: Mon, 13 Oct 2025 10:41:29 +0200 Subject: [PATCH 4/9] refactor: fix eql help scrollable popover styles --- .../public/query_string_input/esql_menu_popover.tsx | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/platform/plugins/shared/unified_search/public/query_string_input/esql_menu_popover.tsx b/src/platform/plugins/shared/unified_search/public/query_string_input/esql_menu_popover.tsx index d34dacd5676a5..5da385dbeecb4 100644 --- a/src/platform/plugins/shared/unified_search/public/query_string_input/esql_menu_popover.tsx +++ b/src/platform/plugins/shared/unified_search/public/query_string_input/esql_menu_popover.tsx @@ -14,6 +14,7 @@ import { EuiContextMenuItem, EuiContextMenu, useEuiScrollBar, + useEuiTheme, } from '@elastic/eui'; import { isEqual } from 'lodash'; import { css } from '@emotion/react'; @@ -45,6 +46,8 @@ export const ESQLMenuPopover: React.FC = ({ const kibana = useKibana(); const { docLinks, http, chrome } = kibana.services; + const { euiTheme } = useEuiTheme(); + const activeSolutionId = useObservable(chrome.getActiveSolutionNavId$()); const [isESQLMenuPopoverOpen, setIsESQLMenuPopoverOpen] = useState(false); const [isLanguageComponentOpen, setIsLanguageComponentOpen] = useState(false); @@ -255,6 +258,7 @@ export const ESQLMenuPopover: React.FC = ({ const esqlMenuPopoverStyles = css` width: 240px; + padding: ${euiTheme.size.s}; max-height: 350px; overflow-y: auto; ${useEuiScrollBar()}; @@ -277,14 +281,15 @@ export const ESQLMenuPopover: React.FC = ({ } panelProps={{ ['data-test-subj']: 'esql-menu-popover', - css: esqlMenuPopoverStyles, }} isOpen={isESQLMenuPopoverOpen} closePopover={() => setIsESQLMenuPopoverOpen(false)} - panelPaddingSize="s" + panelPaddingSize="none" display="block" > - +
+ +
Date: Mon, 13 Oct 2025 10:41:42 +0200 Subject: [PATCH 5/9] refactor: fix unified search suggestion scrollable popover styles --- .../public/typeahead/suggestions_component.tsx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/platform/plugins/shared/unified_search/public/typeahead/suggestions_component.tsx b/src/platform/plugins/shared/unified_search/public/typeahead/suggestions_component.tsx index f892c1449b8ba..46f52654107f3 100644 --- a/src/platform/plugins/shared/unified_search/public/typeahead/suggestions_component.tsx +++ b/src/platform/plugins/shared/unified_search/public/typeahead/suggestions_component.tsx @@ -199,12 +199,14 @@ const ResizableSuggestionsListDiv: React.FC<{ })} >
- {props.children(containerRect)} +
+ {props.children(containerRect)} +
@@ -303,10 +305,15 @@ const suggestionsStyles: EmotionStyles = { position: 'relative', zIndex: context.euiTheme.levels.menu, width: '100%', - overflowY: 'auto', + overflow: 'hidden', + + '.kbnTypeahead__popover-content': { + maxHeight: 'inherit', + overflowY: 'auto', + }, '&.kbnTypeahead__popover--top': css([ - euiShadowFlat(context), + euiShadowFlat(context, { border: 'none' }), { borderTopLeftRadius: context.euiTheme.border.radius.medium, borderTopRightRadius: context.euiTheme.border.radius.medium, @@ -315,7 +322,7 @@ const suggestionsStyles: EmotionStyles = { }, ]), '&.kbnTypeahead__popover--bottom': css([ - euiShadow(context), + euiShadow(context, 'l', { border: 'none' }), { borderBottomLeftRadius: context.euiTheme.border.radius.medium, borderBottomRightRadius: context.euiTheme.border.radius.medium, From 4dc259ae5be262bfc2389d5df9d0582e61667cff Mon Sep 17 00:00:00 2001 From: Lene Gadewoll Date: Mon, 13 Oct 2025 10:42:25 +0200 Subject: [PATCH 6/9] refactor: update EUI shadow util usages to remove floating border if a regular border is already present --- .../color_mapping/components/color_picker/color_swatch.tsx | 2 +- .../public/vislib/components/tooltip/tooltip.styles.ts | 2 +- .../expression_xy/public/components/tooltip/tooltip.tsx | 2 +- .../shared/lens/public/shared_components/flyout.styles.ts | 2 +- .../overview/overview/metric_item/metric_error_icon.tsx | 5 +++-- 5 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/platform/packages/shared/kbn-coloring/src/shared_components/color_mapping/components/color_picker/color_swatch.tsx b/src/platform/packages/shared/kbn-coloring/src/shared_components/color_mapping/components/color_picker/color_swatch.tsx index 1252f362ec981..38f4eacf9d333 100644 --- a/src/platform/packages/shared/kbn-coloring/src/shared_components/color_mapping/components/color_picker/color_swatch.tsx +++ b/src/platform/packages/shared/kbn-coloring/src/shared_components/color_mapping/components/color_picker/color_swatch.tsx @@ -102,7 +102,7 @@ export const ColorSwatch = ({ border-radius: 50%; top: 8px; border: 3px solid ${euiTheme.euiTheme.colors.emptyShade}; - ${euiShadowSmall(euiTheme)}; + ${euiShadowSmall(euiTheme, { border: 'none' })}; backgroundcolor: ${colorHex}; cursor: pointer; `} diff --git a/src/platform/plugins/private/vis_types/vislib/public/vislib/components/tooltip/tooltip.styles.ts b/src/platform/plugins/private/vis_types/vislib/public/vislib/components/tooltip/tooltip.styles.ts index ad7c48dadaeb7..c5cfc79e74367 100644 --- a/src/platform/plugins/private/vis_types/vislib/public/vislib/components/tooltip/tooltip.styles.ts +++ b/src/platform/plugins/private/vis_types/vislib/public/vislib/components/tooltip/tooltip.styles.ts @@ -14,7 +14,7 @@ export const vislibTooltipStyles = (euiThemeContext: UseEuiTheme) => { return css` .visTooltip, .visTooltip__sizingClone { - ${euiShadow(euiThemeContext, 'l')}; + ${euiShadow(euiThemeContext, 'l', { border: 'none' })}; border-radius: ${euiTheme.border.radius.medium}; background-color: ${euiTheme.colors.backgroundBasePlain}; border: ${euiThemeContext.euiTheme.border.width.thin} solid diff --git a/src/platform/plugins/shared/chart_expressions/expression_xy/public/components/tooltip/tooltip.tsx b/src/platform/plugins/shared/chart_expressions/expression_xy/public/components/tooltip/tooltip.tsx index d0652c965000f..b52dde1f27813 100644 --- a/src/platform/plugins/shared/chart_expressions/expression_xy/public/components/tooltip/tooltip.tsx +++ b/src/platform/plugins/shared/chart_expressions/expression_xy/public/components/tooltip/tooltip.tsx @@ -163,7 +163,7 @@ const styles = { ${euiFontSize(euiThemeContext, 's')} color: ${euiThemeContext.euiTheme.colors.textParagraph}; - ${euiShadow(euiThemeContext)} + ${euiShadow(euiThemeContext, 'l', { border: 'none' })} background-color: ${euiThemeContext.euiTheme.colors.backgroundBasePlain}; table { diff --git a/x-pack/platform/plugins/shared/lens/public/shared_components/flyout.styles.ts b/x-pack/platform/plugins/shared/lens/public/shared_components/flyout.styles.ts index 26b13dd2e79d0..1c10e15d5d761 100644 --- a/x-pack/platform/plugins/shared/lens/public/shared_components/flyout.styles.ts +++ b/x-pack/platform/plugins/shared/lens/public/shared_components/flyout.styles.ts @@ -22,7 +22,7 @@ const flyoutOpenCloseAnimation = keyframes` export const flyoutContainerStyles = (euiThemeContext: UseEuiTheme) => css` border-left: ${euiThemeContext.euiTheme.border.thin}; - ${euiShadow(euiThemeContext, 'xl')}; + ${euiShadow(euiThemeContext, 'xl', { border: 'none' })}; position: fixed; top: 0; bottom: 0; diff --git a/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item/metric_error_icon.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item/metric_error_icon.tsx index 10cea56014292..17b24466ed3b4 100644 --- a/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item/metric_error_icon.tsx +++ b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item/metric_error_icon.tsx @@ -22,7 +22,7 @@ export const MetricErrorIcon = ({ configIdByLocation }: { configIdByLocation: st dispatch(toggleErrorPopoverOpen(configIdByLocation)); }; const timer = useRef(null); - const euiShadow = useEuiShadow('s'); + const euiShadow = useEuiShadow('s', { border: 'none' }); const theme = useEuiTheme().euiTheme; const { darkMode } = useSyntheticsSettingsContext(); @@ -38,7 +38,8 @@ export const MetricErrorIcon = ({ configIdByLocation }: { configIdByLocation: st width: 32px; height: 32px; background: ${darkMode ? theme.colors.backgroundBaseSubdued : theme.colors.lightestShade}; - border: 1px solid ${darkMode ? theme.colors.darkShade : theme.colors.lightShade}; + border: ${theme.border.width.thin} solid + ${darkMode ? theme.colors.darkShade : theme.colors.lightShade}; box-shadow: ${euiShadow}; border-radius: 16px; flex: none; From c67bef7d269a8737a4ca2ef5dc1d93a2b278434c Mon Sep 17 00:00:00 2001 From: Lene Gadewoll Date: Mon, 13 Oct 2025 10:42:47 +0200 Subject: [PATCH 7/9] test: update snapshots --- .../__snapshots__/login_form.test.tsx.snap | 81 +++++++++++++++++++ .../overwritten_session_page.test.tsx.snap | 2 +- .../collapsible_panel.test.tsx.snap | 81 +++++++++++++++++++ .../simple_privilege_section.test.tsx.snap | 81 +++++++++++++++++++ .../__snapshots__/prompt_page.test.tsx.snap | 4 +- .../unauthenticated_page.test.tsx.snap | 4 +- .../reset_session_page.test.tsx.snap | 4 +- 7 files changed, 250 insertions(+), 7 deletions(-) diff --git a/x-pack/platform/plugins/shared/security/public/authentication/login/components/login_form/__snapshots__/login_form.test.tsx.snap b/x-pack/platform/plugins/shared/security/public/authentication/login/components/login_form/__snapshots__/login_form.test.tsx.snap index 3cfcb2594b7e2..088eaef23d4a3 100644 --- a/x-pack/platform/plugins/shared/security/public/authentication/login/components/login_form/__snapshots__/login_form.test.tsx.snap +++ b/x-pack/platform/plugins/shared/security/public/authentication/login/components/login_form/__snapshots__/login_form.test.tsx.snap @@ -2242,6 +2242,7 @@ exports[`LoginForm renders as expected 1`] = ` "formVariant": "refresh", "hasGlobalFocusColor": true, "hasVisColorAdjustment": false, + "shadowVariant": "refresh", }, "focus": Object { "backgroundColor": Computed { @@ -2387,6 +2388,86 @@ exports[`LoginForm renders as expected 1`] = ` }, }, }, + "shadows": Object { + "DARK": Object { + "colors": Object { + "base": "#000000", + }, + "flat": Object { + "down": "0px 1px 4px 0px hsla(0,0%,0%,0.4), 0px 2px 8px 0px hsla(0,0%,0%,0.24)", + "up": "0px 1px 4px 0px hsla(0,0%,0%,0.4), 0px -2px 8px 0px hsla(0,0%,0%,0.24)", + }, + "hover": Object { + "base": Object { + "down": "0px 2px 7px 0px hsla(0,0%,0%,0.46), 0px 4px 11px 0px hsla(0,0%,0%,0.26)", + "up": "0px 2px 7px 0px hsla(0,0%,0%,0.46), 0px -4px 11px 0px hsla(0,0%,0%,0.26)", + }, + "xl": Object { + "down": "0px 6px 19px 0px hsla(0,0%,0%,0.7), 0px 12px 23px 0px hsla(0,0%,0%,0.34)", + "up": "0px 6px 19px 0px hsla(0,0%,0%,0.7), 0px -12px 23px 0px hsla(0,0%,0%,0.34)", + }, + }, + "l": Object { + "down": "0px 4px 13px 0px hsla(0,0%,0%,0.58), 0px 8px 17px 0px hsla(0,0%,0%,0.3)", + "up": "0px 4px 13px 0px hsla(0,0%,0%,0.58), 0px -8px 17px 0px hsla(0,0%,0%,0.3)", + }, + "m": Object { + "down": "0px 3px 10px 0px hsla(0,0%,0%,0.52), 0px 6px 14px 0px hsla(0,0%,0%,0.28)", + "up": "0px 3px 10px 0px hsla(0,0%,0%,0.52), 0px -6px 14px 0px hsla(0,0%,0%,0.28)", + }, + "s": Object { + "down": "0px 2px 7px 0px hsla(0,0%,0%,0.46), 0px 4px 11px 0px hsla(0,0%,0%,0.26)", + "up": "0px 2px 7px 0px hsla(0,0%,0%,0.46), 0px -4px 11px 0px hsla(0,0%,0%,0.26)", + }, + "xl": Object { + "down": "0px 5px 16px 0px hsla(0,0%,0%,0.64), 0px 10px 20px 0px hsla(0,0%,0%,0.32)", + "up": "0px 5px 16px 0px hsla(0,0%,0%,0.64), 0px -10px 20px 0px hsla(0,0%,0%,0.32)", + }, + "xs": Object { + "down": "0px 1px 4px 0px hsla(0,0%,0%,0.4), 0px 2px 8px 0px hsla(0,0%,0%,0.24)", + "up": "0px 1px 4px 0px hsla(0,0%,0%,0.4), 0px -2px 8px 0px hsla(0,0%,0%,0.24)", + }, + }, + "LIGHT": Object { + "colors": Object { + "base": "#2B394F", + }, + "flat": Object { + "down": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px 1px 4px 0px hsla(216.67,29.51%,23.92%,0.06), 0px 2px 8px 0px hsla(216.67,29.51%,23.92%,0.04)", + "up": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px -1px 4px 0px hsla(216.67,29.51%,23.92%,0.06), 0px -2px 8px 0px hsla(216.67,29.51%,23.92%,0.04)", + }, + "hover": Object { + "base": Object { + "down": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px 2px 7px 0px hsla(216.67,29.51%,23.92%,0.08), 0px 4px 11px 0px hsla(216.67,29.51%,23.92%,0.05)", + "up": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px -2px 7px 0px hsla(216.67,29.51%,23.92%,0.08), 0px -4px 11px 0px hsla(216.67,29.51%,23.92%,0.05)", + }, + "xl": Object { + "down": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px 6px 19px 0px hsla(216.67,29.51%,23.92%,0.16), 0px 12px 23px 0px hsla(216.67,29.51%,23.92%,0.09)", + "up": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px -6px 19px 0px hsla(216.67,29.51%,23.92%,0.16), 0px -12px 23px 0px hsla(216.67,29.51%,23.92%,0.09)", + }, + }, + "l": Object { + "down": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px 4px 13px 0px hsla(216.67,29.51%,23.92%,0.12), 0px 8px 17px 0px hsla(216.67,29.51%,23.92%,0.07)", + "up": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px -4px 13px 0px hsla(216.67,29.51%,23.92%,0.12), 0px -8px 17px 0px hsla(216.67,29.51%,23.92%,0.07)", + }, + "m": Object { + "down": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px 3px 10px 0px hsla(216.67,29.51%,23.92%,0.1), 0px 6px 14px 0px hsla(216.67,29.51%,23.92%,0.06)", + "up": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px -3px 10px 0px hsla(216.67,29.51%,23.92%,0.1), 0px -6px 14px 0px hsla(216.67,29.51%,23.92%,0.06)", + }, + "s": Object { + "down": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px 2px 7px 0px hsla(216.67,29.51%,23.92%,0.08), 0px 4px 11px 0px hsla(216.67,29.51%,23.92%,0.05)", + "up": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px -2px 7px 0px hsla(216.67,29.51%,23.92%,0.08), 0px -4px 11px 0px hsla(216.67,29.51%,23.92%,0.05)", + }, + "xl": Object { + "down": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px 5px 16px 0px hsla(216.67,29.51%,23.92%,0.14), 0px 10px 20px 0px hsla(216.67,29.51%,23.92%,0.08)", + "up": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px -5px 16px 0px hsla(216.67,29.51%,23.92%,0.14), 0px -10px 20px 0px hsla(216.67,29.51%,23.92%,0.08)", + }, + "xs": Object { + "down": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px 1px 4px 0px hsla(216.67,29.51%,23.92%,0.06), 0px 2px 8px 0px hsla(216.67,29.51%,23.92%,0.04)", + "up": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px -1px 4px 0px hsla(216.67,29.51%,23.92%,0.06), 0px -2px 8px 0px hsla(216.67,29.51%,23.92%,0.04)", + }, + }, + }, "size": Object { "base": Computed { "computer": [Function], diff --git a/x-pack/platform/plugins/shared/security/public/authentication/overwritten_session/__snapshots__/overwritten_session_page.test.tsx.snap b/x-pack/platform/plugins/shared/security/public/authentication/overwritten_session/__snapshots__/overwritten_session_page.test.tsx.snap index 894919621f3a4..086f00d5162d8 100644 --- a/x-pack/platform/plugins/shared/security/public/authentication/overwritten_session/__snapshots__/overwritten_session_page.test.tsx.snap +++ b/x-pack/platform/plugins/shared/security/public/authentication/overwritten_session/__snapshots__/overwritten_session_page.test.tsx.snap @@ -17,7 +17,7 @@ exports[`OverwrittenSessionPage renders as expected 1`] = ` class="euiSpacer euiSpacer--xxl emotion-euiSpacer-xxl" /> renders without crashing 1`] = ` "formVariant": "refresh", "hasGlobalFocusColor": true, "hasVisColorAdjustment": false, + "shadowVariant": "refresh", }, "focus": Object { "backgroundColor": Computed { @@ -2339,6 +2340,86 @@ exports[` renders without crashing 1`] = ` }, }, }, + "shadows": Object { + "DARK": Object { + "colors": Object { + "base": "#000000", + }, + "flat": Object { + "down": "0px 1px 4px 0px hsla(0,0%,0%,0.4), 0px 2px 8px 0px hsla(0,0%,0%,0.24)", + "up": "0px 1px 4px 0px hsla(0,0%,0%,0.4), 0px -2px 8px 0px hsla(0,0%,0%,0.24)", + }, + "hover": Object { + "base": Object { + "down": "0px 2px 7px 0px hsla(0,0%,0%,0.46), 0px 4px 11px 0px hsla(0,0%,0%,0.26)", + "up": "0px 2px 7px 0px hsla(0,0%,0%,0.46), 0px -4px 11px 0px hsla(0,0%,0%,0.26)", + }, + "xl": Object { + "down": "0px 6px 19px 0px hsla(0,0%,0%,0.7), 0px 12px 23px 0px hsla(0,0%,0%,0.34)", + "up": "0px 6px 19px 0px hsla(0,0%,0%,0.7), 0px -12px 23px 0px hsla(0,0%,0%,0.34)", + }, + }, + "l": Object { + "down": "0px 4px 13px 0px hsla(0,0%,0%,0.58), 0px 8px 17px 0px hsla(0,0%,0%,0.3)", + "up": "0px 4px 13px 0px hsla(0,0%,0%,0.58), 0px -8px 17px 0px hsla(0,0%,0%,0.3)", + }, + "m": Object { + "down": "0px 3px 10px 0px hsla(0,0%,0%,0.52), 0px 6px 14px 0px hsla(0,0%,0%,0.28)", + "up": "0px 3px 10px 0px hsla(0,0%,0%,0.52), 0px -6px 14px 0px hsla(0,0%,0%,0.28)", + }, + "s": Object { + "down": "0px 2px 7px 0px hsla(0,0%,0%,0.46), 0px 4px 11px 0px hsla(0,0%,0%,0.26)", + "up": "0px 2px 7px 0px hsla(0,0%,0%,0.46), 0px -4px 11px 0px hsla(0,0%,0%,0.26)", + }, + "xl": Object { + "down": "0px 5px 16px 0px hsla(0,0%,0%,0.64), 0px 10px 20px 0px hsla(0,0%,0%,0.32)", + "up": "0px 5px 16px 0px hsla(0,0%,0%,0.64), 0px -10px 20px 0px hsla(0,0%,0%,0.32)", + }, + "xs": Object { + "down": "0px 1px 4px 0px hsla(0,0%,0%,0.4), 0px 2px 8px 0px hsla(0,0%,0%,0.24)", + "up": "0px 1px 4px 0px hsla(0,0%,0%,0.4), 0px -2px 8px 0px hsla(0,0%,0%,0.24)", + }, + }, + "LIGHT": Object { + "colors": Object { + "base": "#2B394F", + }, + "flat": Object { + "down": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px 1px 4px 0px hsla(216.67,29.51%,23.92%,0.06), 0px 2px 8px 0px hsla(216.67,29.51%,23.92%,0.04)", + "up": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px -1px 4px 0px hsla(216.67,29.51%,23.92%,0.06), 0px -2px 8px 0px hsla(216.67,29.51%,23.92%,0.04)", + }, + "hover": Object { + "base": Object { + "down": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px 2px 7px 0px hsla(216.67,29.51%,23.92%,0.08), 0px 4px 11px 0px hsla(216.67,29.51%,23.92%,0.05)", + "up": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px -2px 7px 0px hsla(216.67,29.51%,23.92%,0.08), 0px -4px 11px 0px hsla(216.67,29.51%,23.92%,0.05)", + }, + "xl": Object { + "down": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px 6px 19px 0px hsla(216.67,29.51%,23.92%,0.16), 0px 12px 23px 0px hsla(216.67,29.51%,23.92%,0.09)", + "up": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px -6px 19px 0px hsla(216.67,29.51%,23.92%,0.16), 0px -12px 23px 0px hsla(216.67,29.51%,23.92%,0.09)", + }, + }, + "l": Object { + "down": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px 4px 13px 0px hsla(216.67,29.51%,23.92%,0.12), 0px 8px 17px 0px hsla(216.67,29.51%,23.92%,0.07)", + "up": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px -4px 13px 0px hsla(216.67,29.51%,23.92%,0.12), 0px -8px 17px 0px hsla(216.67,29.51%,23.92%,0.07)", + }, + "m": Object { + "down": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px 3px 10px 0px hsla(216.67,29.51%,23.92%,0.1), 0px 6px 14px 0px hsla(216.67,29.51%,23.92%,0.06)", + "up": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px -3px 10px 0px hsla(216.67,29.51%,23.92%,0.1), 0px -6px 14px 0px hsla(216.67,29.51%,23.92%,0.06)", + }, + "s": Object { + "down": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px 2px 7px 0px hsla(216.67,29.51%,23.92%,0.08), 0px 4px 11px 0px hsla(216.67,29.51%,23.92%,0.05)", + "up": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px -2px 7px 0px hsla(216.67,29.51%,23.92%,0.08), 0px -4px 11px 0px hsla(216.67,29.51%,23.92%,0.05)", + }, + "xl": Object { + "down": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px 5px 16px 0px hsla(216.67,29.51%,23.92%,0.14), 0px 10px 20px 0px hsla(216.67,29.51%,23.92%,0.08)", + "up": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px -5px 16px 0px hsla(216.67,29.51%,23.92%,0.14), 0px -10px 20px 0px hsla(216.67,29.51%,23.92%,0.08)", + }, + "xs": Object { + "down": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px 1px 4px 0px hsla(216.67,29.51%,23.92%,0.06), 0px 2px 8px 0px hsla(216.67,29.51%,23.92%,0.04)", + "up": "0px 0px 2px 0px hsla(216.67,29.51%,23.92%,0.16), 0px -1px 4px 0px hsla(216.67,29.51%,23.92%,0.06), 0px -2px 8px 0px hsla(216.67,29.51%,23.92%,0.04)", + }, + }, + }, "size": Object { "base": Computed { "computer": [Function], diff --git a/x-pack/platform/plugins/shared/security/server/__snapshots__/prompt_page.test.tsx.snap b/x-pack/platform/plugins/shared/security/server/__snapshots__/prompt_page.test.tsx.snap index 0480d29d46afc..4f071858307ef 100644 --- a/x-pack/platform/plugins/shared/security/server/__snapshots__/prompt_page.test.tsx.snap +++ b/x-pack/platform/plugins/shared/security/server/__snapshots__/prompt_page.test.tsx.snap @@ -1,5 +1,5 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`PromptPage renders as expected with additional scripts 1`] = `"ElasticMockedFonts

Some Title

Some Body
Action#1
Action#2
"`; +exports[`PromptPage renders as expected with additional scripts 1`] = `"ElasticMockedFonts

Some Title

Some Body
Action#1
Action#2
"`; -exports[`PromptPage renders as expected without additional scripts 1`] = `"ElasticMockedFonts

Some Title

Some Body
Action#1
Action#2
"`; +exports[`PromptPage renders as expected without additional scripts 1`] = `"ElasticMockedFonts

Some Title

Some Body
Action#1
Action#2
"`; diff --git a/x-pack/platform/plugins/shared/security/server/authentication/__snapshots__/unauthenticated_page.test.tsx.snap b/x-pack/platform/plugins/shared/security/server/authentication/__snapshots__/unauthenticated_page.test.tsx.snap index 8b2cb451a6d70..1cb22e0e294d4 100644 --- a/x-pack/platform/plugins/shared/security/server/authentication/__snapshots__/unauthenticated_page.test.tsx.snap +++ b/x-pack/platform/plugins/shared/security/server/authentication/__snapshots__/unauthenticated_page.test.tsx.snap @@ -1,5 +1,5 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`UnauthenticatedPage renders as expected 1`] = `"ElasticMockedFonts

We hit an authentication error

Try logging in again, and if the problem persists, contact your system administrator.

"`; +exports[`UnauthenticatedPage renders as expected 1`] = `"ElasticMockedFonts

We hit an authentication error

Try logging in again, and if the problem persists, contact your system administrator.

"`; -exports[`UnauthenticatedPage renders as expected with custom title 1`] = `"My Company NameMockedFonts

We hit an authentication error

Try logging in again, and if the problem persists, contact your system administrator.

"`; +exports[`UnauthenticatedPage renders as expected with custom title 1`] = `"My Company NameMockedFonts

We hit an authentication error

Try logging in again, and if the problem persists, contact your system administrator.

"`; diff --git a/x-pack/platform/plugins/shared/security/server/authorization/__snapshots__/reset_session_page.test.tsx.snap b/x-pack/platform/plugins/shared/security/server/authorization/__snapshots__/reset_session_page.test.tsx.snap index 3a15ce6267d1c..864884908c5f4 100644 --- a/x-pack/platform/plugins/shared/security/server/authorization/__snapshots__/reset_session_page.test.tsx.snap +++ b/x-pack/platform/plugins/shared/security/server/authorization/__snapshots__/reset_session_page.test.tsx.snap @@ -1,5 +1,5 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`ResetSessionPage renders as expected 1`] = `"ElasticMockedFonts

You do not have permission to access the requested page

Either go back to the previous page or log in as a different user.

"`; +exports[`ResetSessionPage renders as expected 1`] = `"ElasticMockedFonts

You do not have permission to access the requested page

Either go back to the previous page or log in as a different user.

"`; -exports[`ResetSessionPage renders as expected with custom page title 1`] = `"My Company NameMockedFonts

You do not have permission to access the requested page

Either go back to the previous page or log in as a different user.

"`; +exports[`ResetSessionPage renders as expected with custom page title 1`] = `"My Company NameMockedFonts

You do not have permission to access the requested page

Either go back to the previous page or log in as a different user.

"`; From 0b289fc2c273f14bcbe283eec0aec0126571c0f7 Mon Sep 17 00:00:00 2001 From: Lene Gadewoll Date: Fri, 17 Oct 2025 08:17:27 +0200 Subject: [PATCH 8/9] test: wait for combobox closing before checking its state --- src/platform/test/functional/services/combo_box.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/platform/test/functional/services/combo_box.ts b/src/platform/test/functional/services/combo_box.ts index 3bd02d7802234..fc2913d3f1f55 100644 --- a/src/platform/test/functional/services/combo_box.ts +++ b/src/platform/test/functional/services/combo_box.ts @@ -349,6 +349,9 @@ export class ComboBoxService extends FtrService { */ public async closeOptionsList(comboBoxElement: WebElementWrapper): Promise { this.log.debug('comboBox.closeOptionsList'); + + await this.common.sleep(500); // wait for potential ongoing closing to finish (e.g. due to closing on selection) + const isOptionsListOpen = await this.testSubjects.exists('~comboBoxOptionsList', { timeout: 50, }); From 15ce51a55c4d70b8857ebead2a5a2a88f7c5025b Mon Sep 17 00:00:00 2001 From: Lene Gadewoll Date: Fri, 17 Oct 2025 18:49:53 +0200 Subject: [PATCH 9/9] test: replace sleep with tryWithRetries - scopes the check closer to the expected functionality --- .../test/functional/services/combo_box.ts | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/platform/test/functional/services/combo_box.ts b/src/platform/test/functional/services/combo_box.ts index fc2913d3f1f55..cd38c8eb7c4dd 100644 --- a/src/platform/test/functional/services/combo_box.ts +++ b/src/platform/test/functional/services/combo_box.ts @@ -350,12 +350,24 @@ export class ComboBoxService extends FtrService { public async closeOptionsList(comboBoxElement: WebElementWrapper): Promise { this.log.debug('comboBox.closeOptionsList'); - await this.common.sleep(500); // wait for potential ongoing closing to finish (e.g. due to closing on selection) + // wait for potential other animations to finish (e.g. due to closing on selection) + const isOptionListClosed = await this.retry.tryWithRetries( + 'wait for possible ongoing closing of the combobox listbox', + async () => { + const isOpen = await this.testSubjects.exists('~comboBoxOptionsList', { + timeout: 50, + }); + + return !isOpen; + }, + { + timeout: 5000, + initialDelay: 500, + retryCount: 3, + } + ); - const isOptionsListOpen = await this.testSubjects.exists('~comboBoxOptionsList', { - timeout: 50, - }); - if (isOptionsListOpen) { + if (!isOptionListClosed) { const input = await comboBoxElement.findByTagName('input'); await input.pressKeys(this.browser.keys.ESCAPE); }