@wordpress/edit-post
Version:
Edit Post module for WordPress.
109 lines (89 loc) • 2.48 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _element = require("@wordpress/element");
var _lodash = require("lodash");
var _data = require("@wordpress/data");
var _components = require("@wordpress/components");
var _i18n = require("@wordpress/i18n");
var _url = require("@wordpress/url");
var _icons = require("@wordpress/icons");
var _store = require("../../../store");
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
function FullscreenModeClose({
showTooltip,
icon,
href
}) {
const {
isActive,
isRequestingSiteIcon,
postType,
siteIconUrl
} = (0, _data.useSelect)(select => {
const {
getCurrentPostType
} = select('core/editor');
const {
isFeatureActive
} = select(_store.store);
const {
isResolving
} = select('core/data');
const {
getEntityRecord,
getPostType
} = select('core');
const siteData = getEntityRecord('root', '__unstableBase', undefined) || {};
return {
isActive: isFeatureActive('fullscreenMode'),
isRequestingSiteIcon: isResolving('core', 'getEntityRecord', ['root', '__unstableBase', undefined]),
postType: getPostType(getCurrentPostType()),
siteIconUrl: siteData.site_icon_url
};
}, []);
if (!isActive || !postType) {
return null;
}
let buttonIcon = (0, _element.createElement)(_components.Icon, {
size: "36px",
icon: _icons.wordpress
});
if (siteIconUrl) {
buttonIcon = (0, _element.createElement)("img", {
alt: (0, _i18n.__)('Site Icon'),
className: "edit-post-fullscreen-mode-close_site-icon",
src: siteIconUrl
});
}
if (isRequestingSiteIcon) {
buttonIcon = null;
} // Override default icon if custom icon is provided via props.
if (icon) {
buttonIcon = (0, _element.createElement)(_components.Icon, {
size: "36px",
icon: icon
});
}
return (0, _element.createElement)(_components.Button, {
className: "edit-post-fullscreen-mode-close has-icon",
href: href !== null && href !== void 0 ? href : (0, _url.addQueryArgs)('edit.php', {
post_type: postType.slug
}),
label: (0, _lodash.get)(postType, ['labels', 'view_items'], (0, _i18n.__)('Back')),
showTooltip: showTooltip
}, buttonIcon);
}
var _default = FullscreenModeClose;
exports.default = _default;
//# sourceMappingURL=index.js.map