@wordpress/block-editor
Version:
45 lines (42 loc) • 1.29 kB
JavaScript
import { createElement } from "@wordpress/element";
/**
* External dependencies
*/
import classnames from 'classnames';
/**
* WordPress dependencies
*/
import { Button, VisuallyHidden } from '@wordpress/components';
import { __experimentalGetBlockLabel as getBlockLabel, getBlockType } from '@wordpress/blocks';
import { __ } from '@wordpress/i18n';
/**
* Internal dependencies
*/
import BlockIcon from '../block-icon';
export default function BlockNavigationListItem({
block,
onClick,
isSelected,
wrapperComponent: WrapperComponent,
children
}) {
const blockType = getBlockType(block.name);
return createElement("div", {
className: "block-editor-block-navigation__list-item"
}, createElement(WrapperComponent, {
className: classnames('block-editor-block-navigation__list-item-button', {
'is-selected': isSelected
}),
onClick: onClick
}, createElement(BlockIcon, {
icon: blockType.icon,
showColors: true
}), children ? children : getBlockLabel(blockType, block.attributes), isSelected && createElement(VisuallyHidden, {
as: "span"
}, __('(selected block)'))));
}
BlockNavigationListItem.defaultProps = {
onClick: () => {},
wrapperComponent: props => createElement(Button, props)
};
//# sourceMappingURL=list-item.js.map