Sidebar

Collapsible app sidebar with sketch divider and toggle. Compose with SidebarLayout and SidebarInset.

Main content beside the sketch sidebar.

<SidebarProvider roughness={1.5}>
  <SidebarLayout>
    <Sidebar>...</Sidebar>
    <SidebarInset>...</SidebarInset>
  </SidebarLayout>
</SidebarProvider>

CLI install

npx doodleui-react add sidebar

Usage

import {
  Sidebar,
  SidebarContent,
  SidebarInset,
  SidebarItem,
  SidebarLayout,
  SidebarProvider,
  SidebarTrigger,
} from "doodleui-react";

<SidebarProvider>
  <SidebarLayout>
    <Sidebar>
      <SidebarTrigger />
      <SidebarContent>
        <SidebarItem active>Home</SidebarItem>
      </SidebarContent>
    </Sidebar>
    <SidebarInset>Main</SidebarInset>
  </SidebarLayout>
</SidebarProvider>

Props

PropTypeDefaultNotes
defaultCollapsedbooleanfalseStart in icon-only collapsed width on SidebarProvider.
defaultOpenbooleantrueWhether Sidebar is visible.
roughnessnumber1.5How wobbly the stroke is. 0 is almost geometric. 3+ is messy.
seednumberprovider / randomLocks the sketch. Omit to follow SketchSeedProvider (Shuffle) or a mount-time random seed.
sketchColorstring#1f1d1aStroke color. Also tints primary/accent fills where relevant.
classNamestringundefinedPassed through to the root element.
styleCSSPropertiesundefinedPassed through to the root element.