From d4dc2f6d55a6d0e2bc8e2d37202dad6d2ba90c5f Mon Sep 17 00:00:00 2001 From: Cee Chen <549407+cee-chen@users.noreply.github.com> Date: Mon, 12 Aug 2024 11:00:53 -0700 Subject: [PATCH] [Emotion] Convert EuiFormLayout (#7954) --- ...rm_EuiFormControlLayout_Append_Prepend.png | Bin 0 -> 51783 bytes ...rm_EuiFormControlLayout_Append_Prepend.png | Bin 0 -> 102909 bytes packages/eui/changelogs/upcoming/7954.md | 4 + .../__snapshots__/color_picker.test.tsx.snap | 72 +-- .../color_palette_picker.test.tsx.snap | 28 +- .../__snapshots__/combo_box.test.tsx.snap | 8 +- .../components/combo_box/combo_box.test.tsx | 6 +- .../combo_box_input/combo_box_input.styles.ts | 18 +- .../combo_box_input/combo_box_input.tsx | 2 - .../column_selector.test.tsx.snap | 12 +- .../__snapshots__/date_picker.test.tsx.snap | 12 +- .../date_picker_range.test.tsx.snap | 36 +- .../__snapshots__/auto_refresh.test.tsx.snap | 126 +++-- .../date_picker/date_picker.spec.tsx | 2 +- .../date_picker/date_picker.test.tsx | 2 +- .../super_date_picker.test.tsx.snap | 508 ++++++++++-------- .../__snapshots__/quick_select.test.tsx.snap | 24 +- .../quick_select_popover.test.tsx.snap | 20 +- .../field_password.test.tsx.snap | 172 +++--- .../field_password/field_password.test.tsx | 4 +- .../src/components/form/form.styles.test.tsx | 10 +- .../eui/src/components/form/form.styles.ts | 23 +- .../form_control_layout.test.tsx.snap | 172 +++--- ...orm_control_layout_delimited.test.tsx.snap | 12 +- .../_form_control_layout.scss | 203 ------- .../_form_control_layout_delimited.scss | 8 +- .../_form_control_layout_icons.scss | 6 +- .../form/form_control_layout/_index.scss | 1 - .../form_control_layout/_num_icons.test.ts | 46 +- .../form/form_control_layout/_num_icons.ts | 35 -- .../form_control_layout.stories.tsx | 175 +++++- .../form_control_layout.styles.ts | 184 +++++++ .../form_control_layout.test.tsx | 28 +- .../form_control_layout.tsx | 83 ++- .../__snapshots__/dual_range.test.tsx.snap | 32 +- .../range/__snapshots__/range.test.tsx.snap | 12 +- .../__snapshots__/range_input.test.tsx.snap | 4 +- .../__snapshots__/super_select.test.tsx.snap | 40 +- .../super_select_control.test.tsx.snap | 36 +- .../__snapshots__/text_area.test.tsx.snap | 4 +- .../form/text_area/text_area.styles.ts | 5 +- .../inline_edit_form.test.tsx.snap | 46 +- .../__snapshots__/search_bar.test.tsx.snap | 16 +- .../__snapshots__/search_box.test.tsx.snap | 8 +- .../__snapshots__/selectable.test.tsx.snap | 4 +- .../selectable_search.test.tsx.snap | 12 +- ...selectable_template_sitewide.test.tsx.snap | 16 +- .../overrides/_form_control_layout.scss | 112 ---- .../themes/amsterdam/overrides/_index.scss | 1 - 49 files changed, 1237 insertions(+), 1153 deletions(-) create mode 100644 packages/eui/.loki/reference/chrome_desktop_Forms_EuiForm_EuiFormControlLayout_Append_Prepend.png create mode 100644 packages/eui/.loki/reference/chrome_mobile_Forms_EuiForm_EuiFormControlLayout_Append_Prepend.png create mode 100644 packages/eui/changelogs/upcoming/7954.md delete mode 100644 packages/eui/src/components/form/form_control_layout/_form_control_layout.scss create mode 100644 packages/eui/src/components/form/form_control_layout/form_control_layout.styles.ts delete mode 100644 packages/eui/src/themes/amsterdam/overrides/_form_control_layout.scss 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 new file mode 100644 index 0000000000000000000000000000000000000000..7005743689c35478b0176170470cce3857c34f99 GIT binary patch literal 51783 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%0DaBV{o$VK$a_~g5o`G?z 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 literal 0 HcmV?d00001 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 new file mode 100644 index 0000000000000000000000000000000000000000..c5ad244f78e921f07054c9b1a241baa34041bbc1 GIT binary patch literal 102909 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 literal 0 HcmV?d00001 diff --git a/packages/eui/changelogs/upcoming/7954.md b/packages/eui/changelogs/upcoming/7954.md new file mode 100644 index 00000000000..9d27209a613 --- /dev/null +++ b/packages/eui/changelogs/upcoming/7954.md @@ -0,0 +1,4 @@ +**CSS-in-JS conversions** + +- Converted `EuiFormControlLayout` to Emotion + - Removed `.euiFormControlLayout--*icons` classNames and `--eui-form-control-layout-icons-padding` CSS var. Use `--euiFormControlRightIconsCount` or `--euiFormControlLeftIconsCount` instead 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 7d6a0f25ffe..b8b6cb24abe 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 @@ -5,10 +5,10 @@ exports[`EuiColorPicker color empty string 1`] = ` class="euiPopover euiColorPicker__popoverAnchor emotion-euiPopover-block" >

- + +
- + +
`; @@ -625,10 +633,10 @@ exports[`EuiColorPicker readOnly 1`] = ` class="euiPopover euiColorPicker__popoverAnchor emotion-euiPopover-block" >
+ +
- + +
- + +
{ it('renders as readonly', () => { cy.realMount(); - cy.get('.euiFormControlLayout--readOnly').should('exist'); + cy.get('.euiFormControlLayout-readOnly').should('exist'); cy.realPress('Tab'); cy.focused().should('not.exist'); diff --git a/packages/eui/src/components/date_picker/date_picker.test.tsx b/packages/eui/src/components/date_picker/date_picker.test.tsx index 58f27533c9d..c8a969a8edc 100644 --- a/packages/eui/src/components/date_picker/date_picker.test.tsx +++ b/packages/eui/src/components/date_picker/date_picker.test.tsx @@ -50,7 +50,7 @@ describe('EuiDatePicker', () => { test('compressed', () => { const { container } = render(); // TODO: Should probably be a visual snapshot test - expect(container.innerHTML).toContain('--compressed'); + expect(container.innerHTML).toContain('-compressed'); }); // TODO: These tests/snapshots don't really do anything in Jest without diff --git a/packages/eui/src/components/date_picker/super_date_picker/__snapshots__/super_date_picker.test.tsx.snap b/packages/eui/src/components/date_picker/super_date_picker/__snapshots__/super_date_picker.test.tsx.snap index 14166d5664d..293aae6dc8a 100644 --- a/packages/eui/src/components/date_picker/super_date_picker/__snapshots__/super_date_picker.test.tsx.snap +++ b/packages/eui/src/components/date_picker/super_date_picker/__snapshots__/super_date_picker.test.tsx.snap @@ -6,37 +6,41 @@ exports[`EuiSuperDatePicker props accepts data-test-subj and passes to EuiFormCo data-test-subj="mySuperDatePicker" >
- + +
+ +
+ +
- + +
- + +
+ +
- + +
+ +
+ +
+ +
+ +
+ +
@@ -16,10 +16,10 @@ exports[`EuiFormControlLayout is rendered 1`] = ` exports[`EuiFormControlLayout props clear onClick is rendered 1`] = `
`; exports[`EuiFormControlLayout props icon is rendered as a string 1`] = `
- - 1 - - - 2 - + + 1 + + + 2 + +
`; exports[`EuiFormControlLayout props multiple prepends are rendered 1`] = `
- - 1 - - - 2 - + + 1 + + + 2 + +
`; exports[`EuiFormControlLayout props one append node is rendered 1`] = `
- - 1 - + + 1 + +
`; exports[`EuiFormControlLayout props one append string is rendered 1`] = `
- + +
`; exports[`EuiFormControlLayout props one prepend node is rendered 1`] = `
- - 1 - + + 1 + +
`; exports[`EuiFormControlLayout props one prepend node is rendered with className 1`] = `
- - 1 - + + 1 + +
`; exports[`EuiFormControlLayout props one prepend string is rendered 1`] = `
- + +
`; exports[`EuiFormControlLayout props readOnly is rendered 1`] = `
`; diff --git a/packages/eui/src/components/form/form_control_layout/__snapshots__/form_control_layout_delimited.test.tsx.snap b/packages/eui/src/components/form/form_control_layout/__snapshots__/form_control_layout_delimited.test.tsx.snap index 043baa4c241..ad93640f2b3 100644 --- a/packages/eui/src/components/form/form_control_layout/__snapshots__/form_control_layout_delimited.test.tsx.snap +++ b/packages/eui/src/components/form/form_control_layout/__snapshots__/form_control_layout_delimited.test.tsx.snap @@ -3,11 +3,11 @@ exports[`EuiFormControlLayoutDelimited is rendered 1`] = `
*, - .euiButtonEmpty, - .euiText, - .euiFormLabel, - .euiButtonIcon { - height: 100%; - } - - .euiFormControlLayout__childrenWrapper { - flex-grow: 1; - overflow: hidden; /* 2 */ - } - - .euiFormControlLayout__prepend, - .euiFormControlLayout__append { - @include euiTextTruncate; - flex-shrink: 0; - height: 100%; - border-radius: 0; - - // ICONS - - &.euiIcon, - .euiIcon { - padding: 0 $euiSizeS; - width: $euiSizeXL; - border-radius: 0; - background-color: $euiFormInputGroupLabelBackground; - } - - &.euiButtonIcon, - &.euiButtonEmpty, - .euiButtonIcon, - .euiButtonEmpty { - transform: none !important; // stylelint-disable-line declaration-no-important - - // Undo sizing from icons inside buttons - .euiIcon { - background: none !important; // stylelint-disable-line declaration-no-important - padding: 0; - width: $euiSize; - } - } - } - - .euiButtonIcon { - padding: 0 $euiSizeS; - width: $euiSizeXL; - border-radius: 0; - - &:not(:focus) { - background-color: $euiFormInputGroupLabelBackground; - } - - &:focus-visible { - outline: 2px solid $euiFocusRingColor; - outline-offset: -2px; - } - } - - .euiToolTipAnchor > .euiIcon { - height: 100%; - background-color: $euiFormInputGroupLabelBackground; - padding: 0 $euiSizeS; - width: $euiSizeXL; - border-radius: 0; - } - - > .euiFormControlLayout__prepend, - > .euiFormControlLayout__append { - max-width: 50%; // Make sure max-width only applies to the outer most append/prepend element - } - - // stylelint-disable declaration-no-important - // This is the only way to target specific components to override styling - - // TEXT - - .euiFormLabel, - .euiText:not(.euiFormControlLayoutDelimited__delimiter) { - background-color: $euiFormInputGroupLabelBackground; - padding: $euiFormControlPadding; - line-height: $euiSize !important; - cursor: default !important; // pointer cursor on some form labels but not others is confusing - - // If the next sibling is not the input, pull it closer to the text to reduce space - + *:not(.euiFormControlLayout__childrenWrapper):not(input) { - margin-left: -$euiFormControlPadding; - } - } - - // If any child that is not the input has a next sibling that is text, pull it closer to the text to reduce space - > *:not(.euiFormControlLayout__childrenWrapper) { - + .euiFormLabel, - + .euiText { - margin-left: -$euiFormControlPadding; - } - } - - // BORDERS on buttons only - - .euiButtonEmpty { - border-right: $euiFormInputGroupBorder; - } - - // Any buttons after the children wrapper or inside any elements after the children wrapper - // Need to swap border sides - .euiFormControlLayout__childrenWrapper ~ .euiButtonEmpty, - .euiFormControlLayout__childrenWrapper ~ * .euiButtonEmpty { - border-right: none; - border-left: $euiFormInputGroupBorder; - } - - // Compressed alterations - - &.euiFormControlLayout--compressed { - @include euiFormControlDefaultShadow($borderOnly: true); - border-radius: $euiBorderRadius / 2; - overflow: hidden; // Keeps backgrounds inside border radius - - // Padding - .euiFormLabel, - .euiText:not(.euiFormControlLayoutDelimited__delimiter) { - padding: $euiFormControlCompressedPadding; - - // If the next sibling is not the input, pull it closer to the text to reduce space - + *:not(.euiFormControlLayout__childrenWrapper) { - margin-left: -$euiFormControlCompressedPadding; - } - } - - // If any child that is not the input has a next sibling that is text, pull it closer to the text to reduce space - > *:not(.euiFormControlLayout__childrenWrapper) { - + .euiFormLabel, - + .euiText { - margin-left: -$euiFormControlCompressedPadding; - } - } - } - - // ReadOnly alterations - &.euiFormControlLayout--readOnly { - cursor: default; - background: $euiFormInputGroupLabelBackground; - border-color: transparent; - box-shadow: inset 0 0 0 1px $euiFormInputGroupLabelBackground; - - input { - background-color: $euiFormBackgroundReadOnlyColor; - } - } -} diff --git a/packages/eui/src/components/form/form_control_layout/_form_control_layout_delimited.scss b/packages/eui/src/components/form/form_control_layout/_form_control_layout_delimited.scss index fd90253a29b..e48ffb67185 100644 --- a/packages/eui/src/components/form/form_control_layout/_form_control_layout_delimited.scss +++ b/packages/eui/src/components/form/form_control_layout/_form_control_layout_delimited.scss @@ -13,14 +13,14 @@ } // Target when the euiFormControlLayout is compressed without specifying the full class name in case it ever changes - &[class*='--compressed'] { + &[class*='-compressed'] { @include euiFormControlDefaultShadow($borderOnly: true); border-radius: $euiBorderRadius / 2; } // Target when the euiFormControlLayout is fullWidth without specifying the full class name in case it ever changes - &[class*='--fullWidth'] .euiFormControlLayout__childrenWrapper, - &[class*='--fullWidth'] .euiFormControlLayout__childrenWrapper > *:not(.euiFormControlLayoutDelimited__delimiter):not(.euiFormControlLayoutIcons) { + &[class*='-fullWidth'] .euiFormControlLayout__childrenWrapper, + &[class*='-fullWidth'] .euiFormControlLayout__childrenWrapper > *:not(.euiFormControlLayoutDelimited__delimiter):not(.euiFormControlLayoutIcons) { width: 100%; max-width: none; } @@ -35,7 +35,7 @@ } // Target when the euiFormControlLayout is readOnly without specifying the full class name in case it ever changes - &[class*='--readOnly'] { + &[class*='-readOnly'] { @include euiFormControlReadOnlyStyle; .euiFormControlLayout__childrenWrapper { diff --git a/packages/eui/src/components/form/form_control_layout/_form_control_layout_icons.scss b/packages/eui/src/components/form/form_control_layout/_form_control_layout_icons.scss index 2ea455d2212..bad4faf714e 100644 --- a/packages/eui/src/components/form/form_control_layout/_form_control_layout_icons.scss +++ b/packages/eui/src/components/form/form_control_layout/_form_control_layout_icons.scss @@ -13,7 +13,7 @@ bottom: 0; left: $euiFormControlPadding; - .euiFormControlLayout--compressed & { + [class*='euiFormControlLayout-compressed'] & { left: $euiFormControlCompressedPadding; } } @@ -27,7 +27,7 @@ flex-grow: 0; padding-inline: $euiFormControlPadding; - .euiFormControlLayout--compressed & { + [class*='euiFormControlLayout-compressed'] & { padding-inline: $euiFormControlCompressedPadding; } } @@ -41,7 +41,7 @@ left: auto; right: $euiFormControlPadding; - .euiFormControlLayout--compressed & { + [class*='euiFormControlLayout-compressed'] & { left: auto; right: $euiFormControlCompressedPadding; } diff --git a/packages/eui/src/components/form/form_control_layout/_index.scss b/packages/eui/src/components/form/form_control_layout/_index.scss index 338d1559451..f5bad883226 100644 --- a/packages/eui/src/components/form/form_control_layout/_index.scss +++ b/packages/eui/src/components/form/form_control_layout/_index.scss @@ -1,4 +1,3 @@ -@import 'form_control_layout'; @import 'form_control_layout_delimited'; @import 'form_control_layout_icons'; @import 'form_control_layout_clear_button'; diff --git a/packages/eui/src/components/form/form_control_layout/_num_icons.test.ts b/packages/eui/src/components/form/form_control_layout/_num_icons.test.ts index 94ead8a1dd7..491dd665eec 100644 --- a/packages/eui/src/components/form/form_control_layout/_num_icons.test.ts +++ b/packages/eui/src/components/form/form_control_layout/_num_icons.test.ts @@ -6,11 +6,7 @@ * Side Public License, v 1. */ -import { - getFormControlClassNameForIconCount, - isRightSideIcon, - getIconAffordanceStyles, -} from './_num_icons'; +import { isRightSideIcon, getIconAffordanceStyles } from './_num_icons'; describe('getIconAffordanceStyles', () => { const noIcons = { @@ -71,46 +67,6 @@ describe('getIconAffordanceStyles', () => { }); }); -describe('getFormControlClassNameForIconCount', () => { - it('should return undefined if object is empty', () => { - const numberClass = getFormControlClassNameForIconCount({}); - expect(numberClass).toEqual(undefined); - }); - - it('should return undefined if all are false', () => { - const numberClass = getFormControlClassNameForIconCount({ - icon: false, - clear: false, - isLoading: false, - isInvalid: false, - isDropdown: false, - }); - expect(numberClass).toEqual(undefined); - }); - - it('should return 2 if 2 are true', () => { - const numberClass = getFormControlClassNameForIconCount({ - icon: false, - clear: true, - isLoading: true, - isInvalid: false, - isDropdown: false, - }); - expect(numberClass).toEqual('euiFormControlLayout--2icons'); - }); - - it('should return 5 if all are true', () => { - const numberClass = getFormControlClassNameForIconCount({ - icon: true, - clear: true, - isLoading: true, - isInvalid: true, - isDropdown: true, - }); - expect(numberClass).toEqual('euiFormControlLayout--5icons'); - }); -}); - describe('isRightSideIcon', () => { it('returns true if side has been set to right', () => { expect(isRightSideIcon({ side: 'right', type: 'warning' })).toEqual(true); diff --git a/packages/eui/src/components/form/form_control_layout/_num_icons.ts b/packages/eui/src/components/form/form_control_layout/_num_icons.ts index 1dad9f03c73..d51c8dc2f4f 100644 --- a/packages/eui/src/components/form/form_control_layout/_num_icons.ts +++ b/packages/eui/src/components/form/form_control_layout/_num_icons.ts @@ -11,41 +11,6 @@ import { type EuiFormControlLayoutIconsProps, } from './form_control_layout_icons'; -/** - * The `getFormControlClassNameForIconCount` function helps setup the className appendum - * depending on the form control's current settings/state. - * - * @param icon {boolean} Does it contain a static icon like arrowDown - * @param clear {boolean} Is it currently clearable - * @param isLoading {boolean} Is is currently loading - * @param isInvalid {boolean} It is currently invalid - * @param isDropdown {boolean} It is as dropdown - * @returns {string | undefined} Returns the string to append to the base className of the form control; or `undefined` if all evaluate to false - */ - -export type _EuiFormControlLayoutNumIcons = { - icon?: boolean; - clear?: boolean; - isLoading?: boolean; - isInvalid?: boolean; - isDropdown?: boolean; -}; - -export const getFormControlClassNameForIconCount = ({ - icon, - clear, - isLoading, - isInvalid, - isDropdown, -}: _EuiFormControlLayoutNumIcons): string | undefined => { - const numIcons = [icon, clear, isInvalid, isLoading, isDropdown].filter( - (item) => item === true - ).length; - - // This className is also specifically used in `src/global_styling/mixins/_form.scss` - return numIcons > 0 ? `euiFormControlLayout--${numIcons}icons` : undefined; -}; - export const isRightSideIcon = ( icon?: EuiFormControlLayoutIconsProps['icon'] ): boolean => { 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 5a1b5102e4e..acb511250a1 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 @@ -11,8 +11,14 @@ import type { Meta, StoryObj } from '@storybook/react'; import { hideStorybookControls } from '../../../../.storybook/utils'; -import { EuiIcon } from '../../icon'; +import { useIsWithinMinBreakpoint } from '../../../services'; +import { EuiForm } from '../form'; import { EuiFieldText } from '../field_text'; +import { EuiIcon } from '../../icon'; +import { EuiIconTip, EuiToolTip } from '../../tool_tip'; +import { EuiPopover } from '../../popover'; +import { EuiButtonEmpty, EuiButtonIcon } from '../../button'; +import { EuiText } from '../../text'; import { EuiFormControlLayout, @@ -62,10 +68,19 @@ export default meta; type Story = StoryObj; export const Playground: Story = { - args: { - children: ( - - ), + // Several props need to be manually applied to the child EuiFieldText as well to render correctly + render: ({ children, ...args }) => { + const { readOnly, isDisabled, fullWidth, compressed } = args; + const childProps = { readOnly, isDisabled, fullWidth, compressed }; + return ( + + + + ); }, }; @@ -91,3 +106,153 @@ export const IconShape: Story = { }, }, }; + +export const AppendPrepend: Story = { + tags: ['vrt-only'], + render: function Render() { + const isDesktop = useIsWithinMinBreakpoint('xl'); + return ( + + + Tooltip + + } + /> + + Popover + + } + closePopover={() => {}} + /> + } + append={ + + Tooltip + + } + /> + + + + } + append={ + + Tooltip + + } + /> + } + append={} + /> + , + , + ]} + append={[ + } + closePopover={() => {}} + />, + , + ]} + /> + + } + closePopover={() => {}} + /> + } + prepend={ + + + + } + /> + , 'String']} + append={[ + 'String', + , + ]} + /> + + + , + ]} + append={[ + } + closePopover={() => {}} + />, + 'String', + ]} + /> + , + ]} + /> + } + closePopover={() => {}} + />, + ]} + /> + } + closePopover={() => {}} + /> + } + append="String" + /> + + ); + }, +}; 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 new file mode 100644 index 00000000000..dbe9ae52c5c --- /dev/null +++ b/packages/eui/src/components/form/form_control_layout/form_control_layout.styles.ts @@ -0,0 +1,184 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { css } from '@emotion/react'; + +import { UseEuiTheme } from '../../../services'; +import { + euiTextTruncate, + logicalCSS, + mathWithUnits, +} from '../../../global_styling'; + +import { euiFormControlDefaultShadow, euiFormVariables } from '../form.styles'; + +export const euiFormControlLayoutStyles = (euiThemeContext: UseEuiTheme) => { + const { euiTheme } = euiThemeContext; + const form = euiFormVariables(euiThemeContext); + + return { + euiFormControlLayout: css``, + // Skip the css`` on the default height to avoid generating a className + uncompressed: ` + ${logicalCSS('height', form.controlHeight)} + `, + compressed: css` + ${logicalCSS('height', form.controlCompressedHeight)} + `, + // Skip the css`` on the default width to avoid generating a className + formWidth: ` + ${logicalCSS('max-width', form.maxWidth)} + ${logicalCSS('width', '100%')} + `, + fullWidth: css` + ${logicalCSS('max-width', '100%')} + ${logicalCSS('width', '100%')} + `, + + group: { + group: css` + display: flex; + align-items: stretch; + + /* Account for inner box-shadow style border */ + padding: ${euiTheme.border.width.thin}; + ${euiFormControlDefaultShadow(euiThemeContext, { + withBackground: false, + })} + background-color: ${form.backgroundColor}; + /* Keep backgrounds inside border radius */ + overflow: hidden; + + /* Force the stretch of any children so they expand the full height of the control */ + > * { + ${logicalCSS('height', '100%')} + } + `, + // Skipping css`` to avoid repeated compressed/uncompressed classNames + uncompressed: ` + border-radius: ${form.controlBorderRadius}; + `, + compressed: ` + border-radius: ${form.controlCompressedBorderRadius}; + `, + }, + + children: { + euiFormControlLayout__childrenWrapper: css` + position: relative; + `, + inGroup: css` + flex-grow: 1; + overflow: hidden; /* Ensure truncation works in children elements */ + `, + prependOnly: css` + ${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')} + `, + }, + }; +}; + +export const euiFormControlLayoutSideNodeStyles = ( + euiThemeContext: UseEuiTheme +) => { + const { euiTheme } = euiThemeContext; + const form = euiFormVariables(euiThemeContext); + + const uncompressedHeight = mathWithUnits( + [form.controlHeight, euiTheme.border.width.thin], + (x, y) => x - y * 2 + ); + const compressedHeight = mathWithUnits( + [form.controlCompressedHeight, euiTheme.border.width.thin], + (x, y) => x - y * 2 + ); + + const buttons = '*:is(.euiButton, .euiButtonEmpty, .euiButtonIcon)'; + const text = '*:is(.euiFormLabel, .euiText)'; + + return { + euiFormControlLayout__side: css` + ${logicalCSS('height', '100%')} + ${euiTextTruncate('50%')} + flex-shrink: 0; + display: flex; + align-items: center; + gap: ${euiTheme.size.xs}; + background-color: ${form.appendPrependBackground}; + + /* Overrides */ + + ${buttons} { + /* 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}; + } + } + + ${text} { + /* Override .euiFormLabel CSS */ + cursor: default !important; /* stylelint-disable-line declaration-no-important */ + } + + /* Account for button padding when spacing children */ + /* Second > * selector accounts for buttons inside popover & tooltip wrappers */ + + &: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)} + } + `, + append: css` + ${logicalCSS('border-top-right-radius', 'inherit')} + ${logicalCSS('border-bottom-right-radius', 'inherit')} + `, + prepend: css` + ${logicalCSS('border-top-left-radius', 'inherit')} + ${logicalCSS('border-bottom-left-radius', 'inherit')} + `, + uncompressed: ` + ${text} { + ${logicalCSS('padding-horizontal', euiTheme.size.xs)} + line-height: ${uncompressedHeight}; + } + + ${buttons} { + ${logicalCSS('height', uncompressedHeight)} + } + + .euiButtonIcon { + ${logicalCSS('width', euiTheme.size.xl)} + } + `, + compressed: css` + ${text} { + ${logicalCSS('padding-horizontal', euiTheme.size.xxs)} + line-height: ${compressedHeight}; + } + + ${buttons} { + ${logicalCSS('height', compressedHeight)} + } + + .euiButtonIcon { + ${logicalCSS('width', euiTheme.size.xl)} + } + `, + }; +}; diff --git a/packages/eui/src/components/form/form_control_layout/form_control_layout.test.tsx b/packages/eui/src/components/form/form_control_layout/form_control_layout.test.tsx index bd62efbac96..ab0cf5bc8ac 100644 --- a/packages/eui/src/components/form/form_control_layout/form_control_layout.test.tsx +++ b/packages/eui/src/components/form/form_control_layout/form_control_layout.test.tsx @@ -7,9 +7,9 @@ */ import React from 'react'; -import { mount } from 'enzyme'; - -import { findTestSubject, requiredProps } from '../../../test'; +import { fireEvent } from '@testing-library/react'; +import { requiredProps } from '../../../test'; +import { shouldRenderCustomStyles } from '../../../test/internal'; import { render } from '../../../test/rtl'; import { EuiForm } from '../form'; @@ -22,6 +22,8 @@ jest.mock('../../', () => ({ })); describe('EuiFormControlLayout', () => { + shouldRenderCustomStyles(); + test('is rendered', () => { const { container } = render( @@ -77,11 +79,12 @@ describe('EuiFormControlLayout', () => { 'data-test-subj': 'myIcon', }; - const component = mount(); + const { getByTestSubject } = render( + + ); - const closeButton = findTestSubject(component, 'myIcon'); - closeButton.simulate('click'); - expect(icon.onClick).toBeCalled(); + fireEvent.click(getByTestSubject('myIcon')); + expect(icon.onClick).toHaveBeenCalled(); }); }); }); @@ -106,11 +109,12 @@ describe('EuiFormControlLayout', () => { 'data-test-subj': 'clearButton', }; - const component = mount(); + const { getByTestSubject } = render( + + ); - const closeButton = findTestSubject(component, 'clearButton'); - closeButton.simulate('click'); - expect(clear.onClick).toBeCalled(); + fireEvent.click(getByTestSubject('clearButton')); + expect(clear.onClick).toHaveBeenCalled(); }); }); }); @@ -238,7 +242,7 @@ describe('EuiFormControlLayout', () => { const layout = baseElement.querySelector('.euiFormControlLayout'); expect(layout).toBeDefined(); - expect(layout).toHaveClass('euiFormControlLayout--fullWidth'); + expect(layout!.className).toContain('fullWidth'); }); }); }); 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 00b20ab9cca..a1797de2c90 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 @@ -7,24 +7,28 @@ */ import React, { - cloneElement, FunctionComponent, HTMLAttributes, ReactElement, ReactNode, - useCallback, useMemo, } from 'react'; import classNames from 'classnames'; +import { useEuiMemoizedStyles } from '../../../services'; +import { CommonProps } from '../../common'; + +import { EuiFormLabel } from '../form_label'; +import { useFormContext } from '../eui_form_context'; import { getIconAffordanceStyles, isRightSideIcon } from './_num_icons'; import { EuiFormControlLayoutIcons, EuiFormControlLayoutIconsProps, } from './form_control_layout_icons'; -import { CommonProps } from '../../common'; -import { EuiFormLabel } from '../form_label'; -import { useFormContext } from '../eui_form_context'; +import { + euiFormControlLayoutStyles, + euiFormControlLayoutSideNodeStyles, +} from './form_control_layout.styles'; type StringOrReactElement = string | ReactElement; type PrependAppendType = StringOrReactElement | StringOrReactElement[]; @@ -95,18 +99,39 @@ export const EuiFormControlLayout: FunctionComponent< ...rest } = props; + const isGroup = !!(prepend || append); + const classes = classNames( 'euiFormControlLayout', { - 'euiFormControlLayout--fullWidth': fullWidth, - 'euiFormControlLayout--compressed': compressed, - 'euiFormControlLayout--readOnly': readOnly, - 'euiFormControlLayout--group': prepend || append, + 'euiFormControlLayout--group': isGroup, 'euiFormControlLayout-isDisabled': isDisabled, + 'euiFormControlLayout-readOnly': readOnly, }, className ); + const styles = useEuiMemoizedStyles(euiFormControlLayoutStyles); + + const cssStyles = [ + styles.euiFormControlLayout, + compressed ? styles.compressed : styles.uncompressed, + fullWidth ? styles.fullWidth : styles.formWidth, + ...(isGroup + ? [ + styles.group.group, + compressed ? styles.group.compressed : styles.group.uncompressed, + ] + : []), + ]; + + const childrenWrapperStyles = [ + styles.children.euiFormControlLayout__childrenWrapper, + isGroup && styles.children.inGroup, + isGroup && !append && styles.children.prependOnly, + isGroup && !prepend && styles.children.appendOnly, + ]; + const hasDropdownIcon = !readOnly && !isDisabled && isDropdown; const hasRightIcon = isRightSideIcon(icon); const hasLeftIcon = icon && !hasRightIcon; @@ -126,14 +151,16 @@ export const EuiFormControlLayout: FunctionComponent< }, [iconsPosition, icon, clear, isInvalid, isLoading, hasDropdownIcon]); return ( -
+
{hasLeftIcon && ( @@ -164,6 +191,7 @@ export const EuiFormControlLayout: FunctionComponent< side="append" nodes={append} inputId={inputId} + compressed={compressed} />
); @@ -176,30 +204,27 @@ const EuiFormControlLayoutSideNodes: FunctionComponent<{ side: 'append' | 'prepend'; nodes?: PrependAppendType; // For some bizarre reason if you make this the `children` prop instead, React doesn't properly override cloned keys :| inputId?: string; -}> = ({ side, nodes, inputId }) => { + compressed?: boolean; +}> = ({ side, nodes, inputId, compressed }) => { const className = `euiFormControlLayout__${side}`; - - const renderFormLabel = useCallback( - (label: string) => ( - - {label} - - ), - [inputId, className] - ); + const styles = useEuiMemoizedStyles(euiFormControlLayoutSideNodeStyles); + const cssStyles = [ + styles.euiFormControlLayout__side, + styles[side], + compressed ? styles.compressed : styles.uncompressed, + ]; if (!nodes) return null; return ( - <> - {React.Children.map(nodes, (node, index) => - typeof node === 'string' - ? renderFormLabel(node) - : cloneElement(node, { - className: classNames(className, node.props.className), - key: index, - }) +
+ {React.Children.map(nodes, (node) => + typeof node === 'string' ? ( + {node} + ) : ( + node + ) )} - +
); }; diff --git a/packages/eui/src/components/form/range/__snapshots__/dual_range.test.tsx.snap b/packages/eui/src/components/form/range/__snapshots__/dual_range.test.tsx.snap index 8857bc5c0c2..e5c8677c753 100644 --- a/packages/eui/src/components/form/range/__snapshots__/dual_range.test.tsx.snap +++ b/packages/eui/src/components/form/range/__snapshots__/dual_range.test.tsx.snap @@ -149,10 +149,10 @@ exports[`EuiDualRange props maxInputProps allows overriding default props 1`] = class="euiRangeWrapper euiDualRange emotion-euiRangeWrapper-euiDualRange" >
- + +
`; @@ -135,10 +143,10 @@ exports[`EuiSuperSelect renders 1`] = ` value="" />