@wordpress/block-editor
Version:
40 lines (36 loc) • 1.22 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useHasBlockToolbar = useHasBlockToolbar;
var _data = require("@wordpress/data");
var _blocks = require("@wordpress/blocks");
var _store = require("../../store");
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
/**
* Returns true if the block toolbar should be shown.
*
* @return {boolean} Whether the block toolbar component will be rendered.
*/
function useHasBlockToolbar() {
const enabled = (0, _data.useSelect)(select => {
const {
getBlockEditingMode,
getBlockName,
getBlockSelectionStart
} = select(_store.store);
// we only care about the 1st selected block
// for the toolbar, so we use getBlockSelectionStart
// instead of getSelectedBlockClientIds
const selectedBlockClientId = getBlockSelectionStart();
const blockType = selectedBlockClientId && (0, _blocks.getBlockType)(getBlockName(selectedBlockClientId));
return blockType && (0, _blocks.hasBlockSupport)(blockType, '__experimentalToolbar', true) && getBlockEditingMode(selectedBlockClientId) !== 'disabled';
}, []);
return enabled;
}
//# sourceMappingURL=use-has-block-toolbar.js.map