{
  "id": "profile-menu",
  "name": "ProfileMenu",
  "kind": "component",
  "status": "stable-reference",
  "summary": "User profile popover opened from the top toolbar avatar. Uses ActionDropdown shell with custom menu content.",
  "sourceRefs": [
    {
      "project": "nodedc_taskmanager",
      "file": "plane-src/apps/web/core/components/workspace/sidebar/user-menu-root.tsx",
      "exports": ["UserMenuRoot"]
    },
    {
      "project": "nodedc_taskmanager",
      "file": "plane-src/packages/ui/src/dropdowns/action-dropdown.tsx",
      "exports": ["ActionDropdown"]
    },
    {
      "project": "nodedc_launcher",
      "file": "src/shared/nodedc-ui/ProfileMenu.tsx",
      "exports": ["NodeDcProfileMenu"]
    },
    {
      "project": "nodedc_launcher",
      "file": "src/widgets/top-bar/TopBar.tsx",
      "functions": ["TopBar profile trigger"]
    }
  ],
  "anatomy": [
    "toolbar avatar trigger",
    "cover image header",
    "centered circular avatar",
    "user name and email",
    "action rows: settings, sign out",
    "optional admin-only action"
  ],
  "visualContract": {
    "menuWidth": "18rem",
    "menuPadding": "0.75rem",
    "coverHeight": "7.25rem",
    "coverRadius": "0.5rem in task manager reference; can be upgraded to token radius.control",
    "rowRadius": "0.9rem",
    "rowHover": "rgba(255,255,255,0.06)"
  },
  "rules": [
    "Profile popover is an ActionDropdown menuContent variant, not a separate dropdown engine.",
    "Avatar trigger stays circular and borderless.",
    "Menu uses DropdownSurface/ActionDropdown stacking rules.",
    "Launcher implementation must keep the profile trigger pill visually identical to Task Manager header."
  ]
}
