@wordpress/block-editor
Version:
47 lines (41 loc) • 1.08 kB
JavaScript
import { createElement, Fragment } from "@wordpress/element";
/**
* WordPress dependencies
*/
import { MenuItem, __experimentalText as Text } from '@wordpress/components';
import { check } from '@wordpress/icons';
/**
* Internal dependencies
*/
import useStylesForBlocks from './use-styles-for-block';
const noop = () => {};
export default function BlockStylesMenuItems({
clientId,
onSwitch = noop
}) {
const {
onSelect,
stylesToRender,
activeStyle
} = useStylesForBlocks({
clientId,
onSwitch
});
if (!stylesToRender || stylesToRender.length === 0) {
return null;
}
return createElement(Fragment, null, stylesToRender.map(style => {
const menuItemText = style.label || style.name;
return createElement(MenuItem, {
key: style.name,
icon: activeStyle.name === style.name ? check : null,
onClick: () => onSelect(style)
}, createElement(Text, {
as: "span",
limit: 18,
ellipsizeMode: "tail",
truncate: true
}, menuItemText));
}));
}
//# sourceMappingURL=menu-items.js.map