UNPKG

@wordpress/block-editor

Version:
49 lines (45 loc) 1.38 kB
"use strict"; 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 { isToolbarEnabled, isBlockDisabled } = (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 { isToolbarEnabled: blockType && (0, _blocks.hasBlockSupport)(blockType, '__experimentalToolbar', true), isBlockDisabled: getBlockEditingMode(selectedBlockClientId) === 'disabled' }; }, []); if (!isToolbarEnabled || isBlockDisabled) { return false; } return true; } //# sourceMappingURL=use-has-block-toolbar.js.map