Skip to main content
Elastic UI
Elastic UI
ComponentsPatternsContentData visualization
EUI ChangelogGitHubFigma
  • Guidelines
    • Getting started
    • Accessibility
    • Writing
    • Testing
  • Theming
    • Theme provider
    • Color mode
    • High contrast mode
    • Borders
    • Breakpoints
    • Colors
    • Sizing
    • Typography
  • Templates
    • Page template
    • Sitewide search
  • Layout
    • Accordion
    • Bottom bar
    • Flex
    • Flyout
    • Header
    • Horizontal rule
    • Modal
    • Page components
    • Page header
    • Panel
    • Popover
    • Resizable container
    • Spacer
  • Navigation
    • Breadcrumbs
    • Buttons
    • Collapsible nav
    • Context menu
    • Facet
    • Key pad menu
    • Link
    • Pagination
    • Side nav
    • Steps
    • Tabs
    • Tree view
  • Display
    • Aspect ratio
    • Avatar
    • Badge
    • Callout
    • Card
    • Comment list
    • Description list
    • Drag and drop
    • Empty prompt
    • Health
    • Icons
    • Image
    • List group
    • Loading
    • Progress
    • Skeleton
    • Stat
    • Text
    • Timeline
    • Title
    • Toast
    • Tooltip
    • Tour
  • Forms
    • Form controls
    • Form layouts
      • Guidelines
      • Form rows
      • Described form groups
      • Compressed forms
      • Form labels
      • Prepends and appends
      • Form control layouts
    • Form validation
    • Text controls
    • Numeric controls
    • Selection controls
    • Search and filter controls
    • Date and time controls
    • Other controls
  • Tabular content
    • Tables
    • Data grid
  • Editors & Syntax
    • Code
    • Markdown
  • Utilities
    • Accessibility
    • Auto sizer
    • Beacon
    • Color palettes
    • Copy
    • CSS utility classes
    • Delay
    • Error boundary
    • Focus trap
    • Highlight and mark
    • HTML ID generator
    • I18n
    • Inner text
    • Mutation observer
    • Outside click detector
    • Overlay mask
    • Portal
    • Pretty duration
    • Provider
    • Resize observer
    • Scroll
    • Text diff
    • Text truncation
    • Window events
  • EUI
  • Forms
  • Form layouts
  • Form control layouts
Building block only

Form control layout

EuiFormControlLayout is generally used internally to consistently style form controls, but it’s published in case you want to create your own form control which matches those of EUI. The examples below demonstrate its various states and utilize the

controlOnly and type props of EuiFieldText as the wrapped control.

Loading...

Delimited layout

Like EuiFormControlLayout, EuiFormControlLayoutDelimited is generally used internally to consistently style form controls. This component specifically lays out two form controls with center text or icon.

It takes all of the same props as EuiFormControlLayout except for children. Instead it requires both a single startControl and a single endControl. You can optionally change the center content to a different string or node (like an EuiIcon).

Loading...

Props

EuiFormControlLayout

Extends HTMLAttributes
𐘂𐘂
✄𐘗✄𐘗
Prop
↦
Description and type
↦
Default value
↵
Prop
className#
↦
Description and type
Type: string
↦
Default value
↵
Prop
aria-label#
↦
Description and type

Defines a string value that labels the current element.
@see aria-labelledby.

Type: string
↦
Default value
↵
Prop
data-test-subj#
↦
Description and type
Type: string
↦
Default value
↵
Prop
css#
↦
Description and type
Type: Interpolation<Theme>
↦
Default value
↵
Prop
prepend#
↦
Description and type

Creates an input group with element(s) coming before children.
string | ReactElement or an array of these

Type: PrependAppendType
↦
Default value
↵
Prop
append#
↦
Description and type

Creates an input group with element(s) coming after children.
string | ReactElement or an array of these

Type: PrependAppendType
↦
Default value
↵
Prop
icon#
↦
Description and type
Type: IconType | IconShape
↦
Default value
↵
Prop
iconsPosition#
↦
Description and type

Determines whether icons are absolutely or statically rendered. For single inputs,
absolute rendering is typically preferred.

Type: "absolute" | "static"
↦
Default value
absolute
↵
Prop
clear#
↦
Description and type
Type: EuiFormControlLayoutClearButtonProps
↦
Default value
↵
Prop
fullWidth#
↦
Description and type

