Menubar
uiable/menubarFreeComponent
Menubar component.
Live preview
live · rendered by the registry
Rendered by uiable on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://uiable.com/r/menubar.jsonSource
1"use client";23import { ComponentProps } from "react";45import { Menu as MenuPrimitive } from "@base-ui/react/menu";6import { Menubar as MenubarPrimitive } from "@base-ui/react/menubar";78import { cn } from "@/lib/utils";9import {10 DropdownMenu,11 DropdownMenuContent,12 DropdownMenuGroup,13 DropdownMenuItem,14 DropdownMenuLabel,15 DropdownMenuPortal,16 DropdownMenuRadioGroup,17 DropdownMenuSeparator,18 DropdownMenuShortcut,19 DropdownMenuSub,20 DropdownMenuSubContent,21 DropdownMenuSubTrigger,22 DropdownMenuTrigger23} from "@/components/ui/dropdown-menu";24import { CheckIcon } from "lucide-react";2526function Menubar({ className, ...props }: MenubarPrimitive.Props) {27 return (28 <MenubarPrimitive29 data-slot="menubar"30 className={cn(31 "bg-background flex h-10 items-center gap-0.5 rounded-lg border border-border p-3",32 className33 )}34 {...props}35 />36 );37}3839function MenubarMenu({ ...props }: ComponentProps<typeof DropdownMenu>) {40 return <DropdownMenu data-slot="menubar-menu" {...props} />;41}4243function MenubarGroup({44 ...props45}: ComponentProps<typeof DropdownMenuGroup>) {46 return <DropdownMenuGroup data-slot="menubar-group" {...props} />;47}4849function MenubarPortal({50 ...props51}: ComponentProps<typeof DropdownMenuPortal>) {52 return <DropdownMenuPortal data-slot="menubar-portal" {...props} />;53}5455function MenubarTrigger({56 className,57 ...props58}: ComponentProps<typeof DropdownMenuTrigger>) {59 return (60 <DropdownMenuTrigger61 data-slot="menubar-trigger"62 className={cn(63 "hover:bg-background aria-expanded:bg-card aria-expanded:shadow-md flex items-center rounded-lg px-3 py-1 text-base font-medium outline-hidden select-none",64 className65 )}66 {...props}67 />68 );69}7071function MenubarContent({72 className,73 align = "start",74 alignOffset = -4,75 sideOffset = 8,76 ...props77}: ComponentProps<typeof DropdownMenuContent>) {78 return (79 <DropdownMenuContent80 data-slot="menubar-content"81 align={align}82 alignOffset={alignOffset}83 sideOffset={sideOffset}84 className={cn(85// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from uiable
All 712 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | uiable | Components | Free | 2 deps | |
| Alertalert | uiable | Components | Free | 1 dep | |
| Alert Dialogalert-dialog | uiable | Components | Free | 1 dep | |
| Aspect Ratioaspect-ratio | uiable | Components | Free | no deps | |
| Attachmentattachment | uiable | Components | Free | 2 deps | |
| Avataravatar | uiable | Components | Free | 1 dep | |
| Badgebadge | uiable | Components | Free | 2 deps | |
| Breadcrumbbreadcrumb | uiable | Components | Free | 2 deps |
