{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "account-menu", "title": "Account Menu", "description": "Generic avatar and identity dropdown shell with consumer-provided menu actions.", "registryDependencies": [ "askyourpolicy/ss-registry/stitch-base", "askyourpolicy/ss-registry/avatar", "askyourpolicy/ss-registry/button", "askyourpolicy/ss-registry/dropdown-menu" ], "files": [ { "path": "src/components/ui/account-menu.tsx", "content": "\"use client\";\n\nimport * as React from \"react\";\nimport { CaretDownIcon } from \"@phosphor-icons/react\";\n\nimport { Avatar, AvatarFallback, AvatarImage } from \"@/components/ui/avatar\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from \"@/components/ui/dropdown-menu\";\nimport { cn } from \"@/lib/utils\";\n\ntype AccountMenuAvatarProps = Omit, \"children\"> & {\n alt?: string;\n fallback: React.ReactNode;\n src?: string;\n};\n\nfunction AccountMenuAvatar({\n alt = \"\",\n className,\n fallback,\n src,\n ...props\n}: AccountMenuAvatarProps) {\n return (\n \n {src ? : null}\n {fallback}\n \n );\n}\n\ntype AccountMenuProps = Omit, \"children\"> & {\n avatar: React.ReactNode;\n children: React.ReactNode;\n contentProps?: Omit, \"children\">;\n description?: React.ReactNode;\n name: React.ReactNode;\n triggerClassName?: string;\n triggerLabel?: string;\n};\n\nfunction AccountMenu({\n avatar,\n children,\n contentProps,\n description,\n name,\n triggerClassName,\n triggerLabel = \"Open account menu\",\n ...props\n}: AccountMenuProps) {\n const { className: contentClassName, ...resolvedContentProps } = contentProps ?? {};\n\n return (\n \n \n }\n >\n {avatar}\n \n {name}\n {description != null ? (\n \n {description}\n \n ) : null}\n \n \n \n\n \n \n \n \n {name}\n \n {description != null ? (\n \n {description}\n \n ) : null}\n \n \n \n {children}\n \n \n );\n}\n\nexport { AccountMenu, AccountMenuAvatar, type AccountMenuAvatarProps, type AccountMenuProps };\n", "type": "registry:ui" } ], "type": "registry:ui" }