UNPKG

@wordpress/block-editor

Version:
55 lines (42 loc) 1.4 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = useBlockControlsFill; var _blocks = require("@wordpress/blocks"); var _data = require("@wordpress/data"); var _groups = _interopRequireDefault(require("./groups")); var _store = require("../../store"); var _context = require("../block-edit/context"); var _useDisplayBlockControls = _interopRequireDefault(require("../use-display-block-controls")); /** * WordPress dependencies */ /** * Internal dependencies */ function useBlockControlsFill(group, shareWithChildBlocks) { const isDisplayed = (0, _useDisplayBlockControls.default)(); const { clientId } = (0, _context.useBlockEditContext)(); const isParentDisplayed = (0, _data.useSelect)(select => { const { getBlockName, hasSelectedInnerBlock } = select(_store.store); const { hasBlockSupport } = select(_blocks.store); return shareWithChildBlocks && hasBlockSupport(getBlockName(clientId), '__experimentalExposeControlsToChildren', false) && hasSelectedInnerBlock(clientId); }, [shareWithChildBlocks, clientId]); if (isDisplayed) { return _groups.default[group]?.Fill; } if (isParentDisplayed) { return _groups.default.parent.Fill; } return null; } //# sourceMappingURL=hook.js.map