Drawer

A panel that slides in from the side of the screen to display additional content or actions without navigating away from the current view.

Props

position
GoabDrawerPosition
The position of the drawer.
heading
string | ReactNode
The heading text displayed at the top of the drawer. Accepts a string or a ReactNode for custom heading content.
maxSize
GoabDrawerSize
Sets max height on bottom position, sets width on left and right position.
open
boolean
Whether the drawer is open.
testId
string
Sets a data-testid attribute for automated testing.
open
boolean
Whether the drawer is open.
position
GoabDrawerPosition
The position of the drawer.
heading
string | TemplateRef<any>
The heading text displayed at the top of the drawer.
maxSize
GoabDrawerSize
Sets max height on bottom position, sets width on left and right position.
testId
string
Sets a data-testid attribute for automated testing.
close-button-visibility
"visible" | "hidden"
Controls visibility of the close button and header.
Defaults to visible.
heading
string
The heading text displayed at the top of the drawer.
maxsize
DrawerSize
Sets max height on bottom position, sets width on left and right position.
open
boolean true | false
Whether the drawer is open.
Defaults to false.
position
DrawerPosition
The position of the drawer.
testid
string
Sets a data-testid attribute for automated testing.
Defaults to drawer.
version
"1" | "2"
Design system version for styling.
Defaults to 1.

Events

onClose
() => void
Callback fired when the drawer requests to be closed.
onClose
() => void
Emits when the drawer is closed.
_close
CustomEvent<void>

ReactNode

actions
ReactNode
Action elements rendered in the drawer footer slot.
heading
ReactNode
The heading text displayed at the top of the drawer. Accepts a string or a ReactNode for custom heading content.
actions
TemplateRef
Action elements rendered in the drawer footer slot.
heading
TemplateRef
The heading text displayed at the top of the drawer. Accepts a string or a ngTemplate for custom heading content.
actions
slot
Action elements rendered in the drawer footer slot.
heading
slot
The heading text displayed at the top of the drawer. Accepts a string or a ReactNode for custom heading content.
Examples

Add a record using a drawer

Add and edit lots of filters

Types

Use position='right' for forms and detail panels. Use position='bottom' for mobile-friendly bottom sheets.

Other

Don't use a push drawer for tasks that require the user's full attention. Use a regular drawer instead — it blocks interaction with the background and focuses the user on the task.
All GoA Design System components are built to meet WCAG 2.2 AA standards. The following guidelines provide additional context for accessible implementation.

No accessibility-specific guidelines have been documented for this component yet.

View old component docs