Drawer
Usage
Position
Drawer can be placed on left (default), top, right and bottom. Control drawer position with position
prop:
Customize overlay
Drawer uses Overlay component, you can change overlay opacity, blur and color:
Sizes
Control drawer size by setting size
prop. You can use predefined values (xs, sm, md, lg, xl, full)
or set drawer body size with any valid css value, for example, 200px, 25%, calc(100% - 100px).
Size controls width for left and right positions and height for top and bottom.
Size cannot exceed 100% of width and 100vh of height.
Change transition
Drawer is built with Transition component. You can customize transition, timing function and duration:
Accessibility and usability
By default:
- When drawer is opened focus is trapped inside and document.body scroll is locked in current position
- When user clicks on overlay or presses escape drawer is closed
- Drawer transitions use disabled when user prefers to reduce motion
- Drawer body has
aria-modal
androle="dialog"
attributes
Add aria-labelledby, aria-describedby
and closeButtonLabel
props for better screen readers support:
Initial focus
Drawer uses use-focus-trap to manage focus.
To specify initial focus element add data-autofocus
attribute: