@wordpress/block-editor
Version:
53 lines (50 loc) • 1.45 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = BlockStylesMenuItems;
var _components = require("@wordpress/components");
var _icons = require("@wordpress/icons");
var _useStylesForBlock = _interopRequireDefault(require("./use-styles-for-block"));
var _jsxRuntime = require("react/jsx-runtime");
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
const noop = () => {};
function BlockStylesMenuItems({
clientId,
onSwitch = noop
}) {
const {
onSelect,
stylesToRender,
activeStyle
} = (0, _useStylesForBlock.default)({
clientId,
onSwitch
});
if (!stylesToRender || stylesToRender.length === 0) {
return null;
}
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
children: stylesToRender.map(style => {
const menuItemText = style.label || style.name;
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuItem, {
icon: activeStyle.name === style.name ? _icons.check : null,
onClick: () => onSelect(style),
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalText, {
as: "span",
limit: 18,
ellipsizeMode: "tail",
truncate: true,
children: menuItemText
})
}, style.name);
})
});
}
//# sourceMappingURL=menu-items.js.map