Structure

A side panel on the left side of the screen, which lets users navigate the content of a product. It is collapsed and appears overlaid on top of a page and slides in from the side triggered by the hamburguer menu button.

drawer structure

Overlay

When a Drawer is triggered, an overlay is displayed behind it in order to visually differentiate the panel from the rest of the view. Clicking or tapping on the overlay is one way to dismiss the panel.

drawer overlay

Sections and scroll

By design, a drawer's height will never exceed 100% of its container. As such, drawers will not scroll with the page to ensure the header and footer are always accessible to the user.Background (app) is not scrollable while drawer is open (position: fixed).

The header and content are always needed but the fixed footer is optional for each product to decide if they need one.
Header and footer display a shadow after scroll (see Topbar component).

drawer sections

Size

drawer size

Property - elementTokenpxrem
min-height - Menu itemsize $548px-
size - Iconssize 'md'24px-
width - drawer panel-304px-

Margins and paddings

drawer margins and paddings

Property - elementTokenpxrem
Padding left & rightspace $416px1
Padding left - Childrenspace $532px2
Margin right - Iconspace $312px0.75
padding top & bottom - dividerspace $14px0.25
padding top & bottom - containerspace $28px0.5
Padding top & bottom - elements (button, input...)space $28px0.5

drawer card paddings

Property & elementTokenpxrem
Padding - allspace $416px1
Margin-right - Avatarspace $28px0.5

Accordion (Submenu)

When a menu item have children it acts as an accordion. Styles are consistent with regular menu items except when specified.

Drawer accordion menu

Typography

drawer typography

Element - stateFamilyWeightSizeRempx
Group header$body600$sm0.875rem14
Menu item$body400$md1rem16
Menu item (selected, expanded)$body600$md1rem16
User name$body400$md1rem16
User description$body400$sm0.875rem14

Color

drawer color

Property & Element - StateTokenHex
Font color - group header & menu item$grey900#
Font color - menu item selected (all states)$blue800#
Font color - User name$grey1000#
Font color - User description$grey600#

drawer color sections

Property & Element - StateTokenHex
Border-color - Footer (1px top)$grey200#
Border-color - User card (1px bottom)$grey200#

drawer menu items color

Property & Element - StateTokenHex
Bg color - Container$white#
Bg color - Menu item - default, focus$white#
Bg color - Menu item - hover$grey100#
Bg color - Menu item - pressed$grey200#
Bg color - Menu item - Selected default, focus$blue100#
Border-color - Menu item - focus 2px$blue800#
Icon-color - default$grey800#
Icon-color - selected$blue800#
State - elementValue
Disabled - all elements30% opacity
Property - elementToken
Effects shadow - containershadow $2

drawer color menu expanded

Property & Element - StateTokenHex
Bg color - Container$white#
Bg color - Menu item - default, focus$white#
Bg color - Menu item - hover$grey100#
Bg color - Menu item - pressed$grey200#
Bg color - Menu item - Selected default, focus$blue100#
Border-color - Menu item - focus 2px$blue800#
Icon-color$grey800
State - elementValue
Disabled - all elements30% opacity
Property - elementToken
Effects shadow - containershadow $2