UNPKG

@gechiui/block-editor

Version:
57 lines (43 loc) 1.5 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = useBlockControlsFill; var _blocks = require("@gechiui/blocks"); var _data = require("@gechiui/data"); var _groups = _interopRequireDefault(require("./groups")); var _store = require("../../store"); var _context = require("../block-edit/context"); var _useDisplayBlockControls = _interopRequireDefault(require("../use-display-block-controls")); /** * GeChiUI 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) { var _groups$group; return (_groups$group = _groups.default[group]) === null || _groups$group === void 0 ? void 0 : _groups$group.Fill; } if (isParentDisplayed) { return _groups.default.parent.Fill; } return null; } //# sourceMappingURL=hook.js.map