@wordpress/editor
Version:
Enhanced block editor for WordPress posts.
78 lines (74 loc) • 2.38 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = PostFeaturedImagePanel;
var _i18n = require("@wordpress/i18n");
var _components = require("@wordpress/components");
var _data = require("@wordpress/data");
var _coreData = require("@wordpress/core-data");
var _store = require("../../store");
var _index = _interopRequireDefault(require("./index"));
var _check = _interopRequireDefault(require("./check"));
var _jsxRuntime = require("react/jsx-runtime");
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
const PANEL_NAME = 'featured-image';
/**
* Renders the panel for the post featured image.
*
* @param {Object} props Props.
* @param {boolean} props.withPanelBody Whether to include the panel body. Default true.
*
* @return {Component|null} The component to be rendered.
* Return Null if the editor panel is disabled for featured image.
*/
function PostFeaturedImagePanel({
withPanelBody = true
}) {
var _postType$labels$feat;
const {
postType,
isEnabled,
isOpened
} = (0, _data.useSelect)(select => {
const {
getEditedPostAttribute,
isEditorPanelEnabled,
isEditorPanelOpened
} = select(_store.store);
const {
getPostType
} = select(_coreData.store);
return {
postType: getPostType(getEditedPostAttribute('type')),
isEnabled: isEditorPanelEnabled(PANEL_NAME),
isOpened: isEditorPanelOpened(PANEL_NAME)
};
}, []);
const {
toggleEditorPanelOpened
} = (0, _data.useDispatch)(_store.store);
if (!isEnabled) {
return null;
}
if (!withPanelBody) {
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_check.default, {
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.default, {})
});
}
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_check.default, {
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.PanelBody, {
title: (_postType$labels$feat = postType?.labels?.featured_image) !== null && _postType$labels$feat !== void 0 ? _postType$labels$feat : (0, _i18n.__)('Featured image'),
opened: isOpened,
onToggle: () => toggleEditorPanelOpened(PANEL_NAME),
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.default, {})
})
});
}
//# sourceMappingURL=panel.js.map