File tree Expand file tree Collapse file tree 2 files changed +20
-2
lines changed Expand file tree Collapse file tree 2 files changed +20
-2
lines changed Original file line number Diff line number Diff line change @@ -18,7 +18,7 @@ import intlMessages from '../intl/*.json';
18
18
import { Menu } from './Menu' ;
19
19
import { MenuTrigger } from './MenuTrigger' ;
20
20
import More from '@spectrum-icons/workflow/More' ;
21
- import React from 'react' ;
21
+ import React , { forwardRef , ReactElement } from 'react' ;
22
22
import { SpectrumActionMenuProps } from '@react-types/menu' ;
23
23
import { useMessageFormatter } from '@react-aria/i18n' ;
24
24
import { useSlotProps } from '@react-spectrum/utils' ;
@@ -57,5 +57,5 @@ function ActionMenu<T extends object>(props: SpectrumActionMenuProps<T>, ref: Fo
57
57
/**
58
58
* ActionMenu combines an ActionButton with a Menu for simple "more actions" use cases.
59
59
*/
60
- let _ActionMenu = React . forwardRef ( ActionMenu ) ;
60
+ const _ActionMenu = forwardRef ( ActionMenu ) as < T > ( props : SpectrumActionMenuProps < T > & { ref ?: FocusableRef < HTMLButtonElement > } ) => ReactElement ;
61
61
export { _ActionMenu as ActionMenu } ;
Original file line number Diff line number Diff line change @@ -170,3 +170,21 @@ export const WithTooltip = () => (
170
170
< Tooltip > Actions</ Tooltip >
171
171
</ TooltipTrigger >
172
172
) ;
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
+ } ;
You can’t perform that action at this time.
0 commit comments