Hoppa till huvudinnehåll
Sidomeny, Kollapsbar meny

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, NavigationSection } from '@midas-ds/layout'
import { House, Settings } from 'lucide-react'

export default function App() {
const pathname = usePathname() // or equivalent for your router

return (
<Sidebar title='Navigation'>
<Navigation>
<NavigationSection>
<NavigationItem>
<NavigationLink
href='/'
icon={<House />}
isActive={pathname === '/'}
>
Hem
</NavigationLink>
</NavigationItem>
<NavigationItem>
<NavigationLink
href='/installningar'
icon={<Settings />}
isActive={pathname === '/installningar'}
>
Inställningar
</NavigationLink>
</NavigationItem>
</NavigationSection>
</Navigation>
</Sidebar>
)
}

Sektioner

Använd NavigationSection med title-prop för att dela upp navigeringen i namngivna grupper.

<Sidebar title='Navigation'>
<Navigation>
<NavigationSection title='Huvudmeny'>
<NavigationItem>
<NavigationLink href='/' icon={<House />}>Hem</NavigationLink>
</NavigationItem>
</NavigationSection>
<NavigationSection title='Inställningar'>
<NavigationItem>
<NavigationLink href='/konto' icon={<User />}>Konto</NavigationLink>
</NavigationItem>
<NavigationItem>
<NavigationLink href='/system' icon={<Settings />}>System</NavigationLink>
</NavigationItem>
</NavigationSection>
</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='Navigation'
defaultCollapsed={false}
>
...
</Sidebar>

Kontrollerat

const [isCollapsed, setIsCollapsed] = useState(false)

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

Props

PropTypStandardBeskrivning
titlestringObligatorisk. Namn på sidomenyn, används som tillgängligt landmärkesnamn.
isCollapsedbooleanKontrollerat kollapsläge
defaultCollapsedbooleanfalseStarttillstånd för okontrollerat läge
onCollapseChange(isCollapsed: boolean) => voidCallback vid kollaps/expansion
childrenReactNodeSidomenysinnehåll (typiskt Navigation)
PropTypStandardBeskrivning
titlestringSynlig rubrik för sektionen
childrenReactNodeNavigationItem-element