Drawer

A panel that slides in from an edge and keeps the page behind it visible, for work that is a detour rather than a new destination.

Basic

Open the drawer with open and close it in onClose, which fires for the close button, the mask and Esc.

Floating

Set floating to hold the panel off the screen edges with rounded corners, from any placement.

Without dividers

Set divided={false} to remove the lines under the header and above the footer, and the body's top and bottom padding with them.

Flush body

Set flush to remove the body's padding, so an image or a list reaches the panel's edges.

Small

Set small to tighten the header, body and footer padding and step the title and close glyph down, for a narrow panel next to dense content.

Closable placement

Set closable={{ placement: "start" }} to move the close button from the end of the header to before the title.

Resizable

Set resizable to let the reader drag the drawer's inner edge, cap the width with maxSize, and set a minimum inside onResize.

Blurred mask

Set mask={{ blur: true }} to blur the page behind the drawer as well as dimming it.

Button-only close

Set mask={{ closable: false }} and keyboard={false} so only a button closes the drawer, like one holding unsaved work.

Without a mask

Set mask={false} to leave the page behind the drawer visible and usable while the drawer is open.

Extra actions

Put small icon-only text buttons in extra, and end them with a vertical Divider to set them apart from the close button.

Scrollable content

Long content scrolls inside the drawer body while the header and the footer stay in place.

Loading

Set loading to show a skeleton in the body while its data arrives, with the title already in place.

Multi-level

Nest a Drawer inside another to open the next level, which pushes its parent aside, here also as a floating stack with a shorter push distance.

Rendered in place

Set getContainer={false} to render the drawer inside its parent element instead of over the whole page.

Form in a drawer

A single-column Form in a drawer that focuses its first field on open, moves to the first invalid field on a failed submit, and clears its fields when the drawer closes.

In context

The component inside real screens, with the components it usually sits beside.

CRM record

A floating, resizable contact panel with a full screen toggle, previous and next buttons, and tabs for activity, deals, tasks and notes.

Stepped form

A three-step property listing form with Steps at the top, Back on the left of the footer and Cancel and Continue on the right, ending in a preview of the listing.

API Reference

Drawer
Drawer's props.
ResizableConfig
ResizableConfig's props.