@wordpress/editor
Version:
Enhanced block editor for WordPress posts.
8 lines (7 loc) • 8.64 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../../src/components/header/index.js"],
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { useMediaQuery, useViewportMatch } from '@wordpress/compose';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { useState } from '@wordpress/element';\nimport { PinnedItems } from '@wordpress/interface';\n\n/**\n * Internal dependencies\n */\nimport CollapsibleBlockToolbar from '../collapsible-block-toolbar';\nimport DocumentBar from '../document-bar';\nimport DocumentTools from '../document-tools';\nimport HeaderSkeleton from './header-skeleton';\nimport MoreMenu from '../more-menu';\nimport PostPreviewButton from '../post-preview-button';\nimport PostPublishButtonOrToggle from '../post-publish-button/post-publish-button-or-toggle';\nimport PostSavedState from '../post-saved-state';\nimport PostViewLink from '../post-view-link';\nimport PreviewDropdown from '../preview-dropdown';\nimport ZoomOutToggle from '../zoom-out-toggle';\nimport { store as editorStore } from '../../store';\nimport {\n\tATTACHMENT_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n} from '../../store/constants';\nimport { CollaboratorsPresence } from '../collaborators-presence/index';\nimport { unlock } from '../../lock-unlock';\n\nfunction Header( {\n\tcustomSaveButton,\n\tforceIsDirty,\n\tsetEntitiesSavedStatesCallback,\n} ) {\n\tconst isWideViewport = useViewportMatch( 'large' );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isTooNarrowForDocumentBar = useMediaQuery( '(max-width: 403px)' );\n\tconst {\n\t\tpostId,\n\t\tpostType,\n\t\tisTextEditor,\n\t\tisPublishSidebarOpened,\n\t\tshowIconLabels,\n\t\thasFixedToolbar,\n\t\thasBlockSelection,\n\t\thasSectionRootClientId,\n\t\tisStylesCanvasActive,\n\t\tisAttachment,\n\t} = useSelect( ( select ) => {\n\t\tconst { get: getPreference } = select( preferencesStore );\n\t\tconst {\n\t\t\tgetEditorMode,\n\t\t\tgetCurrentPostType,\n\t\t\tgetCurrentPostId,\n\t\t\tisPublishSidebarOpened: _isPublishSidebarOpened,\n\t\t} = select( editorStore );\n\t\tconst { getStylesPath, getShowStylebook } = unlock(\n\t\t\tselect( editorStore )\n\t\t);\n\t\tconst { getBlockSelectionStart, getSectionRootClientId } = unlock(\n\t\t\tselect( blockEditorStore )\n\t\t);\n\n\t\treturn {\n\t\t\tpostId: getCurrentPostId(),\n\t\t\tpostType: getCurrentPostType(),\n\t\t\tisTextEditor: getEditorMode() === 'text',\n\t\t\tisPublishSidebarOpened: _isPublishSidebarOpened(),\n\t\t\tshowIconLabels: getPreference( 'core', 'showIconLabels' ),\n\t\t\thasFixedToolbar: getPreference( 'core', 'fixedToolbar' ),\n\t\t\thasBlockSelection: !! getBlockSelectionStart(),\n\t\t\thasSectionRootClientId: !! getSectionRootClientId(),\n\t\t\tisStylesCanvasActive:\n\t\t\t\t!! getStylesPath()?.startsWith( '/revisions' ) ||\n\t\t\t\tgetShowStylebook(),\n\t\t\tisAttachment:\n\t\t\t\tgetCurrentPostType() === ATTACHMENT_POST_TYPE &&\n\t\t\t\twindow?.__experimentalMediaEditor,\n\t\t};\n\t}, [] );\n\n\tconst canBeZoomedOut =\n\t\t[ 'post', 'page', 'wp_template' ].includes( postType ) &&\n\t\thasSectionRootClientId;\n\n\tconst disablePreviewOption =\n\t\t[\n\t\t\tATTACHMENT_POST_TYPE,\n\t\t\tNAVIGATION_POST_TYPE,\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\tPATTERN_POST_TYPE,\n\t\t].includes( postType ) || isStylesCanvasActive;\n\n\tconst [ isBlockToolsCollapsed, setIsBlockToolsCollapsed ] =\n\t\tuseState( true );\n\n\tconst hasCenter =\n\t\t! isTooNarrowForDocumentBar &&\n\t\t( ! hasFixedToolbar ||\n\t\t\t( hasFixedToolbar &&\n\t\t\t\t( ! hasBlockSelection || isBlockToolsCollapsed ) ) );\n\n\treturn (\n\t\t<HeaderSkeleton\n\t\t\ttoolbar={\n\t\t\t\t<>\n\t\t\t\t\t{ ! isAttachment && (\n\t\t\t\t\t\t<DocumentTools\n\t\t\t\t\t\t\tdisableBlockTools={\n\t\t\t\t\t\t\t\tisStylesCanvasActive || isTextEditor\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ hasFixedToolbar && isLargeViewport && (\n\t\t\t\t\t\t<CollapsibleBlockToolbar\n\t\t\t\t\t\t\tisCollapsed={ isBlockToolsCollapsed }\n\t\t\t\t\t\t\tonToggle={ setIsBlockToolsCollapsed }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t}\n\t\t\tcenter={\n\t\t\t\thasCenter ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<CollaboratorsPresence\n\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\tpostId={ postId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<DocumentBar />\n\t\t\t\t\t</>\n\t\t\t\t) : undefined\n\t\t\t}\n\t\t\tsettings={\n\t\t\t\t<>\n\t\t\t\t\t{ ! customSaveButton && ! isPublishSidebarOpened && (\n\t\t\t\t\t\t/*\n\t\t\t\t\t\t * This button isn't completely hidden by the publish sidebar.\n\t\t\t\t\t\t * We can't hide the whole toolbar when the publish sidebar is open because\n\t\t\t\t\t\t * we want to prevent mounting/unmounting the PostPublishButtonOrToggle DOM node.\n\t\t\t\t\t\t * We track that DOM node to return focus to the PostPublishButtonOrToggle\n\t\t\t\t\t\t * when the publish sidebar has been closed.\n\t\t\t\t\t\t */\n\t\t\t\t\t\t<PostSavedState forceIsDirty={ forceIsDirty } />\n\t\t\t\t\t) }\n\n\t\t\t\t\t<PostViewLink />\n\n\t\t\t\t\t<PreviewDropdown\n\t\t\t\t\t\tforceIsAutosaveable={ forceIsDirty }\n\t\t\t\t\t\tdisabled={ disablePreviewOption }\n\t\t\t\t\t/>\n\n\t\t\t\t\t<PostPreviewButton\n\t\t\t\t\t\tclassName=\"editor-header__post-preview-button\"\n\t\t\t\t\t\tforceIsAutosaveable={ forceIsDirty }\n\t\t\t\t\t/>\n\n\t\t\t\t\t{ isWideViewport && canBeZoomedOut && (\n\t\t\t\t\t\t<ZoomOutToggle disabled={ isStylesCanvasActive } />\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ( isWideViewport || ! showIconLabels ) && (\n\t\t\t\t\t\t<PinnedItems.Slot scope=\"core\" />\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! customSaveButton && (\n\t\t\t\t\t\t<PostPublishButtonOrToggle\n\t\t\t\t\t\t\tforceIsDirty={ forceIsDirty }\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ customSaveButton }\n\t\t\t\t\t{ ! isAttachment && <MoreMenu /> }\n\t\t\t\t</>\n\t\t\t}\n\t\t/>\n\t);\n}\n\nexport default Header;\n"],
"mappings": "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",
"names": []
}