v0.5.1

User Menu

Account dropdown built from Avatar and Dropdown Menu.

Installation

npx paubha@latest add user-menu

Usage

import { UserMenu, UserMenuDivider } from "@/components/ui/user-menu";
import { Avatar } from "@/components/ui/avatar";
import { DropdownMenuItem } from "@/components/ui/dropdown-menu";
import { LogOut, Settings, User } from "lucide-react";

<UserMenu
  avatar={<Avatar initials="SL" alt="Sofia Lindqvist" size="md" />}
  name="Sofia Lindqvist"
  email="sofia@example.com"
>
  <DropdownMenuItem leadingIcon={<User />}>Profile</DropdownMenuItem>
  <DropdownMenuItem leadingIcon={<Settings />}>Settings</DropdownMenuItem>
  <UserMenuDivider />
  <DropdownMenuItem leadingIcon={<LogOut />}>Sign out</DropdownMenuItem>
</UserMenu>

Props

PropTypeDescription
avatarReactNodeAvatar shown in the 48px trigger.
labelstringAccessible name for the trigger.
nameReactNodeAccount name in the menu header.
emailReactNodeEmail under the name.
disabledbooleanDisables the trigger; avatar dims to 35%.