UNPKG

@wordpress/edit-post

Version:
100 lines (81 loc) 3.75 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _element = require("@wordpress/element"); var _classnames = _interopRequireDefault(require("classnames")); var _editor = require("@wordpress/editor"); var _data = require("@wordpress/data"); var _interface = require("@wordpress/interface"); var _compose = require("@wordpress/compose"); var _fullscreenModeClose = _interopRequireDefault(require("./fullscreen-mode-close")); var _headerToolbar = _interopRequireDefault(require("./header-toolbar")); var _moreMenu = _interopRequireDefault(require("./more-menu")); var _postPublishButtonOrToggle = _interopRequireDefault(require("./post-publish-button-or-toggle")); var _devicePreview = _interopRequireDefault(require("../device-preview")); var _mainDashboardButton = _interopRequireDefault(require("./main-dashboard-button")); var _store = require("../../store"); /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ function Header({ setEntitiesSavedStatesCallback }) { const { hasActiveMetaboxes, isPublishSidebarOpened, isSaving, showIconLabels, hasReducedUI } = (0, _data.useSelect)(select => ({ hasActiveMetaboxes: select(_store.store).hasMetaBoxes(), isPublishSidebarOpened: select(_store.store).isPublishSidebarOpened(), isSaving: select(_store.store).isSavingMetaBoxes(), showIconLabels: select(_store.store).isFeatureActive('showIconLabels'), hasReducedUI: select(_store.store).isFeatureActive('reducedUI') }), []); const isLargeViewport = (0, _compose.useViewportMatch)('large'); const classes = (0, _classnames.default)('edit-post-header', { 'has-reduced-ui': hasReducedUI }); return (0, _element.createElement)("div", { className: classes }, (0, _element.createElement)(_mainDashboardButton.default.Slot, null, (0, _element.createElement)(_fullscreenModeClose.default, null)), (0, _element.createElement)("div", { className: "edit-post-header__toolbar" }, (0, _element.createElement)(_headerToolbar.default, null)), (0, _element.createElement)("div", { className: "edit-post-header__settings" }, !isPublishSidebarOpened && // This button isn't completely hidden by the publish sidebar. // We can't hide the whole toolbar when the publish sidebar is open because // we want to prevent mounting/unmounting the PostPublishButtonOrToggle DOM node. // We track that DOM node to return focus to the PostPublishButtonOrToggle // when the publish sidebar has been closed. (0, _element.createElement)(_editor.PostSavedState, { forceIsDirty: hasActiveMetaboxes, forceIsSaving: isSaving, showIconLabels: showIconLabels }), (0, _element.createElement)(_devicePreview.default, null), (0, _element.createElement)(_editor.PostPreviewButton, { forceIsAutosaveable: hasActiveMetaboxes, forcePreviewLink: isSaving ? null : undefined }), (0, _element.createElement)(_postPublishButtonOrToggle.default, { forceIsDirty: hasActiveMetaboxes, forceIsSaving: isSaving, setEntitiesSavedStatesCallback: setEntitiesSavedStatesCallback }), (isLargeViewport || !showIconLabels) && (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_interface.PinnedItems.Slot, { scope: "core/edit-post" }), (0, _element.createElement)(_moreMenu.default, { showIconLabels: showIconLabels })), showIconLabels && !isLargeViewport && (0, _element.createElement)(_moreMenu.default, { showIconLabels: showIconLabels }))); } var _default = Header; exports.default = _default; //# sourceMappingURL=index.js.map