@wordpress/block-editor
Version:
46 lines (41 loc) • 1.11 kB
JavaScript
import { createElement, Fragment } from "@wordpress/element";
/**
* WordPress dependencies
*/
import { __ } from '@wordpress/i18n';
import { ToolbarButton, ToolbarGroup } from '@wordpress/components';
import { useReducer } from '@wordpress/element';
import { lock } from '@wordpress/icons';
/**
* Internal dependencies
*/
import BlockLockModal from './modal';
import useBlockLock from './use-block-lock';
export default function BlockLockToolbar({
clientId
}) {
const {
canEdit,
canMove,
canRemove,
canLock
} = useBlockLock(clientId);
const [isModalOpen, toggleModal] = useReducer(isActive => !isActive, false);
if (!canLock) {
return null;
}
if (canEdit && canMove && canRemove) {
return null;
}
return createElement(Fragment, null, createElement(ToolbarGroup, {
className: "block-editor-block-lock-toolbar"
}, createElement(ToolbarButton, {
icon: lock,
label: __('Unlock'),
onClick: toggleModal
})), isModalOpen && createElement(BlockLockModal, {
clientId: clientId,
onClose: toggleModal
}));
}
//# sourceMappingURL=toolbar.js.map