@wordpress/block-editor
Version:
56 lines (45 loc) • 1.68 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = BlockToolbar;
var _element = require("@wordpress/element");
var _data = require("@wordpress/data");
var _blockControls = _interopRequireDefault(require("../block-controls"));
var _ungroupButton = _interopRequireDefault(require("../ungroup-button"));
var _store = require("../../store");
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
function BlockToolbar() {
const {
isSelected,
isValidAndVisual
} = (0, _data.useSelect)(select => {
const {
getBlockMode,
getSelectedBlockClientIds,
isBlockValid
} = select(_store.store);
const selectedBlockClientIds = getSelectedBlockClientIds();
return {
isSelected: selectedBlockClientIds.length > 0,
isValidAndVisual: selectedBlockClientIds.length === 1 ? isBlockValid(selectedBlockClientIds[0]) && getBlockMode(selectedBlockClientIds[0]) === 'visual' : false
};
}, []);
if (!isSelected) {
return null;
}
return (0, _element.createElement)(_element.Fragment, null, isValidAndVisual && (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_ungroupButton.default, null), (0, _element.createElement)(_blockControls.default.Slot, {
group: "block"
}), (0, _element.createElement)(_blockControls.default.Slot, null), (0, _element.createElement)(_blockControls.default.Slot, {
group: "inline"
}), (0, _element.createElement)(_blockControls.default.Slot, {
group: "other"
})));
}
//# sourceMappingURL=index.native.js.map