Skip to main content

Overview

Side panel is a fixed sidebar component for displaying supplementary information, navigation, or related content. Unlike Drawer, it’s not an overlay but a persistent layout element.

Basic usage

Components

SidePanel (Root)

The root container component that creates a fixed sidebar.
'left' | 'right'
default:"'right'"
The side of the screen where the panel is positioned.
string
Additional CSS classes for the panel container.

SidePanel.Header

A header component for displaying the panel title, icon, and action buttons.
string
required
The main title text displayed in the header.
string
Optional description text displayed below the title.
React.ReactNode
An icon element displayed before the title.
Array<React.ReactNode>
An array of action buttons or elements displayed on the right side of the header.

SidePanel.Section

A content section container within the panel.
React.ReactNode
required
The content to display within the section.

Usage examples

Basic side panel

Panel on left side

With icon and description

With action buttons

Multiple sections

Full layout example

Custom styling

Layout considerations

Side panel is designed as a persistent layout element:
  • Not an overlay: Unlike Drawer, it doesn’t float over content
  • Fixed position: Stays in place as a part of the page layout
  • Flex layout: Works well in flexbox or grid layouts
  • Scrollable: The panel content can scroll independently
Typical layout pattern:

Comparison with Drawer

Use SidePanel when:
  • Content should always be visible
  • You need a persistent sidebar layout
  • Information supplements the main content
Use Drawer when:
  • Content should be temporarily displayed
  • User needs to focus on main content
  • Space is limited on smaller screens

Accessibility features

  • Semantic HTML: Uses <aside> element for proper semantics
  • Keyboard navigation: Works with standard keyboard navigation patterns
  • Action buttons: Properly labeled with aria-label attributes
  • Header structure: Clear hierarchy with title and description

Responsive considerations

For responsive layouts, consider conditionally rendering SidePanel on larger screens and Drawer on smaller screens: