Sidebar
The Sidebar component provides a responsive navigation panel that transforms into a drawer on smaller screens.
Basic Sidebar
Sidebar
Main Content Area
Implementation
<Layout wlSidebar={200}> <LayoutBody> <Sidebar> <SidebarBody> <Menu vertical> <MenuItem> <Icons icon="solar:home-bold" class="mr-2" /> <Text>Dashboard</Text> </MenuItem> <MenuItem> <Icons icon="solar:user-bold" class="mr-2" /> <Text>Profile</Text> </MenuItem> <MenuItem> <Icons icon="solar:settings-bold" class="mr-2" /> <Text>Settings</Text> </MenuItem> </Menu> </SidebarBody> </Sidebar> <LayoutMain> <!-- Main content --> </LayoutMain> </LayoutBody> </Layout>
Responsive Sidebar
Sidebar
Main Content Area (with sidebar trigger)
Resize browser to see responsive behavior
Implementation
<Layout wlSidebar={200}> <LayoutBody> <Sidebar breakpoint="md"> <SidebarHeader> <Flex class="justify-between items-center p-4"> <Text variant="h6">App Name</Text> </Flex> </SidebarHeader> <SidebarBody> <Menu vertical> <MenuTitle>Navigation</MenuTitle> <MenuItem> <Icons icon="solar:home-bold" class="mr-2" /> <Text>Dashboard</Text> </MenuItem> <MenuItem> <Icons icon="solar:user-bold" class="mr-2" /> <Text>Profile</Text> </MenuItem> <MenuItem> <Icons icon="solar:settings-bold" class="mr-2" /> <Text>Settings</Text> </MenuItem> </Menu> </SidebarBody> </Sidebar> <LayoutMain> <SidebarTrigger placement="left"> <Icons icon="solar:hamburger-menu-bold" /> </SidebarTrigger> <!-- Main content --> </LayoutMain> </LayoutBody> </Layout>
Sidebar with Header and Footer
App Logo
User Profile
Main Content Area
Implementation
<Layout wlSidebar={200}> <LayoutBody> <Sidebar> <SidebarHeader> <Flex class="p-4 border-b"> <Text variant="h6">App Logo</Text> </Flex> </SidebarHeader> <SidebarBody> <Menu vertical> <MenuItem> <Icons icon="solar:home-bold" class="mr-2" /> <Text>Dashboard</Text> </MenuItem> <MenuItem> <Icons icon="solar:user-bold" class="mr-2" /> <Text>Profile</Text> </MenuItem> <MenuItem> <Icons icon="solar:chart-bold" class="mr-2" /> <Text>Analytics</Text> </MenuItem> <MenuItem> <Icons icon="solar:settings-bold" class="mr-2" /> <Text>Settings</Text> </MenuItem> <MenuItem> <Icons icon="solar:chat-round-bold" class="mr-2" /> <Text>Messages</Text> </MenuItem> </Menu> </SidebarBody> <SidebarFooter> <Flex class="p-4 border-t items-center"> <Icons icon="solar:user-circle-bold" class="mr-2" /> <Text>User Profile</Text> </Flex> </SidebarFooter> </Sidebar> <LayoutMain> <!-- Main content --> </LayoutMain> </LayoutBody> </Layout>
Sidebar Props and Configuration
Prop | Description | Example |
---|---|---|
class | Additional CSS classes | class="bg-gray-100" |
placement | Position of the sidebar | placement="left" or placement="right" |
breakpoint | Breakpoint at which sidebar converts to drawer | breakpoint="md" |
hideCloseButton | Whether to hide the close button in drawer mode | hideCloseButton=true |
Responsive Behavior
The Sidebar component automatically transforms into a drawer on smaller screens based on the specified breakpoint.
Available breakpoints are: "sm"
, "md"
, "lg"
, "xl"
, "2xl"
.
When in drawer mode, the sidebar can be toggled using the SidebarTrigger component, which should be placed in your layout.