UNPKG

@wordpress/block-editor

Version:
38 lines (34 loc) 995 B
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