diff --git a/packages/eui-theme-borealis/changelogs/upcoming/9305.md b/packages/eui-theme-borealis/changelogs/upcoming/9305.md new file mode 100644 index 00000000000..2b262cf12f3 --- /dev/null +++ b/packages/eui-theme-borealis/changelogs/upcoming/9305.md @@ -0,0 +1,4 @@ +**Breaking changes** + +- Removed `components.superDatePickerBackgroundSuccees` token + diff --git a/packages/eui-theme-borealis/src/variables/_components.ts b/packages/eui-theme-borealis/src/variables/_components.ts index 68a938fdd34..d26cd600df3 100644 --- a/packages/eui-theme-borealis/src/variables/_components.ts +++ b/packages/eui-theme-borealis/src/variables/_components.ts @@ -274,11 +274,6 @@ const component_colors: _EuiThemeComponentColors = { skeletonBackgroundSkeletonMiddleHighContrast: `rgba(${SEMANTIC_COLORS.shade100RGB}, 0.04)`, - superDatePickerBackgroundSuccees: computed( - ([backgroundBaseSuccess]) => backgroundBaseSuccess, - ['colors.backgroundBaseSuccess'] - ), - switchBackgroundOn: computed( ([backgroundFilledPrimary]) => backgroundFilledPrimary, ['colors.backgroundFilledPrimary'] diff --git a/packages/eui-theme-common/changelogs/upcoming/9305.md b/packages/eui-theme-common/changelogs/upcoming/9305.md new file mode 100644 index 00000000000..1a292b53468 --- /dev/null +++ b/packages/eui-theme-common/changelogs/upcoming/9305.md @@ -0,0 +1,4 @@ +**Breaking changes** + +- Removed types from `components.superDatePickerBackgroundSuccees` token + diff --git a/packages/eui-theme-common/src/global_styling/variables/components.ts b/packages/eui-theme-common/src/global_styling/variables/components.ts index 4541af2a6cf..a805b61adaf 100644 --- a/packages/eui-theme-common/src/global_styling/variables/components.ts +++ b/packages/eui-theme-common/src/global_styling/variables/components.ts @@ -122,8 +122,6 @@ export type _EuiThemeComponentColors = { skeletonBackgroundSkeletonMiddleHighContrast: ColorModeSwitch; - superDatePickerBackgroundSuccees: ColorModeSwitch; - switchBackgroundOn: ColorModeSwitch; switchBackgroundOff: ColorModeSwitch; switchUncompressedBackgroundDisabled: ColorModeSwitch; diff --git a/packages/eui/.loki/reference/chrome_desktop_Editors_Syntax_EuiCodeBlock_Virtualized_Code_Block_Scrolling.png b/packages/eui/.loki/reference/chrome_desktop_Editors_Syntax_EuiCodeBlock_Virtualized_Code_Block_Scrolling.png index 0b96255f49d..3141cbf1e14 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Editors_Syntax_EuiCodeBlock_Virtualized_Code_Block_Scrolling.png and b/packages/eui/.loki/reference/chrome_desktop_Editors_Syntax_EuiCodeBlock_Virtualized_Code_Block_Scrolling.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiAutoRefresh_EuiAutoRefresh_Playground.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiAutoRefresh_EuiAutoRefresh_Playground.png index 23c7846ef80..3784f016e9a 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiAutoRefresh_EuiAutoRefresh_Playground.png and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiAutoRefresh_EuiAutoRefresh_Playground.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiColorPicker_EuiColorPicker_High_Contrast.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiColorPicker_EuiColorPicker_High_Contrast.png index 1eb2da609ff..3508c5ead04 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiColorPicker_EuiColorPicker_High_Contrast.png and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiColorPicker_EuiColorPicker_High_Contrast.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiColorPicker_EuiColorPicker_High_Contrast_Dark_Mode.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiColorPicker_EuiColorPicker_High_Contrast_Dark_Mode.png index ce4cf0f948f..c43e0d68a02 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiColorPicker_EuiColorPicker_High_Contrast_Dark_Mode.png and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiColorPicker_EuiColorPicker_High_Contrast_Dark_Mode.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiColorPicker_EuiColorPicker_Inline_With_All_Elements.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiColorPicker_EuiColorPicker_Inline_With_All_Elements.png index d2dfb6659cb..b1ae3fcf691 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiColorPicker_EuiColorPicker_Inline_With_All_Elements.png and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiColorPicker_EuiColorPicker_Inline_With_All_Elements.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiDatePickerRange_Full_Width.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiDatePickerRange_Full_Width.png index 1582fcb2763..3ea152fc52c 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiDatePickerRange_Full_Width.png and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiDatePickerRange_Full_Width.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiDatePickerRange_Playground.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiDatePickerRange_Playground.png index 114ecb73106..d85b34739af 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiDatePickerRange_Playground.png and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiDatePickerRange_Playground.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiDualRange_Input_With_Popover.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiDualRange_Input_With_Popover.png index 08381291a3c..dd5fd0f7ccb 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiDualRange_Input_With_Popover.png and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiDualRange_Input_With_Popover.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayoutDelimited_High_Contrast.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayoutDelimited_High_Contrast.png index 03d2635e3e1..5ab5bce8cbf 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayoutDelimited_High_Contrast.png and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayoutDelimited_High_Contrast.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayoutDelimited_High_Contrast_Dark_Mode.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayoutDelimited_High_Contrast_Dark_Mode.png index 4880b636020..6323867a579 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayoutDelimited_High_Contrast_Dark_Mode.png and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayoutDelimited_High_Contrast_Dark_Mode.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayoutDelimited_Kitchen_Sink.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayoutDelimited_Kitchen_Sink.png index f0ff97f39a7..454649dbf05 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayoutDelimited_Kitchen_Sink.png and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayoutDelimited_Kitchen_Sink.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayoutDelimited_Playground.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayoutDelimited_Playground.png index 64d953788b9..202abc0f9c7 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayoutDelimited_Playground.png and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayoutDelimited_Playground.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayout_Append_Prepend.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayout_Append_Prepend.png index 8f13125589b..6773f137d9b 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayout_Append_Prepend.png and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayout_Append_Prepend.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayout_Append_Prepend_API_Kitchensink.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayout_Append_Prepend_API_Kitchensink.png new file mode 100644 index 00000000000..6b0a16e29d3 Binary files /dev/null and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayout_Append_Prepend_API_Kitchensink.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayout_Form_Control_Button_Kitchensink.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayout_Form_Control_Button_Kitchensink.png new file mode 100644 index 00000000000..fe183f3c9ea Binary files /dev/null and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayout_Form_Control_Button_Kitchensink.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayout_High_Contrast.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayout_High_Contrast.png index 5623b169cd0..5250be1560f 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayout_High_Contrast.png and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayout_High_Contrast.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayout_High_Contrast_Dark_Mode.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayout_High_Contrast_Dark_Mode.png index fb1e5447080..3ca9f224522 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayout_High_Contrast_Dark_Mode.png and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayout_High_Contrast_Dark_Mode.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayout_Subcomponents_EuiFormAppend_Playground.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayout_Subcomponents_EuiFormAppend_Playground.png index 6c8c24c1efd..18887116ae7 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayout_Subcomponents_EuiFormAppend_Playground.png and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayout_Subcomponents_EuiFormAppend_Playground.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayout_Subcomponents_EuiFormPrepend_Playground.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayout_Subcomponents_EuiFormPrepend_Playground.png index c75673cb213..16bdf155e22 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayout_Subcomponents_EuiFormPrepend_Playground.png and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayout_Subcomponents_EuiFormPrepend_Playground.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormRow_Column_Layout.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormRow_Column_Layout.png index 07aeeaad52a..cb8ee204c95 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormRow_Column_Layout.png and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormRow_Column_Layout.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Collapsed_Quick_Select_Only.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Collapsed_Quick_Select_Only.png index f48ca9ca90d..fba3113e103 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Collapsed_Quick_Select_Only.png and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Collapsed_Quick_Select_Only.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Custom_Quick_Select_Panel.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Custom_Quick_Select_Panel.png index 74a3a37bfcb..884a6316374 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Custom_Quick_Select_Panel.png and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Custom_Quick_Select_Panel.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Custom_Time_Zone_Display.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Custom_Time_Zone_Display.png index e6178e22908..b37c792e0c7 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Custom_Time_Zone_Display.png and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Custom_Time_Zone_Display.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Overflowing_Children.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Overflowing_Children.png index ae52b3e3741..7a064ff6c40 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Overflowing_Children.png and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Overflowing_Children.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Playground.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Playground.png index b919048e123..4c60d17c576 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Playground.png and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Playground.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Quick_Select_Only.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Quick_Select_Only.png index ad5d714bdf0..2b8988fcdaf 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Quick_Select_Only.png and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Quick_Select_Only.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Restricted_Range.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Restricted_Range.png index b919048e123..4c60d17c576 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Restricted_Range.png and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Restricted_Range.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Time_Window_Buttons.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Time_Window_Buttons.png index d081d81a7f6..cb9f0b19abf 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Time_Window_Buttons.png and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Time_Window_Buttons.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Time_Window_Buttons_Compressed.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Time_Window_Buttons_Compressed.png index 1118848852a..883089e98f3 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Time_Window_Buttons_Compressed.png and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Time_Window_Buttons_Compressed.png differ diff --git a/packages/eui/.loki/reference/chrome_desktop_Layout_EuiHeader_EuiHeader_Dark_Theme_With_Sitewide_Search.png b/packages/eui/.loki/reference/chrome_desktop_Layout_EuiHeader_EuiHeader_Dark_Theme_With_Sitewide_Search.png index 6029a64f77c..29302bdced2 100644 Binary files a/packages/eui/.loki/reference/chrome_desktop_Layout_EuiHeader_EuiHeader_Dark_Theme_With_Sitewide_Search.png and b/packages/eui/.loki/reference/chrome_desktop_Layout_EuiHeader_EuiHeader_Dark_Theme_With_Sitewide_Search.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 b5d752211ce..ea6d703ae48 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_mobile_Display_EuiImage_Playground.png b/packages/eui/.loki/reference/chrome_mobile_Display_EuiImage_Playground.png index 46439be9ada..d3a0f5f9876 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Display_EuiImage_Playground.png and b/packages/eui/.loki/reference/chrome_mobile_Display_EuiImage_Playground.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiAutoRefresh_EuiAutoRefresh_Playground.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiAutoRefresh_EuiAutoRefresh_Playground.png index 80efb8dbc19..a3083fb61df 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiAutoRefresh_EuiAutoRefresh_Playground.png and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiAutoRefresh_EuiAutoRefresh_Playground.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiColorPicker_EuiColorPicker_High_Contrast.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiColorPicker_EuiColorPicker_High_Contrast.png index 13e5ea4ab39..370eed6b590 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiColorPicker_EuiColorPicker_High_Contrast.png and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiColorPicker_EuiColorPicker_High_Contrast.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiColorPicker_EuiColorPicker_High_Contrast_Dark_Mode.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiColorPicker_EuiColorPicker_High_Contrast_Dark_Mode.png index 7e4104d9605..be581a1d754 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiColorPicker_EuiColorPicker_High_Contrast_Dark_Mode.png and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiColorPicker_EuiColorPicker_High_Contrast_Dark_Mode.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiColorPicker_EuiColorPicker_Inline_With_All_Elements.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiColorPicker_EuiColorPicker_Inline_With_All_Elements.png index e543f6623b5..1d5d28f339e 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiColorPicker_EuiColorPicker_Inline_With_All_Elements.png and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiColorPicker_EuiColorPicker_Inline_With_All_Elements.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiDatePickerRange_Full_Width.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiDatePickerRange_Full_Width.png index 57ec6b85d67..54a573bbd91 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiDatePickerRange_Full_Width.png and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiDatePickerRange_Full_Width.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiDatePickerRange_Playground.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiDatePickerRange_Playground.png index 57ec6b85d67..54a573bbd91 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiDatePickerRange_Playground.png and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiDatePickerRange_Playground.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiDualRange_Input_With_Popover.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiDualRange_Input_With_Popover.png index eac47d7d353..b260acf2e17 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiDualRange_Input_With_Popover.png and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiDualRange_Input_With_Popover.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayoutDelimited_High_Contrast.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayoutDelimited_High_Contrast.png index 6013128c917..5278dcb721d 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayoutDelimited_High_Contrast.png and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayoutDelimited_High_Contrast.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayoutDelimited_High_Contrast_Dark_Mode.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayoutDelimited_High_Contrast_Dark_Mode.png index ef98e8dd4de..38788631a77 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayoutDelimited_High_Contrast_Dark_Mode.png and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayoutDelimited_High_Contrast_Dark_Mode.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayoutDelimited_Kitchen_Sink.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayoutDelimited_Kitchen_Sink.png index cdf501e87b6..9dbf24670a2 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayoutDelimited_Kitchen_Sink.png and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayoutDelimited_Kitchen_Sink.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayoutDelimited_Playground.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayoutDelimited_Playground.png index fbbfbd3daed..f9e34ea695d 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayoutDelimited_Playground.png and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayoutDelimited_Playground.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayout_Append_Prepend.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayout_Append_Prepend.png index 2016395e05b..72b4f8d4d31 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayout_Append_Prepend.png and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayout_Append_Prepend.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayout_Append_Prepend_API_Kitchensink.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayout_Append_Prepend_API_Kitchensink.png new file mode 100644 index 00000000000..46ac23cb8ce Binary files /dev/null and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayout_Append_Prepend_API_Kitchensink.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayout_Form_Control_Button_Kitchensink.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayout_Form_Control_Button_Kitchensink.png new file mode 100644 index 00000000000..5e71e8520f7 Binary files /dev/null and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayout_Form_Control_Button_Kitchensink.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayout_High_Contrast.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayout_High_Contrast.png index 20757616b06..af04a8955a2 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayout_High_Contrast.png and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayout_High_Contrast.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayout_High_Contrast_Dark_Mode.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayout_High_Contrast_Dark_Mode.png index 5bd985130b4..789735a48f0 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayout_High_Contrast_Dark_Mode.png and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayout_High_Contrast_Dark_Mode.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayout_Subcomponents_EuiFormAppend_Playground.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayout_Subcomponents_EuiFormAppend_Playground.png index c57d23eb560..3a02a01597d 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayout_Subcomponents_EuiFormAppend_Playground.png and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayout_Subcomponents_EuiFormAppend_Playground.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayout_Subcomponents_EuiFormPrepend_Playground.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayout_Subcomponents_EuiFormPrepend_Playground.png index 7df807b02dd..54fe312aa02 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayout_Subcomponents_EuiFormPrepend_Playground.png and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayout_Subcomponents_EuiFormPrepend_Playground.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormRow_Column_Layout.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormRow_Column_Layout.png index 349beb4350b..c54377ec531 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormRow_Column_Layout.png and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormRow_Column_Layout.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Collapsed_Quick_Select_Only.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Collapsed_Quick_Select_Only.png index 98b3da2a6ce..05f3276ae60 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Collapsed_Quick_Select_Only.png and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Collapsed_Quick_Select_Only.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Custom_Quick_Select_Panel.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Custom_Quick_Select_Panel.png index 14fdad1d9cf..15fda95d5d9 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Custom_Quick_Select_Panel.png and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Custom_Quick_Select_Panel.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Custom_Time_Zone_Display.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Custom_Time_Zone_Display.png index 4fd0770a524..eb8bda9a7d0 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Custom_Time_Zone_Display.png and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Custom_Time_Zone_Display.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Overflowing_Children.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Overflowing_Children.png index 4e373243bf1..39d470bfd7c 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Overflowing_Children.png and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Overflowing_Children.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Playground.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Playground.png index fe34be8de62..77040468895 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Playground.png and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Playground.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Quick_Select_Only.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Quick_Select_Only.png index c17f448f2be..6a03eaa058a 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Quick_Select_Only.png and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Quick_Select_Only.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Restricted_Range.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Restricted_Range.png index fe34be8de62..77040468895 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Restricted_Range.png and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Restricted_Range.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Time_Window_Buttons.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Time_Window_Buttons.png index 391886fd90d..2bebf9bec52 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Time_Window_Buttons.png and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Time_Window_Buttons.png differ diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Time_Window_Buttons_Compressed.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Time_Window_Buttons_Compressed.png index 7688d48aa1d..3c095d8f002 100644 Binary files a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Time_Window_Buttons_Compressed.png and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSuperDatePicker_EuiSuperDatePicker_Time_Window_Buttons_Compressed.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 65d278d35a8..8d27420fb4b 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/changelogs/upcoming/9305.md b/packages/eui/changelogs/upcoming/9305.md new file mode 100644 index 00000000000..9543985064a --- /dev/null +++ b/packages/eui/changelogs/upcoming/9305.md @@ -0,0 +1,12 @@ +- Updated `EuiFormAppend`/`EuiFormPrepend` styling +- Updated `EuiFormAppend`/`EuiFormPrepend` to inherit `isDisabled` state from `EuiFormControlLayout` +- Updated `EuiFormControlLayout` hover, disabled and readonly styling +- Updated `EuiFormControlButton` to inherit `isDisabled`, `readOnly` and `isInvalid` states from `EuiFormControlLayout` +- Added `iconSide` prop on `EuiDatePickerRange` +- Updated `EuiSuperDatePicker` valid state styling +- Removed background color transition on `EuiButtonEmpty` (other button variants don't have a transition anymore either) + +**Breaking changes** + +- Removed `components.superDatePickerBackgroundSuccees` token + diff --git a/packages/eui/src/components/badge/notification_badge/badge_notification.styles.ts b/packages/eui/src/components/badge/notification_badge/badge_notification.styles.ts index f7cb94b6353..5e359190a6f 100644 --- a/packages/eui/src/components/badge/notification_badge/badge_notification.styles.ts +++ b/packages/eui/src/components/badge/notification_badge/badge_notification.styles.ts @@ -44,6 +44,8 @@ export const euiNotificationBadgeStyles = (euiThemeContext: UseEuiTheme) => { })} cursor: default; + /* prevent potential unwanted overrides from parent elements */ + -webkit-text-fill-color: currentColor; font-size: ${euiFontSizeFromScale('xs', euiTheme)}; font-weight: ${euiTheme.font.weight.medium}; ${euiNumberFormat(euiThemeContext)} diff --git a/packages/eui/src/components/button/button_empty/button_empty.styles.ts b/packages/eui/src/components/button/button_empty/button_empty.styles.ts index 91cf1999b2c..a446f0a7911 100644 --- a/packages/eui/src/components/button/button_empty/button_empty.styles.ts +++ b/packages/eui/src/components/button/button_empty/button_empty.styles.ts @@ -12,7 +12,6 @@ import { UseEuiTheme } from '../../../services'; import { logicalCSS, logicalShorthandCSS, - euiCanAnimate, highContrastModeStyles, } from '../../../global_styling'; import { euiButtonDisplayStyles } from '../button_display/_button_display.styles'; @@ -29,12 +28,6 @@ export const euiButtonEmptyStyles = (euiThemeContext: UseEuiTheme) => { euiButtonEmpty: css` ${displayStyles.euiButtonDisplay} ${logicalShorthandCSS('padding', `0 ${euiTheme.size.s}`)} - - /* Change the easing, quickness to not bounce so lighter backgrounds don't flash */ - ${euiCanAnimate} { - transition-timing-function: ease-in; - transition-duration: ${euiTheme.animation.fast}; - } `, isDisabled: displayStyles.isDisabled, // Sizes diff --git a/packages/eui/src/components/color_picker/__snapshots__/color_picker.test.tsx.snap b/packages/eui/src/components/color_picker/__snapshots__/color_picker.test.tsx.snap index 9a276485928..39778d9ae8d 100644 --- a/packages/eui/src/components/color_picker/__snapshots__/color_picker.test.tsx.snap +++ b/packages/eui/src/components/color_picker/__snapshots__/color_picker.test.tsx.snap @@ -626,16 +626,20 @@ exports[`EuiColorPicker prepend and append 1`] = ` class="euiFormControlLayout euiFormControlLayout--group emotion-euiFormControlLayout-group" >
- - prepend - + + prepend + +
- - append - + + append + +
diff --git a/packages/eui/src/components/color_picker/color_picker.styles.ts b/packages/eui/src/components/color_picker/color_picker.styles.ts index b8881cfdeff..49c89fcb41b 100644 --- a/packages/eui/src/components/color_picker/color_picker.styles.ts +++ b/packages/eui/src/components/color_picker/color_picker.styles.ts @@ -47,7 +47,7 @@ export const euiColorPickerStyles = (euiThemeContext: UseEuiTheme) => { } .euiFormAppend { - padding-inline: ${euiTheme.size.xxs} !important; + padding-inline: 0 !important; } & > .euiFormControlLayout { diff --git a/packages/eui/src/components/date_picker/__snapshots__/date_picker.test.tsx.snap b/packages/eui/src/components/date_picker/__snapshots__/date_picker.test.tsx.snap index 0875082ad00..b05f6167472 100644 --- a/packages/eui/src/components/date_picker/__snapshots__/date_picker.test.tsx.snap +++ b/packages/eui/src/components/date_picker/__snapshots__/date_picker.test.tsx.snap @@ -9,7 +9,7 @@ exports[`EuiDatePicker localization accepts the locale prop 1`] = ` class="euiFormControlLayout emotion-euiFormControlLayout-group" >
- + + + + Auto refresh + + + +
- + + + + Auto refresh + + + +
- + + + + Auto refresh + + + +
{ .euiPopover { flex: 1; } - - .euiPopover:last-child { - ${logicalCSS('border-top-right-radius', 'inherit')} - ${logicalCSS('border-bottom-right-radius', 'inherit')} - - * { - ${logicalCSS('border-top-right-radius', 'inherit')} - ${logicalCSS('border-bottom-right-radius', 'inherit')} - } - } `, }; }; diff --git a/packages/eui/src/components/date_picker/date_picker_range.tsx b/packages/eui/src/components/date_picker/date_picker_range.tsx index 99a2b11b55f..365ff776e3e 100644 --- a/packages/eui/src/components/date_picker/date_picker_range.tsx +++ b/packages/eui/src/components/date_picker/date_picker_range.tsx @@ -64,6 +64,11 @@ export type EuiDatePickerRangeProps = CommonProps & */ iconType?: boolean | IconType; + /** + * Define the side the icon should be displayed on. Applies only if `iconType` is defined as `IconType`. + */ + iconSide?: 'left' | 'right'; + /** * Won't apply any additional props to start and end date components */ @@ -105,6 +110,7 @@ export const EuiDatePickerRange: FunctionComponent = ({ startDateControl, endDateControl, iconType = true, + iconSide = 'left', inline, shadow = true, fullWidth: _fullWidth, @@ -205,8 +211,14 @@ export const EuiDatePickerRange: FunctionComponent = ({ if (inline) return undefined; if (iconType === false) return undefined; if (iconType === true) return 'calendar'; + if (iconType && iconSide) + return { + side: iconSide, + type: iconType, + }; + return iconType; - }, [iconType, inline]); + }, [iconType, iconSide, inline]); return (
- + +
- + +
- + + + + Auto refresh + + + +
- + + + + Auto refresh + + + +
- + +
- + +
- + +
- + +
- + +
- + +
- + +
- + +
{ return { @@ -21,3 +22,25 @@ export const euiDatePopoverButtonStyles = (euiThemeContext: UseEuiTheme) => { `, }; }; + +export const _buttonStyles = (euiThemeContext: UseEuiTheme) => { + const { euiTheme } = euiThemeContext; + + return css` + ${euiFormControlHoverStyles(euiThemeContext)} + ${logicalCSS('height', '100%')} + ${logicalCSS('width', '100%')} + ${logicalCSS('padding-horizontal', euiTheme.size.s)} + + font-size: ${euiFontSize(euiThemeContext, 's').fontSize}; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + color: inherit; + background-color: inherit; + + &:disabled { + cursor: not-allowed; + } + `; +}; diff --git a/packages/eui/src/components/date_picker/super_date_picker/quick_select_popover/__snapshots__/quick_select_popover.test.tsx.snap b/packages/eui/src/components/date_picker/super_date_picker/quick_select_popover/__snapshots__/quick_select_popover.test.tsx.snap index 5dee6906419..3b48374e6b3 100644 --- a/packages/eui/src/components/date_picker/super_date_picker/quick_select_popover/__snapshots__/quick_select_popover.test.tsx.snap +++ b/packages/eui/src/components/date_picker/super_date_picker/quick_select_popover/__snapshots__/quick_select_popover.test.tsx.snap @@ -416,18 +416,22 @@ exports[`EuiQuickSelectPopover is rendered 1`] = `
- + +
`; diff --git a/packages/eui/src/components/date_picker/super_date_picker/super_date_picker.styles.ts b/packages/eui/src/components/date_picker/super_date_picker/super_date_picker.styles.ts index 6192c38efeb..071763b9cac 100644 --- a/packages/eui/src/components/date_picker/super_date_picker/super_date_picker.styles.ts +++ b/packages/eui/src/components/date_picker/super_date_picker/super_date_picker.styles.ts @@ -8,9 +8,8 @@ import { css } from '@emotion/react'; -import { UseEuiTheme, makeHighContrastColor } from '../../../services'; +import { UseEuiTheme } from '../../../services'; import { - euiFontSize, euiMaxBreakpoint, logicalCSS, mathWithUnits, @@ -48,11 +47,7 @@ export const euiSuperDatePickerStyles = (euiThemeContext: UseEuiTheme) => { ); // Needs updating colors - const needsUpdatingBackgroundColor = - euiTheme.components.superDatePickerBackgroundSuccees; - const needsUpdatingTextColor = makeHighContrastColor(euiTheme.colors.success)( - needsUpdatingBackgroundColor - ); + const needsUpdatingTextColor = euiTheme.colors.textSuccess; return { euiSuperDatePicker: css` @@ -140,11 +135,8 @@ export const euiSuperDatePickerStyles = (euiThemeContext: UseEuiTheme) => { states: { euiSuperDatePicker__formControlLayout: css` .euiFormControlLayout__childrenWrapper { - --euiFormControlStateHoverColor: ${forms.borderHovered}; - ${highContrastModeStyles(euiThemeContext, { none: ` - ${euiFormControlDefaultShadow(euiThemeContext)} box-shadow: none; `, preferred: 'border: none;', @@ -158,16 +150,6 @@ export const euiSuperDatePickerStyles = (euiThemeContext: UseEuiTheme) => { .euiPopover { /* mimic input border-radius */ border-radius: ${forms.controlBorderRadius}; - - &:first-child { - ${logicalCSS('border-top-left-radius', 'inherit')} - ${logicalCSS('border-bottom-left-radius', 'inherit')} - } - - &:last-child { - ${logicalCSS('border-top-right-radius', 'inherit')} - ${logicalCSS('border-bottom-right-radius', 'inherit')} - } } .euiDatePopoverButton { @@ -201,11 +183,10 @@ export const euiSuperDatePickerStyles = (euiThemeContext: UseEuiTheme) => { invalid: css` .euiFormControlLayout__childrenWrapper { color: ${euiTheme.colors.textDanger}; - background-color: ${forms.backgroundColor}; &:has(.euiPopover-isOpen, .euiDatePopoverButton:focus) { - --euiFormControlStateColor: ${forms.borderColor}; - --euiFormControlStateHoverColor: ${forms.borderHovered}; + --euiFormControlStateColor: transparent; + --euiFormControlStateHoverColor: transparent; } &:not(:has(.euiPopover-isOpen, .euiDatePopoverButton:focus)) { @@ -225,10 +206,14 @@ export const euiSuperDatePickerStyles = (euiThemeContext: UseEuiTheme) => { --euiFormControlStateWidth: ${euiTheme.border.width.thin}; color: ${needsUpdatingTextColor}; - background-color: ${needsUpdatingBackgroundColor}; ${euiFormControlHighlightBorderStyles} + &:has(.euiPopover-isOpen, .euiDatePopoverButton:focus) { + --euiFormControlStateColor: transparent; + --euiFormControlStateHoverColor: transparent; + } + &:has(.euiPopover-isOpen), &:focus-within { --euiFormControlStateColor: ${forms.borderColor}; @@ -258,24 +243,3 @@ export const euiSuperDatePickerStyles = (euiThemeContext: UseEuiTheme) => { }, }; }; - -export const _buttonStyles = (euiThemeContext: UseEuiTheme) => { - const { euiTheme } = euiThemeContext; - - return css` - ${logicalCSS('height', '100%')} - ${logicalCSS('width', '100%')} - ${logicalCSS('padding-horizontal', euiTheme.size.s)} - - font-size: ${euiFontSize(euiThemeContext, 's').fontSize}; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; - color: inherit; - background-color: inherit; - - &:disabled { - cursor: not-allowed; - } - `; -}; diff --git a/packages/eui/src/components/date_picker/super_date_picker/super_date_picker.tsx b/packages/eui/src/components/date_picker/super_date_picker/super_date_picker.tsx index 8b54a38ee43..2ec296175fd 100644 --- a/packages/eui/src/components/date_picker/super_date_picker/super_date_picker.tsx +++ b/packages/eui/src/components/date_picker/super_date_picker/super_date_picker.tsx @@ -699,6 +699,8 @@ export class EuiSuperDatePickerInternal extends Component< disabled: formControlLayoutProps.isDisabled, }; + const hasChangedIcon = hasChanged && !isInvalid; + return ( {({ locale: contextLocale }) => ( @@ -706,7 +708,8 @@ export class EuiSuperDatePickerInternal extends Component< {...rangeProps} css={rangeCssStyles} isCustom={true} - iconType={false} + iconType={hasChangedIcon ? 'checkCircle' : false} + iconSide={hasChangedIcon ? 'right' : undefined} delimiter={isQuickSelectOnly ? '' : undefined} startDateControl={ isQuickSelectOnly ? undefined : ( diff --git a/packages/eui/src/components/form/field_password/__snapshots__/field_password.test.tsx.snap b/packages/eui/src/components/form/field_password/__snapshots__/field_password.test.tsx.snap index 7e4d4d2a393..cc6606a3345 100644 --- a/packages/eui/src/components/form/field_password/__snapshots__/field_password.test.tsx.snap +++ b/packages/eui/src/components/form/field_password/__snapshots__/field_password.test.tsx.snap @@ -74,7 +74,7 @@ exports[`EuiFieldPassword props dual dual type also renders append 1`] = ` class="euiFormControlLayout euiFormControlLayout--group emotion-euiFormControlLayout-group" >
- - String - + + String + +
@@ -354,7 +362,7 @@ exports[`EuiFieldPassword props type dual is rendered 1`] = ` class="euiFormControlLayout euiFormControlLayout--group emotion-euiFormControlLayout-group" >
- ); + return
{component}
; }; diff --git a/packages/eui/src/components/form/form_control_layout/form_control_layout.stories.tsx b/packages/eui/src/components/form/form_control_layout/form_control_layout.stories.tsx index f106a7511c5..04a691f2d0f 100644 --- a/packages/eui/src/components/form/form_control_layout/form_control_layout.stories.tsx +++ b/packages/eui/src/components/form/form_control_layout/form_control_layout.stories.tsx @@ -43,7 +43,7 @@ import { EuiFormControlLayoutProps, } from './form_control_layout'; import { EuiFormAppend, EuiFormPrepend } from './append_prepend'; -import { UseEuiTheme } from '@elastic/eui-theme-common'; +import { mathWithUnits, UseEuiTheme } from '@elastic/eui-theme-common'; const meta: Meta = { title: 'Forms/EuiForm/EuiFormControlLayout', @@ -79,7 +79,6 @@ const meta: Meta = { isLoading: false, readOnly: false, icon: '', - inputId: '', }, }; hideStorybookControls(meta, ['aria-label']); @@ -98,6 +97,7 @@ export const Playground: Story = { compressed, isInvalid: args.isInvalid, }; + return ( @@ -158,9 +156,6 @@ export const FormControlButton: Story = { clear={{ onClick: action('onClear') }} > opt.label).join(', ')} onClick={action('onClick')} > @@ -172,19 +167,100 @@ export const FormControlButton: Story = { - + ); }, }; +export const FormControlButtonKitchensink: Story = { + tags: ['vrt-only'], + parameters: { + controls: { + exclude: ['fullWidth', 'isDelimited', 'readOnly', 'wrapperProps'], + }, + }, + render: function Render(args) { + const isDesktop = useIsWithinMinBreakpoint('xl'); + + const renderContent = (compressed: boolean) => { + const commonProps = { + ...args, + compressed, + }; + + return ( + + + + + + + + + + + + + + + + + + + + + + ); + }; + + return ( + + {renderContent(false)} + {renderContent(true)} + + ); + }, +}; + /* TODO: remove testing story */ export const AppendPrepend_REVIEW_EXAMPLE: Story = { parameters: { loki: { skip: true }, }, - render: function Render() { + render: function Render(args) { const isDesktop = useIsWithinMinBreakpoint('xl'); return ( } append={} /> , @@ -258,6 +339,7 @@ export const AppendPrepend_REVIEW_EXAMPLE: Story = { ]} /> , 'String']} append={[ @@ -282,6 +365,7 @@ export const AppendPrepend_REVIEW_EXAMPLE: Story = { ]} /> { const idBase = `input-${compressed ? 'compressed' : ''}`; + const commonProps = { + ...args, + compressed: compressed ?? args.compressed, + }; + return ( } autoFocus /> } append={ 1 @@ -430,10 +518,9 @@ export const AppendPrepend: Story = { /> @@ -451,10 +538,9 @@ export const AppendPrepend: Story = { /> } append={ 1 @@ -643,6 +725,25 @@ export const Kitchensink: Story = { } /> + + {(copy) => ( + + )} + + } + /> + -

Drag examples

+

+ Drag example - With custom styles (reduce spacing and hover + styles) +

{}}> @@ -749,100 +853,62 @@ export const Kitchensink: Story = { {(provided) => ( + <> + {/* NOTE: only works properly for nested text content with div element, + the dragHandleProps apply correct attributes to create a custom button */} +
css` + display: flex; + align-items: center; + justify-content: center; + z-index: 1; + color: ${euiTheme.colors.textDisabled}; + + &:is(:hover, :active) { + .euiIcon { + color: ${euiTheme.colors.textParagraph}; + } + } + + .euiFormPrepend { + gap: 0; + } + + .euiIcon { + margin-inline: -${euiTheme.size.xs}; + } + + .euiFormLabel { + color: ${euiTheme.colors.textParagraph}; + cursor: grab; + } + `} + > + + + String + + +
+ } /> )}
- - -

With custom styles (reduce spacing and hover styles)

-
- - {}}> - - - {(provided) => ( -
css` - .euiFormControlLayout__prepend { - &:is(:hover, :active) { - &::before { - content: ''; - position: absolute; - inset: 0; - background-color: ${euiTheme.colors - .backgroundBaseInteractiveHover}; - } - - .euiFormAppendPrepend__dragHandle { - color: ${euiTheme.colors.textParagraph}; - } - } - } - `} - > - - - - - - - - } - /> -
- )} -
-
-
{/* split here */} @@ -924,6 +990,27 @@ export const Kitchensink: Story = { } /> + + {(copy) => ( + + Copy + + )} + + } + /> + -

Drag examples

+

+ Drag example - With custom styles (reduce spacing and hover + styles) +

{}}> @@ -1021,82 +1111,51 @@ export const Kitchensink: Story = { {(provided) => ( - - - String - - - } - /> - )} - - - - - -

With custom styles (reduce spacing and hover styles)

-
- - {}}> - - - {(provided) => ( -
css` - .euiFormControlLayout__prepend { - &:is(:hover, :active) { - &::before { - content: ''; - position: absolute; - inset: 0; - background-color: ${euiTheme.colors - .backgroundBaseInteractiveHover}; - } - .euiFormAppendPrepend__dragHandle { - color: ${euiTheme.colors.textParagraph}; - } - } - } - `} - > - - - - String - + String - - } - /> -
+
+ + } + /> )} @@ -1161,8 +1218,11 @@ const _options: EuiSelectableOption[] = [ }, ]; +type FormControlButtonWithPopoverProps = EuiFormControlLayoutProps & + EuiFormControlButtonProps; + const FormControlButtonWithPopover = ( - args: EuiFormControlLayoutProps & EuiFormControlButtonProps + args: FormControlButtonWithPopoverProps ) => { const { isInvalid, isDisabled, compressed, placeholder, fullWidth } = args; diff --git a/packages/eui/src/components/form/form_control_layout/form_control_layout.styles.ts b/packages/eui/src/components/form/form_control_layout/form_control_layout.styles.ts index 3d41ca9093e..d5e90d8bc36 100644 --- a/packages/eui/src/components/form/form_control_layout/form_control_layout.styles.ts +++ b/packages/eui/src/components/form/form_control_layout/form_control_layout.styles.ts @@ -11,19 +11,25 @@ import { css } from '@emotion/react'; import { UseEuiTheme } from '../../../services'; import { euiButtonSizeMap, + euiDisabledSelector, euiTextTruncate, + highContrastModeStyles, logicalCSS, + mathWithUnits, } from '../../../global_styling'; -import { highContrastModeStyles } from '../../../global_styling/functions/high_contrast'; import { type EuiButtonDisplaySizes } from '../../button/button_display/_button_display'; -import { euiFormVariables } from '../form.styles'; +import { euiFormControlFocusStyles, euiFormVariables } from '../form.styles'; -export const buttonSelectors = +export const buttonSelector = '*:is(.euiButton, .euiButtonEmpty, .euiButtonIcon, .euiFormAppend, .euiFormPrepend)'; +const emptyButtonSelector = + '*:is(.euiButtonEmpty, .euiButtonIcon:not([class*="fill"]))'; +export const textSelector = '*:is(.euiFormLabel, .euiText)'; +export const appendPrependSelector = '*:is(.euiFormAppend, .euiFormPrepend)'; export const euiFormControlLayoutStyles = (euiThemeContext: UseEuiTheme) => { - const { euiTheme } = euiThemeContext; + const { euiTheme, highContrastMode } = euiThemeContext; const form = euiFormVariables(euiThemeContext); return { @@ -58,7 +64,7 @@ export const euiFormControlLayoutStyles = (euiThemeContext: UseEuiTheme) => { background-color: ${form.backgroundColor}; overflow: hidden; /* Keep backgrounds inside border radius */ - /* use pseudo element for borders to prevent dimension changes and support nested elements better */ + /* Border styles - uses pseudo element for borders to prevent dimension changes and support nested elements better */ &::after { content: ''; position: absolute; @@ -69,6 +75,38 @@ export const euiFormControlLayoutStyles = (euiThemeContext: UseEuiTheme) => { pointer-events: none; } + /* Hover styles */ + &:where(:not(:has(*:is(${euiDisabledSelector}), [readOnly])):hover) { + &::after { + border: ${highContrastMode + ? euiTheme.border.width.thick + : euiTheme.border.width.thin} + solid ${highContrastMode ? form.borderColor : form.borderHovered}; + } + } + + /* Autofill overrides */ + &:has(:autofill) { + background: ${form.backgroundAutoFilled}; + + &:not(:hover)::after { + border-color: ${form.borderAutofilled}; + } + + *:-webkit-autofill, + *:autofill { + --euiFormControlStateAutofillColor: ${form.backgroundAutoFilled}; + + /* cut off the outside of the control as the webkit-box-shadow can create noticable border artifacts especially in DARK mode */ + background-clip: content-box; + + &:hover, + &:focus { + --euiFormControlStateAutofillColor: ${form.backgroundAutoFilled}; + } + } + } + /* the filter group will use the form layout border instead */ .euiFilterGroup { border-radius: 0; @@ -85,11 +123,6 @@ export const euiFormControlLayoutStyles = (euiThemeContext: UseEuiTheme) => { display: none; } - .euiFormControlButton { - border-radius: inherit; - box-shadow: none; - } - /* Force the stretch of any children so they expand the full height of the control */ > * { ${logicalCSS('height', '100%')} @@ -107,39 +140,23 @@ export const euiFormControlLayoutStyles = (euiThemeContext: UseEuiTheme) => { children: { euiFormControlLayout__childrenWrapper: css` position: relative; + border-radius: inherit; `, inGroup: css` flex-grow: 1; overflow: hidden; /* Ensure truncation works in children elements */ - > :first-child { - border-radius: inherit; - ${logicalCSS('border-top-left-radius', '0')} - ${logicalCSS('border-bottom-left-radius', '0')} - } - - > :last-child { - border-radius: inherit; - ${logicalCSS('border-top-right-radius', '0')} - ${logicalCSS('border-bottom-right-radius', '0')} - } - `, - prependOnly: css` - ${logicalCSS('border-top-right-radius', 'inherit')} - ${logicalCSS('border-bottom-right-radius', 'inherit')} + /* unset children default border and hover as it's handled on the layout wrapper */ + --euiFormControlStateColor: transparent; + --euiFormControlStateHoverColor: transparent; - > :last-child { - ${logicalCSS('border-top-right-radius', 'inherit')} - ${logicalCSS('border-bottom-right-radius', 'inherit')} - } - `, - appendOnly: css` - ${logicalCSS('border-top-left-radius', 'inherit')} - ${logicalCSS('border-bottom-left-radius', 'inherit')} + .euiFormControlButton { + box-shadow: none; - > :first-child { - ${logicalCSS('border-top-left-radius', 'inherit')} - ${logicalCSS('border-bottom-left-radius', 'inherit')} + ${highContrastModeStyles(euiThemeContext, { + none: 'box-shadow: none;', + preferred: 'border: none;', + })} } `, }, @@ -154,27 +171,40 @@ export const euiFormControlLayoutSideNodeStyles = ( const form = euiFormVariables(euiThemeContext); const buttonSizes = euiButtonSizeMap(euiThemeContext); - const uncompressedHeight = form.controlHeight; - const compressedHeight = form.controlCompressedHeight; + const uncompressedHeight = mathWithUnits( + [form.controlHeight, euiTheme.size.s], + (x, y) => x - y + ); + const compressedHeight = mathWithUnits( + [form.controlCompressedHeight, euiTheme.size.s], + (x, y) => x - y + ); - const appendPrepend = '*:is(.euiFormAppend, .euiFormPrepend)'; - const buttons = buttonSelectors; - const text = '*:is(.euiFormLabel, .euiText)'; + const buttons = buttonSelector; + const text = textSelector; + const appendPrepend = appendPrependSelector; const _buttonPadding = (size: EuiButtonDisplaySizes) => logicalCSS('padding-horizontal', buttonSizes[size].padding); - const buttonIconStyles = ` - &:first-child { - ${logicalCSS('border-top-right-radius', '0')} - ${logicalCSS('border-bottom-right-radius', '0')} - } - - &:last-child { - ${logicalCSS('border-top-left-radius', '0')} - ${logicalCSS('border-bottom-left-radius', '0')} - } - `; + const dividerStyles = (side: 'start' | 'end', compressed?: boolean) => { + return ` + position: relative; + ${`margin-inline-${side}`}: -${euiTheme.border.width.thin}; + + &::before { + content: ''; + position: absolute; + inset-inline-${side}: 0; + z-index: ${side === 'end' ? 1 : 0}; + block-size: ${compressed ? euiTheme.size.base : euiTheme.size.l}; + inline-size: ${euiTheme.border.width.thin}; + pointer-events: none; + border-inline-${side}: + ${euiTheme.border.width.thin} solid ${form.borderColor}; + } + `; + }; return { euiFormControlLayout__side: css` @@ -183,24 +213,21 @@ export const euiFormControlLayoutSideNodeStyles = ( flex-shrink: 0; display: flex; align-items: center; - gap: ${euiTheme.size.xs}; - background-color: ${form.appendPrependBackground}; + gap: ${euiTheme.size.s}; + padding: ${euiTheme.size.xs}; /* Overrides */ - :has(${appendPrepend}) > *, - ${appendPrepend} > ${buttons} { - block-size: 100%; - } - ${buttons} { block-size: 100%; + border-radius: ${form.controlLayoutInnerBorderRadius}; /* Override button hover/active transform */ transform: none !important; /* stylelint-disable-line declaration-no-important */ /* Account for border around focusable children */ &:focus-visible { - outline-offset: -${euiTheme.focus.width}; + z-index: 1; + outline-offset: ${euiTheme.focus.width}; } } @@ -210,99 +237,136 @@ export const euiFormControlLayoutSideNodeStyles = ( overflow: hidden; text-overflow: ellipsis; } + + /* Remove default focus outline in favor of custom focus styles */ + &:where(:has(${buttons}:focus-visible):has(> *:only-child)) { + *:not(${appendPrepend}) { + outline: none; + } + + &::after { + ${euiFormControlFocusStyles(euiThemeContext)} + content: ''; + position: absolute; + inset: 0; + border-radius: ${form.controlLayoutBorderRadius}; + pointer-events: none; + } + } + + /* Override to ensure that nested controls (e.g. EuiCheckbox) have a proper color */ + :where(:not(:has(:disabled))) label { + color: ${form.labelColor}; + } `, - append: css( - highContrastModeStyles(euiThemeContext, { - none: ` - position: relative; - ${logicalCSS('margin-left', `-${euiTheme.border.width.thin}`)} - - &::before { - content: ''; - position: absolute; - inset: 0; - pointer-events: none; - border-inline-start: - ${euiTheme.border.width.thin} solid ${form.borderColor}; + uncompressed: { + uncompressed: ` + &:not(:has(> ${buttons}:first-child, > *:first-child ${buttons})) { + ${logicalCSS('padding-left', euiTheme.size.s)} + } + + &:not(:has(> ${buttons}:last-child, > *:last-child ${buttons})) { + ${logicalCSS('padding-right', euiTheme.size.s)} + } + + ${text} { + line-height: ${uncompressedHeight}; + + &:first-child { + ${logicalCSS('padding-left', euiTheme.size.xs)} } - `, - preferred: logicalCSS('border-left', euiTheme.border.thin), - }) - ), - prepend: css( - highContrastModeStyles(euiThemeContext, { - none: ` - position: relative; - ${logicalCSS('margin-right', `-${euiTheme.border.width.thin}`)} - - &::before { - content: ''; - position: absolute; - inset: 0; - z-index: 1; - pointer-events: none; - border-inline-end: - ${euiTheme.border.width.thin} solid ${form.borderColor}; + + &:last-child { + ${logicalCSS('padding-right', euiTheme.size.xs)} } - `, - preferred: logicalCSS('border-right', euiTheme.border.thin), - }) - ), - uncompressed: ` - &:not(:has(> ${buttons}:first-child, > *:first-child ${buttons})) { - ${logicalCSS('padding-left', euiTheme.size.m)} - } + } - &:not(:has(> ${buttons}:last-child, > *:last-child ${buttons})) { - ${logicalCSS('padding-right', euiTheme.size.m)} - } + ${buttons} { + ${logicalCSS('height', uncompressedHeight)} + ${_buttonPadding('s')} + } - ${text} { - ${logicalCSS('padding-horizontal', euiTheme.size.xs)} - line-height: ${uncompressedHeight}; - } + .euiButtonIcon { + flex-shrink: 0; + ${logicalCSS('width', uncompressedHeight)} + } + `, + append: ` + ${dividerStyles('start')} + `, + prepend: ` + ${dividerStyles('end')} + `, + }, + compressed: { + compressed: css` + /* Legacy padding styles to handle content without */ + &:not(:has(${appendPrepend})):not( + :has(> ${buttons}:first-child, > *:first-child ${buttons}) + ) { + ${logicalCSS('padding-left', euiTheme.size.s)} + } - ${buttons} { - ${logicalCSS('height', uncompressedHeight)} - ${_buttonPadding('m')} - } + &:not(:has(${appendPrepend})):not( + :has(> ${buttons}:last-child, > *:last-child ${buttons}) + ) { + ${logicalCSS('padding-right', euiTheme.size.s)} + } - .euiButtonIcon { - flex-shrink: 0; - ${logicalCSS('width', uncompressedHeight)} + ${text} { + line-height: ${compressedHeight}; - ${buttonIconStyles} - } - `, - compressed: css` - /* Legacy padding styles to handle content without */ - &:not(:has(${appendPrepend})):not( - :has(> ${buttons}:first-child, > *:first-child ${buttons}) - ) { - ${logicalCSS('padding-left', euiTheme.size.s)} - } + &:first-child { + ${logicalCSS('padding-left', euiTheme.size.xxs)} + } - &:not(:has(${appendPrepend})):not( - :has(> ${buttons}:last-child, > *:last-child ${buttons}) - ) { - ${logicalCSS('padding-right', euiTheme.size.s)} - } + &:last-child { + ${logicalCSS('padding-right', euiTheme.size.xxs)} + } + } - ${text} { - ${logicalCSS('padding-horizontal', euiTheme.size.xxs)} - line-height: ${compressedHeight}; - } + ${buttons} { + ${logicalCSS('height', compressedHeight)} - ${buttons} { - ${logicalCSS('height', compressedHeight)} - ${_buttonPadding('s')} + &:where(:not(.euiButtonIcon)) { + ${_buttonPadding('xs')} + } + } + + .euiButtonIcon { + flex-shrink: 0; + ${logicalCSS('width', compressedHeight)} + } + `, + append: ` + ${dividerStyles('start', true)} + `, + prepend: ` + ${dividerStyles('end', true)} + `, + }, + disabled: css` + background-color: ${form.backgroundDisabledColor}; + + /* Manual override for custom content to match expected styles. */ + &:where(:not(:has(${appendPrepend}, ${buttonSelector}))) > *, + &:where(:not(:has(${appendPrepend}))) .euiFormLabel { + color: ${form.textColorDisabled}; } - .euiButtonIcon { - flex-shrink: 0; - ${logicalCSS('width', compressedHeight)} + ${emptyButtonSelector}:not( + ${euiDisabledSelector} + ) { + background-color: ${form.backgroundColor}; + } + `, + readOnly: css` + background-color: ${form.backgroundDisabledColor}; - ${buttonIconStyles} + ${emptyButtonSelector}:not( + ${euiDisabledSelector} + ) { + background-color: ${form.backgroundColor}; } `, }; diff --git a/packages/eui/src/components/form/form_control_layout/form_control_layout.tsx b/packages/eui/src/components/form/form_control_layout/form_control_layout.tsx index c175995cc9e..2575dc1c5e3 100644 --- a/packages/eui/src/components/form/form_control_layout/form_control_layout.tsx +++ b/packages/eui/src/components/form/form_control_layout/form_control_layout.tsx @@ -139,8 +139,6 @@ export const EuiFormControlLayout: FunctionComponent< const childrenWrapperStyles = [ styles.children.euiFormControlLayout__childrenWrapper, isGroup && styles.children.inGroup, - isGroup && !append && styles.children.prependOnly, - isGroup && !prepend && styles.children.appendOnly, wrapperProps?.css, ]; @@ -162,16 +160,28 @@ export const EuiFormControlLayout: FunctionComponent< }); }, [iconsPosition, icon, clear, isInvalid, isLoading, hasDropdownIcon]); + const sideNodeCommonProps = { + inputId: inputId, + compressed: compressed, + isDisabled: isDisabled, + readOnly: readOnly, + }; + return (
@@ -227,14 +236,20 @@ const EuiFormControlLayoutSideNodes: FunctionComponent<{ nodes?: PrependAppendType; // For some bizarre reason if you make this the `children` prop instead, React doesn't properly override cloned keys :| inputId?: string; compressed?: boolean; + isDisabled?: boolean; + readOnly?: boolean; }> = (props) => { - const { side, nodes, inputId, compressed } = props; + const { side, nodes, inputId, compressed, isDisabled, readOnly } = props; + const className = `euiFormControlLayout__${side}`; const styles = useEuiMemoizedStyles(euiFormControlLayoutSideNodeStyles); const cssStyles = [ styles.euiFormControlLayout__side, - styles[side], - compressed ? styles.compressed : styles.uncompressed, + compressed + ? [styles.compressed.compressed, styles.compressed[side]] + : [styles.uncompressed.uncompressed, styles.uncompressed[side]], + isDisabled && styles.disabled, + readOnly && styles.readOnly, ]; if (!nodes) return null; @@ -244,6 +259,8 @@ const EuiFormControlLayoutSideNodes: FunctionComponent<{ const AppendOrPrepend = side === 'append' ? EuiFormAppend : EuiFormPrepend; if (Array.isArray(nodes)) { + if (nodes.length === 0) return null; + content = React.Children.map(nodes, (node) => typeof node === 'string' ? ( {node} diff --git a/packages/eui/src/components/form/form_control_layout/form_control_layout_context.tsx b/packages/eui/src/components/form/form_control_layout/form_control_layout_context.tsx index 25d831e47d6..f89d959bc83 100644 --- a/packages/eui/src/components/form/form_control_layout/form_control_layout_context.tsx +++ b/packages/eui/src/components/form/form_control_layout/form_control_layout_context.tsx @@ -11,7 +11,7 @@ import { EuiFormControlLayoutProps } from './form_control_layout'; type FormControlLayoutContext = Pick< EuiFormControlLayoutProps, - 'compressed' | 'inputId' + 'compressed' | 'inputId' | 'isDisabled' | 'isInvalid' | 'readOnly' >; /** @@ -21,6 +21,9 @@ export const EuiFormControlLayoutContext = createContext({ compressed: false, inputId: '', + isDisabled: false, + isInvalid: false, + readOnly: false, }); export const EuiFormControlLayoutContextProvider = diff --git a/packages/eui/src/components/form/form_control_layout/form_control_layout_delimited.styles.ts b/packages/eui/src/components/form/form_control_layout/form_control_layout_delimited.styles.ts index 2ff845bf3b8..c2fa2b0151f 100644 --- a/packages/eui/src/components/form/form_control_layout/form_control_layout_delimited.styles.ts +++ b/packages/eui/src/components/form/form_control_layout/form_control_layout_delimited.styles.ts @@ -16,22 +16,15 @@ import { euiFormControlDefaultShadow, euiFormControlInvalidStyles, euiFormControlHoverStyles, - euiFormVariables, } from '../form.styles'; export const euiFormControlLayoutDelimitedStyles = ( euiThemeContext: UseEuiTheme ) => { - const { highContrastMode } = euiThemeContext; - - const form = euiFormVariables(euiThemeContext); + const { euiTheme } = euiThemeContext; const delimitedStyles = ` - /* Transition smoothly between disabled/readOnly background color changes */ - ${euiFormControlDefaultShadow(euiThemeContext, { - withBorder: !highContrastMode ? true : false, - withBackground: false, - })} + border-radius: ${euiTheme.border.radius.small}; `.trim(); return { @@ -54,11 +47,6 @@ export const euiFormControlLayoutDelimitedStyles = ( delimited: css` display: flex; - ${euiFormControlDefaultShadow(euiThemeContext, { - withBorder: !highContrastMode, - withBackground: false, - })} - &:hover { ${euiFormControlHoverStyles(euiThemeContext)} box-shadow: none; @@ -69,17 +57,6 @@ export const euiFormControlLayoutDelimitedStyles = ( background-color: transparent; } } - - /* adjust for delimited behavior differing from default form layout */ - > :first-child { - ${logicalCSS('border-top-left-radius', 'inherit')} - ${logicalCSS('border-bottom-left-radius', 'inherit')} - } - - > :last-child { - ${logicalCSS('border-top-right-radius', 'inherit')} - ${logicalCSS('border-bottom-right-radius', 'inherit')} - } `, invalid: css( euiFormControlDefaultShadow(euiThemeContext, { @@ -91,9 +68,9 @@ export const euiFormControlLayoutDelimitedStyles = ( ${euiFormControlInvalidStyles(euiThemeContext)} } - &:focus-within { - --euiFormControlStateColor: ${form.borderColor}; - --euiFormControlStateHoverColor: ${form.borderHovered}; + &:focus-within { + --euiFormControlStateColor: transparent; + --euiFormControlStateHoverColor: transparent; } .euiFormControlLayoutDelimited__input { diff --git a/packages/eui/src/components/form/super_select/__snapshots__/super_select.test.tsx.snap b/packages/eui/src/components/form/super_select/__snapshots__/super_select.test.tsx.snap index 2d6a6ba1d52..a61c202aba2 100644 --- a/packages/eui/src/components/form/super_select/__snapshots__/super_select.test.tsx.snap +++ b/packages/eui/src/components/form/super_select/__snapshots__/super_select.test.tsx.snap @@ -88,16 +88,20 @@ exports[`EuiSuperSelect props prepend and append 1`] = ` class="euiFormControlLayout euiFormControlLayout--group emotion-euiFormControlLayout-group" >
- - prepend - + + prepend + +
- - append - + + append + +
diff --git a/packages/eui/src/components/inline_edit/__snapshots__/inline_edit_form.test.tsx.snap b/packages/eui/src/components/inline_edit/__snapshots__/inline_edit_form.test.tsx.snap index a8fb9bc0566..1e73231d73f 100644 --- a/packages/eui/src/components/inline_edit/__snapshots__/inline_edit_form.test.tsx.snap +++ b/packages/eui/src/components/inline_edit/__snapshots__/inline_edit_form.test.tsx.snap @@ -199,21 +199,25 @@ exports[`EuiInlineEditForm edit mode editModeProps.inputProps 1`] = ` class="euiFormControlLayout euiFormControlLayout--group emotion-euiFormControlLayout-fullWidth-group" >
- + +
{ return colorsDisplaysMap[display]; }; -const euiButtonDisplaysColors = (euiThemeContext: UseEuiTheme) => { +export const euiButtonDisplaysColors = (euiThemeContext: UseEuiTheme) => { const { euiTheme } = euiThemeContext; const COLORS = [...EXTENDED_BUTTON_COLORS, 'disabled'] as const;