UNPKG

@wordpress/edit-post

Version:
95 lines (83 loc) 2.22 kB
import { createElement } from "@wordpress/element"; /** * External dependencies */ import { get } from 'lodash'; /** * WordPress dependencies */ import { useSelect } from '@wordpress/data'; import { Button, Icon } from '@wordpress/components'; import { __ } from '@wordpress/i18n'; import { addQueryArgs } from '@wordpress/url'; import { wordpress } from '@wordpress/icons'; /** * Internal dependencies */ import { store as editPostStore } from '../../../store'; function FullscreenModeClose({ showTooltip, icon, href }) { const { isActive, isRequestingSiteIcon, postType, siteIconUrl } = useSelect(select => { const { getCurrentPostType } = select('core/editor'); const { isFeatureActive } = select(editPostStore); 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 = createElement(Icon, { size: "36px", icon: wordpress }); if (siteIconUrl) { buttonIcon = createElement("img", { alt: __('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 = createElement(Icon, { size: "36px", icon: icon }); } return createElement(Button, { className: "edit-post-fullscreen-mode-close has-icon", href: href !== null && href !== void 0 ? href : addQueryArgs('edit.php', { post_type: postType.slug }), label: get(postType, ['labels', 'view_items'], __('Back')), showTooltip: showTooltip }, buttonIcon); } export default FullscreenModeClose; //# sourceMappingURL=index.js.map