52 lines
1.7 KiB
JSON
52 lines
1.7 KiB
JSON
{
|
|
"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."
|
|
]
|
|
}
|