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
      • Push flyouts
      • Resizable flyouts
    • 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
    • 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
  • Layout
  • Flyout
  • Resizable flyouts

Resizable flyouts

You can use EuiFlyoutResizable to render a flyout that users can drag with their mouse or use arrow keys to resize. This may be useful for scenarios where the space the user needs can be unpredictable, if content is dynamic. Resizable flyouts allow users to adjust content to better fit their individual screens and workflows.

We strongly recommend setting reasonable numerical

minWidth and maxWidth props based on the flyout content and page content that you can predict.

Loading...

Props

EuiFlyoutResizable

Extends HTMLAttributes
𐘂𐘂
✄𐘗✄𐘗
Prop
↦
Description and type
↦
Default value
↵
Prop
onClose#
↦
Description and type
Type: (event: MouseEvent | KeyboardEvent | TouchEvent) => void
↦
Default value
Required
↵
Prop
size#
↦
Description and type

Defines the width of the panel.
Pass a predefined size of s | m | l, or pass any number/string compatible with the CSS width attribute

Type: Width<string | number>
↦
Default value
m
↵
Prop
style#
↦
Description and type
Type: CSSProperties
↦
Default value
↵
Prop
className#
↦
Description and type
Type: string
↦
Default value
↵
Prop
css#
↦
Description and type
Type: Interpolation<Theme>
↦
Default value
↵
Prop
side#
↦
Description and type

Which side of the window to attach to.
The left option should only be used for navigation.

Type: "left" | "right"
↦
Default value
right
↵
Prop
maxWidth#
↦
Description and type
Type: number
↦
Default value
↵
Prop
minWidth#
↦
Description and type
Type: number
↦
Default value
200
↵
Prop
type#
↦
Description and type

How to display the the flyout in relation to the body content;
push keeps it visible, pushing the <body> content via padding

Type: "push" | "overlay"
↦
Default value
overlay
↵
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
onResize#
↦
Description and type

Optional callback that fires on user resize with the new flyout width

Type: (width: number) => void
↦
Default value
↵
Prop
paddingSize#
↦
Description and type

Customize the padding around the content of the flyout header, body and footer

Type: "s" | "m" | "l" | "none"
↦
Default value
l
↵
Prop
closeButtonProps#
↦
Description and type

Extends EuiButtonIconProps onto the close button

Type: Partial<EuiButtonIconPropsForButton>
↦
Default value
↵
Prop
ownFocus#
↦
Description and type

Adds an EuiOverlayMask and wraps in an EuiPortal

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

Hides the default close button. You must provide another close button somewhere within the flyout.

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

Position of close button.
inside: Floating to just inside the flyout, always top right;
outside: Floating just outside the flyout near the top (side dependent on side). Helpful when the close button may cover other interactable content.

Type: "inside" | "outside"
↦
Default value
inside
↵
Prop
maskProps#
↦
Description and type

Adjustments to the EuiOverlayMask that is added when ownFocus = true

Type: EuiOverlayMaskProps
↦
Default value
↵
Prop
outsideClickCloses#
↦
Description and type

Forces this interaction on the mask overlay or body content.
Defaults depend on ownFocus and type values

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

Named breakpoint (xs through xl) for customizing the minimum window width to enable the push type

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

Enables a slide in animation on push flyouts

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

Object of props passed to EuiFocusTrap.
shards specifies an array of elements that will be considered part of the flyout, preventing the flyout from being closed when clicked.
closeOnMouseup will delay the close callback, allowing time for external toggle buttons to handle close behavior.

Type: Pick<EuiFocusTrapProps, "shards" | "closeOnMouseup">
↦
Default value
↵
Prop
includeFixedHeadersInFocusTrap#
↦
Description and type

By default, EuiFlyout will consider any fixed EuiHeaders that sit alongside or above the EuiFlyout
as part of the flyout's focus trap. This prevents focus fighting with interactive elements
within fixed headers.

Set this to false if you need to disable this behavior for a specific reason.

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

Sets the HTML element for EuiFlyout

Type: "div"
↦
Default value
↵
Prop
ref#
↦
Description and type

Allows getting a ref to the component instance.
Once the component unmounts, React will set ref.current to null
(or call the ref with null if you passed a callback ref).
@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}

Type: LegacyRef<unknown>
↦
Default value
↵
𐘂𐘂
Edit this page

Previous
Push flyouts
Next
Header
  • Props
EUI is dual-licensed under Elastic License 2.0 and Server Side Public License, v 1 | Crafted with ❤ by Elastic