@wordpress/block-editor
Version:
59 lines (46 loc) • 1.41 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = BlockLockToolbar;
var _element = require("@wordpress/element");
var _i18n = require("@wordpress/i18n");
var _components = require("@wordpress/components");
var _icons = require("@wordpress/icons");
var _modal = _interopRequireDefault(require("./modal"));
var _useBlockLock = _interopRequireDefault(require("./use-block-lock"));
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
function BlockLockToolbar({
clientId
}) {
const {
canEdit,
canMove,
canRemove,
canLock
} = (0, _useBlockLock.default)(clientId);
const [isModalOpen, toggleModal] = (0, _element.useReducer)(isActive => !isActive, false);
if (!canLock) {
return null;
}
if (canEdit && canMove && canRemove) {
return null;
}
return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.ToolbarGroup, {
className: "block-editor-block-lock-toolbar"
}, (0, _element.createElement)(_components.ToolbarButton, {
icon: _icons.lock,
label: (0, _i18n.__)('Unlock'),
onClick: toggleModal
})), isModalOpen && (0, _element.createElement)(_modal.default, {
clientId: clientId,
onClose: toggleModal
}));
}
//# sourceMappingURL=toolbar.js.map