Skip to content

Commit 1384c1b

Browse files
Merge pull request #791 from glints-dev/feature/menu-fix-no-title
fix: Menu conditionally render title
2 parents abc410f + cc181b0 commit 1384c1b

5 files changed

Lines changed: 18 additions & 13 deletions

File tree

src/@next/Menu/Menu.stories.tsx

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -75,12 +75,7 @@ const BasicTemplate: Story<MenuProps> = args => {
7575
onClose={() => setPopoverActive(false)}
7676
>
7777
<Popover.Pane>
78-
<Menu
79-
{...args}
80-
title="Basic Menu"
81-
onChange={setSelected}
82-
selectedValues={selected}
83-
/>
78+
<Menu {...args} onChange={setSelected} selectedValues={selected} />
8479
</Popover.Pane>
8580
</Popover>
8681
);
@@ -90,4 +85,5 @@ export const Basic = BasicTemplate.bind({});
9085

9186
Basic.args = {
9287
options,
88+
title: 'Basic Menu',
9389
};

src/@next/Menu/Menu.tsx

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,13 @@ export const Menu = ({
3535

3636
return (
3737
<StyledMenu id={menuId}>
38-
<TitleContainer>
39-
<Typography variant="subtitle2" as="span" color={Neutral.B40}>
40-
{title}
41-
</Typography>
42-
</TitleContainer>
38+
{title && (
39+
<TitleContainer>
40+
<Typography variant="subtitle2" as="span" color={Neutral.B40}>
41+
{title}
42+
</Typography>
43+
</TitleContainer>
44+
)}
4345
{options.map(option => {
4446
const { value, label, disabled, id } = option;
4547
const isSelected = selectedValues?.includes(value);

test/e2e/menu/menu.spec.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
11
import { test, expect } from '@playwright/test';
22
import { MenuPage } from './menuPage';
33

4+
test('Menu - basic without title', async ({ page }) => {
5+
const menuPage = new MenuPage(page);
6+
await menuPage.goto('args=title:');
7+
await expect(menuPage.canvas).toHaveScreenshot(
8+
'menu-basic-without-title.png'
9+
);
10+
});
11+
412
test('Menu - basic with disabled option', async ({ page }) => {
513
const menuPage = new MenuPage(page);
614
await menuPage.goto();
15+
await menuPage.options.first().waitFor();
716
await expect(menuPage.canvas).toHaveScreenshot(
817
'menu-basic-with-disabled-option.png'
918
);
16 KB
Loading

test/e2e/menu/menuPage.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@ import { Locator, Page } from '@playwright/test';
22
import { StoryBookPage } from '../storybookPage';
33

44
export class MenuPage extends StoryBookPage {
5-
readonly menuActivator: Locator;
65
readonly options: Locator;
7-
readonly pendingOption: Locator;
86

97
constructor(page: Page) {
108
super(page, '?path=/story/next-menu--basic');

0 commit comments

Comments
 (0)