import { BlockControls } from '@wordpress/block-editor'; import { ToolbarGroup, Dropdown, Button, NavigableMenu, MenuItem, MenuGroup, } from '@wordpress/components'; import { __ } from '@wordpress/i18n'; import { useLanguage } from '../../hooks/useLanguage'; import { AttributesPropsAndSetter, Lang } from '../../types'; import { languages } from '../../util/languages'; export const ToolbarControls = ({ attributes, setAttributes, }: AttributesPropsAndSetter) => { const [language, setLanguage] = useLanguage({ attributes, setAttributes }); return ( ( )} renderToggle={({ isOpen, onToggle }) => ( )} /> ); }; type LanguageSetterAndGetter = { language: Lang; setLanguage: (language: Lang) => void; }; const DropdownLanguageSelect = ({ language, setLanguage, }: LanguageSetterAndGetter) => ( {Object.entries(languages).map(([value, label]) => ( { setLanguage(value as Lang); }}> {label} ))} );