diff --git a/packages/eui-theme-common/src/global_styling/mixins/borders.ts b/packages/eui-theme-common/src/global_styling/mixins/borders.ts index 9b997e5f6f9..785df3a066d 100644 --- a/packages/eui-theme-common/src/global_styling/mixins/borders.ts +++ b/packages/eui-theme-common/src/global_styling/mixins/borders.ts @@ -29,6 +29,32 @@ export type BorderSides = | 'vertical' | 'all'; +/** + * Defines styles for floating boarders applied in DARK mode via EUI shadow utils + */ +export const euiShadowFloatingBorderStyles = ( + euiThemeContext: UseEuiTheme, + options: { + side?: BorderSides; + borderColor?: string; + borderWidth?: string; + borderStyle?: string; + } +) => { + return ` + /* create a containing block without using \`position\` to prevent CSS specificity issues and unexpected overrides; + \`transform: translateZ(0)\` is the least likely to affect other behaviors (overflow, layout) */ + transform: translateZ(0); + + ${euiBorderStyles(euiThemeContext, options)} + `; +}; + +/** + * Shared style for floating borders. + * Uses a pseudo element with `border` attribute to prevent both dimension changes due to + * the border width as well as visible gaps due to the need of a transparent border in LIGHT mode. + */ export const euiBorderStyles = ( euiThemeContext: UseEuiTheme, options: { @@ -48,6 +74,15 @@ export const euiBorderStyles = ( const borderProperty = getBorderSide(side); return ` - ${borderProperty}: ${borderWidth} ${borderStyle} ${borderColor}; + &::after { + content: ''; + position: absolute; + inset: 0; + /* ensure to keep on top of flush content */ + z-index: 0; + ${borderProperty}: ${borderWidth} ${borderStyle} ${borderColor}; + border-radius: inherit; + pointer-events: none; + } `; }; diff --git a/packages/eui-theme-common/src/global_styling/mixins/shadow.ts b/packages/eui-theme-common/src/global_styling/mixins/shadow.ts index 3f4982702de..652f704a245 100644 --- a/packages/eui-theme-common/src/global_styling/mixins/shadow.ts +++ b/packages/eui-theme-common/src/global_styling/mixins/shadow.ts @@ -12,7 +12,7 @@ import { _EuiThemeShadowHoverSize, _EuiThemeShadowSize, } from '../variables/shadow'; -import { BorderSides, euiBorderStyles } from './borders'; +import { BorderSides, euiShadowFloatingBorderStyles } from './borders'; export interface EuiShadowOptions { /** @deprecated */ @@ -290,7 +290,7 @@ const _shadowStyles = ( const { border = 'all', type = 'box-shadow' } = options; const borderStyle = euiThemeContext.colorMode === 'DARK' && border !== 'none' - ? `${euiBorderStyles(euiThemeContext, { + ? `${euiShadowFloatingBorderStyles(euiThemeContext, { side: border ?? 'all', })}` : ''; diff --git a/packages/eui/.loki/reference/chrome_desktop_Display_EuiCheckableCard_Playground.png b/packages/eui/.loki/reference/chrome_desktop_Display_EuiCheckableCard_Playground.png index fc0f6f36ddc..b744903f161 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Display_EuiCheckableCard_Playground.png and b/packages/eui/.loki/reference/chrome_desktop_Display_EuiCheckableCard_Playground.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Display_EuiCheckableCard_With_Interactive_Children.png b/packages/eui/.loki/reference/chrome_desktop_Display_EuiCheckableCard_With_Interactive_Children.png index f6853a2a261..42ba2fdb2d8 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Display_EuiCheckableCard_With_Interactive_Children.png and b/packages/eui/.loki/reference/chrome_desktop_Display_EuiCheckableCard_With_Interactive_Children.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Display_EuiCheckableCard_With_Non_Interactive_Children.png b/packages/eui/.loki/reference/chrome_desktop_Display_EuiCheckableCard_With_Non_Interactive_Children.png index af9e8c59e35..788f1e73109 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Display_EuiCheckableCard_With_Non_Interactive_Children.png and b/packages/eui/.loki/reference/chrome_desktop_Display_EuiCheckableCard_With_Non_Interactive_Children.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Display_EuiToolTip_Dark_Mode.png b/packages/eui/.loki/reference/chrome_desktop_Display_EuiToolTip_Dark_Mode.png index 6a1c2193d3d..95ef2ccf226 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Display_EuiToolTip_Dark_Mode.png and b/packages/eui/.loki/reference/chrome_desktop_Display_EuiToolTip_Dark_Mode.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Display_EuiToolTip_High_Contrast_Mode.png b/packages/eui/.loki/reference/chrome_desktop_Display_EuiToolTip_High_Contrast_Mode.png index dc3bb0b67f0..8f92dc8daee 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Display_EuiToolTip_High_Contrast_Mode.png and b/packages/eui/.loki/reference/chrome_desktop_Display_EuiToolTip_High_Contrast_Mode.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Layout_EuiHeader_EuiHeader_Elastic_Navigation_Pattern.png b/packages/eui/.loki/reference/chrome_desktop_Layout_EuiHeader_EuiHeader_Elastic_Navigation_Pattern.png index cf08b7ec1b3..d5943352375 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Layout_EuiHeader_EuiHeader_Elastic_Navigation_Pattern.png and b/packages/eui/.loki/reference/chrome_desktop_Layout_EuiHeader_EuiHeader_Elastic_Navigation_Pattern.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Layout_EuiPanel_Kitchensink.png b/packages/eui/.loki/reference/chrome_desktop_Layout_EuiPanel_Kitchensink.png index c0ca3418ffd..e0a8dffdc5a 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Layout_EuiPanel_Kitchensink.png and b/packages/eui/.loki/reference/chrome_desktop_Layout_EuiPanel_Kitchensink.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Layout_EuiPanel_Kitchensink_Dark.png b/packages/eui/.loki/reference/chrome_desktop_Layout_EuiPanel_Kitchensink_Dark.png index ee7ae9c83c9..134696c549e 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Layout_EuiPanel_Kitchensink_Dark.png and b/packages/eui/.loki/reference/chrome_desktop_Layout_EuiPanel_Kitchensink_Dark.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Layout_EuiPanel_Overlapping_Panels.png b/packages/eui/.loki/reference/chrome_desktop_Layout_EuiPanel_Overlapping_Panels.png index 6b9e3292363..f65b2e2ced5 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Layout_EuiPanel_Overlapping_Panels.png and b/packages/eui/.loki/reference/chrome_desktop_Layout_EuiPanel_Overlapping_Panels.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Layout_EuiSplitPanel_Split_Panel_Inner_Dark.png b/packages/eui/.loki/reference/chrome_desktop_Layout_EuiSplitPanel_Split_Panel_Inner_Dark.png index b02546edcbe..1a1be958970 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Layout_EuiSplitPanel_Split_Panel_Inner_Dark.png and b/packages/eui/.loki/reference/chrome_desktop_Layout_EuiSplitPanel_Split_Panel_Inner_Dark.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Layout_EuiSplitPanel_Split_Panel_Outer_Dark.png b/packages/eui/.loki/reference/chrome_desktop_Layout_EuiSplitPanel_Split_Panel_Outer_Dark.png index a149a22fe8e..1ec2b49241b 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Layout_EuiSplitPanel_Split_Panel_Outer_Dark.png and b/packages/eui/.loki/reference/chrome_desktop_Layout_EuiSplitPanel_Split_Panel_Outer_Dark.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Navigation_EuiContextMenu_EuiContextMenu_In_Scrollable_Popover.png b/packages/eui/.loki/reference/chrome_desktop_Navigation_EuiContextMenu_EuiContextMenu_In_Scrollable_Popover.png index 2fd5f02c83e..a32f256e0cb 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Navigation_EuiContextMenu_EuiContextMenu_In_Scrollable_Popover.png and b/packages/eui/.loki/reference/chrome_desktop_Navigation_EuiContextMenu_EuiContextMenu_In_Scrollable_Popover.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Tabular_Content_EuiDataGrid_toolbarVisibility_prop_Column_Sorting.png b/packages/eui/.loki/reference/chrome_desktop_Tabular_Content_EuiDataGrid_toolbarVisibility_prop_Column_Sorting.png index feacf5407d1..56ddd6490b1 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Tabular_Content_EuiDataGrid_toolbarVisibility_prop_Column_Sorting.png and b/packages/eui/.loki/reference/chrome_desktop_Tabular_Content_EuiDataGrid_toolbarVisibility_prop_Column_Sorting.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Templates_EuiSelectableTemplateSitewide_VRT.png b/packages/eui/.loki/reference/chrome_desktop_Templates_EuiSelectableTemplateSitewide_VRT.png index 8da37a7b0c6..d1bbd9712b0 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Templates_EuiSelectableTemplateSitewide_VRT.png and b/packages/eui/.loki/reference/chrome_desktop_Templates_EuiSelectableTemplateSitewide_VRT.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Theming_EuiThemeProvider_Dark_Mode.png b/packages/eui/.loki/reference/chrome_desktop_Theming_EuiThemeProvider_Dark_Mode.png index e85d4d11d5e..33b795d1535 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Theming_EuiThemeProvider_Dark_Mode.png and b/packages/eui/.loki/reference/chrome_desktop_Theming_EuiThemeProvider_Dark_Mode.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Display_EuiCheckableCard_Playground.png b/packages/eui/.loki/reference/chrome_mobile_Display_EuiCheckableCard_Playground.png index bc0a9a805d3..c2da4d015ef 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Display_EuiCheckableCard_Playground.png and b/packages/eui/.loki/reference/chrome_mobile_Display_EuiCheckableCard_Playground.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Display_EuiCheckableCard_With_Interactive_Children.png b/packages/eui/.loki/reference/chrome_mobile_Display_EuiCheckableCard_With_Interactive_Children.png index fad661477ad..61fca494d11 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Display_EuiCheckableCard_With_Interactive_Children.png and b/packages/eui/.loki/reference/chrome_mobile_Display_EuiCheckableCard_With_Interactive_Children.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Display_EuiCheckableCard_With_Non_Interactive_Children.png b/packages/eui/.loki/reference/chrome_mobile_Display_EuiCheckableCard_With_Non_Interactive_Children.png index cf0463b36f3..5ceaa984b74 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Display_EuiCheckableCard_With_Non_Interactive_Children.png and b/packages/eui/.loki/reference/chrome_mobile_Display_EuiCheckableCard_With_Non_Interactive_Children.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Display_EuiToolTip_Dark_Mode.png b/packages/eui/.loki/reference/chrome_mobile_Display_EuiToolTip_Dark_Mode.png index 650a1fe4d89..e37e4db95da 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Display_EuiToolTip_Dark_Mode.png and b/packages/eui/.loki/reference/chrome_mobile_Display_EuiToolTip_Dark_Mode.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Layout_EuiHeader_EuiHeader_Dark_Theme_With_Sitewide_Search.png b/packages/eui/.loki/reference/chrome_mobile_Layout_EuiHeader_EuiHeader_Dark_Theme_With_Sitewide_Search.png index 2887f72e87d..3177f84f795 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Layout_EuiHeader_EuiHeader_Dark_Theme_With_Sitewide_Search.png and b/packages/eui/.loki/reference/chrome_mobile_Layout_EuiHeader_EuiHeader_Dark_Theme_With_Sitewide_Search.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Layout_EuiHeader_EuiHeader_Elastic_Navigation_Pattern.png b/packages/eui/.loki/reference/chrome_mobile_Layout_EuiHeader_EuiHeader_Elastic_Navigation_Pattern.png index 3460ec6a50b..d992573330c 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Layout_EuiHeader_EuiHeader_Elastic_Navigation_Pattern.png and b/packages/eui/.loki/reference/chrome_mobile_Layout_EuiHeader_EuiHeader_Elastic_Navigation_Pattern.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Layout_EuiPanel_Kitchensink.png b/packages/eui/.loki/reference/chrome_mobile_Layout_EuiPanel_Kitchensink.png index 2b5c1a8dda5..03cc5c1eb48 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Layout_EuiPanel_Kitchensink.png and b/packages/eui/.loki/reference/chrome_mobile_Layout_EuiPanel_Kitchensink.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Layout_EuiPanel_Kitchensink_Dark.png b/packages/eui/.loki/reference/chrome_mobile_Layout_EuiPanel_Kitchensink_Dark.png index 3610bcf65cf..7825665e150 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Layout_EuiPanel_Kitchensink_Dark.png and b/packages/eui/.loki/reference/chrome_mobile_Layout_EuiPanel_Kitchensink_Dark.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Layout_EuiPanel_Overlapping_Panels.png b/packages/eui/.loki/reference/chrome_mobile_Layout_EuiPanel_Overlapping_Panels.png index 3b4eebdd479..f5c67c878cc 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Layout_EuiPanel_Overlapping_Panels.png and b/packages/eui/.loki/reference/chrome_mobile_Layout_EuiPanel_Overlapping_Panels.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Layout_EuiSplitPanel_Split_Panel_Inner_Dark.png b/packages/eui/.loki/reference/chrome_mobile_Layout_EuiSplitPanel_Split_Panel_Inner_Dark.png index ffcda0f892c..fe209d9eb1d 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Layout_EuiSplitPanel_Split_Panel_Inner_Dark.png and b/packages/eui/.loki/reference/chrome_mobile_Layout_EuiSplitPanel_Split_Panel_Inner_Dark.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Layout_EuiSplitPanel_Split_Panel_Outer_Dark.png b/packages/eui/.loki/reference/chrome_mobile_Layout_EuiSplitPanel_Split_Panel_Outer_Dark.png index 42f11512052..54c5700b4be 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Layout_EuiSplitPanel_Split_Panel_Outer_Dark.png and b/packages/eui/.loki/reference/chrome_mobile_Layout_EuiSplitPanel_Split_Panel_Outer_Dark.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Navigation_EuiContextMenu_EuiContextMenu_In_Scrollable_Popover.png b/packages/eui/.loki/reference/chrome_mobile_Navigation_EuiContextMenu_EuiContextMenu_In_Scrollable_Popover.png index f3b3373272c..45577f98e83 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Navigation_EuiContextMenu_EuiContextMenu_In_Scrollable_Popover.png and b/packages/eui/.loki/reference/chrome_mobile_Navigation_EuiContextMenu_EuiContextMenu_In_Scrollable_Popover.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Tabular_Content_EuiDataGrid_toolbarVisibility_prop_Column_Selector.png b/packages/eui/.loki/reference/chrome_mobile_Tabular_Content_EuiDataGrid_toolbarVisibility_prop_Column_Selector.png index c2648de34b6..41e60e1330e 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Tabular_Content_EuiDataGrid_toolbarVisibility_prop_Column_Selector.png and b/packages/eui/.loki/reference/chrome_mobile_Tabular_Content_EuiDataGrid_toolbarVisibility_prop_Column_Selector.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Tabular_Content_EuiDataGrid_toolbarVisibility_prop_Column_Sorting.png b/packages/eui/.loki/reference/chrome_mobile_Tabular_Content_EuiDataGrid_toolbarVisibility_prop_Column_Sorting.png index 786e9283c31..8404d93ccb2 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Tabular_Content_EuiDataGrid_toolbarVisibility_prop_Column_Sorting.png and b/packages/eui/.loki/reference/chrome_mobile_Tabular_Content_EuiDataGrid_toolbarVisibility_prop_Column_Sorting.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Templates_EuiSelectableTemplateSitewide_VRT.png b/packages/eui/.loki/reference/chrome_mobile_Templates_EuiSelectableTemplateSitewide_VRT.png index 15f00940f27..0d85828ad76 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Templates_EuiSelectableTemplateSitewide_VRT.png and b/packages/eui/.loki/reference/chrome_mobile_Templates_EuiSelectableTemplateSitewide_VRT.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Theming_EuiThemeProvider_Dark_Mode.png b/packages/eui/.loki/reference/chrome_mobile_Theming_EuiThemeProvider_Dark_Mode.png index 48852bb1da5..9e4c00ba775 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Theming_EuiThemeProvider_Dark_Mode.png and b/packages/eui/.loki/reference/chrome_mobile_Theming_EuiThemeProvider_Dark_Mode.png differ diff --git a/packages/eui/src/components/bottom_bar/bottom_bar.styles.ts b/packages/eui/src/components/bottom_bar/bottom_bar.styles.ts index 97163275634..9519379e1ac 100644 --- a/packages/eui/src/components/bottom_bar/bottom_bar.styles.ts +++ b/packages/eui/src/components/bottom_bar/bottom_bar.styles.ts @@ -35,7 +35,7 @@ export const euiBottomBarStyles = (euiThemeContext: UseEuiTheme) => { background-color: ${euiTheme.components.bottomBarBackground}; ${logicalCSS('border-top', euiTheme.border.thin)} ${highContrastModeStyles(euiThemeContext, { - none: euiShadowFlat(euiThemeContext, { border: 'top' }), + none: euiShadowFlat(euiThemeContext, { border: 'none' }), })} /* prevent shadow from overlapping content in compositions */ clip-path: polygon(0 -100vh, 100% -100vh, 100% 100%, 0 100%); diff --git a/packages/eui/src/components/context_menu/context_menu.stories.tsx b/packages/eui/src/components/context_menu/context_menu.stories.tsx index cf2f5cb0415..bdbd0278bd2 100644 --- a/packages/eui/src/components/context_menu/context_menu.stories.tsx +++ b/packages/eui/src/components/context_menu/context_menu.stories.tsx @@ -203,16 +203,17 @@ export const InScrollablePopover: Story = { }} panelPaddingSize="none" anchorPosition="downLeft" - panelProps={{ - css: css` + > +