Skip to content

Commit 761acda

Browse files
authored
update actionMenu export (#3179)
1 parent 7bceb00 commit 761acda

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

packages/@react-spectrum/menu/src/ActionMenu.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import intlMessages from '../intl/*.json';
1818
import {Menu} from './Menu';
1919
import {MenuTrigger} from './MenuTrigger';
2020
import More from '@spectrum-icons/workflow/More';
21-
import React from 'react';
21+
import React, {forwardRef, ReactElement} from 'react';
2222
import {SpectrumActionMenuProps} from '@react-types/menu';
2323
import {useMessageFormatter} from '@react-aria/i18n';
2424
import {useSlotProps} from '@react-spectrum/utils';
@@ -57,5 +57,5 @@ function ActionMenu<T extends object>(props: SpectrumActionMenuProps<T>, ref: Fo
5757
/**
5858
* ActionMenu combines an ActionButton with a Menu for simple "more actions" use cases.
5959
*/
60-
let _ActionMenu = React.forwardRef(ActionMenu);
60+
const _ActionMenu = forwardRef(ActionMenu) as <T>(props: SpectrumActionMenuProps<T> & {ref?: FocusableRef<HTMLButtonElement>}) => ReactElement;
6161
export {_ActionMenu as ActionMenu};

packages/@react-spectrum/menu/stories/ActionMenu.stories.tsx

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,3 +170,21 @@ export const WithTooltip = () => (
170170
<Tooltip>Actions</Tooltip>
171171
</TooltipTrigger>
172172
);
173+
174+
export const Dynamic = () => {
175+
const items = [
176+
{key: 'a', label: 'Cut'},
177+
{key: 'a', label: 'Copy'},
178+
{key: 'a', label: 'Paste'}
179+
];
180+
181+
return (
182+
<ActionMenu items={items}>
183+
{(item) => (
184+
<Item key={item.key}>
185+
{item.label}
186+
</Item>
187+
)}
188+
</ActionMenu>
189+
);
190+
};

0 commit comments

Comments
 (0)