@wordpress/edit-post 7.12.14 → 7.12.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -94,6 +94,40 @@ const interfaceLabels = {
94
94
  footer: (0, _i18n.__)('Editor footer')
95
95
  };
96
96
 
97
+ function useEditorStyles() {
98
+ const {
99
+ hasThemeStyleSupport,
100
+ editorSettings
101
+ } = (0, _data.useSelect)(select => ({
102
+ hasThemeStyleSupport: select(_store.store).isFeatureActive('themeStyles'),
103
+ editorSettings: select(_editor.store).getEditorSettings()
104
+ }), []); // Compute the default styles.
105
+
106
+ return (0, _element.useMemo)(() => {
107
+ var _editorSettings$style, _editorSettings$style2;
108
+
109
+ const presetStyles = (_editorSettings$style = editorSettings.styles?.filter(style => style.__unstableType && style.__unstableType !== 'theme')) !== null && _editorSettings$style !== void 0 ? _editorSettings$style : [];
110
+ const defaultEditorStyles = [...editorSettings.defaultEditorStyles, ...presetStyles]; // Has theme styles if the theme supports them and if some styles were not preset styles (in which case they're theme styles).
111
+
112
+ const hasThemeStyles = hasThemeStyleSupport && presetStyles.length !== ((_editorSettings$style2 = editorSettings.styles?.length) !== null && _editorSettings$style2 !== void 0 ? _editorSettings$style2 : 0); // If theme styles are not present or displayed, ensure that
113
+ // base layout styles are still present in the editor.
114
+
115
+ if (!editorSettings.disableLayoutStyles && !hasThemeStyles) {
116
+ defaultEditorStyles.push({
117
+ css: getLayoutStyles({
118
+ style: {},
119
+ selector: 'body',
120
+ hasBlockGapSupport: false,
121
+ hasFallbackGapSupport: true,
122
+ fallbackGapValue: '0.5em'
123
+ })
124
+ });
125
+ }
126
+
127
+ return hasThemeStyles ? editorSettings.styles : defaultEditorStyles;
128
+ }, [editorSettings.defaultEditorStyles, editorSettings.disableLayoutStyles, editorSettings.styles, hasThemeStyleSupport]);
129
+ }
130
+
97
131
  function Layout() {
98
132
  const isMobileViewport = (0, _compose.useViewportMatch)('medium', '<');
99
133
  const isHugeViewport = (0, _compose.useViewportMatch)('huge', '>=');
@@ -122,43 +156,14 @@ function Layout() {
122
156
  isDistractionFree,
123
157
  showBlockBreadcrumbs,
124
158
  isTemplateMode,
125
- documentLabel,
126
- styles
159
+ documentLabel
127
160
  } = (0, _data.useSelect)(select => {
128
161
  const {
129
162
  getEditorSettings,
130
163
  getPostTypeLabel
131
164
  } = select(_editor.store);
132
- const {
133
- isFeatureActive
134
- } = select(_store.store);
135
165
  const editorSettings = getEditorSettings();
136
166
  const postTypeLabel = getPostTypeLabel();
137
- const hasThemeStyles = isFeatureActive('themeStyles');
138
- const themeStyles = [];
139
- const presetStyles = [];
140
- editorSettings.styles?.forEach(style => {
141
- if (!style.__unstableType || style.__unstableType === 'theme') {
142
- themeStyles.push(style);
143
- } else {
144
- presetStyles.push(style);
145
- }
146
- });
147
- const defaultEditorStyles = [...editorSettings.defaultEditorStyles, ...presetStyles]; // If theme styles are not present or displayed, ensure that
148
- // base layout styles are still present in the editor.
149
-
150
- if (!editorSettings.disableLayoutStyles && !(hasThemeStyles && themeStyles.length)) {
151
- defaultEditorStyles.push({
152
- css: getLayoutStyles({
153
- style: {},
154
- selector: 'body',
155
- hasBlockGapSupport: false,
156
- hasFallbackGapSupport: true,
157
- fallbackGapValue: '0.5em'
158
- })
159
- });
160
- }
161
-
162
167
  return {
163
168
  isTemplateMode: select(_store.store).isEditingTemplate(),
164
169
  hasFixedToolbar: select(_store.store).isFeatureActive('fixedToolbar'),
@@ -175,10 +180,10 @@ function Layout() {
175
180
  isDistractionFree: select(_store.store).isFeatureActive('distractionFree'),
176
181
  showBlockBreadcrumbs: select(_store.store).isFeatureActive('showBlockBreadcrumbs'),
177
182
  // translators: Default label for the Document in the Block Breadcrumb.
178
- documentLabel: postTypeLabel || (0, _i18n._x)('Document', 'noun'),
179
- styles: hasThemeStyles && themeStyles.length ? editorSettings.styles : defaultEditorStyles
183
+ documentLabel: postTypeLabel || (0, _i18n._x)('Document', 'noun')
180
184
  };
181
185
  }, []);
186
+ const styles = useEditorStyles();
182
187
 
183
188
  const openSidebarPanel = () => openGeneralSidebar(hasBlockSelected ? 'edit-post/block' : 'edit-post/document'); // Inserter and Sidebars are mutually exclusive
184
189
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/layout/index.js"],"names":["getLayoutStyles","blockEditorPrivateApis","interfaceLabels","header","body","sidebar","actions","footer","Layout","isMobileViewport","isHugeViewport","isLargeViewport","openGeneralSidebar","closeGeneralSidebar","setIsInserterOpened","editPostStore","createErrorNotice","noticesStore","mode","isFullscreenActive","isRichEditingEnabled","sidebarIsOpened","hasActiveMetaboxes","hasFixedToolbar","previousShortcut","nextShortcut","hasBlockSelected","isInserterOpened","isListViewOpened","showIconLabels","isDistractionFree","showBlockBreadcrumbs","isTemplateMode","documentLabel","styles","select","getEditorSettings","getPostTypeLabel","editorStore","isFeatureActive","editorSettings","postTypeLabel","hasThemeStyles","themeStyles","presetStyles","forEach","style","__unstableType","push","defaultEditorStyles","disableLayoutStyles","length","css","selector","hasBlockGapSupport","hasFallbackGapSupport","fallbackGapValue","isEditingTemplate","interfaceStore","getActiveComplementaryArea","name","isPublishSidebarOpened","getEditorMode","richEditingEnabled","hasMetaBoxes","keyboardShortcutsStore","getAllShortcutKeyCombinations","openSidebarPanel","entitiesSavedStatesCallback","setEntitiesSavedStatesCallback","closeEntitiesSavedStates","arg","className","secondarySidebarLabel","secondarySidebar","onPluginAreaError","previous","next"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAutosaveMonitor,\n\tLocalAutosaveMonitor,\n\tUnsavedChangesWarning,\n\tEditorNotices,\n\tEditorKeyboardShortcutsRegister,\n\tEditorSnackbars,\n\tPostSyncStatusModal,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tBlockBreadcrumb,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { Button, ScrollLock, Popover } from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { PluginArea } from '@wordpress/plugins';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tComplementaryArea,\n\tFullscreenMode,\n\tInterfaceSkeleton,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport { useState, useEffect, useCallback } from '@wordpress/element';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport TextEditor from '../text-editor';\nimport VisualEditor from '../visual-editor';\nimport EditPostKeyboardShortcuts from '../keyboard-shortcuts';\nimport KeyboardShortcutHelpModal from '../keyboard-shortcut-help-modal';\nimport EditPostPreferencesModal from '../preferences-modal';\nimport BrowserURL from '../browser-url';\nimport Header from '../header';\nimport InserterSidebar from '../secondary-sidebar/inserter-sidebar';\nimport ListViewSidebar from '../secondary-sidebar/list-view-sidebar';\nimport SettingsSidebar from '../sidebar/settings-sidebar';\nimport MetaBoxes from '../meta-boxes';\nimport WelcomeGuide from '../welcome-guide';\nimport ActionsPanel from './actions-panel';\nimport StartPageOptions from '../start-page-options';\nimport { store as editPostStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { getLayoutStyles } = unlock( blockEditorPrivateApis );\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor top bar landmark region. */\n\theader: __( 'Editor top bar' ),\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n};\n\nfunction Layout() {\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isHugeViewport = useViewportMatch( 'huge', '>=' );\n\tconst isLargeViewport = useViewportMatch( 'large' );\n\tconst { openGeneralSidebar, closeGeneralSidebar, setIsInserterOpened } =\n\t\tuseDispatch( editPostStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst {\n\t\tmode,\n\t\tisFullscreenActive,\n\t\tisRichEditingEnabled,\n\t\tsidebarIsOpened,\n\t\thasActiveMetaboxes,\n\t\thasFixedToolbar,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t\thasBlockSelected,\n\t\tisInserterOpened,\n\t\tisListViewOpened,\n\t\tshowIconLabels,\n\t\tisDistractionFree,\n\t\tshowBlockBreadcrumbs,\n\t\tisTemplateMode,\n\t\tdocumentLabel,\n\t\tstyles,\n\t} = useSelect( ( select ) => {\n\t\tconst { getEditorSettings, getPostTypeLabel } = select( editorStore );\n\t\tconst { isFeatureActive } = select( editPostStore );\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst postTypeLabel = getPostTypeLabel();\n\t\tconst hasThemeStyles = isFeatureActive( 'themeStyles' );\n\n\t\tconst themeStyles = [];\n\t\tconst presetStyles = [];\n\t\teditorSettings.styles?.forEach( ( style ) => {\n\t\t\tif ( ! style.__unstableType || style.__unstableType === 'theme' ) {\n\t\t\t\tthemeStyles.push( style );\n\t\t\t} else {\n\t\t\t\tpresetStyles.push( style );\n\t\t\t}\n\t\t} );\n\n\t\tconst defaultEditorStyles = [\n\t\t\t...editorSettings.defaultEditorStyles,\n\t\t\t...presetStyles,\n\t\t];\n\n\t\t// If theme styles are not present or displayed, ensure that\n\t\t// base layout styles are still present in the editor.\n\t\tif (\n\t\t\t! editorSettings.disableLayoutStyles &&\n\t\t\t! ( hasThemeStyles && themeStyles.length )\n\t\t) {\n\t\t\tdefaultEditorStyles.push( {\n\t\t\t\tcss: getLayoutStyles( {\n\t\t\t\t\tstyle: {},\n\t\t\t\t\tselector: 'body',\n\t\t\t\t\thasBlockGapSupport: false,\n\t\t\t\t\thasFallbackGapSupport: true,\n\t\t\t\t\tfallbackGapValue: '0.5em',\n\t\t\t\t} ),\n\t\t\t} );\n\t\t}\n\n\t\treturn {\n\t\t\tisTemplateMode: select( editPostStore ).isEditingTemplate(),\n\t\t\thasFixedToolbar:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'fixedToolbar' ),\n\t\t\tsidebarIsOpened: !! (\n\t\t\t\tselect( interfaceStore ).getActiveComplementaryArea(\n\t\t\t\t\teditPostStore.name\n\t\t\t\t) || select( editPostStore ).isPublishSidebarOpened()\n\t\t\t),\n\t\t\tisFullscreenActive:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'fullscreenMode' ),\n\t\t\tisInserterOpened: select( editPostStore ).isInserterOpened(),\n\t\t\tisListViewOpened: select( editPostStore ).isListViewOpened(),\n\t\t\tmode: select( editPostStore ).getEditorMode(),\n\t\t\tisRichEditingEnabled: editorSettings.richEditingEnabled,\n\t\t\thasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),\n\t\t\tpreviousShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-post/previous-region' ),\n\t\t\tnextShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-post/next-region' ),\n\t\t\tshowIconLabels:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'showIconLabels' ),\n\t\t\tisDistractionFree:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'distractionFree' ),\n\t\t\tshowBlockBreadcrumbs: select( editPostStore ).isFeatureActive(\n\t\t\t\t'showBlockBreadcrumbs'\n\t\t\t),\n\t\t\t// translators: Default label for the Document in the Block Breadcrumb.\n\t\t\tdocumentLabel: postTypeLabel || _x( 'Document', 'noun' ),\n\t\t\tstyles:\n\t\t\t\thasThemeStyles && themeStyles.length\n\t\t\t\t\t? editorSettings.styles\n\t\t\t\t\t: defaultEditorStyles,\n\t\t};\n\t}, [] );\n\n\tconst openSidebarPanel = () =>\n\t\topenGeneralSidebar(\n\t\t\thasBlockSelected ? 'edit-post/block' : 'edit-post/document'\n\t\t);\n\n\t// Inserter and Sidebars are mutually exclusive\n\tuseEffect( () => {\n\t\tif ( sidebarIsOpened && ! isHugeViewport ) {\n\t\t\tsetIsInserterOpened( false );\n\t\t}\n\t}, [ sidebarIsOpened, isHugeViewport ] );\n\tuseEffect( () => {\n\t\tif ( isInserterOpened && ! isHugeViewport ) {\n\t\t\tcloseGeneralSidebar();\n\t\t}\n\t}, [ isInserterOpened, isHugeViewport ] );\n\n\t// Local state for save panel.\n\t// Note 'truthy' callback implies an open panel.\n\tconst [ entitiesSavedStatesCallback, setEntitiesSavedStatesCallback ] =\n\t\tuseState( false );\n\tconst closeEntitiesSavedStates = useCallback(\n\t\t( arg ) => {\n\t\t\tif ( typeof entitiesSavedStatesCallback === 'function' ) {\n\t\t\t\tentitiesSavedStatesCallback( arg );\n\t\t\t}\n\t\t\tsetEntitiesSavedStatesCallback( false );\n\t\t},\n\t\t[ entitiesSavedStatesCallback ]\n\t);\n\n\tconst className = classnames( 'edit-post-layout', 'is-mode-' + mode, {\n\t\t'is-sidebar-opened': sidebarIsOpened,\n\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t\t'has-metaboxes': hasActiveMetaboxes,\n\t\t'show-icon-labels': showIconLabels,\n\t\t'is-distraction-free': isDistractionFree && isLargeViewport,\n\t\t'is-entity-save-view-open': !! entitiesSavedStatesCallback,\n\t} );\n\n\tconst secondarySidebarLabel = isListViewOpened\n\t\t? __( 'Document Overview' )\n\t\t: __( 'Block Library' );\n\n\tconst secondarySidebar = () => {\n\t\tif ( mode === 'visual' && isInserterOpened ) {\n\t\t\treturn <InserterSidebar />;\n\t\t}\n\t\tif ( mode === 'visual' && isListViewOpened ) {\n\t\t\treturn <ListViewSidebar />;\n\t\t}\n\n\t\treturn null;\n\t};\n\n\tfunction onPluginAreaError( name ) {\n\t\tcreateErrorNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: plugin name */\n\t\t\t\t__(\n\t\t\t\t\t'The \"%s\" plugin has encountered an error and cannot be rendered.'\n\t\t\t\t),\n\t\t\t\tname\n\t\t\t)\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<FullscreenMode isActive={ isFullscreenActive } />\n\t\t\t<BrowserURL />\n\t\t\t<UnsavedChangesWarning />\n\t\t\t<AutosaveMonitor />\n\t\t\t<LocalAutosaveMonitor />\n\t\t\t<EditPostKeyboardShortcuts />\n\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t<SettingsSidebar />\n\t\t\t<InterfaceSkeleton\n\t\t\t\tisDistractionFree={ isDistractionFree && isLargeViewport }\n\t\t\t\tclassName={ className }\n\t\t\t\tlabels={ {\n\t\t\t\t\t...interfaceLabels,\n\t\t\t\t\tsecondarySidebar: secondarySidebarLabel,\n\t\t\t\t} }\n\t\t\t\theader={\n\t\t\t\t\t<Header\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\teditorNotices={ <EditorNotices /> }\n\t\t\t\tsecondarySidebar={ secondarySidebar() }\n\t\t\t\tsidebar={\n\t\t\t\t\t( ! isMobileViewport || sidebarIsOpened ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isMobileViewport && ! sidebarIsOpened && (\n\t\t\t\t\t\t\t\t<div className=\"edit-post-layout__toggle-sidebar-panel\">\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-post-layout__toggle-sidebar-panel-button\"\n\t\t\t\t\t\t\t\t\t\tonClick={ openSidebarPanel }\n\t\t\t\t\t\t\t\t\t\taria-expanded={ false }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ hasBlockSelected\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Open block settings' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Open document settings' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-post\" />\n\t\t\t\t\t\t</>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\tcontent={\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ ! isDistractionFree && <EditorNotices /> }\n\t\t\t\t\t\t{ ( mode === 'text' || ! isRichEditingEnabled ) && (\n\t\t\t\t\t\t\t<TextEditor />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isRichEditingEnabled && mode === 'visual' && (\n\t\t\t\t\t\t\t<VisualEditor styles={ styles } />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! isDistractionFree && ! isTemplateMode && (\n\t\t\t\t\t\t\t<div className=\"edit-post-layout__metaboxes\">\n\t\t\t\t\t\t\t\t<MetaBoxes location=\"normal\" />\n\t\t\t\t\t\t\t\t<MetaBoxes location=\"advanced\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isMobileViewport && sidebarIsOpened && (\n\t\t\t\t\t\t\t<ScrollLock />\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t\tfooter={\n\t\t\t\t\t! isDistractionFree &&\n\t\t\t\t\t! isMobileViewport &&\n\t\t\t\t\tshowBlockBreadcrumbs &&\n\t\t\t\t\tisRichEditingEnabled &&\n\t\t\t\t\tmode === 'visual' && (\n\t\t\t\t\t\t<div className=\"edit-post-layout__footer\">\n\t\t\t\t\t\t\t<BlockBreadcrumb rootLabelText={ documentLabel } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tactions={\n\t\t\t\t\t<ActionsPanel\n\t\t\t\t\t\tcloseEntitiesSavedStates={ closeEntitiesSavedStates }\n\t\t\t\t\t\tisEntitiesSavedStatesOpen={\n\t\t\t\t\t\t\tentitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tshortcuts={ {\n\t\t\t\t\tprevious: previousShortcut,\n\t\t\t\t\tnext: nextShortcut,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<EditPostPreferencesModal />\n\t\t\t<KeyboardShortcutHelpModal />\n\t\t\t<WelcomeGuide />\n\t\t\t<PostSyncStatusModal />\n\t\t\t<StartPageOptions />\n\t\t\t<Popover.Slot />\n\t\t\t<PluginArea onError={ onPluginAreaError } />\n\t\t</>\n\t);\n}\n\nexport default Layout;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/layout/index.js"],"names":["getLayoutStyles","blockEditorPrivateApis","interfaceLabels","header","body","sidebar","actions","footer","useEditorStyles","hasThemeStyleSupport","editorSettings","select","editPostStore","isFeatureActive","editorStore","getEditorSettings","presetStyles","styles","filter","style","__unstableType","defaultEditorStyles","hasThemeStyles","length","disableLayoutStyles","push","css","selector","hasBlockGapSupport","hasFallbackGapSupport","fallbackGapValue","Layout","isMobileViewport","isHugeViewport","isLargeViewport","openGeneralSidebar","closeGeneralSidebar","setIsInserterOpened","createErrorNotice","noticesStore","mode","isFullscreenActive","isRichEditingEnabled","sidebarIsOpened","hasActiveMetaboxes","hasFixedToolbar","previousShortcut","nextShortcut","hasBlockSelected","isInserterOpened","isListViewOpened","showIconLabels","isDistractionFree","showBlockBreadcrumbs","isTemplateMode","documentLabel","getPostTypeLabel","postTypeLabel","isEditingTemplate","interfaceStore","getActiveComplementaryArea","name","isPublishSidebarOpened","getEditorMode","richEditingEnabled","hasMetaBoxes","keyboardShortcutsStore","getAllShortcutKeyCombinations","openSidebarPanel","entitiesSavedStatesCallback","setEntitiesSavedStatesCallback","closeEntitiesSavedStates","arg","className","secondarySidebarLabel","secondarySidebar","onPluginAreaError","previous","next"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAutosaveMonitor,\n\tLocalAutosaveMonitor,\n\tUnsavedChangesWarning,\n\tEditorNotices,\n\tEditorKeyboardShortcutsRegister,\n\tEditorSnackbars,\n\tPostSyncStatusModal,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tBlockBreadcrumb,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { Button, ScrollLock, Popover } from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { PluginArea } from '@wordpress/plugins';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tComplementaryArea,\n\tFullscreenMode,\n\tInterfaceSkeleton,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport { useState, useEffect, useCallback, useMemo } from '@wordpress/element';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport TextEditor from '../text-editor';\nimport VisualEditor from '../visual-editor';\nimport EditPostKeyboardShortcuts from '../keyboard-shortcuts';\nimport KeyboardShortcutHelpModal from '../keyboard-shortcut-help-modal';\nimport EditPostPreferencesModal from '../preferences-modal';\nimport BrowserURL from '../browser-url';\nimport Header from '../header';\nimport InserterSidebar from '../secondary-sidebar/inserter-sidebar';\nimport ListViewSidebar from '../secondary-sidebar/list-view-sidebar';\nimport SettingsSidebar from '../sidebar/settings-sidebar';\nimport MetaBoxes from '../meta-boxes';\nimport WelcomeGuide from '../welcome-guide';\nimport ActionsPanel from './actions-panel';\nimport StartPageOptions from '../start-page-options';\nimport { store as editPostStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { getLayoutStyles } = unlock( blockEditorPrivateApis );\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor top bar landmark region. */\n\theader: __( 'Editor top bar' ),\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n};\n\nfunction useEditorStyles() {\n\tconst { hasThemeStyleSupport, editorSettings } = useSelect(\n\t\t( select ) => ( {\n\t\t\thasThemeStyleSupport:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'themeStyles' ),\n\t\t\teditorSettings: select( editorStore ).getEditorSettings(),\n\t\t} ),\n\t\t[]\n\t);\n\n\t// Compute the default styles.\n\treturn useMemo( () => {\n\t\tconst presetStyles =\n\t\t\teditorSettings.styles?.filter(\n\t\t\t\t( style ) =>\n\t\t\t\t\tstyle.__unstableType && style.__unstableType !== 'theme'\n\t\t\t) ?? [];\n\n\t\tconst defaultEditorStyles = [\n\t\t\t...editorSettings.defaultEditorStyles,\n\t\t\t...presetStyles,\n\t\t];\n\n\t\t// Has theme styles if the theme supports them and if some styles were not preset styles (in which case they're theme styles).\n\t\tconst hasThemeStyles =\n\t\t\thasThemeStyleSupport &&\n\t\t\tpresetStyles.length !== ( editorSettings.styles?.length ?? 0 );\n\n\t\t// If theme styles are not present or displayed, ensure that\n\t\t// base layout styles are still present in the editor.\n\t\tif ( ! editorSettings.disableLayoutStyles && ! hasThemeStyles ) {\n\t\t\tdefaultEditorStyles.push( {\n\t\t\t\tcss: getLayoutStyles( {\n\t\t\t\t\tstyle: {},\n\t\t\t\t\tselector: 'body',\n\t\t\t\t\thasBlockGapSupport: false,\n\t\t\t\t\thasFallbackGapSupport: true,\n\t\t\t\t\tfallbackGapValue: '0.5em',\n\t\t\t\t} ),\n\t\t\t} );\n\t\t}\n\n\t\treturn hasThemeStyles ? editorSettings.styles : defaultEditorStyles;\n\t}, [\n\t\teditorSettings.defaultEditorStyles,\n\t\teditorSettings.disableLayoutStyles,\n\t\teditorSettings.styles,\n\t\thasThemeStyleSupport,\n\t] );\n}\n\nfunction Layout() {\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isHugeViewport = useViewportMatch( 'huge', '>=' );\n\tconst isLargeViewport = useViewportMatch( 'large' );\n\tconst { openGeneralSidebar, closeGeneralSidebar, setIsInserterOpened } =\n\t\tuseDispatch( editPostStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst {\n\t\tmode,\n\t\tisFullscreenActive,\n\t\tisRichEditingEnabled,\n\t\tsidebarIsOpened,\n\t\thasActiveMetaboxes,\n\t\thasFixedToolbar,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t\thasBlockSelected,\n\t\tisInserterOpened,\n\t\tisListViewOpened,\n\t\tshowIconLabels,\n\t\tisDistractionFree,\n\t\tshowBlockBreadcrumbs,\n\t\tisTemplateMode,\n\t\tdocumentLabel,\n\t} = useSelect( ( select ) => {\n\t\tconst { getEditorSettings, getPostTypeLabel } = select( editorStore );\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst postTypeLabel = getPostTypeLabel();\n\n\t\treturn {\n\t\t\tisTemplateMode: select( editPostStore ).isEditingTemplate(),\n\t\t\thasFixedToolbar:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'fixedToolbar' ),\n\t\t\tsidebarIsOpened: !! (\n\t\t\t\tselect( interfaceStore ).getActiveComplementaryArea(\n\t\t\t\t\teditPostStore.name\n\t\t\t\t) || select( editPostStore ).isPublishSidebarOpened()\n\t\t\t),\n\t\t\tisFullscreenActive:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'fullscreenMode' ),\n\t\t\tisInserterOpened: select( editPostStore ).isInserterOpened(),\n\t\t\tisListViewOpened: select( editPostStore ).isListViewOpened(),\n\t\t\tmode: select( editPostStore ).getEditorMode(),\n\t\t\tisRichEditingEnabled: editorSettings.richEditingEnabled,\n\t\t\thasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),\n\t\t\tpreviousShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-post/previous-region' ),\n\t\t\tnextShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-post/next-region' ),\n\t\t\tshowIconLabels:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'showIconLabels' ),\n\t\t\tisDistractionFree:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'distractionFree' ),\n\t\t\tshowBlockBreadcrumbs: select( editPostStore ).isFeatureActive(\n\t\t\t\t'showBlockBreadcrumbs'\n\t\t\t),\n\t\t\t// translators: Default label for the Document in the Block Breadcrumb.\n\t\t\tdocumentLabel: postTypeLabel || _x( 'Document', 'noun' ),\n\t\t};\n\t}, [] );\n\n\tconst styles = useEditorStyles();\n\n\tconst openSidebarPanel = () =>\n\t\topenGeneralSidebar(\n\t\t\thasBlockSelected ? 'edit-post/block' : 'edit-post/document'\n\t\t);\n\n\t// Inserter and Sidebars are mutually exclusive\n\tuseEffect( () => {\n\t\tif ( sidebarIsOpened && ! isHugeViewport ) {\n\t\t\tsetIsInserterOpened( false );\n\t\t}\n\t}, [ sidebarIsOpened, isHugeViewport ] );\n\tuseEffect( () => {\n\t\tif ( isInserterOpened && ! isHugeViewport ) {\n\t\t\tcloseGeneralSidebar();\n\t\t}\n\t}, [ isInserterOpened, isHugeViewport ] );\n\n\t// Local state for save panel.\n\t// Note 'truthy' callback implies an open panel.\n\tconst [ entitiesSavedStatesCallback, setEntitiesSavedStatesCallback ] =\n\t\tuseState( false );\n\tconst closeEntitiesSavedStates = useCallback(\n\t\t( arg ) => {\n\t\t\tif ( typeof entitiesSavedStatesCallback === 'function' ) {\n\t\t\t\tentitiesSavedStatesCallback( arg );\n\t\t\t}\n\t\t\tsetEntitiesSavedStatesCallback( false );\n\t\t},\n\t\t[ entitiesSavedStatesCallback ]\n\t);\n\n\tconst className = classnames( 'edit-post-layout', 'is-mode-' + mode, {\n\t\t'is-sidebar-opened': sidebarIsOpened,\n\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t\t'has-metaboxes': hasActiveMetaboxes,\n\t\t'show-icon-labels': showIconLabels,\n\t\t'is-distraction-free': isDistractionFree && isLargeViewport,\n\t\t'is-entity-save-view-open': !! entitiesSavedStatesCallback,\n\t} );\n\n\tconst secondarySidebarLabel = isListViewOpened\n\t\t? __( 'Document Overview' )\n\t\t: __( 'Block Library' );\n\n\tconst secondarySidebar = () => {\n\t\tif ( mode === 'visual' && isInserterOpened ) {\n\t\t\treturn <InserterSidebar />;\n\t\t}\n\t\tif ( mode === 'visual' && isListViewOpened ) {\n\t\t\treturn <ListViewSidebar />;\n\t\t}\n\n\t\treturn null;\n\t};\n\n\tfunction onPluginAreaError( name ) {\n\t\tcreateErrorNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: plugin name */\n\t\t\t\t__(\n\t\t\t\t\t'The \"%s\" plugin has encountered an error and cannot be rendered.'\n\t\t\t\t),\n\t\t\t\tname\n\t\t\t)\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<FullscreenMode isActive={ isFullscreenActive } />\n\t\t\t<BrowserURL />\n\t\t\t<UnsavedChangesWarning />\n\t\t\t<AutosaveMonitor />\n\t\t\t<LocalAutosaveMonitor />\n\t\t\t<EditPostKeyboardShortcuts />\n\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t<SettingsSidebar />\n\t\t\t<InterfaceSkeleton\n\t\t\t\tisDistractionFree={ isDistractionFree && isLargeViewport }\n\t\t\t\tclassName={ className }\n\t\t\t\tlabels={ {\n\t\t\t\t\t...interfaceLabels,\n\t\t\t\t\tsecondarySidebar: secondarySidebarLabel,\n\t\t\t\t} }\n\t\t\t\theader={\n\t\t\t\t\t<Header\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\teditorNotices={ <EditorNotices /> }\n\t\t\t\tsecondarySidebar={ secondarySidebar() }\n\t\t\t\tsidebar={\n\t\t\t\t\t( ! isMobileViewport || sidebarIsOpened ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isMobileViewport && ! sidebarIsOpened && (\n\t\t\t\t\t\t\t\t<div className=\"edit-post-layout__toggle-sidebar-panel\">\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-post-layout__toggle-sidebar-panel-button\"\n\t\t\t\t\t\t\t\t\t\tonClick={ openSidebarPanel }\n\t\t\t\t\t\t\t\t\t\taria-expanded={ false }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ hasBlockSelected\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Open block settings' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Open document settings' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-post\" />\n\t\t\t\t\t\t</>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\tcontent={\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ ! isDistractionFree && <EditorNotices /> }\n\t\t\t\t\t\t{ ( mode === 'text' || ! isRichEditingEnabled ) && (\n\t\t\t\t\t\t\t<TextEditor />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isRichEditingEnabled && mode === 'visual' && (\n\t\t\t\t\t\t\t<VisualEditor styles={ styles } />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! isDistractionFree && ! isTemplateMode && (\n\t\t\t\t\t\t\t<div className=\"edit-post-layout__metaboxes\">\n\t\t\t\t\t\t\t\t<MetaBoxes location=\"normal\" />\n\t\t\t\t\t\t\t\t<MetaBoxes location=\"advanced\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isMobileViewport && sidebarIsOpened && (\n\t\t\t\t\t\t\t<ScrollLock />\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t\tfooter={\n\t\t\t\t\t! isDistractionFree &&\n\t\t\t\t\t! isMobileViewport &&\n\t\t\t\t\tshowBlockBreadcrumbs &&\n\t\t\t\t\tisRichEditingEnabled &&\n\t\t\t\t\tmode === 'visual' && (\n\t\t\t\t\t\t<div className=\"edit-post-layout__footer\">\n\t\t\t\t\t\t\t<BlockBreadcrumb rootLabelText={ documentLabel } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tactions={\n\t\t\t\t\t<ActionsPanel\n\t\t\t\t\t\tcloseEntitiesSavedStates={ closeEntitiesSavedStates }\n\t\t\t\t\t\tisEntitiesSavedStatesOpen={\n\t\t\t\t\t\t\tentitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tshortcuts={ {\n\t\t\t\t\tprevious: previousShortcut,\n\t\t\t\t\tnext: nextShortcut,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<EditPostPreferencesModal />\n\t\t\t<KeyboardShortcutHelpModal />\n\t\t\t<WelcomeGuide />\n\t\t\t<PostSyncStatusModal />\n\t\t\t<StartPageOptions />\n\t\t\t<Popover.Slot />\n\t\t\t<PluginArea onError={ onPluginAreaError } />\n\t\t</>\n\t);\n}\n\nexport default Layout;\n"]}
@@ -16,7 +16,7 @@ import { useViewportMatch } from '@wordpress/compose';
16
16
  import { PluginArea } from '@wordpress/plugins';
17
17
  import { __, _x, sprintf } from '@wordpress/i18n';
18
18
  import { ComplementaryArea, FullscreenMode, InterfaceSkeleton, store as interfaceStore } from '@wordpress/interface';
19
- import { useState, useEffect, useCallback } from '@wordpress/element';
19
+ import { useState, useEffect, useCallback, useMemo } from '@wordpress/element';
20
20
  import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';
21
21
  import { store as noticesStore } from '@wordpress/notices';
22
22
  /**
@@ -59,6 +59,40 @@ const interfaceLabels = {
59
59
  footer: __('Editor footer')
60
60
  };
61
61
 
62
+ function useEditorStyles() {
63
+ const {
64
+ hasThemeStyleSupport,
65
+ editorSettings
66
+ } = useSelect(select => ({
67
+ hasThemeStyleSupport: select(editPostStore).isFeatureActive('themeStyles'),
68
+ editorSettings: select(editorStore).getEditorSettings()
69
+ }), []); // Compute the default styles.
70
+
71
+ return useMemo(() => {
72
+ var _editorSettings$style, _editorSettings$style2;
73
+
74
+ const presetStyles = (_editorSettings$style = editorSettings.styles?.filter(style => style.__unstableType && style.__unstableType !== 'theme')) !== null && _editorSettings$style !== void 0 ? _editorSettings$style : [];
75
+ const defaultEditorStyles = [...editorSettings.defaultEditorStyles, ...presetStyles]; // Has theme styles if the theme supports them and if some styles were not preset styles (in which case they're theme styles).
76
+
77
+ const hasThemeStyles = hasThemeStyleSupport && presetStyles.length !== ((_editorSettings$style2 = editorSettings.styles?.length) !== null && _editorSettings$style2 !== void 0 ? _editorSettings$style2 : 0); // If theme styles are not present or displayed, ensure that
78
+ // base layout styles are still present in the editor.
79
+
80
+ if (!editorSettings.disableLayoutStyles && !hasThemeStyles) {
81
+ defaultEditorStyles.push({
82
+ css: getLayoutStyles({
83
+ style: {},
84
+ selector: 'body',
85
+ hasBlockGapSupport: false,
86
+ hasFallbackGapSupport: true,
87
+ fallbackGapValue: '0.5em'
88
+ })
89
+ });
90
+ }
91
+
92
+ return hasThemeStyles ? editorSettings.styles : defaultEditorStyles;
93
+ }, [editorSettings.defaultEditorStyles, editorSettings.disableLayoutStyles, editorSettings.styles, hasThemeStyleSupport]);
94
+ }
95
+
62
96
  function Layout() {
63
97
  const isMobileViewport = useViewportMatch('medium', '<');
64
98
  const isHugeViewport = useViewportMatch('huge', '>=');
@@ -87,43 +121,14 @@ function Layout() {
87
121
  isDistractionFree,
88
122
  showBlockBreadcrumbs,
89
123
  isTemplateMode,
90
- documentLabel,
91
- styles
124
+ documentLabel
92
125
  } = useSelect(select => {
93
126
  const {
94
127
  getEditorSettings,
95
128
  getPostTypeLabel
96
129
  } = select(editorStore);
97
- const {
98
- isFeatureActive
99
- } = select(editPostStore);
100
130
  const editorSettings = getEditorSettings();
101
131
  const postTypeLabel = getPostTypeLabel();
102
- const hasThemeStyles = isFeatureActive('themeStyles');
103
- const themeStyles = [];
104
- const presetStyles = [];
105
- editorSettings.styles?.forEach(style => {
106
- if (!style.__unstableType || style.__unstableType === 'theme') {
107
- themeStyles.push(style);
108
- } else {
109
- presetStyles.push(style);
110
- }
111
- });
112
- const defaultEditorStyles = [...editorSettings.defaultEditorStyles, ...presetStyles]; // If theme styles are not present or displayed, ensure that
113
- // base layout styles are still present in the editor.
114
-
115
- if (!editorSettings.disableLayoutStyles && !(hasThemeStyles && themeStyles.length)) {
116
- defaultEditorStyles.push({
117
- css: getLayoutStyles({
118
- style: {},
119
- selector: 'body',
120
- hasBlockGapSupport: false,
121
- hasFallbackGapSupport: true,
122
- fallbackGapValue: '0.5em'
123
- })
124
- });
125
- }
126
-
127
132
  return {
128
133
  isTemplateMode: select(editPostStore).isEditingTemplate(),
129
134
  hasFixedToolbar: select(editPostStore).isFeatureActive('fixedToolbar'),
@@ -140,10 +145,10 @@ function Layout() {
140
145
  isDistractionFree: select(editPostStore).isFeatureActive('distractionFree'),
141
146
  showBlockBreadcrumbs: select(editPostStore).isFeatureActive('showBlockBreadcrumbs'),
142
147
  // translators: Default label for the Document in the Block Breadcrumb.
143
- documentLabel: postTypeLabel || _x('Document', 'noun'),
144
- styles: hasThemeStyles && themeStyles.length ? editorSettings.styles : defaultEditorStyles
148
+ documentLabel: postTypeLabel || _x('Document', 'noun')
145
149
  };
146
150
  }, []);
151
+ const styles = useEditorStyles();
147
152
 
148
153
  const openSidebarPanel = () => openGeneralSidebar(hasBlockSelected ? 'edit-post/block' : 'edit-post/document'); // Inserter and Sidebars are mutually exclusive
149
154
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/components/layout/index.js"],"names":["classnames","AutosaveMonitor","LocalAutosaveMonitor","UnsavedChangesWarning","EditorNotices","EditorKeyboardShortcutsRegister","EditorSnackbars","PostSyncStatusModal","store","editorStore","useSelect","useDispatch","BlockBreadcrumb","privateApis","blockEditorPrivateApis","Button","ScrollLock","Popover","useViewportMatch","PluginArea","__","_x","sprintf","ComplementaryArea","FullscreenMode","InterfaceSkeleton","interfaceStore","useState","useEffect","useCallback","keyboardShortcutsStore","noticesStore","TextEditor","VisualEditor","EditPostKeyboardShortcuts","KeyboardShortcutHelpModal","EditPostPreferencesModal","BrowserURL","Header","InserterSidebar","ListViewSidebar","SettingsSidebar","MetaBoxes","WelcomeGuide","ActionsPanel","StartPageOptions","editPostStore","unlock","getLayoutStyles","interfaceLabels","header","body","sidebar","actions","footer","Layout","isMobileViewport","isHugeViewport","isLargeViewport","openGeneralSidebar","closeGeneralSidebar","setIsInserterOpened","createErrorNotice","mode","isFullscreenActive","isRichEditingEnabled","sidebarIsOpened","hasActiveMetaboxes","hasFixedToolbar","previousShortcut","nextShortcut","hasBlockSelected","isInserterOpened","isListViewOpened","showIconLabels","isDistractionFree","showBlockBreadcrumbs","isTemplateMode","documentLabel","styles","select","getEditorSettings","getPostTypeLabel","isFeatureActive","editorSettings","postTypeLabel","hasThemeStyles","themeStyles","presetStyles","forEach","style","__unstableType","push","defaultEditorStyles","disableLayoutStyles","length","css","selector","hasBlockGapSupport","hasFallbackGapSupport","fallbackGapValue","isEditingTemplate","getActiveComplementaryArea","name","isPublishSidebarOpened","getEditorMode","richEditingEnabled","hasMetaBoxes","getAllShortcutKeyCombinations","openSidebarPanel","entitiesSavedStatesCallback","setEntitiesSavedStatesCallback","closeEntitiesSavedStates","arg","className","secondarySidebarLabel","secondarySidebar","onPluginAreaError","previous","next"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAutosaveMonitor,\n\tLocalAutosaveMonitor,\n\tUnsavedChangesWarning,\n\tEditorNotices,\n\tEditorKeyboardShortcutsRegister,\n\tEditorSnackbars,\n\tPostSyncStatusModal,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tBlockBreadcrumb,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { Button, ScrollLock, Popover } from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { PluginArea } from '@wordpress/plugins';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tComplementaryArea,\n\tFullscreenMode,\n\tInterfaceSkeleton,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport { useState, useEffect, useCallback } from '@wordpress/element';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport TextEditor from '../text-editor';\nimport VisualEditor from '../visual-editor';\nimport EditPostKeyboardShortcuts from '../keyboard-shortcuts';\nimport KeyboardShortcutHelpModal from '../keyboard-shortcut-help-modal';\nimport EditPostPreferencesModal from '../preferences-modal';\nimport BrowserURL from '../browser-url';\nimport Header from '../header';\nimport InserterSidebar from '../secondary-sidebar/inserter-sidebar';\nimport ListViewSidebar from '../secondary-sidebar/list-view-sidebar';\nimport SettingsSidebar from '../sidebar/settings-sidebar';\nimport MetaBoxes from '../meta-boxes';\nimport WelcomeGuide from '../welcome-guide';\nimport ActionsPanel from './actions-panel';\nimport StartPageOptions from '../start-page-options';\nimport { store as editPostStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { getLayoutStyles } = unlock( blockEditorPrivateApis );\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor top bar landmark region. */\n\theader: __( 'Editor top bar' ),\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n};\n\nfunction Layout() {\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isHugeViewport = useViewportMatch( 'huge', '>=' );\n\tconst isLargeViewport = useViewportMatch( 'large' );\n\tconst { openGeneralSidebar, closeGeneralSidebar, setIsInserterOpened } =\n\t\tuseDispatch( editPostStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst {\n\t\tmode,\n\t\tisFullscreenActive,\n\t\tisRichEditingEnabled,\n\t\tsidebarIsOpened,\n\t\thasActiveMetaboxes,\n\t\thasFixedToolbar,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t\thasBlockSelected,\n\t\tisInserterOpened,\n\t\tisListViewOpened,\n\t\tshowIconLabels,\n\t\tisDistractionFree,\n\t\tshowBlockBreadcrumbs,\n\t\tisTemplateMode,\n\t\tdocumentLabel,\n\t\tstyles,\n\t} = useSelect( ( select ) => {\n\t\tconst { getEditorSettings, getPostTypeLabel } = select( editorStore );\n\t\tconst { isFeatureActive } = select( editPostStore );\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst postTypeLabel = getPostTypeLabel();\n\t\tconst hasThemeStyles = isFeatureActive( 'themeStyles' );\n\n\t\tconst themeStyles = [];\n\t\tconst presetStyles = [];\n\t\teditorSettings.styles?.forEach( ( style ) => {\n\t\t\tif ( ! style.__unstableType || style.__unstableType === 'theme' ) {\n\t\t\t\tthemeStyles.push( style );\n\t\t\t} else {\n\t\t\t\tpresetStyles.push( style );\n\t\t\t}\n\t\t} );\n\n\t\tconst defaultEditorStyles = [\n\t\t\t...editorSettings.defaultEditorStyles,\n\t\t\t...presetStyles,\n\t\t];\n\n\t\t// If theme styles are not present or displayed, ensure that\n\t\t// base layout styles are still present in the editor.\n\t\tif (\n\t\t\t! editorSettings.disableLayoutStyles &&\n\t\t\t! ( hasThemeStyles && themeStyles.length )\n\t\t) {\n\t\t\tdefaultEditorStyles.push( {\n\t\t\t\tcss: getLayoutStyles( {\n\t\t\t\t\tstyle: {},\n\t\t\t\t\tselector: 'body',\n\t\t\t\t\thasBlockGapSupport: false,\n\t\t\t\t\thasFallbackGapSupport: true,\n\t\t\t\t\tfallbackGapValue: '0.5em',\n\t\t\t\t} ),\n\t\t\t} );\n\t\t}\n\n\t\treturn {\n\t\t\tisTemplateMode: select( editPostStore ).isEditingTemplate(),\n\t\t\thasFixedToolbar:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'fixedToolbar' ),\n\t\t\tsidebarIsOpened: !! (\n\t\t\t\tselect( interfaceStore ).getActiveComplementaryArea(\n\t\t\t\t\teditPostStore.name\n\t\t\t\t) || select( editPostStore ).isPublishSidebarOpened()\n\t\t\t),\n\t\t\tisFullscreenActive:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'fullscreenMode' ),\n\t\t\tisInserterOpened: select( editPostStore ).isInserterOpened(),\n\t\t\tisListViewOpened: select( editPostStore ).isListViewOpened(),\n\t\t\tmode: select( editPostStore ).getEditorMode(),\n\t\t\tisRichEditingEnabled: editorSettings.richEditingEnabled,\n\t\t\thasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),\n\t\t\tpreviousShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-post/previous-region' ),\n\t\t\tnextShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-post/next-region' ),\n\t\t\tshowIconLabels:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'showIconLabels' ),\n\t\t\tisDistractionFree:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'distractionFree' ),\n\t\t\tshowBlockBreadcrumbs: select( editPostStore ).isFeatureActive(\n\t\t\t\t'showBlockBreadcrumbs'\n\t\t\t),\n\t\t\t// translators: Default label for the Document in the Block Breadcrumb.\n\t\t\tdocumentLabel: postTypeLabel || _x( 'Document', 'noun' ),\n\t\t\tstyles:\n\t\t\t\thasThemeStyles && themeStyles.length\n\t\t\t\t\t? editorSettings.styles\n\t\t\t\t\t: defaultEditorStyles,\n\t\t};\n\t}, [] );\n\n\tconst openSidebarPanel = () =>\n\t\topenGeneralSidebar(\n\t\t\thasBlockSelected ? 'edit-post/block' : 'edit-post/document'\n\t\t);\n\n\t// Inserter and Sidebars are mutually exclusive\n\tuseEffect( () => {\n\t\tif ( sidebarIsOpened && ! isHugeViewport ) {\n\t\t\tsetIsInserterOpened( false );\n\t\t}\n\t}, [ sidebarIsOpened, isHugeViewport ] );\n\tuseEffect( () => {\n\t\tif ( isInserterOpened && ! isHugeViewport ) {\n\t\t\tcloseGeneralSidebar();\n\t\t}\n\t}, [ isInserterOpened, isHugeViewport ] );\n\n\t// Local state for save panel.\n\t// Note 'truthy' callback implies an open panel.\n\tconst [ entitiesSavedStatesCallback, setEntitiesSavedStatesCallback ] =\n\t\tuseState( false );\n\tconst closeEntitiesSavedStates = useCallback(\n\t\t( arg ) => {\n\t\t\tif ( typeof entitiesSavedStatesCallback === 'function' ) {\n\t\t\t\tentitiesSavedStatesCallback( arg );\n\t\t\t}\n\t\t\tsetEntitiesSavedStatesCallback( false );\n\t\t},\n\t\t[ entitiesSavedStatesCallback ]\n\t);\n\n\tconst className = classnames( 'edit-post-layout', 'is-mode-' + mode, {\n\t\t'is-sidebar-opened': sidebarIsOpened,\n\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t\t'has-metaboxes': hasActiveMetaboxes,\n\t\t'show-icon-labels': showIconLabels,\n\t\t'is-distraction-free': isDistractionFree && isLargeViewport,\n\t\t'is-entity-save-view-open': !! entitiesSavedStatesCallback,\n\t} );\n\n\tconst secondarySidebarLabel = isListViewOpened\n\t\t? __( 'Document Overview' )\n\t\t: __( 'Block Library' );\n\n\tconst secondarySidebar = () => {\n\t\tif ( mode === 'visual' && isInserterOpened ) {\n\t\t\treturn <InserterSidebar />;\n\t\t}\n\t\tif ( mode === 'visual' && isListViewOpened ) {\n\t\t\treturn <ListViewSidebar />;\n\t\t}\n\n\t\treturn null;\n\t};\n\n\tfunction onPluginAreaError( name ) {\n\t\tcreateErrorNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: plugin name */\n\t\t\t\t__(\n\t\t\t\t\t'The \"%s\" plugin has encountered an error and cannot be rendered.'\n\t\t\t\t),\n\t\t\t\tname\n\t\t\t)\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<FullscreenMode isActive={ isFullscreenActive } />\n\t\t\t<BrowserURL />\n\t\t\t<UnsavedChangesWarning />\n\t\t\t<AutosaveMonitor />\n\t\t\t<LocalAutosaveMonitor />\n\t\t\t<EditPostKeyboardShortcuts />\n\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t<SettingsSidebar />\n\t\t\t<InterfaceSkeleton\n\t\t\t\tisDistractionFree={ isDistractionFree && isLargeViewport }\n\t\t\t\tclassName={ className }\n\t\t\t\tlabels={ {\n\t\t\t\t\t...interfaceLabels,\n\t\t\t\t\tsecondarySidebar: secondarySidebarLabel,\n\t\t\t\t} }\n\t\t\t\theader={\n\t\t\t\t\t<Header\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\teditorNotices={ <EditorNotices /> }\n\t\t\t\tsecondarySidebar={ secondarySidebar() }\n\t\t\t\tsidebar={\n\t\t\t\t\t( ! isMobileViewport || sidebarIsOpened ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isMobileViewport && ! sidebarIsOpened && (\n\t\t\t\t\t\t\t\t<div className=\"edit-post-layout__toggle-sidebar-panel\">\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-post-layout__toggle-sidebar-panel-button\"\n\t\t\t\t\t\t\t\t\t\tonClick={ openSidebarPanel }\n\t\t\t\t\t\t\t\t\t\taria-expanded={ false }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ hasBlockSelected\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Open block settings' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Open document settings' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-post\" />\n\t\t\t\t\t\t</>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\tcontent={\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ ! isDistractionFree && <EditorNotices /> }\n\t\t\t\t\t\t{ ( mode === 'text' || ! isRichEditingEnabled ) && (\n\t\t\t\t\t\t\t<TextEditor />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isRichEditingEnabled && mode === 'visual' && (\n\t\t\t\t\t\t\t<VisualEditor styles={ styles } />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! isDistractionFree && ! isTemplateMode && (\n\t\t\t\t\t\t\t<div className=\"edit-post-layout__metaboxes\">\n\t\t\t\t\t\t\t\t<MetaBoxes location=\"normal\" />\n\t\t\t\t\t\t\t\t<MetaBoxes location=\"advanced\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isMobileViewport && sidebarIsOpened && (\n\t\t\t\t\t\t\t<ScrollLock />\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t\tfooter={\n\t\t\t\t\t! isDistractionFree &&\n\t\t\t\t\t! isMobileViewport &&\n\t\t\t\t\tshowBlockBreadcrumbs &&\n\t\t\t\t\tisRichEditingEnabled &&\n\t\t\t\t\tmode === 'visual' && (\n\t\t\t\t\t\t<div className=\"edit-post-layout__footer\">\n\t\t\t\t\t\t\t<BlockBreadcrumb rootLabelText={ documentLabel } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tactions={\n\t\t\t\t\t<ActionsPanel\n\t\t\t\t\t\tcloseEntitiesSavedStates={ closeEntitiesSavedStates }\n\t\t\t\t\t\tisEntitiesSavedStatesOpen={\n\t\t\t\t\t\t\tentitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tshortcuts={ {\n\t\t\t\t\tprevious: previousShortcut,\n\t\t\t\t\tnext: nextShortcut,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<EditPostPreferencesModal />\n\t\t\t<KeyboardShortcutHelpModal />\n\t\t\t<WelcomeGuide />\n\t\t\t<PostSyncStatusModal />\n\t\t\t<StartPageOptions />\n\t\t\t<Popover.Slot />\n\t\t\t<PluginArea onError={ onPluginAreaError } />\n\t\t</>\n\t);\n}\n\nexport default Layout;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-post/src/components/layout/index.js"],"names":["classnames","AutosaveMonitor","LocalAutosaveMonitor","UnsavedChangesWarning","EditorNotices","EditorKeyboardShortcutsRegister","EditorSnackbars","PostSyncStatusModal","store","editorStore","useSelect","useDispatch","BlockBreadcrumb","privateApis","blockEditorPrivateApis","Button","ScrollLock","Popover","useViewportMatch","PluginArea","__","_x","sprintf","ComplementaryArea","FullscreenMode","InterfaceSkeleton","interfaceStore","useState","useEffect","useCallback","useMemo","keyboardShortcutsStore","noticesStore","TextEditor","VisualEditor","EditPostKeyboardShortcuts","KeyboardShortcutHelpModal","EditPostPreferencesModal","BrowserURL","Header","InserterSidebar","ListViewSidebar","SettingsSidebar","MetaBoxes","WelcomeGuide","ActionsPanel","StartPageOptions","editPostStore","unlock","getLayoutStyles","interfaceLabels","header","body","sidebar","actions","footer","useEditorStyles","hasThemeStyleSupport","editorSettings","select","isFeatureActive","getEditorSettings","presetStyles","styles","filter","style","__unstableType","defaultEditorStyles","hasThemeStyles","length","disableLayoutStyles","push","css","selector","hasBlockGapSupport","hasFallbackGapSupport","fallbackGapValue","Layout","isMobileViewport","isHugeViewport","isLargeViewport","openGeneralSidebar","closeGeneralSidebar","setIsInserterOpened","createErrorNotice","mode","isFullscreenActive","isRichEditingEnabled","sidebarIsOpened","hasActiveMetaboxes","hasFixedToolbar","previousShortcut","nextShortcut","hasBlockSelected","isInserterOpened","isListViewOpened","showIconLabels","isDistractionFree","showBlockBreadcrumbs","isTemplateMode","documentLabel","getPostTypeLabel","postTypeLabel","isEditingTemplate","getActiveComplementaryArea","name","isPublishSidebarOpened","getEditorMode","richEditingEnabled","hasMetaBoxes","getAllShortcutKeyCombinations","openSidebarPanel","entitiesSavedStatesCallback","setEntitiesSavedStatesCallback","closeEntitiesSavedStates","arg","className","secondarySidebarLabel","secondarySidebar","onPluginAreaError","previous","next"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAutosaveMonitor,\n\tLocalAutosaveMonitor,\n\tUnsavedChangesWarning,\n\tEditorNotices,\n\tEditorKeyboardShortcutsRegister,\n\tEditorSnackbars,\n\tPostSyncStatusModal,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tBlockBreadcrumb,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { Button, ScrollLock, Popover } from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { PluginArea } from '@wordpress/plugins';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tComplementaryArea,\n\tFullscreenMode,\n\tInterfaceSkeleton,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport { useState, useEffect, useCallback, useMemo } from '@wordpress/element';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport TextEditor from '../text-editor';\nimport VisualEditor from '../visual-editor';\nimport EditPostKeyboardShortcuts from '../keyboard-shortcuts';\nimport KeyboardShortcutHelpModal from '../keyboard-shortcut-help-modal';\nimport EditPostPreferencesModal from '../preferences-modal';\nimport BrowserURL from '../browser-url';\nimport Header from '../header';\nimport InserterSidebar from '../secondary-sidebar/inserter-sidebar';\nimport ListViewSidebar from '../secondary-sidebar/list-view-sidebar';\nimport SettingsSidebar from '../sidebar/settings-sidebar';\nimport MetaBoxes from '../meta-boxes';\nimport WelcomeGuide from '../welcome-guide';\nimport ActionsPanel from './actions-panel';\nimport StartPageOptions from '../start-page-options';\nimport { store as editPostStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { getLayoutStyles } = unlock( blockEditorPrivateApis );\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor top bar landmark region. */\n\theader: __( 'Editor top bar' ),\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n};\n\nfunction useEditorStyles() {\n\tconst { hasThemeStyleSupport, editorSettings } = useSelect(\n\t\t( select ) => ( {\n\t\t\thasThemeStyleSupport:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'themeStyles' ),\n\t\t\teditorSettings: select( editorStore ).getEditorSettings(),\n\t\t} ),\n\t\t[]\n\t);\n\n\t// Compute the default styles.\n\treturn useMemo( () => {\n\t\tconst presetStyles =\n\t\t\teditorSettings.styles?.filter(\n\t\t\t\t( style ) =>\n\t\t\t\t\tstyle.__unstableType && style.__unstableType !== 'theme'\n\t\t\t) ?? [];\n\n\t\tconst defaultEditorStyles = [\n\t\t\t...editorSettings.defaultEditorStyles,\n\t\t\t...presetStyles,\n\t\t];\n\n\t\t// Has theme styles if the theme supports them and if some styles were not preset styles (in which case they're theme styles).\n\t\tconst hasThemeStyles =\n\t\t\thasThemeStyleSupport &&\n\t\t\tpresetStyles.length !== ( editorSettings.styles?.length ?? 0 );\n\n\t\t// If theme styles are not present or displayed, ensure that\n\t\t// base layout styles are still present in the editor.\n\t\tif ( ! editorSettings.disableLayoutStyles && ! hasThemeStyles ) {\n\t\t\tdefaultEditorStyles.push( {\n\t\t\t\tcss: getLayoutStyles( {\n\t\t\t\t\tstyle: {},\n\t\t\t\t\tselector: 'body',\n\t\t\t\t\thasBlockGapSupport: false,\n\t\t\t\t\thasFallbackGapSupport: true,\n\t\t\t\t\tfallbackGapValue: '0.5em',\n\t\t\t\t} ),\n\t\t\t} );\n\t\t}\n\n\t\treturn hasThemeStyles ? editorSettings.styles : defaultEditorStyles;\n\t}, [\n\t\teditorSettings.defaultEditorStyles,\n\t\teditorSettings.disableLayoutStyles,\n\t\teditorSettings.styles,\n\t\thasThemeStyleSupport,\n\t] );\n}\n\nfunction Layout() {\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isHugeViewport = useViewportMatch( 'huge', '>=' );\n\tconst isLargeViewport = useViewportMatch( 'large' );\n\tconst { openGeneralSidebar, closeGeneralSidebar, setIsInserterOpened } =\n\t\tuseDispatch( editPostStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst {\n\t\tmode,\n\t\tisFullscreenActive,\n\t\tisRichEditingEnabled,\n\t\tsidebarIsOpened,\n\t\thasActiveMetaboxes,\n\t\thasFixedToolbar,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t\thasBlockSelected,\n\t\tisInserterOpened,\n\t\tisListViewOpened,\n\t\tshowIconLabels,\n\t\tisDistractionFree,\n\t\tshowBlockBreadcrumbs,\n\t\tisTemplateMode,\n\t\tdocumentLabel,\n\t} = useSelect( ( select ) => {\n\t\tconst { getEditorSettings, getPostTypeLabel } = select( editorStore );\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst postTypeLabel = getPostTypeLabel();\n\n\t\treturn {\n\t\t\tisTemplateMode: select( editPostStore ).isEditingTemplate(),\n\t\t\thasFixedToolbar:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'fixedToolbar' ),\n\t\t\tsidebarIsOpened: !! (\n\t\t\t\tselect( interfaceStore ).getActiveComplementaryArea(\n\t\t\t\t\teditPostStore.name\n\t\t\t\t) || select( editPostStore ).isPublishSidebarOpened()\n\t\t\t),\n\t\t\tisFullscreenActive:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'fullscreenMode' ),\n\t\t\tisInserterOpened: select( editPostStore ).isInserterOpened(),\n\t\t\tisListViewOpened: select( editPostStore ).isListViewOpened(),\n\t\t\tmode: select( editPostStore ).getEditorMode(),\n\t\t\tisRichEditingEnabled: editorSettings.richEditingEnabled,\n\t\t\thasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),\n\t\t\tpreviousShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-post/previous-region' ),\n\t\t\tnextShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-post/next-region' ),\n\t\t\tshowIconLabels:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'showIconLabels' ),\n\t\t\tisDistractionFree:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'distractionFree' ),\n\t\t\tshowBlockBreadcrumbs: select( editPostStore ).isFeatureActive(\n\t\t\t\t'showBlockBreadcrumbs'\n\t\t\t),\n\t\t\t// translators: Default label for the Document in the Block Breadcrumb.\n\t\t\tdocumentLabel: postTypeLabel || _x( 'Document', 'noun' ),\n\t\t};\n\t}, [] );\n\n\tconst styles = useEditorStyles();\n\n\tconst openSidebarPanel = () =>\n\t\topenGeneralSidebar(\n\t\t\thasBlockSelected ? 'edit-post/block' : 'edit-post/document'\n\t\t);\n\n\t// Inserter and Sidebars are mutually exclusive\n\tuseEffect( () => {\n\t\tif ( sidebarIsOpened && ! isHugeViewport ) {\n\t\t\tsetIsInserterOpened( false );\n\t\t}\n\t}, [ sidebarIsOpened, isHugeViewport ] );\n\tuseEffect( () => {\n\t\tif ( isInserterOpened && ! isHugeViewport ) {\n\t\t\tcloseGeneralSidebar();\n\t\t}\n\t}, [ isInserterOpened, isHugeViewport ] );\n\n\t// Local state for save panel.\n\t// Note 'truthy' callback implies an open panel.\n\tconst [ entitiesSavedStatesCallback, setEntitiesSavedStatesCallback ] =\n\t\tuseState( false );\n\tconst closeEntitiesSavedStates = useCallback(\n\t\t( arg ) => {\n\t\t\tif ( typeof entitiesSavedStatesCallback === 'function' ) {\n\t\t\t\tentitiesSavedStatesCallback( arg );\n\t\t\t}\n\t\t\tsetEntitiesSavedStatesCallback( false );\n\t\t},\n\t\t[ entitiesSavedStatesCallback ]\n\t);\n\n\tconst className = classnames( 'edit-post-layout', 'is-mode-' + mode, {\n\t\t'is-sidebar-opened': sidebarIsOpened,\n\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t\t'has-metaboxes': hasActiveMetaboxes,\n\t\t'show-icon-labels': showIconLabels,\n\t\t'is-distraction-free': isDistractionFree && isLargeViewport,\n\t\t'is-entity-save-view-open': !! entitiesSavedStatesCallback,\n\t} );\n\n\tconst secondarySidebarLabel = isListViewOpened\n\t\t? __( 'Document Overview' )\n\t\t: __( 'Block Library' );\n\n\tconst secondarySidebar = () => {\n\t\tif ( mode === 'visual' && isInserterOpened ) {\n\t\t\treturn <InserterSidebar />;\n\t\t}\n\t\tif ( mode === 'visual' && isListViewOpened ) {\n\t\t\treturn <ListViewSidebar />;\n\t\t}\n\n\t\treturn null;\n\t};\n\n\tfunction onPluginAreaError( name ) {\n\t\tcreateErrorNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: plugin name */\n\t\t\t\t__(\n\t\t\t\t\t'The \"%s\" plugin has encountered an error and cannot be rendered.'\n\t\t\t\t),\n\t\t\t\tname\n\t\t\t)\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<FullscreenMode isActive={ isFullscreenActive } />\n\t\t\t<BrowserURL />\n\t\t\t<UnsavedChangesWarning />\n\t\t\t<AutosaveMonitor />\n\t\t\t<LocalAutosaveMonitor />\n\t\t\t<EditPostKeyboardShortcuts />\n\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t<SettingsSidebar />\n\t\t\t<InterfaceSkeleton\n\t\t\t\tisDistractionFree={ isDistractionFree && isLargeViewport }\n\t\t\t\tclassName={ className }\n\t\t\t\tlabels={ {\n\t\t\t\t\t...interfaceLabels,\n\t\t\t\t\tsecondarySidebar: secondarySidebarLabel,\n\t\t\t\t} }\n\t\t\t\theader={\n\t\t\t\t\t<Header\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\teditorNotices={ <EditorNotices /> }\n\t\t\t\tsecondarySidebar={ secondarySidebar() }\n\t\t\t\tsidebar={\n\t\t\t\t\t( ! isMobileViewport || sidebarIsOpened ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isMobileViewport && ! sidebarIsOpened && (\n\t\t\t\t\t\t\t\t<div className=\"edit-post-layout__toggle-sidebar-panel\">\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-post-layout__toggle-sidebar-panel-button\"\n\t\t\t\t\t\t\t\t\t\tonClick={ openSidebarPanel }\n\t\t\t\t\t\t\t\t\t\taria-expanded={ false }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ hasBlockSelected\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Open block settings' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Open document settings' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-post\" />\n\t\t\t\t\t\t</>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\tcontent={\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ ! isDistractionFree && <EditorNotices /> }\n\t\t\t\t\t\t{ ( mode === 'text' || ! isRichEditingEnabled ) && (\n\t\t\t\t\t\t\t<TextEditor />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isRichEditingEnabled && mode === 'visual' && (\n\t\t\t\t\t\t\t<VisualEditor styles={ styles } />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! isDistractionFree && ! isTemplateMode && (\n\t\t\t\t\t\t\t<div className=\"edit-post-layout__metaboxes\">\n\t\t\t\t\t\t\t\t<MetaBoxes location=\"normal\" />\n\t\t\t\t\t\t\t\t<MetaBoxes location=\"advanced\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isMobileViewport && sidebarIsOpened && (\n\t\t\t\t\t\t\t<ScrollLock />\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t\tfooter={\n\t\t\t\t\t! isDistractionFree &&\n\t\t\t\t\t! isMobileViewport &&\n\t\t\t\t\tshowBlockBreadcrumbs &&\n\t\t\t\t\tisRichEditingEnabled &&\n\t\t\t\t\tmode === 'visual' && (\n\t\t\t\t\t\t<div className=\"edit-post-layout__footer\">\n\t\t\t\t\t\t\t<BlockBreadcrumb rootLabelText={ documentLabel } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tactions={\n\t\t\t\t\t<ActionsPanel\n\t\t\t\t\t\tcloseEntitiesSavedStates={ closeEntitiesSavedStates }\n\t\t\t\t\t\tisEntitiesSavedStatesOpen={\n\t\t\t\t\t\t\tentitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tshortcuts={ {\n\t\t\t\t\tprevious: previousShortcut,\n\t\t\t\t\tnext: nextShortcut,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<EditPostPreferencesModal />\n\t\t\t<KeyboardShortcutHelpModal />\n\t\t\t<WelcomeGuide />\n\t\t\t<PostSyncStatusModal />\n\t\t\t<StartPageOptions />\n\t\t\t<Popover.Slot />\n\t\t\t<PluginArea onError={ onPluginAreaError } />\n\t\t</>\n\t);\n}\n\nexport default Layout;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/edit-post",
3
- "version": "7.12.14",
3
+ "version": "7.12.16",
4
4
  "description": "Edit Post module for WordPress.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -29,18 +29,18 @@
29
29
  "@babel/runtime": "^7.16.0",
30
30
  "@wordpress/a11y": "^3.35.1",
31
31
  "@wordpress/api-fetch": "^6.32.1",
32
- "@wordpress/block-editor": "^12.3.12",
33
- "@wordpress/block-library": "^8.12.14",
32
+ "@wordpress/block-editor": "^12.3.13",
33
+ "@wordpress/block-library": "^8.12.16",
34
34
  "@wordpress/blocks": "^12.12.7",
35
35
  "@wordpress/commands": "^0.6.11",
36
36
  "@wordpress/components": "^25.1.10",
37
37
  "@wordpress/compose": "^6.12.2",
38
- "@wordpress/core-commands": "^0.4.12",
39
- "@wordpress/core-data": "^6.12.12",
38
+ "@wordpress/core-commands": "^0.4.14",
39
+ "@wordpress/core-data": "^6.12.14",
40
40
  "@wordpress/data": "^9.5.5",
41
41
  "@wordpress/deprecated": "^3.35.1",
42
42
  "@wordpress/dom": "^3.35.1",
43
- "@wordpress/editor": "^13.12.12",
43
+ "@wordpress/editor": "^13.12.14",
44
44
  "@wordpress/element": "^5.12.1",
45
45
  "@wordpress/hooks": "^3.35.1",
46
46
  "@wordpress/i18n": "^4.35.1",
@@ -56,7 +56,7 @@
56
56
  "@wordpress/url": "^3.36.1",
57
57
  "@wordpress/viewport": "^5.12.5",
58
58
  "@wordpress/warning": "^2.35.1",
59
- "@wordpress/widgets": "^3.12.12",
59
+ "@wordpress/widgets": "^3.12.14",
60
60
  "classnames": "^2.3.1",
61
61
  "memize": "^2.1.0",
62
62
  "rememo": "^4.0.2"
@@ -68,5 +68,5 @@
68
68
  "publishConfig": {
69
69
  "access": "public"
70
70
  },
71
- "gitHead": "53cd9574a54a643c73e76fe1abaa8d1be489f8f7"
71
+ "gitHead": "422f6fd382771134156919d2032765e57432be7e"
72
72
  }
@@ -31,7 +31,7 @@ import {
31
31
  InterfaceSkeleton,
32
32
  store as interfaceStore,
33
33
  } from '@wordpress/interface';
34
- import { useState, useEffect, useCallback } from '@wordpress/element';
34
+ import { useState, useEffect, useCallback, useMemo } from '@wordpress/element';
35
35
  import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';
36
36
  import { store as noticesStore } from '@wordpress/notices';
37
37
 
@@ -70,6 +70,57 @@ const interfaceLabels = {
70
70
  footer: __( 'Editor footer' ),
71
71
  };
72
72
 
73
+ function useEditorStyles() {
74
+ const { hasThemeStyleSupport, editorSettings } = useSelect(
75
+ ( select ) => ( {
76
+ hasThemeStyleSupport:
77
+ select( editPostStore ).isFeatureActive( 'themeStyles' ),
78
+ editorSettings: select( editorStore ).getEditorSettings(),
79
+ } ),
80
+ []
81
+ );
82
+
83
+ // Compute the default styles.
84
+ return useMemo( () => {
85
+ const presetStyles =
86
+ editorSettings.styles?.filter(
87
+ ( style ) =>
88
+ style.__unstableType && style.__unstableType !== 'theme'
89
+ ) ?? [];
90
+
91
+ const defaultEditorStyles = [
92
+ ...editorSettings.defaultEditorStyles,
93
+ ...presetStyles,
94
+ ];
95
+
96
+ // Has theme styles if the theme supports them and if some styles were not preset styles (in which case they're theme styles).
97
+ const hasThemeStyles =
98
+ hasThemeStyleSupport &&
99
+ presetStyles.length !== ( editorSettings.styles?.length ?? 0 );
100
+
101
+ // If theme styles are not present or displayed, ensure that
102
+ // base layout styles are still present in the editor.
103
+ if ( ! editorSettings.disableLayoutStyles && ! hasThemeStyles ) {
104
+ defaultEditorStyles.push( {
105
+ css: getLayoutStyles( {
106
+ style: {},
107
+ selector: 'body',
108
+ hasBlockGapSupport: false,
109
+ hasFallbackGapSupport: true,
110
+ fallbackGapValue: '0.5em',
111
+ } ),
112
+ } );
113
+ }
114
+
115
+ return hasThemeStyles ? editorSettings.styles : defaultEditorStyles;
116
+ }, [
117
+ editorSettings.defaultEditorStyles,
118
+ editorSettings.disableLayoutStyles,
119
+ editorSettings.styles,
120
+ hasThemeStyleSupport,
121
+ ] );
122
+ }
123
+
73
124
  function Layout() {
74
125
  const isMobileViewport = useViewportMatch( 'medium', '<' );
75
126
  const isHugeViewport = useViewportMatch( 'huge', '>=' );
@@ -94,45 +145,10 @@ function Layout() {
94
145
  showBlockBreadcrumbs,
95
146
  isTemplateMode,
96
147
  documentLabel,
97
- styles,
98
148
  } = useSelect( ( select ) => {
99
149
  const { getEditorSettings, getPostTypeLabel } = select( editorStore );
100
- const { isFeatureActive } = select( editPostStore );
101
150
  const editorSettings = getEditorSettings();
102
151
  const postTypeLabel = getPostTypeLabel();
103
- const hasThemeStyles = isFeatureActive( 'themeStyles' );
104
-
105
- const themeStyles = [];
106
- const presetStyles = [];
107
- editorSettings.styles?.forEach( ( style ) => {
108
- if ( ! style.__unstableType || style.__unstableType === 'theme' ) {
109
- themeStyles.push( style );
110
- } else {
111
- presetStyles.push( style );
112
- }
113
- } );
114
-
115
- const defaultEditorStyles = [
116
- ...editorSettings.defaultEditorStyles,
117
- ...presetStyles,
118
- ];
119
-
120
- // If theme styles are not present or displayed, ensure that
121
- // base layout styles are still present in the editor.
122
- if (
123
- ! editorSettings.disableLayoutStyles &&
124
- ! ( hasThemeStyles && themeStyles.length )
125
- ) {
126
- defaultEditorStyles.push( {
127
- css: getLayoutStyles( {
128
- style: {},
129
- selector: 'body',
130
- hasBlockGapSupport: false,
131
- hasFallbackGapSupport: true,
132
- fallbackGapValue: '0.5em',
133
- } ),
134
- } );
135
- }
136
152
 
137
153
  return {
138
154
  isTemplateMode: select( editPostStore ).isEditingTemplate(),
@@ -165,13 +181,11 @@ function Layout() {
165
181
  ),
166
182
  // translators: Default label for the Document in the Block Breadcrumb.
167
183
  documentLabel: postTypeLabel || _x( 'Document', 'noun' ),
168
- styles:
169
- hasThemeStyles && themeStyles.length
170
- ? editorSettings.styles
171
- : defaultEditorStyles,
172
184
  };
173
185
  }, [] );
174
186
 
187
+ const styles = useEditorStyles();
188
+
175
189
  const openSidebarPanel = () =>
176
190
  openGeneralSidebar(
177
191
  hasBlockSelected ? 'edit-post/block' : 'edit-post/document'