@pallas-ui/sidebar
v0.1.0
Published
A flexible and accessible sidebar navigation component built with Radix UI primitives.
Readme
Sidebar
A flexible and accessible sidebar navigation component built with Radix UI primitives.
Features
- Accessible navigation structure
- Customizable separator
- Support for links and current page indicators
- Ellipsis for truncated paths
- TypeScript support
- Follows Radix UI patterns
Installation
npm install @your-scope/sidebarUsage
import Sidebar from '@your-scope/sidebar'
function Example() {
return (
<Sidebar.Provider>
<Sidebar.Root>
<Sidebar.Header></Sidebar.Header>
<Sidebar.Content>
<Sidebar.Group>
<Sidebar.GroupLabel></Sidebar.GroupLabel>
<Sidebar.GroupAction></Sidebar.GroupAction>
<Sidebar.GroupContent>
<Sidebar.Menu>
<Sidebar.MenuItem>
<Sidebar.MenuButton></Sidebar.MenuButton>
</Sidebar.MenuItem>
<Sidebar.MenuItem>
<Sidebar.MenuButton></Sidebar.MenuButton>
</Sidebar.MenuItem>
<Sidebar.MenuItem>
<Sidebar.MenuButton></Sidebar.MenuButton>
<Sidebar.MenuSub>
<Sidebar.MenuSubItem>
<Sidebar.MenuSubButton></Sidebar.MenuSubButton>
</Sidebar.MenuSubItem>
<Sidebar.MenuSubItem>
<Sidebar.MenuSubButton></Sidebar.MenuSubButton>
</Sidebar.MenuSubItem>
<Sidebar.MenuSubItem>
<Sidebar.MenuSubButton></Sidebar.MenuSubButton>
</Sidebar.MenuSubItem>
</Sidebar.MenuSub>
</Sidebar.MenuItem>
</Sidebar.Menu>
</Sidebar.GroupContent>
</Sidebar.Group>
</Sidebar.Content>
<Sidebar.Footer></Sidebar.Footer>
</Sidebar.Root>
</Sidebar.Provider>
)
}Components
Provider, Root, Content, Inset, Header, Footer, Group, GroupAction, GroupContent, GroupLabel, Menu, MenuAction, MenuBadge, MenuButton, MenuItem, MenuSub, MenuSubButton, MenuSubItem, Rail, Separator, Trigger, useSidebar,
Sidebar.Provider- The provider elementSidebar.Root- The root elementSidebar.Inset- The wrapper element for sidebar siblings in 'inset' variantSidebar.Content- The content wrapper elementSidebar.Header- The header wrapper elementSidebar.Footer- The footer wrapper elementSidebar.Group- The group wrapper elementSidebar.GroupLabel- The group label elementSidebar.GroupAction- The group action elementSidebar.GroupContent- The group content wrapper elementSidebar.Menu- The menu wrapper elementSidebar.MenuItem- The menu item elementSidebar.MenuButton- The menu button elementSidebar.MenuAction- The menu action elementSidebar.MenuBadge- The menu badge elementSidebar.MenuSub- The sub menu wrapper elementSidebar.MenuSubItem- The sub menu item elementSidebar.MenuSubButton- The sub menu button elementSidebar.Trigger- The trigger element for toggleSidebar.Rail- The rail element for toggleSidebar.useSidebar- The hook to control toggle manually
Accessibility
The component follows WAI-ARIA patterns for sidebar navigation:
- Uses semantic HTML elements (
ul,li,a) - Includes proper ARIA labels and roles
- Maintains keyboard navigation support
- Provides screen reader friendly structure
License
MIT