Expand to fill 100% of the parent.
Defaults to fullWidth prop of <EuiForm>.

Type: boolean
↦
Default value
false
↵
Prop
isLoading#
↦
Description and type
Type: boolean
↦
Default value
↵
Prop
isDisabled#
↦
Description and type
Type: boolean
↦
Default value
↵
Prop
compressed#
↦
Description and type
Type: boolean
↦
Default value
↵
Prop
readOnly#
↦
Description and type
Type: boolean
↦
Default value
↵
Prop
isInvalid#
↦
Description and type
Type: boolean
↦
Default value
↵
Prop
isDropdown#
↦
Description and type

Controls the adding of and visibility of a down arrow icon

Type: boolean
↦
Default value
↵
Prop
inputId#
↦
Description and type

Connects the prepend and append labels to the input

Type: string
↦
Default value
↵
Prop
wrapperProps#
↦
Description and type

Allows passing optional additional props to .euiFormControlLayout__childrenWrapper

Type: CommonProps & HTMLAttributes<HTMLDivElement>
↦
Default value
↵
Prop
isDelimited#
↦
Description and type
Type: boolean
↦
Default value
↵
𐘂𐘂

EuiFormControlLayoutDelimited

Extends HTMLAttributes
𐘂𐘂
✄𐘗✄𐘗
Prop
↦
Description and type
↦
Default value
↵
Prop
startControl#
↦
Description and type

Left side control

Type: ReactElement
↦
Default value
Required
↵
Prop
endControl#
↦
Description and type

Right side control

Type: ReactElement
↦
Default value
Required
↵
Prop
className#
↦
Description and type
Type: string
↦
Default value
↵
Prop
aria-label#
↦
Description and type

Defines a string value that labels the current element.
@see aria-labelledby.

Type: string
↦
Default value
↵
Prop
data-test-subj#
↦
Description and type
Type: string
↦
Default value
↵
Prop
css#
↦
Description and type
Type: Interpolation<Theme>
↦
Default value
↵
Prop
prepend#
↦
Description and type

Creates an input group with element(s) coming before children.
string | ReactElement or an array of these

Type: PrependAppendType
↦
Default value
↵
Prop
append#
↦
Description and type

Creates an input group with element(s) coming after children.
string | ReactElement or an array of these

Type: PrependAppendType
↦
Default value
↵
Prop
icon#
↦
Description and type
Type: IconType | IconShape
↦
Default value
↵
Prop
iconsPosition#
↦
Description and type

Determines whether icons are absolutely or statically rendered. For single inputs,
absolute rendering is typically preferred.

Type: "absolute" | "static"
↦
Default value
absolute
↵
Prop
clear#
↦
Description and type
Type: EuiFormControlLayoutClearButtonProps
↦
Default value
↵
Prop
fullWidth#
↦
Description and type

Expand to fill 100% of the parent.
Defaults to fullWidth prop of <EuiForm>.

Type: boolean
↦
Default value
false
↵
Prop
isLoading#
↦
Description and type
Type: boolean
↦
Default value
↵
Prop
isDisabled#
↦
Description and type
Type: boolean
↦
Default value
↵
Prop
compressed#
↦
Description and type
Type: boolean
↦
Default value
↵
Prop
readOnly#
↦
Description and type
Type: boolean
↦
Default value
↵
Prop
isInvalid#
↦
Description and type
Type: boolean
↦
Default value
↵
Prop
isDropdown#
↦
Description and type

Controls the adding of and visibility of a down arrow icon

Type: boolean
↦
Default value
↵
Prop
inputId#
↦
Description and type

Connects the prepend and append labels to the input

Type: string
↦
Default value
↵
Prop
wrapperProps#
↦
Description and type

Allows passing optional additional props to .euiFormControlLayout__childrenWrapper

Type: CommonProps & HTMLAttributes<HTMLDivElement>
↦
Default value
↵
Prop
delimiter#
↦
Description and type

The center content. Accepts a string to be wrapped in a subdued EuiText
or a single ReactElement

Type: ReactNode
↦
Default value
↵
𐘂𐘂
Edit this page

Previous
Prepends and appends
Next
Form validation
  • Delimited layout
  • Props
EUI is dual-licensed under Elastic License 2.0 and Server Side Public License, v 1 | Crafted with ❤ by Elastic