diff --git a/packages/twenty-ui/src/navigation/menu/menu-item/components/MenuItemMultiSelectAvatar.tsx b/packages/twenty-ui/src/navigation/menu/menu-item/components/MenuItemMultiSelectAvatar.tsx
index 8692468642..27ca8cff31 100644
--- a/packages/twenty-ui/src/navigation/menu/menu-item/components/MenuItemMultiSelectAvatar.tsx
+++ b/packages/twenty-ui/src/navigation/menu/menu-item/components/MenuItemMultiSelectAvatar.tsx
@@ -6,6 +6,7 @@ import { Checkbox } from '@ui/input/components/Checkbox';
import {
StyledMenuItemBase,
StyledMenuItemLabel,
+ StyledMenuItemLabelLight,
StyledMenuItemLeftContent,
} from '../internals/components/StyledMenuItemBase';
@@ -17,11 +18,19 @@ const StyledLeftContentWithCheckboxContainer = styled.div`
width: 100%;
`;
+const StyledTextContainer = styled.div`
+ display: flex;
+ align-items: center;
+ flex: 1 0 0;
+ gap: ${({ theme }) => theme.spacing(1)};
+`;
+
type MenuItemMultiSelectAvatarProps = {
avatar?: ReactNode;
selected: boolean;
isKeySelected?: boolean;
text?: string;
+ contextualText?: string;
className?: string;
onSelectChange?: (selected: boolean) => void;
};
@@ -30,6 +39,7 @@ export const MenuItemMultiSelectAvatar = ({
avatar,
text,
selected,
+ contextualText,
className,
isKeySelected,
onSelectChange,
@@ -48,9 +58,19 @@ export const MenuItemMultiSelectAvatar = ({
{avatar}
-
-
-
+
+
+
+
+ {contextualText && (
+ <>
+ ·
+
+
+
+ >
+ )}
+
diff --git a/packages/twenty-ui/src/navigation/menu/menu-item/components/MenuItemSelectAvatar.tsx b/packages/twenty-ui/src/navigation/menu/menu-item/components/MenuItemSelectAvatar.tsx
index 07b57128c6..875e3819b4 100644
--- a/packages/twenty-ui/src/navigation/menu/menu-item/components/MenuItemSelectAvatar.tsx
+++ b/packages/twenty-ui/src/navigation/menu/menu-item/components/MenuItemSelectAvatar.tsx
@@ -4,9 +4,11 @@ import { type ReactNode } from 'react';
import {
StyledMenuItemIconCheck,
StyledMenuItemLabel,
+ StyledMenuItemLabelLight,
StyledMenuItemLeftContent,
} from '../internals/components/StyledMenuItemBase';
+import styled from '@emotion/styled';
import { OverflowingTextWithTooltip } from '@ui/display';
import { StyledMenuItemSelect } from './MenuItemSelect';
@@ -14,6 +16,7 @@ type MenuItemSelectAvatarProps = {
avatar?: ReactNode;
selected: boolean;
text: string;
+ contextualText?: string;
className?: string;
onClick?: (event?: React.MouseEvent) => void;
disabled?: boolean;
@@ -21,9 +24,17 @@ type MenuItemSelectAvatarProps = {
testId?: string;
};
+const StyledTextContainer = styled.div`
+ display: flex;
+ align-items: center;
+ flex: 1 0 0;
+ gap: ${({ theme }) => theme.spacing(1)};
+`;
+
export const MenuItemSelectAvatar = ({
avatar,
text,
+ contextualText,
selected,
className,
onClick,
@@ -46,9 +57,19 @@ export const MenuItemSelectAvatar = ({
>
{avatar}
-
-
-
+
+
+
+
+ {contextualText && (
+ <>
+ ·
+
+
+
+ >
+ )}
+
{selected && }
diff --git a/packages/twenty-ui/src/navigation/menu/menu-item/components/__stories__/MenuItemMultiSelectAvatar.stories.tsx b/packages/twenty-ui/src/navigation/menu/menu-item/components/__stories__/MenuItemMultiSelectAvatar.stories.tsx
index 7d68bb9ab0..6b05007ea8 100644
--- a/packages/twenty-ui/src/navigation/menu/menu-item/components/__stories__/MenuItemMultiSelectAvatar.stories.tsx
+++ b/packages/twenty-ui/src/navigation/menu/menu-item/components/__stories__/MenuItemMultiSelectAvatar.stories.tsx
@@ -24,6 +24,7 @@ type Story = StoryObj;
export const Default: Story = {
args: {
text: 'First option',
+ contextualText: 'Contextual text',
avatar: ,
},
decorators: [ComponentDecorator, RecoilRootDecorator],
diff --git a/packages/twenty-ui/src/navigation/menu/menu-item/components/__stories__/MenuItemSelectAvatar.stories.tsx b/packages/twenty-ui/src/navigation/menu/menu-item/components/__stories__/MenuItemSelectAvatar.stories.tsx
index c172c31db4..6ff2411b91 100644
--- a/packages/twenty-ui/src/navigation/menu/menu-item/components/__stories__/MenuItemSelectAvatar.stories.tsx
+++ b/packages/twenty-ui/src/navigation/menu/menu-item/components/__stories__/MenuItemSelectAvatar.stories.tsx
@@ -23,6 +23,7 @@ type Story = StoryObj;
export const Default: Story = {
args: {
text: 'First option',
+ contextualText: 'Contextual text',
avatar: ,
},
argTypes: {
diff --git a/packages/twenty-ui/src/navigation/menu/menu-item/internals/components/StyledMenuItemBase.tsx b/packages/twenty-ui/src/navigation/menu/menu-item/internals/components/StyledMenuItemBase.tsx
index e07e1f4de8..36df7e3163 100644
--- a/packages/twenty-ui/src/navigation/menu/menu-item/internals/components/StyledMenuItemBase.tsx
+++ b/packages/twenty-ui/src/navigation/menu/menu-item/internals/components/StyledMenuItemBase.tsx
@@ -96,6 +96,10 @@ export const StyledMenuItemLabel = styled.div`
white-space: nowrap;
`;
+export const StyledMenuItemLabelLight = styled(StyledMenuItemLabel)`
+ color: ${({ theme }) => theme.font.color.light};
+`;
+
export const StyledNoIconFiller = styled.div`
width: ${({ theme }) => theme.spacing(1)};
`;