UNPKG

@wordpress/block-editor

Version:
96 lines (79 loc) 2.71 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = InspectorControlsFill; var _element = require("@wordpress/element"); var _components = require("@wordpress/components"); var _warning = _interopRequireDefault(require("@wordpress/warning")); var _deprecated = _interopRequireDefault(require("@wordpress/deprecated")); var _useDisplayBlockControls = _interopRequireDefault(require("../use-display-block-controls")); var _groups = _interopRequireDefault(require("./groups")); /** * WordPress dependencies */ /** * Internal dependencies */ function InspectorControlsFill({ children, group = 'default', __experimentalGroup, resetAllFilter }) { if (__experimentalGroup) { (0, _deprecated.default)('`__experimentalGroup` property in `InspectorControlsFill`', { since: '6.2', version: '6.4', alternative: '`group`' }); group = __experimentalGroup; } const isDisplayed = (0, _useDisplayBlockControls.default)(); const Fill = _groups.default[group]?.Fill; if (!Fill) { typeof process !== "undefined" && process.env && process.env.NODE_ENV !== "production" ? (0, _warning.default)(`Unknown InspectorControls group "${group}" provided.`) : void 0; return null; } if (!isDisplayed) { return null; } return (0, _element.createElement)(_components.__experimentalStyleProvider, { document: document }, (0, _element.createElement)(Fill, null, fillProps => { return (0, _element.createElement)(ToolsPanelInspectorControl, { fillProps: fillProps, children: children, resetAllFilter: resetAllFilter }); })); } function ToolsPanelInspectorControl({ children, resetAllFilter, fillProps }) { const { registerResetAllFilter, deregisterResetAllFilter } = fillProps; (0, _element.useEffect)(() => { if (resetAllFilter && registerResetAllFilter) { registerResetAllFilter(resetAllFilter); } return () => { if (resetAllFilter && deregisterResetAllFilter) { deregisterResetAllFilter(resetAllFilter); } }; }, [resetAllFilter, registerResetAllFilter, deregisterResetAllFilter]); // Children passed to InspectorControlsFill will not have // access to any React Context whose Provider is part of // the InspectorControlsSlot tree. So we re-create the // Provider in this subtree. const value = fillProps && Object.keys(fillProps).length > 0 ? fillProps : null; return (0, _element.createElement)(_components.__experimentalToolsPanelContext.Provider, { value: value }, children); } //# sourceMappingURL=fill.js.map