@gechiui/block-editor
Version:
58 lines (47 loc) • 1.74 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = BlockToolbar;
var _element = require("@gechiui/element");
var _data = require("@gechiui/data");
var _blockControls = _interopRequireDefault(require("../block-controls"));
var _ungroupButton = _interopRequireDefault(require("../ungroup-button"));
var _store = require("../../store");
/**
* GeChiUI dependencies
*/
/**
* Internal dependencies
*/
function BlockToolbar() {
const {
blockClientIds,
isValid,
mode
} = (0, _data.useSelect)(select => {
const {
getBlockMode,
getSelectedBlockClientIds,
isBlockValid
} = select(_store.store);
const selectedBlockClientIds = getSelectedBlockClientIds();
return {
blockClientIds: selectedBlockClientIds,
isValid: selectedBlockClientIds.length === 1 ? isBlockValid(selectedBlockClientIds[0]) : null,
mode: selectedBlockClientIds.length === 1 ? getBlockMode(selectedBlockClientIds[0]) : null
};
}, []);
if (blockClientIds.length === 0) {
return null;
}
return (0, _element.createElement)(_element.Fragment, null, mode === 'visual' && isValid && (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