Search for a command to run...
A sidebar variant that collapses to show only icons, enabling space-efficient navigation while maintaining full functionality when expanded.
See the Sidebar component for installation instructions.
| Prop | Type | Value | Description |
|---|---|---|---|
collapsible | string | "icon" | Enables icon collapse mode |
Here is the source code of the example from the preview page:
import AudioWaveform from "lucide-solid/icons/audio-waveform";import BadgeCheck from "lucide-solid/icons/badge-check";import Bell from "lucide-solid/icons/bell";import BookOpen from "lucide-solid/icons/book-open";import Bot from "lucide-solid/icons/bot";import ChevronRight from "lucide-solid/icons/chevron-right";import ChevronsUpDown from "lucide-solid/icons/chevrons-up-down";import Command from "lucide-solid/icons/command";import CreditCard from "lucide-solid/icons/credit-card";import Folder from "lucide-solid/icons/folder";import Forward from "lucide-solid/icons/forward";import Frame from "lucide-solid/icons/frame";import GalleryVerticalEnd from "lucide-solid/icons/gallery-vertical-end";import LogOut from "lucide-solid/icons/log-out";import MapIcon from "lucide-solid/icons/map";import MoreHorizontal from "lucide-solid/icons/ellipsis";import PieChart from "lucide-solid/icons/chart-pie";import Plus from "lucide-solid/icons/plus";import Settings2 from "lucide-solid/icons/settings-2";import Sparkles from "lucide-solid/icons/sparkles";import SquareTerminal from "lucide-solid/icons/square-terminal";import Trash2 from "lucide-solid/icons/trash-2";import type { Component, ComponentProps } from "solid-js";import { createSignal, For, Show } from "solid-js";import { Avatar, AvatarFallback, AvatarImage } from "~/components/ui/avatar";import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator,} from "~/components/ui/breadcrumb";import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "~/components/ui/collapsible";import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger,} from "~/components/ui/dropdown-menu";import { Kbd } from "~/components/ui/kbd";import { Separator } from "~/components/ui/separator";import { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupLabel, SidebarHeader, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuButton, SidebarMenuItem, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarTrigger, useSidebar,} from "~/components/ui/sidebar";export default function SidebarIconExample() { return ( <SidebarProvider> <Sidebar collapsible="icon"> <SidebarHeader> <TeamSwitcher teams={data.teams} /> </SidebarHeader> <SidebarContent> <NavMain items={data.navMain} /> <NavProjects projects={data.projects} /> </SidebarContent> <SidebarFooter> <NavUser user={data.user} /> </SidebarFooter> <SidebarRail /> </Sidebar> <SidebarInset> <header class="flex h-16 shrink-0 items-center gap-2 transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-12"> <div class="flex items-center gap-2 px-4"> <SidebarTrigger class="-ml-1" /> <Separator orientation="vertical" class="mr-2 data-[orientation=vertical]:h-4" /> <Breadcrumb> <BreadcrumbList> <BreadcrumbItem class="hidden md:block"> <BreadcrumbLink href="#">Building Your Application</BreadcrumbLink> </BreadcrumbItem> <BreadcrumbSeparator class="hidden md:block" /> <BreadcrumbItem> <BreadcrumbPage>Data Fetching</BreadcrumbPage> </BreadcrumbItem> </BreadcrumbList> </Breadcrumb> </div> </header> <div class="flex flex-1 flex-col gap-4 p-4 pt-0"> <div class="grid auto-rows-min gap-4 md:grid-cols-3"> <div class="aspect-video rounded-xl bg-muted/50" /> <div class="aspect-video rounded-xl bg-muted/50" /> <div class="aspect-video rounded-xl bg-muted/50" /> </div> <div class="min-h-[100vh] flex-1 rounded-xl bg-muted/50 md:min-h-min" /> </div> </SidebarInset> </SidebarProvider> );}