@wordpress/block-editor
Version:
38 lines (34 loc) • 995 B
JavaScript
import { createElement, Fragment } from "@wordpress/element";
/**
* WordPress dependencies
*/
import { __ } from '@wordpress/i18n';
import { useReducer } from '@wordpress/element';
import { MenuItem } from '@wordpress/components';
import { lockOutline, unlock } from '@wordpress/icons';
/**
* Internal dependencies
*/
import useBlockLock from './use-block-lock';
import BlockLockModal from './modal';
export default function BlockLockMenuItem({
clientId
}) {
const {
canLock,
isLocked
} = useBlockLock(clientId);
const [isModalOpen, toggleModal] = useReducer(isActive => !isActive, false);
if (!canLock) {
return null;
}
const label = isLocked ? __('Unlock') : __('Lock');
return createElement(Fragment, null, createElement(MenuItem, {
icon: isLocked ? unlock : lockOutline,
onClick: toggleModal
}, label), isModalOpen && createElement(BlockLockModal, {
clientId: clientId,
onClose: toggleModal
}));
}
//# sourceMappingURL=menu-item.js.map