Hoppa till huvudinnehåll

Sidebar

En kollapsbar sidomeny som visas på desktop. På mobil döljs den automatiskt — använd MobileMenu i Header för mobilnavigering.

Grundläggande användning

import { Sidebar, Navigation, NavigationItem, NavigationLink } from '@midas-ds/layout'
import { House, Settings } from 'lucide-react'

export default function App() {
return (
<Sidebar title='Min applikation'>
<Navigation>
<NavigationItem>
<NavigationLink
href='/'
icon={<House />}
isActive
>
Hem
</NavigationLink>
</NavigationItem>
<NavigationItem>
<NavigationLink
href='/installningar'
icon={<Settings />}
>
Inställningar
</NavigationLink>
</NavigationItem>
</Navigation>
</Sidebar>
)
}

Kollapsläge

Sidomenyn kan kollapsa ihop till enbart ikoner. Det kan styras antingen okontrollerat (internt tillstånd) eller kontrollerat av föräldrakomponenten.

Okontrollerat

<Sidebar
title='Min applikation'
defaultCollapsed={false}
>
...
</Sidebar>

Kontrollerat

const [isCollapsed, setIsCollapsed] = useState(false)

<Sidebar
title='Min applikation'
isCollapsed={isCollapsed}
onCollapseChange={setIsCollapsed}
>
...
</Sidebar>

Props

PropTypStandardBeskrivning
titlestringTitel som visas högst upp i sidomenyn (dold vid kollaps)
isCollapsedbooleanKontrollerat kollapsläge
defaultCollapsedbooleanfalseStarttillstånd för okontrollerat läge
onCollapseChange(isCollapsed: boolean) => voidCallback vid kollaps/expansion
childrenReactNodeSidomenysinnehåll (typiskt Navigation)