npm.io
0.2.0-alpha.5 • Published 6h ago

@fluixi-ui/sidenav

Licence
MIT
Version
0.2.0-alpha.5
Deps
4
Size
85 kB
Vulns
0
Weekly
0

Fluixi

@fluixi-ui/sidenav

A persistent, collapsible side navigation rail.

License: MIT TypeScript Framework


A headless side navigation that lives in your layout (not modal — for a modal sheet use @fluixi-ui/drawer). It can collapse to an icon rail. Links are polymorphic (as) for router integration; put each label in a <span data-sidenav-label> so it hides cleanly when collapsed.

import {
  Sidenav, SidenavHeader, SidenavNav, SidenavItem, SidenavLink,
  SidenavGroup, SidenavGroupLabel, SidenavFooter, SidenavTrigger,
} from '@fluixi-ui/sidenav';

<Sidenav>
  <SidenavHeader>Acme</SidenavHeader>
  <SidenavNav>
    <SidenavGroup>
      <SidenavGroupLabel>Workspace</SidenavGroupLabel>
      <SidenavItem>
        <SidenavLink href="/" active>
          <HomeIcon /> <span data-sidenav-label>Home</span>
        </SidenavLink>
      </SidenavItem>
      <SidenavItem>
        <SidenavLink href="/settings">
          <CogIcon /> <span data-sidenav-label>Settings</span>
        </SidenavLink>
      </SidenavItem>
    </SidenavGroup>
  </SidenavNav>
  <SidenavFooter>
    <SidenavTrigger />
  </SidenavFooter>
</Sidenav>

Props (Sidenav)

  • collapsed / defaultCollapsed / onCollapsedChange — controlled or uncontrolled icon-rail state.
  • sideleft (default) | right; sets the divider edge.
  • label — accessible name for the landmark (default Sidebar).

Parts

Part Description
Sidenav The <nav> rail. Owns collapse state; data-collapsed, data-side.
SidenavHeader / SidenavFooter Top and bottom regions.
SidenavNav The <ul> list of items.
SidenavItem An <li> wrapping a link.
SidenavLink A navigable link; active sets aria-current="page". Pass as for a router link.
SidenavGroup / SidenavGroupLabel A titled section; the label hides when collapsed.
SidenavTrigger Toggles the collapsed state.

Part of the Fluixi UI component library. Made with by the Fluixi team.