UNPKG

@wordpress/components

Version:
52 lines (40 loc) 1.45 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.ToolsPanelItem = void 0; var _element = require("@wordpress/element"); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _hook = require("./hook"); var _view = require("../../view"); var _context = require("../../ui/context"); /** * External dependencies */ /** * Internal dependencies */ // This wraps controls to be conditionally displayed within a tools panel. It // prevents props being applied to HTML elements that would make them invalid. const UnconnectedToolsPanelItem = (props, forwardedRef) => { const { children, isShown, shouldRenderPlaceholder, ...toolsPanelItemProps } = (0, _hook.useToolsPanelItem)(props); if (!isShown) { return shouldRenderPlaceholder ? (0, _element.createElement)(_view.View, (0, _extends2.default)({}, toolsPanelItemProps, { ref: forwardedRef })) : null; } return (0, _element.createElement)(_view.View, (0, _extends2.default)({}, toolsPanelItemProps, { ref: forwardedRef }), children); }; const ToolsPanelItem = (0, _context.contextConnect)(UnconnectedToolsPanelItem, 'ToolsPanelItem'); exports.ToolsPanelItem = ToolsPanelItem; var _default = ToolsPanelItem; exports.default = _default; //# sourceMappingURL=component.js.map