import { IconButton, SidebarItem, SidebarItemAvatarWrapper, SidebarItemMenu, SidebarItemTitle } from '@rocket.chat/fuselage'; import type { HTMLAttributes, ReactNode } from 'react'; import { memo } from 'react'; import { useDeferredMenuMount } from './useDeferredMenuMount'; export type MediumProps = { title: ReactNode; titleIcon?: ReactNode; avatar: ReactNode; icon?: ReactNode; actions?: ReactNode; href?: string; unread?: boolean; menu?: () => ReactNode; badges?: ReactNode; selected?: boolean; menuOptions?: any; } & Omit, 'is'>; const Medium = ({ icon, title, titleIcon, avatar, actions, badges, unread, menu, ...props }: MediumProps) => { const { mounted: menuVisibility, requestMount, mountNow } = useDeferredMenuMount(); return ( {avatar} {icon} {title} {titleIcon} {badges} {actions} {menu && ( {menuVisibility ? ( menu() ) : ( )} )} ); }; export default memo(Medium);