11import { DotsThreeVertical } from '@phosphor-icons/react' ;
2- import { Menu , type MenuItemProps , NavButton } from '@workflowbuilder/ui' ;
3- import { useMemo } from 'react' ;
2+ import { Menu , type MenuItemProps , MenuTriggerButton } from '@workflowbuilder/ui' ;
3+ import { useMemo , useState } from 'react' ;
44import { useTranslation } from 'react-i18next' ;
55
66import styles from '../../app-bar.module.css' ;
@@ -12,6 +12,7 @@ import { ToggleReadyOnlyMode } from '../toggle-read-only-mode/toggle-read-only-m
1212
1313export function Controls ( ) {
1414 const { t } = useTranslation ( ) ;
15+ const [ isMenuOpen , setIsMenuOpen ] = useState ( false ) ;
1516
1617 // eslint-disable-next-line react-hooks/exhaustive-deps
1718 const items : MenuItemProps [ ] = useMemo ( ( ) => getControlsDotsItems ( ) , [ t ] ) ;
@@ -24,12 +25,10 @@ export function Controls() {
2425 </ OptionalAppBarControls >
2526 { items . length > 0 && (
2627 < div className = { styles [ 'menu-container' ] } >
27- < Menu items = { items } >
28- < NavButton
29- aria-label = { t ( 'tooltips.menu' ) }
30- tooltip = { t ( 'tooltips.menu' ) }
31- prefixIcon = { < DotsThreeVertical /> }
32- />
28+ < Menu items = { items } open = { isMenuOpen } onOpenChange = { setIsMenuOpen } >
29+ < MenuTriggerButton aria-label = { t ( 'tooltips.menu' ) } isOpen = { isMenuOpen } tooltip = { t ( 'tooltips.menu' ) } >
30+ < DotsThreeVertical />
31+ </ MenuTriggerButton >
3332 </ Menu >
3433 </ div >
3534 ) }
0 commit comments