@wordpress/edit-post 7.17.1 → 7.18.1-next.5a1d1283.0

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.
Files changed (49) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/header/header-toolbar/index.js +4 -2
  3. package/build/components/header/header-toolbar/index.js.map +1 -1
  4. package/build/components/keyboard-shortcuts/index.js +4 -23
  5. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  6. package/build/components/layout/index.js +1 -1
  7. package/build/components/layout/index.js.map +1 -1
  8. package/build/components/start-page-options/index.js +31 -35
  9. package/build/components/start-page-options/index.js.map +1 -1
  10. package/build/components/visual-editor/index.js +6 -3
  11. package/build/components/visual-editor/index.js.map +1 -1
  12. package/build/hooks/commands/use-common-commands.js +10 -4
  13. package/build/hooks/commands/use-common-commands.js.map +1 -1
  14. package/build/index.js +1 -1
  15. package/build/index.js.map +1 -1
  16. package/build/plugins/copy-content-menu-item/index.js +6 -1
  17. package/build/plugins/copy-content-menu-item/index.js.map +1 -1
  18. package/build/store/actions.js +53 -7
  19. package/build/store/actions.js.map +1 -1
  20. package/build-module/components/header/header-toolbar/index.js +4 -2
  21. package/build-module/components/header/header-toolbar/index.js.map +1 -1
  22. package/build-module/components/keyboard-shortcuts/index.js +4 -23
  23. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  24. package/build-module/components/layout/index.js +2 -2
  25. package/build-module/components/layout/index.js.map +1 -1
  26. package/build-module/components/start-page-options/index.js +31 -35
  27. package/build-module/components/start-page-options/index.js.map +1 -1
  28. package/build-module/components/visual-editor/index.js +6 -3
  29. package/build-module/components/visual-editor/index.js.map +1 -1
  30. package/build-module/hooks/commands/use-common-commands.js +10 -4
  31. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  32. package/build-module/index.js +1 -1
  33. package/build-module/index.js.map +1 -1
  34. package/build-module/plugins/copy-content-menu-item/index.js +6 -1
  35. package/build-module/plugins/copy-content-menu-item/index.js.map +1 -1
  36. package/build-module/store/actions.js +50 -5
  37. package/build-module/store/actions.js.map +1 -1
  38. package/package.json +32 -32
  39. package/src/components/header/header-toolbar/index.js +2 -0
  40. package/src/components/keyboard-shortcuts/index.js +5 -31
  41. package/src/components/layout/index.js +1 -2
  42. package/src/components/start-page-options/index.js +38 -54
  43. package/src/components/visual-editor/index.js +4 -2
  44. package/src/hooks/commands/use-common-commands.js +10 -1
  45. package/src/index.js +1 -1
  46. package/src/plugins/copy-content-menu-item/index.js +5 -5
  47. package/src/store/actions.js +74 -7
  48. package/src/store/test/actions.js +75 -0
  49. package/src/store/test/reducer.js +21 -9
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 7.18.0 (2023-08-31)
6
+
5
7
  ## 7.17.0 (2023-08-16)
6
8
 
7
9
  ## 7.16.0 (2023-08-10)
@@ -99,7 +99,8 @@ function HeaderToolbar() {
99
99
  onClick: toggleListView,
100
100
  shortcut: listViewShortcut,
101
101
  showTooltip: !showIconLabels,
102
- variant: showIconLabels ? 'tertiary' : undefined
102
+ variant: showIconLabels ? 'tertiary' : undefined,
103
+ "aria-expanded": isListViewOpen
103
104
  }));
104
105
  const toggleInserter = (0, _element.useCallback)(() => {
105
106
  if (isInserterOpened) {
@@ -133,7 +134,8 @@ function HeaderToolbar() {
133
134
  disabled: !isInserterEnabled,
134
135
  icon: _icons.plus,
135
136
  label: showIconLabels ? shortLabel : longLabel,
136
- showTooltip: !showIconLabels
137
+ showTooltip: !showIconLabels,
138
+ "aria-expanded": isInserterOpened
137
139
  }), (isWideViewport || !showIconLabels) && (0, _element.createElement)(_element.Fragment, null, isLargeViewport && !hasFixedToolbar && (0, _element.createElement)(_components.ToolbarItem, {
138
140
  as: _blockEditor.ToolSelector,
139
141
  showTooltip: !showIconLabels,
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_compose","_data","_i18n","_blockEditor","_editor","_components","_icons","_keyboardShortcuts","_preferences","_store","_lockUnlock","useShouldContextualToolbarShow","unlock","blockEditorPrivateApis","preventDefault","event","HeaderToolbar","inserterButton","useRef","setIsInserterOpened","setIsListViewOpened","useDispatch","editPostStore","isInserterEnabled","isInserterOpened","isTextModeEnabled","showIconLabels","isListViewOpen","listViewShortcut","hasFixedToolbar","useSelect","select","hasInserterItems","getBlockRootClientId","getBlockSelectionEnd","blockEditorStore","getEditorSettings","editorStore","getEditorMode","isFeatureActive","isListViewOpened","getShortcutRepresentation","keyboardShortcutsStore","get","getPreference","preferencesStore","richEditingEnabled","isLargeViewport","useViewportMatch","isWideViewport","shouldShowContextualToolbar","canFocusHiddenToolbar","fixedToolbarCanBeFocused","blockToolbarCanBeFocused","toolbarAriaLabel","__","toggleListView","useCallback","overflowItems","createElement","Fragment","ToolbarItem","as","Button","className","icon","listView","disabled","isPressed","label","onClick","shortcut","showTooltip","variant","undefined","toggleInserter","current","focus","longLabel","_x","shortLabel","NavigableToolbar","shouldUseKeyboardFocusShortcut","ref","onMouseDown","plus","ToolSelector","EditorHistoryUndo","EditorHistoryRedo","_default","exports","default"],"sources":["@wordpress/edit-post/src/components/header/header-toolbar/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tNavigableToolbar,\n\tToolSelector,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tEditorHistoryRedo,\n\tEditorHistoryUndo,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { Button, ToolbarItem } from '@wordpress/components';\nimport { listView, plus } from '@wordpress/icons';\nimport { useRef, useCallback } from '@wordpress/element';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../../store';\nimport { unlock } from '../../../lock-unlock';\n\nconst { useShouldContextualToolbarShow } = unlock( blockEditorPrivateApis );\n\nconst preventDefault = ( event ) => {\n\tevent.preventDefault();\n};\n\nfunction HeaderToolbar() {\n\tconst inserterButton = useRef();\n\tconst { setIsInserterOpened, setIsListViewOpened } =\n\t\tuseDispatch( editPostStore );\n\tconst {\n\t\tisInserterEnabled,\n\t\tisInserterOpened,\n\t\tisTextModeEnabled,\n\t\tshowIconLabels,\n\t\tisListViewOpen,\n\t\tlistViewShortcut,\n\t\thasFixedToolbar,\n\t} = useSelect( ( select ) => {\n\t\tconst { hasInserterItems, getBlockRootClientId, getBlockSelectionEnd } =\n\t\t\tselect( blockEditorStore );\n\t\tconst { getEditorSettings } = select( editorStore );\n\t\tconst { getEditorMode, isFeatureActive, isListViewOpened } =\n\t\t\tselect( editPostStore );\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\t\tconst { get: getPreference } = select( preferencesStore );\n\n\t\treturn {\n\t\t\t// This setting (richEditingEnabled) should not live in the block editor's setting.\n\t\t\tisInserterEnabled:\n\t\t\t\tgetEditorMode() === 'visual' &&\n\t\t\t\tgetEditorSettings().richEditingEnabled &&\n\t\t\t\thasInserterItems(\n\t\t\t\t\tgetBlockRootClientId( getBlockSelectionEnd() )\n\t\t\t\t),\n\t\t\tisInserterOpened: select( editPostStore ).isInserterOpened(),\n\t\t\tisTextModeEnabled: getEditorMode() === 'text',\n\t\t\tshowIconLabels: isFeatureActive( 'showIconLabels' ),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tlistViewShortcut: getShortcutRepresentation(\n\t\t\t\t'core/edit-post/toggle-list-view'\n\t\t\t),\n\t\t\thasFixedToolbar: getPreference( 'core/edit-post', 'fixedToolbar' ),\n\t\t};\n\t}, [] );\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideViewport = useViewportMatch( 'wide' );\n\tconst {\n\t\tshouldShowContextualToolbar,\n\t\tcanFocusHiddenToolbar,\n\t\tfixedToolbarCanBeFocused,\n\t} = useShouldContextualToolbarShow();\n\t// If there's a block toolbar to be focused, disable the focus shortcut for the document toolbar.\n\t// There's a fixed block toolbar when the fixed toolbar option is enabled or when the browser width is less than the large viewport.\n\tconst blockToolbarCanBeFocused =\n\t\tshouldShowContextualToolbar ||\n\t\tcanFocusHiddenToolbar ||\n\t\tfixedToolbarCanBeFocused;\n\t/* translators: accessibility text for the editor toolbar */\n\tconst toolbarAriaLabel = __( 'Document tools' );\n\n\tconst toggleListView = useCallback(\n\t\t() => setIsListViewOpened( ! isListViewOpen ),\n\t\t[ setIsListViewOpened, isListViewOpen ]\n\t);\n\tconst overflowItems = (\n\t\t<>\n\t\t\t<ToolbarItem\n\t\t\t\tas={ Button }\n\t\t\t\tclassName=\"edit-post-header-toolbar__document-overview-toggle\"\n\t\t\t\ticon={ listView }\n\t\t\t\tdisabled={ isTextModeEnabled }\n\t\t\t\tisPressed={ isListViewOpen }\n\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\tlabel={ __( 'Document Overview' ) }\n\t\t\t\tonClick={ toggleListView }\n\t\t\t\tshortcut={ listViewShortcut }\n\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t/>\n\t\t</>\n\t);\n\tconst toggleInserter = useCallback( () => {\n\t\tif ( isInserterOpened ) {\n\t\t\t// Focusing the inserter button should close the inserter popover.\n\t\t\t// However, there are some cases it won't close when the focus is lost.\n\t\t\t// See https://github.com/WordPress/gutenberg/issues/43090 for more details.\n\t\t\tinserterButton.current.focus();\n\t\t\tsetIsInserterOpened( false );\n\t\t} else {\n\t\t\tsetIsInserterOpened( true );\n\t\t}\n\t}, [ isInserterOpened, setIsInserterOpened ] );\n\n\t/* translators: button label text should, if possible, be under 16 characters. */\n\tconst longLabel = _x(\n\t\t'Toggle block inserter',\n\t\t'Generic label for block inserter button'\n\t);\n\tconst shortLabel = ! isInserterOpened ? __( 'Add' ) : __( 'Close' );\n\n\treturn (\n\t\t<NavigableToolbar\n\t\t\tclassName=\"edit-post-header-toolbar\"\n\t\t\taria-label={ toolbarAriaLabel }\n\t\t\tshouldUseKeyboardFocusShortcut={ ! blockToolbarCanBeFocused }\n\t\t>\n\t\t\t<div className=\"edit-post-header-toolbar__left\">\n\t\t\t\t<ToolbarItem\n\t\t\t\t\tref={ inserterButton }\n\t\t\t\t\tas={ Button }\n\t\t\t\t\tclassName=\"edit-post-header-toolbar__inserter-toggle\"\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tisPressed={ isInserterOpened }\n\t\t\t\t\tonMouseDown={ preventDefault }\n\t\t\t\t\tonClick={ toggleInserter }\n\t\t\t\t\tdisabled={ ! isInserterEnabled }\n\t\t\t\t\ticon={ plus }\n\t\t\t\t\tlabel={ showIconLabels ? shortLabel : longLabel }\n\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t/>\n\t\t\t\t{ ( isWideViewport || ! showIconLabels ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ isLargeViewport && ! hasFixedToolbar && (\n\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\tas={ ToolSelector }\n\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdisabled={ isTextModeEnabled }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\tas={ EditorHistoryUndo }\n\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\tas={ EditorHistoryRedo }\n\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ overflowItems }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</NavigableToolbar>\n\t);\n}\n\nexport default HeaderToolbar;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_compose","_data","_i18n","_blockEditor","_editor","_components","_icons","_keyboardShortcuts","_preferences","_store","_lockUnlock","useShouldContextualToolbarShow","unlock","blockEditorPrivateApis","preventDefault","event","HeaderToolbar","inserterButton","useRef","setIsInserterOpened","setIsListViewOpened","useDispatch","editPostStore","isInserterEnabled","isInserterOpened","isTextModeEnabled","showIconLabels","isListViewOpen","listViewShortcut","hasFixedToolbar","useSelect","select","hasInserterItems","getBlockRootClientId","getBlockSelectionEnd","blockEditorStore","getEditorSettings","editorStore","getEditorMode","isFeatureActive","isListViewOpened","getShortcutRepresentation","keyboardShortcutsStore","get","getPreference","preferencesStore","richEditingEnabled","isLargeViewport","useViewportMatch","isWideViewport","shouldShowContextualToolbar","canFocusHiddenToolbar","fixedToolbarCanBeFocused","blockToolbarCanBeFocused","toolbarAriaLabel","__","toggleListView","useCallback","overflowItems","createElement","Fragment","ToolbarItem","as","Button","className","icon","listView","disabled","isPressed","label","onClick","shortcut","showTooltip","variant","undefined","toggleInserter","current","focus","longLabel","_x","shortLabel","NavigableToolbar","shouldUseKeyboardFocusShortcut","ref","onMouseDown","plus","ToolSelector","EditorHistoryUndo","EditorHistoryRedo","_default","exports","default"],"sources":["@wordpress/edit-post/src/components/header/header-toolbar/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tNavigableToolbar,\n\tToolSelector,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tEditorHistoryRedo,\n\tEditorHistoryUndo,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { Button, ToolbarItem } from '@wordpress/components';\nimport { listView, plus } from '@wordpress/icons';\nimport { useRef, useCallback } from '@wordpress/element';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../../store';\nimport { unlock } from '../../../lock-unlock';\n\nconst { useShouldContextualToolbarShow } = unlock( blockEditorPrivateApis );\n\nconst preventDefault = ( event ) => {\n\tevent.preventDefault();\n};\n\nfunction HeaderToolbar() {\n\tconst inserterButton = useRef();\n\tconst { setIsInserterOpened, setIsListViewOpened } =\n\t\tuseDispatch( editPostStore );\n\tconst {\n\t\tisInserterEnabled,\n\t\tisInserterOpened,\n\t\tisTextModeEnabled,\n\t\tshowIconLabels,\n\t\tisListViewOpen,\n\t\tlistViewShortcut,\n\t\thasFixedToolbar,\n\t} = useSelect( ( select ) => {\n\t\tconst { hasInserterItems, getBlockRootClientId, getBlockSelectionEnd } =\n\t\t\tselect( blockEditorStore );\n\t\tconst { getEditorSettings } = select( editorStore );\n\t\tconst { getEditorMode, isFeatureActive, isListViewOpened } =\n\t\t\tselect( editPostStore );\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\t\tconst { get: getPreference } = select( preferencesStore );\n\n\t\treturn {\n\t\t\t// This setting (richEditingEnabled) should not live in the block editor's setting.\n\t\t\tisInserterEnabled:\n\t\t\t\tgetEditorMode() === 'visual' &&\n\t\t\t\tgetEditorSettings().richEditingEnabled &&\n\t\t\t\thasInserterItems(\n\t\t\t\t\tgetBlockRootClientId( getBlockSelectionEnd() )\n\t\t\t\t),\n\t\t\tisInserterOpened: select( editPostStore ).isInserterOpened(),\n\t\t\tisTextModeEnabled: getEditorMode() === 'text',\n\t\t\tshowIconLabels: isFeatureActive( 'showIconLabels' ),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tlistViewShortcut: getShortcutRepresentation(\n\t\t\t\t'core/edit-post/toggle-list-view'\n\t\t\t),\n\t\t\thasFixedToolbar: getPreference( 'core/edit-post', 'fixedToolbar' ),\n\t\t};\n\t}, [] );\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideViewport = useViewportMatch( 'wide' );\n\tconst {\n\t\tshouldShowContextualToolbar,\n\t\tcanFocusHiddenToolbar,\n\t\tfixedToolbarCanBeFocused,\n\t} = useShouldContextualToolbarShow();\n\t// If there's a block toolbar to be focused, disable the focus shortcut for the document toolbar.\n\t// There's a fixed block toolbar when the fixed toolbar option is enabled or when the browser width is less than the large viewport.\n\tconst blockToolbarCanBeFocused =\n\t\tshouldShowContextualToolbar ||\n\t\tcanFocusHiddenToolbar ||\n\t\tfixedToolbarCanBeFocused;\n\t/* translators: accessibility text for the editor toolbar */\n\tconst toolbarAriaLabel = __( 'Document tools' );\n\n\tconst toggleListView = useCallback(\n\t\t() => setIsListViewOpened( ! isListViewOpen ),\n\t\t[ setIsListViewOpened, isListViewOpen ]\n\t);\n\tconst overflowItems = (\n\t\t<>\n\t\t\t<ToolbarItem\n\t\t\t\tas={ Button }\n\t\t\t\tclassName=\"edit-post-header-toolbar__document-overview-toggle\"\n\t\t\t\ticon={ listView }\n\t\t\t\tdisabled={ isTextModeEnabled }\n\t\t\t\tisPressed={ isListViewOpen }\n\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\tlabel={ __( 'Document Overview' ) }\n\t\t\t\tonClick={ toggleListView }\n\t\t\t\tshortcut={ listViewShortcut }\n\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t\taria-expanded={ isListViewOpen }\n\t\t\t/>\n\t\t</>\n\t);\n\tconst toggleInserter = useCallback( () => {\n\t\tif ( isInserterOpened ) {\n\t\t\t// Focusing the inserter button should close the inserter popover.\n\t\t\t// However, there are some cases it won't close when the focus is lost.\n\t\t\t// See https://github.com/WordPress/gutenberg/issues/43090 for more details.\n\t\t\tinserterButton.current.focus();\n\t\t\tsetIsInserterOpened( false );\n\t\t} else {\n\t\t\tsetIsInserterOpened( true );\n\t\t}\n\t}, [ isInserterOpened, setIsInserterOpened ] );\n\n\t/* translators: button label text should, if possible, be under 16 characters. */\n\tconst longLabel = _x(\n\t\t'Toggle block inserter',\n\t\t'Generic label for block inserter button'\n\t);\n\tconst shortLabel = ! isInserterOpened ? __( 'Add' ) : __( 'Close' );\n\n\treturn (\n\t\t<NavigableToolbar\n\t\t\tclassName=\"edit-post-header-toolbar\"\n\t\t\taria-label={ toolbarAriaLabel }\n\t\t\tshouldUseKeyboardFocusShortcut={ ! blockToolbarCanBeFocused }\n\t\t>\n\t\t\t<div className=\"edit-post-header-toolbar__left\">\n\t\t\t\t<ToolbarItem\n\t\t\t\t\tref={ inserterButton }\n\t\t\t\t\tas={ Button }\n\t\t\t\t\tclassName=\"edit-post-header-toolbar__inserter-toggle\"\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tisPressed={ isInserterOpened }\n\t\t\t\t\tonMouseDown={ preventDefault }\n\t\t\t\t\tonClick={ toggleInserter }\n\t\t\t\t\tdisabled={ ! isInserterEnabled }\n\t\t\t\t\ticon={ plus }\n\t\t\t\t\tlabel={ showIconLabels ? shortLabel : longLabel }\n\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\taria-expanded={ isInserterOpened }\n\t\t\t\t/>\n\t\t\t\t{ ( isWideViewport || ! showIconLabels ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ isLargeViewport && ! hasFixedToolbar && (\n\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\tas={ ToolSelector }\n\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdisabled={ isTextModeEnabled }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\tas={ EditorHistoryUndo }\n\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\tas={ EditorHistoryRedo }\n\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ overflowItems }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</NavigableToolbar>\n\t);\n}\n\nexport default HeaderToolbar;\n"],"mappings":"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"}
@@ -10,8 +10,6 @@ var _keyboardShortcuts = require("@wordpress/keyboard-shortcuts");
10
10
  var _i18n = require("@wordpress/i18n");
11
11
  var _editor = require("@wordpress/editor");
12
12
  var _blockEditor = require("@wordpress/block-editor");
13
- var _notices = require("@wordpress/notices");
14
- var _preferences = require("@wordpress/preferences");
15
13
  var _blocks = require("@wordpress/blocks");
16
14
  var _store = require("../../store");
17
15
  /**
@@ -29,8 +27,7 @@ function KeyboardShortcuts() {
29
27
  const {
30
28
  getEditorMode,
31
29
  isEditorSidebarOpened,
32
- isListViewOpened,
33
- isFeatureActive
30
+ isListViewOpened
34
31
  } = (0, _data.useSelect)(_store.store);
35
32
  const isModeToggleDisabled = (0, _data.useSelect)(select => {
36
33
  const {
@@ -39,29 +36,17 @@ function KeyboardShortcuts() {
39
36
  } = select(_editor.store).getEditorSettings();
40
37
  return !richEditingEnabled || !codeEditingEnabled;
41
38
  }, []);
42
- const {
43
- createInfoNotice
44
- } = (0, _data.useDispatch)(_notices.store);
45
39
  const {
46
40
  switchEditorMode,
47
41
  openGeneralSidebar,
48
42
  closeGeneralSidebar,
49
43
  toggleFeature,
50
44
  setIsListViewOpened,
51
- setIsInserterOpened
45
+ toggleDistractionFree
52
46
  } = (0, _data.useDispatch)(_store.store);
53
47
  const {
54
48
  registerShortcut
55
49
  } = (0, _data.useDispatch)(_keyboardShortcuts.store);
56
- const {
57
- set: setPreference
58
- } = (0, _data.useDispatch)(_preferences.store);
59
- const toggleDistractionFree = () => {
60
- setPreference('core/edit-post', 'fixedToolbar', false);
61
- setIsInserterOpened(false);
62
- setIsListViewOpened(false);
63
- closeGeneralSidebar();
64
- };
65
50
  const {
66
51
  replaceBlocks
67
52
  } = (0, _data.useDispatch)(_blockEditor.store);
@@ -207,11 +192,6 @@ function KeyboardShortcuts() {
207
192
  });
208
193
  (0, _keyboardShortcuts.useShortcut)('core/edit-post/toggle-distraction-free', () => {
209
194
  toggleDistractionFree();
210
- toggleFeature('distractionFree');
211
- createInfoNotice(isFeatureActive('distractionFree') ? (0, _i18n.__)('Distraction free on.') : (0, _i18n.__)('Distraction free off.'), {
212
- id: 'core/edit-post/distraction-free-mode/notice',
213
- type: 'snackbar'
214
- });
215
195
  });
216
196
  (0, _keyboardShortcuts.useShortcut)('core/edit-post/toggle-sidebar', event => {
217
197
  // This shortcut has no known clashes, but use preventDefault to prevent any
@@ -226,8 +206,9 @@ function KeyboardShortcuts() {
226
206
  });
227
207
 
228
208
  // Only opens the list view. Other functionality for this shortcut happens in the rendered sidebar.
229
- (0, _keyboardShortcuts.useShortcut)('core/edit-post/toggle-list-view', () => {
209
+ (0, _keyboardShortcuts.useShortcut)('core/edit-post/toggle-list-view', event => {
230
210
  if (!isListViewOpened()) {
211
+ event.preventDefault();
231
212
  setIsListViewOpened(true);
232
213
  }
233
214
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_data","_keyboardShortcuts","_i18n","_editor","_blockEditor","_notices","_preferences","_blocks","_store","KeyboardShortcuts","getBlockSelectionStart","useSelect","blockEditorStore","getEditorMode","isEditorSidebarOpened","isListViewOpened","isFeatureActive","editPostStore","isModeToggleDisabled","select","richEditingEnabled","codeEditingEnabled","editorStore","getEditorSettings","createInfoNotice","useDispatch","noticesStore","switchEditorMode","openGeneralSidebar","closeGeneralSidebar","toggleFeature","setIsListViewOpened","setIsInserterOpened","registerShortcut","keyboardShortcutsStore","set","setPreference","preferencesStore","toggleDistractionFree","replaceBlocks","getBlockName","getSelectedBlockClientId","getBlockAttributes","handleTextLevelShortcut","event","level","preventDefault","destinationBlockName","currentClientId","blockName","attributes","textAlign","destinationTextAlign","createBlock","content","useEffect","name","category","description","__","keyCombination","modifier","character","aliases","forEach","useShortcut","isDisabled","id","type","sidebarToOpen","_default","exports","default"],"sources":["@wordpress/edit-post/src/components/keyboard-shortcuts/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseShortcut,\n\tstore as keyboardShortcutsStore,\n} from '@wordpress/keyboard-shortcuts';\nimport { __ } from '@wordpress/i18n';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nfunction KeyboardShortcuts() {\n\tconst { getBlockSelectionStart } = useSelect( blockEditorStore );\n\tconst {\n\t\tgetEditorMode,\n\t\tisEditorSidebarOpened,\n\t\tisListViewOpened,\n\t\tisFeatureActive,\n\t} = useSelect( editPostStore );\n\tconst isModeToggleDisabled = useSelect( ( select ) => {\n\t\tconst { richEditingEnabled, codeEditingEnabled } =\n\t\t\tselect( editorStore ).getEditorSettings();\n\t\treturn ! richEditingEnabled || ! codeEditingEnabled;\n\t}, [] );\n\n\tconst { createInfoNotice } = useDispatch( noticesStore );\n\n\tconst {\n\t\tswitchEditorMode,\n\t\topenGeneralSidebar,\n\t\tcloseGeneralSidebar,\n\t\ttoggleFeature,\n\t\tsetIsListViewOpened,\n\t\tsetIsInserterOpened,\n\t} = useDispatch( editPostStore );\n\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\n\tconst toggleDistractionFree = () => {\n\t\tsetPreference( 'core/edit-post', 'fixedToolbar', false );\n\t\tsetIsInserterOpened( false );\n\t\tsetIsListViewOpened( false );\n\t\tcloseGeneralSidebar();\n\t};\n\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst { getBlockName, getSelectedBlockClientId, getBlockAttributes } =\n\t\tuseSelect( blockEditorStore );\n\n\tconst handleTextLevelShortcut = ( event, level ) => {\n\t\tevent.preventDefault();\n\t\tconst destinationBlockName =\n\t\t\tlevel === 0 ? 'core/paragraph' : 'core/heading';\n\t\tconst currentClientId = getSelectedBlockClientId();\n\t\tif ( currentClientId === null ) {\n\t\t\treturn;\n\t\t}\n\t\tconst blockName = getBlockName( currentClientId );\n\t\tif ( blockName !== 'core/paragraph' && blockName !== 'core/heading' ) {\n\t\t\treturn;\n\t\t}\n\t\tconst attributes = getBlockAttributes( currentClientId );\n\t\tconst textAlign =\n\t\t\tblockName === 'core/paragraph' ? 'align' : 'textAlign';\n\t\tconst destinationTextAlign =\n\t\t\tdestinationBlockName === 'core/paragraph' ? 'align' : 'textAlign';\n\n\t\treplaceBlocks(\n\t\t\tcurrentClientId,\n\t\t\tcreateBlock( destinationBlockName, {\n\t\t\t\tlevel,\n\t\t\t\tcontent: attributes.content,\n\t\t\t\t...{ [ destinationTextAlign ]: attributes[ textAlign ] },\n\t\t\t} )\n\t\t);\n\t};\n\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-mode',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Switch between visual editor and code editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'secondary',\n\t\t\t\tcharacter: 'm',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-distraction-free',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Toggle distraction free mode.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: '\\\\',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-fullscreen',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Toggle fullscreen mode.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'secondary',\n\t\t\t\tcharacter: 'f',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-list-view',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Open the block list view.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: 'o',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-sidebar',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Show or hide the Settings sidebar.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: ',',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/next-region',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Navigate to the next part of the editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'ctrl',\n\t\t\t\tcharacter: '`',\n\t\t\t},\n\t\t\taliases: [\n\t\t\t\t{\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: 'n',\n\t\t\t\t},\n\t\t\t],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/previous-region',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Navigate to the previous part of the editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'ctrlShift',\n\t\t\t\tcharacter: '`',\n\t\t\t},\n\t\t\taliases: [\n\t\t\t\t{\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: 'p',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tmodifier: 'ctrlShift',\n\t\t\t\t\tcharacter: '~',\n\t\t\t\t},\n\t\t\t],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/keyboard-shortcuts',\n\t\t\tcategory: 'main',\n\t\t\tdescription: __( 'Display these keyboard shortcuts.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: 'h',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/transform-heading-to-paragraph',\n\t\t\tcategory: 'block-library',\n\t\t\tdescription: __( 'Transform heading to paragraph.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: `0`,\n\t\t\t},\n\t\t} );\n\n\t\t[ 1, 2, 3, 4, 5, 6 ].forEach( ( level ) => {\n\t\t\tregisterShortcut( {\n\t\t\t\tname: `core/edit-post/transform-paragraph-to-heading-${ level }`,\n\t\t\t\tcategory: 'block-library',\n\t\t\t\tdescription: __( 'Transform paragraph to heading.' ),\n\t\t\t\tkeyCombination: {\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: `${ level }`,\n\t\t\t\t},\n\t\t\t} );\n\t\t} );\n\t}, [] );\n\n\tuseShortcut(\n\t\t'core/edit-post/toggle-mode',\n\t\t() => {\n\t\t\tswitchEditorMode(\n\t\t\t\tgetEditorMode() === 'visual' ? 'text' : 'visual'\n\t\t\t);\n\t\t},\n\t\t{\n\t\t\tisDisabled: isModeToggleDisabled,\n\t\t}\n\t);\n\n\tuseShortcut( 'core/edit-post/toggle-fullscreen', () => {\n\t\ttoggleFeature( 'fullscreenMode' );\n\t} );\n\n\tuseShortcut( 'core/edit-post/toggle-distraction-free', () => {\n\t\ttoggleDistractionFree();\n\t\ttoggleFeature( 'distractionFree' );\n\t\tcreateInfoNotice(\n\t\t\tisFeatureActive( 'distractionFree' )\n\t\t\t\t? __( 'Distraction free on.' )\n\t\t\t\t: __( 'Distraction free off.' ),\n\t\t\t{\n\t\t\t\tid: 'core/edit-post/distraction-free-mode/notice',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t} );\n\n\tuseShortcut( 'core/edit-post/toggle-sidebar', ( event ) => {\n\t\t// This shortcut has no known clashes, but use preventDefault to prevent any\n\t\t// obscure shortcuts from triggering.\n\t\tevent.preventDefault();\n\n\t\tif ( isEditorSidebarOpened() ) {\n\t\t\tcloseGeneralSidebar();\n\t\t} else {\n\t\t\tconst sidebarToOpen = getBlockSelectionStart()\n\t\t\t\t? 'edit-post/block'\n\t\t\t\t: 'edit-post/document';\n\t\t\topenGeneralSidebar( sidebarToOpen );\n\t\t}\n\t} );\n\n\t// Only opens the list view. Other functionality for this shortcut happens in the rendered sidebar.\n\tuseShortcut( 'core/edit-post/toggle-list-view', () => {\n\t\tif ( ! isListViewOpened() ) {\n\t\t\tsetIsListViewOpened( true );\n\t\t}\n\t} );\n\n\tuseShortcut( 'core/edit-post/transform-heading-to-paragraph', ( event ) =>\n\t\thandleTextLevelShortcut( event, 0 )\n\t);\n\n\t[ 1, 2, 3, 4, 5, 6 ].forEach( ( level ) => {\n\t\t//the loop is based off on a constant therefore\n\t\t//the hook will execute the same way every time\n\t\t//eslint-disable-next-line react-hooks/rules-of-hooks\n\t\tuseShortcut(\n\t\t\t`core/edit-post/transform-paragraph-to-heading-${ level }`,\n\t\t\t( event ) => handleTextLevelShortcut( event, level )\n\t\t);\n\t} );\n\n\treturn null;\n}\n\nexport default KeyboardShortcuts;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_data","_keyboardShortcuts","_i18n","_editor","_blockEditor","_blocks","_store","KeyboardShortcuts","getBlockSelectionStart","useSelect","blockEditorStore","getEditorMode","isEditorSidebarOpened","isListViewOpened","editPostStore","isModeToggleDisabled","select","richEditingEnabled","codeEditingEnabled","editorStore","getEditorSettings","switchEditorMode","openGeneralSidebar","closeGeneralSidebar","toggleFeature","setIsListViewOpened","toggleDistractionFree","useDispatch","registerShortcut","keyboardShortcutsStore","replaceBlocks","getBlockName","getSelectedBlockClientId","getBlockAttributes","handleTextLevelShortcut","event","level","preventDefault","destinationBlockName","currentClientId","blockName","attributes","textAlign","destinationTextAlign","createBlock","content","useEffect","name","category","description","__","keyCombination","modifier","character","aliases","forEach","useShortcut","isDisabled","sidebarToOpen","_default","exports","default"],"sources":["@wordpress/edit-post/src/components/keyboard-shortcuts/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseShortcut,\n\tstore as keyboardShortcutsStore,\n} from '@wordpress/keyboard-shortcuts';\nimport { __ } from '@wordpress/i18n';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nfunction KeyboardShortcuts() {\n\tconst { getBlockSelectionStart } = useSelect( blockEditorStore );\n\tconst { getEditorMode, isEditorSidebarOpened, isListViewOpened } =\n\t\tuseSelect( editPostStore );\n\tconst isModeToggleDisabled = useSelect( ( select ) => {\n\t\tconst { richEditingEnabled, codeEditingEnabled } =\n\t\t\tselect( editorStore ).getEditorSettings();\n\t\treturn ! richEditingEnabled || ! codeEditingEnabled;\n\t}, [] );\n\n\tconst {\n\t\tswitchEditorMode,\n\t\topenGeneralSidebar,\n\t\tcloseGeneralSidebar,\n\t\ttoggleFeature,\n\t\tsetIsListViewOpened,\n\t\ttoggleDistractionFree,\n\t} = useDispatch( editPostStore );\n\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst { getBlockName, getSelectedBlockClientId, getBlockAttributes } =\n\t\tuseSelect( blockEditorStore );\n\n\tconst handleTextLevelShortcut = ( event, level ) => {\n\t\tevent.preventDefault();\n\t\tconst destinationBlockName =\n\t\t\tlevel === 0 ? 'core/paragraph' : 'core/heading';\n\t\tconst currentClientId = getSelectedBlockClientId();\n\t\tif ( currentClientId === null ) {\n\t\t\treturn;\n\t\t}\n\t\tconst blockName = getBlockName( currentClientId );\n\t\tif ( blockName !== 'core/paragraph' && blockName !== 'core/heading' ) {\n\t\t\treturn;\n\t\t}\n\t\tconst attributes = getBlockAttributes( currentClientId );\n\t\tconst textAlign =\n\t\t\tblockName === 'core/paragraph' ? 'align' : 'textAlign';\n\t\tconst destinationTextAlign =\n\t\t\tdestinationBlockName === 'core/paragraph' ? 'align' : 'textAlign';\n\n\t\treplaceBlocks(\n\t\t\tcurrentClientId,\n\t\t\tcreateBlock( destinationBlockName, {\n\t\t\t\tlevel,\n\t\t\t\tcontent: attributes.content,\n\t\t\t\t...{ [ destinationTextAlign ]: attributes[ textAlign ] },\n\t\t\t} )\n\t\t);\n\t};\n\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-mode',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Switch between visual editor and code editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'secondary',\n\t\t\t\tcharacter: 'm',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-distraction-free',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Toggle distraction free mode.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: '\\\\',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-fullscreen',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Toggle fullscreen mode.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'secondary',\n\t\t\t\tcharacter: 'f',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-list-view',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Open the block list view.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: 'o',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-sidebar',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Show or hide the Settings sidebar.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: ',',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/next-region',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Navigate to the next part of the editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'ctrl',\n\t\t\t\tcharacter: '`',\n\t\t\t},\n\t\t\taliases: [\n\t\t\t\t{\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: 'n',\n\t\t\t\t},\n\t\t\t],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/previous-region',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Navigate to the previous part of the editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'ctrlShift',\n\t\t\t\tcharacter: '`',\n\t\t\t},\n\t\t\taliases: [\n\t\t\t\t{\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: 'p',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tmodifier: 'ctrlShift',\n\t\t\t\t\tcharacter: '~',\n\t\t\t\t},\n\t\t\t],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/keyboard-shortcuts',\n\t\t\tcategory: 'main',\n\t\t\tdescription: __( 'Display these keyboard shortcuts.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: 'h',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/transform-heading-to-paragraph',\n\t\t\tcategory: 'block-library',\n\t\t\tdescription: __( 'Transform heading to paragraph.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: `0`,\n\t\t\t},\n\t\t} );\n\n\t\t[ 1, 2, 3, 4, 5, 6 ].forEach( ( level ) => {\n\t\t\tregisterShortcut( {\n\t\t\t\tname: `core/edit-post/transform-paragraph-to-heading-${ level }`,\n\t\t\t\tcategory: 'block-library',\n\t\t\t\tdescription: __( 'Transform paragraph to heading.' ),\n\t\t\t\tkeyCombination: {\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: `${ level }`,\n\t\t\t\t},\n\t\t\t} );\n\t\t} );\n\t}, [] );\n\n\tuseShortcut(\n\t\t'core/edit-post/toggle-mode',\n\t\t() => {\n\t\t\tswitchEditorMode(\n\t\t\t\tgetEditorMode() === 'visual' ? 'text' : 'visual'\n\t\t\t);\n\t\t},\n\t\t{\n\t\t\tisDisabled: isModeToggleDisabled,\n\t\t}\n\t);\n\n\tuseShortcut( 'core/edit-post/toggle-fullscreen', () => {\n\t\ttoggleFeature( 'fullscreenMode' );\n\t} );\n\n\tuseShortcut( 'core/edit-post/toggle-distraction-free', () => {\n\t\ttoggleDistractionFree();\n\t} );\n\n\tuseShortcut( 'core/edit-post/toggle-sidebar', ( event ) => {\n\t\t// This shortcut has no known clashes, but use preventDefault to prevent any\n\t\t// obscure shortcuts from triggering.\n\t\tevent.preventDefault();\n\n\t\tif ( isEditorSidebarOpened() ) {\n\t\t\tcloseGeneralSidebar();\n\t\t} else {\n\t\t\tconst sidebarToOpen = getBlockSelectionStart()\n\t\t\t\t? 'edit-post/block'\n\t\t\t\t: 'edit-post/document';\n\t\t\topenGeneralSidebar( sidebarToOpen );\n\t\t}\n\t} );\n\n\t// Only opens the list view. Other functionality for this shortcut happens in the rendered sidebar.\n\tuseShortcut( 'core/edit-post/toggle-list-view', ( event ) => {\n\t\tif ( ! isListViewOpened() ) {\n\t\t\tevent.preventDefault();\n\t\t\tsetIsListViewOpened( true );\n\t\t}\n\t} );\n\n\tuseShortcut( 'core/edit-post/transform-heading-to-paragraph', ( event ) =>\n\t\thandleTextLevelShortcut( event, 0 )\n\t);\n\n\t[ 1, 2, 3, 4, 5, 6 ].forEach( ( level ) => {\n\t\t//the loop is based off on a constant therefore\n\t\t//the hook will execute the same way every time\n\t\t//eslint-disable-next-line react-hooks/rules-of-hooks\n\t\tuseShortcut(\n\t\t\t`core/edit-post/transform-paragraph-to-heading-${ level }`,\n\t\t\t( event ) => handleTextLevelShortcut( event, level )\n\t\t);\n\t} );\n\n\treturn null;\n}\n\nexport default KeyboardShortcuts;\n"],"mappings":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AAIA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AAKA,IAAAO,MAAA,GAAAP,OAAA;AAjBA;AACA;AACA;;AAYA;AACA;AACA;;AAGA,SAASQ,iBAAiBA,CAAA,EAAG;EAC5B,MAAM;IAAEC;EAAuB,CAAC,GAAG,IAAAC,eAAS,EAAEC,kBAAiB,CAAC;EAChE,MAAM;IAAEC,aAAa;IAAEC,qBAAqB;IAAEC;EAAiB,CAAC,GAC/D,IAAAJ,eAAS,EAAEK,YAAc,CAAC;EAC3B,MAAMC,oBAAoB,GAAG,IAAAN,eAAS,EAAIO,MAAM,IAAM;IACrD,MAAM;MAAEC,kBAAkB;MAAEC;IAAmB,CAAC,GAC/CF,MAAM,CAAEG,aAAY,CAAC,CAACC,iBAAiB,CAAC,CAAC;IAC1C,OAAO,CAAEH,kBAAkB,IAAI,CAAEC,kBAAkB;EACpD,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM;IACLG,gBAAgB;IAChBC,kBAAkB;IAClBC,mBAAmB;IACnBC,aAAa;IACbC,mBAAmB;IACnBC;EACD,CAAC,GAAG,IAAAC,iBAAW,EAAEb,YAAc,CAAC;EAChC,MAAM;IAAEc;EAAiB,CAAC,GAAG,IAAAD,iBAAW,EAAEE,wBAAuB,CAAC;EAElE,MAAM;IAAEC;EAAc,CAAC,GAAG,IAAAH,iBAAW,EAAEjB,kBAAiB,CAAC;EACzD,MAAM;IAAEqB,YAAY;IAAEC,wBAAwB;IAAEC;EAAmB,CAAC,GACnE,IAAAxB,eAAS,EAAEC,kBAAiB,CAAC;EAE9B,MAAMwB,uBAAuB,GAAGA,CAAEC,KAAK,EAAEC,KAAK,KAAM;IACnDD,KAAK,CAACE,cAAc,CAAC,CAAC;IACtB,MAAMC,oBAAoB,GACzBF,KAAK,KAAK,CAAC,GAAG,gBAAgB,GAAG,cAAc;IAChD,MAAMG,eAAe,GAAGP,wBAAwB,CAAC,CAAC;IAClD,IAAKO,eAAe,KAAK,IAAI,EAAG;MAC/B;IACD;IACA,MAAMC,SAAS,GAAGT,YAAY,CAAEQ,eAAgB,CAAC;IACjD,IAAKC,SAAS,KAAK,gBAAgB,IAAIA,SAAS,KAAK,cAAc,EAAG;MACrE;IACD;IACA,MAAMC,UAAU,GAAGR,kBAAkB,CAAEM,eAAgB,CAAC;IACxD,MAAMG,SAAS,GACdF,SAAS,KAAK,gBAAgB,GAAG,OAAO,GAAG,WAAW;IACvD,MAAMG,oBAAoB,GACzBL,oBAAoB,KAAK,gBAAgB,GAAG,OAAO,GAAG,WAAW;IAElER,aAAa,CACZS,eAAe,EACf,IAAAK,mBAAW,EAAEN,oBAAoB,EAAE;MAClCF,KAAK;MACLS,OAAO,EAAEJ,UAAU,CAACI,OAAO;MAC3B,GAAG;QAAE,CAAEF,oBAAoB,GAAIF,UAAU,CAAEC,SAAS;MAAG;IACxD,CAAE,CACH,CAAC;EACF,CAAC;EAED,IAAAI,kBAAS,EAAE,MAAM;IAChBlB,gBAAgB,CAAE;MACjBmB,IAAI,EAAE,4BAA4B;MAClCC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE,IAAAC,QAAE,EAAE,+CAAgD,CAAC;MAClEC,cAAc,EAAE;QACfC,QAAQ,EAAE,WAAW;QACrBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;IAEHzB,gBAAgB,CAAE;MACjBmB,IAAI,EAAE,wCAAwC;MAC9CC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE,IAAAC,QAAE,EAAE,+BAAgC,CAAC;MAClDC,cAAc,EAAE;QACfC,QAAQ,EAAE,cAAc;QACxBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;IAEHzB,gBAAgB,CAAE;MACjBmB,IAAI,EAAE,kCAAkC;MACxCC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE,IAAAC,QAAE,EAAE,yBAA0B,CAAC;MAC5CC,cAAc,EAAE;QACfC,QAAQ,EAAE,WAAW;QACrBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;IAEHzB,gBAAgB,CAAE;MACjBmB,IAAI,EAAE,iCAAiC;MACvCC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE,IAAAC,QAAE,EAAE,2BAA4B,CAAC;MAC9CC,cAAc,EAAE;QACfC,QAAQ,EAAE,QAAQ;QAClBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;IAEHzB,gBAAgB,CAAE;MACjBmB,IAAI,EAAE,+BAA+B;MACrCC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE,IAAAC,QAAE,EAAE,oCAAqC,CAAC;MACvDC,cAAc,EAAE;QACfC,QAAQ,EAAE,cAAc;QACxBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;IAEHzB,gBAAgB,CAAE;MACjBmB,IAAI,EAAE,4BAA4B;MAClCC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE,IAAAC,QAAE,EAAE,0CAA2C,CAAC;MAC7DC,cAAc,EAAE;QACfC,QAAQ,EAAE,MAAM;QAChBC,SAAS,EAAE;MACZ,CAAC;MACDC,OAAO,EAAE,CACR;QACCF,QAAQ,EAAE,QAAQ;QAClBC,SAAS,EAAE;MACZ,CAAC;IAEH,CAAE,CAAC;IAEHzB,gBAAgB,CAAE;MACjBmB,IAAI,EAAE,gCAAgC;MACtCC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE,IAAAC,QAAE,EAAE,8CAA+C,CAAC;MACjEC,cAAc,EAAE;QACfC,QAAQ,EAAE,WAAW;QACrBC,SAAS,EAAE;MACZ,CAAC;MACDC,OAAO,EAAE,CACR;QACCF,QAAQ,EAAE,QAAQ;QAClBC,SAAS,EAAE;MACZ,CAAC,EACD;QACCD,QAAQ,EAAE,WAAW;QACrBC,SAAS,EAAE;MACZ,CAAC;IAEH,CAAE,CAAC;IAEHzB,gBAAgB,CAAE;MACjBmB,IAAI,EAAE,mCAAmC;MACzCC,QAAQ,EAAE,MAAM;MAChBC,WAAW,EAAE,IAAAC,QAAE,EAAE,mCAAoC,CAAC;MACtDC,cAAc,EAAE;QACfC,QAAQ,EAAE,QAAQ;QAClBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;IAEHzB,gBAAgB,CAAE;MACjBmB,IAAI,EAAE,+CAA+C;MACrDC,QAAQ,EAAE,eAAe;MACzBC,WAAW,EAAE,IAAAC,QAAE,EAAE,iCAAkC,CAAC;MACpDC,cAAc,EAAE;QACfC,QAAQ,EAAE,QAAQ;QAClBC,SAAS,EAAG;MACb;IACD,CAAE,CAAC;IAEH,CAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE,CAACE,OAAO,CAAInB,KAAK,IAAM;MAC1CR,gBAAgB,CAAE;QACjBmB,IAAI,EAAG,iDAAiDX,KAAO,EAAC;QAChEY,QAAQ,EAAE,eAAe;QACzBC,WAAW,EAAE,IAAAC,QAAE,EAAE,iCAAkC,CAAC;QACpDC,cAAc,EAAE;UACfC,QAAQ,EAAE,QAAQ;UAClBC,SAAS,EAAG,GAAGjB,KAAO;QACvB;MACD,CAAE,CAAC;IACJ,CAAE,CAAC;EACJ,CAAC,EAAE,EAAG,CAAC;EAEP,IAAAoB,8BAAW,EACV,4BAA4B,EAC5B,MAAM;IACLnC,gBAAgB,CACfV,aAAa,CAAC,CAAC,KAAK,QAAQ,GAAG,MAAM,GAAG,QACzC,CAAC;EACF,CAAC,EACD;IACC8C,UAAU,EAAE1C;EACb,CACD,CAAC;EAED,IAAAyC,8BAAW,EAAE,kCAAkC,EAAE,MAAM;IACtDhC,aAAa,CAAE,gBAAiB,CAAC;EAClC,CAAE,CAAC;EAEH,IAAAgC,8BAAW,EAAE,wCAAwC,EAAE,MAAM;IAC5D9B,qBAAqB,CAAC,CAAC;EACxB,CAAE,CAAC;EAEH,IAAA8B,8BAAW,EAAE,+BAA+B,EAAIrB,KAAK,IAAM;IAC1D;IACA;IACAA,KAAK,CAACE,cAAc,CAAC,CAAC;IAEtB,IAAKzB,qBAAqB,CAAC,CAAC,EAAG;MAC9BW,mBAAmB,CAAC,CAAC;IACtB,CAAC,MAAM;MACN,MAAMmC,aAAa,GAAGlD,sBAAsB,CAAC,CAAC,GAC3C,iBAAiB,GACjB,oBAAoB;MACvBc,kBAAkB,CAAEoC,aAAc,CAAC;IACpC;EACD,CAAE,CAAC;;EAEH;EACA,IAAAF,8BAAW,EAAE,iCAAiC,EAAIrB,KAAK,IAAM;IAC5D,IAAK,CAAEtB,gBAAgB,CAAC,CAAC,EAAG;MAC3BsB,KAAK,CAACE,cAAc,CAAC,CAAC;MACtBZ,mBAAmB,CAAE,IAAK,CAAC;IAC5B;EACD,CAAE,CAAC;EAEH,IAAA+B,8BAAW,EAAE,+CAA+C,EAAIrB,KAAK,IACpED,uBAAuB,CAAEC,KAAK,EAAE,CAAE,CACnC,CAAC;EAED,CAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE,CAACoB,OAAO,CAAInB,KAAK,IAAM;IAC1C;IACA;IACA;IACA,IAAAoB,8BAAW,EACT,iDAAiDpB,KAAO,EAAC,EACxDD,KAAK,IAAMD,uBAAuB,CAAEC,KAAK,EAAEC,KAAM,CACpD,CAAC;EACF,CAAE,CAAC;EAEH,OAAO,IAAI;AACZ;AAAC,IAAAuB,QAAA,GAEcpD,iBAAiB;AAAAqD,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -244,7 +244,7 @@ function Layout() {
244
244
  previous: previousShortcut,
245
245
  next: nextShortcut
246
246
  }
247
- }), (0, _element.createElement)(_preferencesModal.default, null), (0, _element.createElement)(_keyboardShortcutHelpModal.default, null), (0, _element.createElement)(_welcomeGuide.default, null), (0, _element.createElement)(_editor.PostSyncStatusModal, null), (0, _element.createElement)(_startPageOptions.default, null), (0, _element.createElement)(_components.Popover.Slot, null), (0, _element.createElement)(_plugins.PluginArea, {
247
+ }), (0, _element.createElement)(_preferencesModal.default, null), (0, _element.createElement)(_keyboardShortcutHelpModal.default, null), (0, _element.createElement)(_welcomeGuide.default, null), (0, _element.createElement)(_editor.PostSyncStatusModal, null), (0, _element.createElement)(_startPageOptions.default, null), (0, _element.createElement)(_plugins.PluginArea, {
248
248
  onError: onPluginAreaError
249
249
  }));
250
250
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_editor","_data","_blockEditor","_components","_compose","_plugins","_i18n","_interface","_keyboardShortcuts","_notices","_textEditor","_visualEditor","_keyboardShortcuts2","_keyboardShortcutHelpModal","_preferencesModal","_browserUrl","_header","_inserterSidebar","_listViewSidebar","_settingsSidebar","_metaBoxes","_welcomeGuide","_actionsPanel","_startPageOptions","_store","_lockUnlock","getLayoutStyles","unlock","blockEditorPrivateApis","interfaceLabels","header","__","body","sidebar","actions","footer","useEditorStyles","hasThemeStyleSupport","editorSettings","useSelect","select","editPostStore","isFeatureActive","editorStore","getEditorSettings","useMemo","_editorSettings$style","_editorSettings$style2","presetStyles","styles","filter","style","__unstableType","defaultEditorStyles","hasThemeStyles","length","disableLayoutStyles","push","css","selector","hasBlockGapSupport","hasFallbackGapSupport","fallbackGapValue","Layout","useBlockCommands","isMobileViewport","useViewportMatch","isHugeViewport","isLargeViewport","openGeneralSidebar","closeGeneralSidebar","setIsInserterOpened","useDispatch","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","_x","openSidebarPanel","useEffect","entitiesSavedStatesCallback","setEntitiesSavedStatesCallback","useState","closeEntitiesSavedStates","useCallback","arg","className","classnames","secondarySidebarLabel","secondarySidebar","createElement","default","onPluginAreaError","sprintf","Fragment","FullscreenMode","isActive","UnsavedChangesWarning","AutosaveMonitor","LocalAutosaveMonitor","EditorKeyboardShortcutsRegister","EditorKeyboardShortcuts","InterfaceSkeleton","labels","editorNotices","EditorNotices","Button","variant","onClick","ComplementaryArea","Slot","scope","notices","EditorSnackbars","content","location","ScrollLock","BlockBreadcrumb","rootLabelText","isEntitiesSavedStatesOpen","shortcuts","previous","next","PostSyncStatusModal","Popover","PluginArea","onError","_default","exports"],"sources":["@wordpress/edit-post/src/components/layout/index.js"],"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\tEditorKeyboardShortcuts,\n\tEditorSnackbars,\n\tPostSyncStatusModal,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseBlockCommands,\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\tuseBlockCommands();\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<EditorKeyboardShortcuts />\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"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_editor","_data","_blockEditor","_components","_compose","_plugins","_i18n","_interface","_keyboardShortcuts","_notices","_textEditor","_visualEditor","_keyboardShortcuts2","_keyboardShortcutHelpModal","_preferencesModal","_browserUrl","_header","_inserterSidebar","_listViewSidebar","_settingsSidebar","_metaBoxes","_welcomeGuide","_actionsPanel","_startPageOptions","_store","_lockUnlock","getLayoutStyles","unlock","blockEditorPrivateApis","interfaceLabels","header","__","body","sidebar","actions","footer","useEditorStyles","hasThemeStyleSupport","editorSettings","useSelect","select","editPostStore","isFeatureActive","editorStore","getEditorSettings","useMemo","_editorSettings$style","_editorSettings$style2","presetStyles","styles","filter","style","__unstableType","defaultEditorStyles","hasThemeStyles","length","disableLayoutStyles","push","css","selector","hasBlockGapSupport","hasFallbackGapSupport","fallbackGapValue","Layout","useBlockCommands","isMobileViewport","useViewportMatch","isHugeViewport","isLargeViewport","openGeneralSidebar","closeGeneralSidebar","setIsInserterOpened","useDispatch","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","_x","openSidebarPanel","useEffect","entitiesSavedStatesCallback","setEntitiesSavedStatesCallback","useState","closeEntitiesSavedStates","useCallback","arg","className","classnames","secondarySidebarLabel","secondarySidebar","createElement","default","onPluginAreaError","sprintf","Fragment","FullscreenMode","isActive","UnsavedChangesWarning","AutosaveMonitor","LocalAutosaveMonitor","EditorKeyboardShortcutsRegister","EditorKeyboardShortcuts","InterfaceSkeleton","labels","editorNotices","EditorNotices","Button","variant","onClick","ComplementaryArea","Slot","scope","notices","EditorSnackbars","content","location","ScrollLock","BlockBreadcrumb","rootLabelText","isEntitiesSavedStatesOpen","shortcuts","previous","next","PostSyncStatusModal","PluginArea","onError","_default","exports"],"sources":["@wordpress/edit-post/src/components/layout/index.js"],"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\tEditorKeyboardShortcuts,\n\tEditorSnackbars,\n\tPostSyncStatusModal,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseBlockCommands,\n\tBlockBreadcrumb,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { Button, ScrollLock } 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\tuseBlockCommands();\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<EditorKeyboardShortcuts />\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<PluginArea onError={ onPluginAreaError } />\n\t\t</>\n\t);\n}\n\nexport default Layout;\n"],"mappings":"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"}
@@ -22,7 +22,7 @@ var _store = require("../../store");
22
22
 
23
23
  function useStartPatterns() {
24
24
  // A pattern is a start pattern if it includes 'core/post-content' in its blockTypes,
25
- // and it has no postTypes declares and the current post type is page or if
25
+ // and it has no postTypes declared and the current post type is page or if
26
26
  // the current post type is part of the postTypes declared.
27
27
  const {
28
28
  blockPatternsWithPostContentBlockType,
@@ -48,9 +48,9 @@ function useStartPatterns() {
48
48
  }, [postType, blockPatternsWithPostContentBlockType]);
49
49
  }
50
50
  function PatternSelection({
51
+ blockPatterns,
51
52
  onChoosePattern
52
53
  }) {
53
- const blockPatterns = useStartPatterns();
54
54
  const shownBlockPatterns = (0, _compose.useAsyncList)(blockPatterns);
55
55
  const {
56
56
  resetEditorBlocks
@@ -64,19 +64,33 @@ function PatternSelection({
64
64
  }
65
65
  });
66
66
  }
67
- const START_PAGE_MODAL_STATES = {
68
- INITIAL: 'INITIAL',
69
- PATTERN: 'PATTERN',
70
- CLOSED: 'CLOSED'
71
- };
72
- function StartPageOptions() {
73
- const [modalState, setModalState] = (0, _element.useState)(START_PAGE_MODAL_STATES.INITIAL);
74
- const blockPatterns = useStartPatterns();
75
- const hasStartPattern = blockPatterns.length > 0;
76
- const shouldOpenModel = (0, _data.useSelect)(select => {
77
- if (!hasStartPattern || modalState !== START_PAGE_MODAL_STATES.INITIAL) {
78
- return false;
67
+ function StartPageOptionsModal() {
68
+ const [modalState, setModalState] = (0, _element.useState)('initial');
69
+ const startPatterns = useStartPatterns();
70
+ const hasStartPattern = startPatterns.length > 0;
71
+ const shouldOpenModal = hasStartPattern && modalState === 'initial';
72
+ (0, _element.useEffect)(() => {
73
+ if (shouldOpenModal) {
74
+ setModalState('open');
79
75
  }
76
+ }, [shouldOpenModal]);
77
+ if (modalState !== 'open') {
78
+ return null;
79
+ }
80
+ return (0, _element.createElement)(_components.Modal, {
81
+ className: "edit-post-start-page-options__modal",
82
+ title: (0, _i18n.__)('Choose a pattern'),
83
+ isFullScreen: true,
84
+ onRequestClose: () => setModalState('closed')
85
+ }, (0, _element.createElement)("div", {
86
+ className: "edit-post-start-page-options__modal-content"
87
+ }, (0, _element.createElement)(PatternSelection, {
88
+ blockPatterns: startPatterns,
89
+ onChoosePattern: () => setModalState('closed')
90
+ })));
91
+ }
92
+ function StartPageOptions() {
93
+ const shouldEnableModal = (0, _data.useSelect)(select => {
80
94
  const {
81
95
  getEditedPostContent,
82
96
  isEditedPostSaveable
@@ -86,28 +100,10 @@ function StartPageOptions() {
86
100
  isFeatureActive
87
101
  } = select(_store.store);
88
102
  return !isEditedPostSaveable() && '' === getEditedPostContent() && !isEditingTemplate() && !isFeatureActive('welcomeGuide');
89
- }, [modalState, hasStartPattern]);
90
- (0, _element.useEffect)(() => {
91
- if (shouldOpenModel) {
92
- setModalState(START_PAGE_MODAL_STATES.PATTERN);
93
- }
94
- }, [shouldOpenModel]);
95
- if (modalState === START_PAGE_MODAL_STATES.INITIAL || modalState === START_PAGE_MODAL_STATES.CLOSED) {
103
+ }, []);
104
+ if (!shouldEnableModal) {
96
105
  return null;
97
106
  }
98
- return (0, _element.createElement)(_components.Modal, {
99
- className: "edit-post-start-page-options__modal",
100
- title: (0, _i18n.__)('Choose a pattern'),
101
- isFullScreen: true,
102
- onRequestClose: () => {
103
- setModalState(START_PAGE_MODAL_STATES.CLOSED);
104
- }
105
- }, (0, _element.createElement)("div", {
106
- className: "edit-post-start-page-options__modal-content"
107
- }, modalState === START_PAGE_MODAL_STATES.PATTERN && (0, _element.createElement)(PatternSelection, {
108
- onChoosePattern: () => {
109
- setModalState(START_PAGE_MODAL_STATES.CLOSED);
110
- }
111
- })));
107
+ return (0, _element.createElement)(StartPageOptionsModal, null);
112
108
  }
113
109
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_components","_i18n","_blockEditor","_data","_compose","_editor","_store","useStartPatterns","blockPatternsWithPostContentBlockType","postType","useSelect","select","getPatternsByBlockTypes","blockEditorStore","getCurrentPostType","editorStore","useMemo","filter","pattern","postTypes","Array","isArray","includes","PatternSelection","onChoosePattern","blockPatterns","shownBlockPatterns","useAsyncList","resetEditorBlocks","useDispatch","createElement","__experimentalBlockPatternsList","shownPatterns","onClickPattern","_pattern","blocks","START_PAGE_MODAL_STATES","INITIAL","PATTERN","CLOSED","StartPageOptions","modalState","setModalState","useState","hasStartPattern","length","shouldOpenModel","getEditedPostContent","isEditedPostSaveable","isEditingTemplate","isFeatureActive","editPostStore","useEffect","Modal","className","title","__","isFullScreen","onRequestClose"],"sources":["@wordpress/edit-post/src/components/start-page-options/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Modal } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useEffect, useMemo } from '@wordpress/element';\nimport {\n\tstore as blockEditorStore,\n\t__experimentalBlockPatternsList as BlockPatternsList,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useAsyncList } from '@wordpress/compose';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nfunction useStartPatterns() {\n\t// A pattern is a start pattern if it includes 'core/post-content' in its blockTypes,\n\t// and it has no postTypes declares and the current post type is page or if\n\t// the current post type is part of the postTypes declared.\n\tconst { blockPatternsWithPostContentBlockType, postType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getPatternsByBlockTypes } = select( blockEditorStore );\n\t\t\tconst { getCurrentPostType } = select( editorStore );\n\t\t\treturn {\n\t\t\t\tblockPatternsWithPostContentBlockType:\n\t\t\t\t\tgetPatternsByBlockTypes( 'core/post-content' ),\n\t\t\t\tpostType: getCurrentPostType(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\treturn useMemo( () => {\n\t\t// filter patterns without postTypes declared if the current postType is page\n\t\t// or patterns that declare the current postType in its post type array.\n\t\treturn blockPatternsWithPostContentBlockType.filter( ( pattern ) => {\n\t\t\treturn (\n\t\t\t\t( postType === 'page' && ! pattern.postTypes ) ||\n\t\t\t\t( Array.isArray( pattern.postTypes ) &&\n\t\t\t\t\tpattern.postTypes.includes( postType ) )\n\t\t\t);\n\t\t} );\n\t}, [ postType, blockPatternsWithPostContentBlockType ] );\n}\n\nfunction PatternSelection( { onChoosePattern } ) {\n\tconst blockPatterns = useStartPatterns();\n\tconst shownBlockPatterns = useAsyncList( blockPatterns );\n\tconst { resetEditorBlocks } = useDispatch( editorStore );\n\treturn (\n\t\t<BlockPatternsList\n\t\t\tblockPatterns={ blockPatterns }\n\t\t\tshownPatterns={ shownBlockPatterns }\n\t\t\tonClickPattern={ ( _pattern, blocks ) => {\n\t\t\t\tresetEditorBlocks( blocks );\n\t\t\t\tonChoosePattern();\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nconst START_PAGE_MODAL_STATES = {\n\tINITIAL: 'INITIAL',\n\tPATTERN: 'PATTERN',\n\tCLOSED: 'CLOSED',\n};\n\nexport default function StartPageOptions() {\n\tconst [ modalState, setModalState ] = useState(\n\t\tSTART_PAGE_MODAL_STATES.INITIAL\n\t);\n\tconst blockPatterns = useStartPatterns();\n\tconst hasStartPattern = blockPatterns.length > 0;\n\tconst shouldOpenModel = useSelect(\n\t\t( select ) => {\n\t\t\tif (\n\t\t\t\t! hasStartPattern ||\n\t\t\t\tmodalState !== START_PAGE_MODAL_STATES.INITIAL\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst { getEditedPostContent, isEditedPostSaveable } =\n\t\t\t\tselect( editorStore );\n\t\t\tconst { isEditingTemplate, isFeatureActive } =\n\t\t\t\tselect( editPostStore );\n\t\t\treturn (\n\t\t\t\t! isEditedPostSaveable() &&\n\t\t\t\t'' === getEditedPostContent() &&\n\t\t\t\t! isEditingTemplate() &&\n\t\t\t\t! isFeatureActive( 'welcomeGuide' )\n\t\t\t);\n\t\t},\n\t\t[ modalState, hasStartPattern ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( shouldOpenModel ) {\n\t\t\tsetModalState( START_PAGE_MODAL_STATES.PATTERN );\n\t\t}\n\t}, [ shouldOpenModel ] );\n\n\tif (\n\t\tmodalState === START_PAGE_MODAL_STATES.INITIAL ||\n\t\tmodalState === START_PAGE_MODAL_STATES.CLOSED\n\t) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"edit-post-start-page-options__modal\"\n\t\t\ttitle={ __( 'Choose a pattern' ) }\n\t\t\tisFullScreen={ true }\n\t\t\tonRequestClose={ () => {\n\t\t\t\tsetModalState( START_PAGE_MODAL_STATES.CLOSED );\n\t\t\t} }\n\t\t>\n\t\t\t<div className=\"edit-post-start-page-options__modal-content\">\n\t\t\t\t{ modalState === START_PAGE_MODAL_STATES.PATTERN && (\n\t\t\t\t\t<PatternSelection\n\t\t\t\t\t\tonChoosePattern={ () => {\n\t\t\t\t\t\t\tsetModalState( START_PAGE_MODAL_STATES.CLOSED );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</Modal>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_components","_i18n","_blockEditor","_data","_compose","_editor","_store","useStartPatterns","blockPatternsWithPostContentBlockType","postType","useSelect","select","getPatternsByBlockTypes","blockEditorStore","getCurrentPostType","editorStore","useMemo","filter","pattern","postTypes","Array","isArray","includes","PatternSelection","blockPatterns","onChoosePattern","shownBlockPatterns","useAsyncList","resetEditorBlocks","useDispatch","createElement","__experimentalBlockPatternsList","shownPatterns","onClickPattern","_pattern","blocks","StartPageOptionsModal","modalState","setModalState","useState","startPatterns","hasStartPattern","length","shouldOpenModal","useEffect","Modal","className","title","__","isFullScreen","onRequestClose","StartPageOptions","shouldEnableModal","getEditedPostContent","isEditedPostSaveable","isEditingTemplate","isFeatureActive","editPostStore"],"sources":["@wordpress/edit-post/src/components/start-page-options/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Modal } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useEffect, useMemo } from '@wordpress/element';\nimport {\n\tstore as blockEditorStore,\n\t__experimentalBlockPatternsList as BlockPatternsList,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useAsyncList } from '@wordpress/compose';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nfunction useStartPatterns() {\n\t// A pattern is a start pattern if it includes 'core/post-content' in its blockTypes,\n\t// and it has no postTypes declared and the current post type is page or if\n\t// the current post type is part of the postTypes declared.\n\tconst { blockPatternsWithPostContentBlockType, postType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getPatternsByBlockTypes } = select( blockEditorStore );\n\t\t\tconst { getCurrentPostType } = select( editorStore );\n\t\t\treturn {\n\t\t\t\tblockPatternsWithPostContentBlockType:\n\t\t\t\t\tgetPatternsByBlockTypes( 'core/post-content' ),\n\t\t\t\tpostType: getCurrentPostType(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\treturn useMemo( () => {\n\t\t// filter patterns without postTypes declared if the current postType is page\n\t\t// or patterns that declare the current postType in its post type array.\n\t\treturn blockPatternsWithPostContentBlockType.filter( ( pattern ) => {\n\t\t\treturn (\n\t\t\t\t( postType === 'page' && ! pattern.postTypes ) ||\n\t\t\t\t( Array.isArray( pattern.postTypes ) &&\n\t\t\t\t\tpattern.postTypes.includes( postType ) )\n\t\t\t);\n\t\t} );\n\t}, [ postType, blockPatternsWithPostContentBlockType ] );\n}\n\nfunction PatternSelection( { blockPatterns, onChoosePattern } ) {\n\tconst shownBlockPatterns = useAsyncList( blockPatterns );\n\tconst { resetEditorBlocks } = useDispatch( editorStore );\n\treturn (\n\t\t<BlockPatternsList\n\t\t\tblockPatterns={ blockPatterns }\n\t\t\tshownPatterns={ shownBlockPatterns }\n\t\t\tonClickPattern={ ( _pattern, blocks ) => {\n\t\t\t\tresetEditorBlocks( blocks );\n\t\t\t\tonChoosePattern();\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction StartPageOptionsModal() {\n\tconst [ modalState, setModalState ] = useState( 'initial' );\n\tconst startPatterns = useStartPatterns();\n\tconst hasStartPattern = startPatterns.length > 0;\n\tconst shouldOpenModal = hasStartPattern && modalState === 'initial';\n\n\tuseEffect( () => {\n\t\tif ( shouldOpenModal ) {\n\t\t\tsetModalState( 'open' );\n\t\t}\n\t}, [ shouldOpenModal ] );\n\n\tif ( modalState !== 'open' ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"edit-post-start-page-options__modal\"\n\t\t\ttitle={ __( 'Choose a pattern' ) }\n\t\t\tisFullScreen\n\t\t\tonRequestClose={ () => setModalState( 'closed' ) }\n\t\t>\n\t\t\t<div className=\"edit-post-start-page-options__modal-content\">\n\t\t\t\t<PatternSelection\n\t\t\t\t\tblockPatterns={ startPatterns }\n\t\t\t\t\tonChoosePattern={ () => setModalState( 'closed' ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</Modal>\n\t);\n}\n\nexport default function StartPageOptions() {\n\tconst shouldEnableModal = useSelect( ( select ) => {\n\t\tconst { getEditedPostContent, isEditedPostSaveable } =\n\t\t\tselect( editorStore );\n\t\tconst { isEditingTemplate, isFeatureActive } = select( editPostStore );\n\t\treturn (\n\t\t\t! isEditedPostSaveable() &&\n\t\t\t'' === getEditedPostContent() &&\n\t\t\t! isEditingTemplate() &&\n\t\t\t! isFeatureActive( 'welcomeGuide' )\n\t\t);\n\t}, [] );\n\n\tif ( ! shouldEnableModal ) {\n\t\treturn null;\n\t}\n\n\treturn <StartPageOptionsModal />;\n}\n"],"mappings":"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"}
@@ -166,7 +166,8 @@ function VisualEditor({
166
166
  const desktopCanvasStyles = {
167
167
  height: '100%',
168
168
  width: '100%',
169
- margin: 0,
169
+ marginLeft: 'auto',
170
+ marginRight: 'auto',
170
171
  display: 'flex',
171
172
  flexFlow: 'column',
172
173
  // Default background color so that grey
@@ -194,7 +195,7 @@ function VisualEditor({
194
195
  paddingBottom = '40vh';
195
196
  }
196
197
  const ref = (0, _element.useRef)();
197
- const contentRef = (0, _compose.useMergeRefs)([ref, (0, _blockEditor.__unstableUseClipboardHandler)(), (0, _blockEditor.__unstableUseTypewriter)(), (0, _blockEditor.__unstableUseTypingObserver)(), (0, _blockEditor.__unstableUseBlockSelectionClearer)()]);
198
+ const contentRef = (0, _compose.useMergeRefs)([ref, (0, _blockEditor.__unstableUseClipboardHandler)(), (0, _blockEditor.__unstableUseTypewriter)(), (0, _blockEditor.__unstableUseBlockSelectionClearer)()]);
198
199
  const blockSelectionClearerRef = (0, _blockEditor.__unstableUseBlockSelectionClearer)();
199
200
 
200
201
  // fallbackLayout is used if there is no Post Content,
@@ -257,6 +258,7 @@ function VisualEditor({
257
258
  // If there is a Post Content block we use its layout for the block list;
258
259
  // if not, this must be a classic theme, in which case we use the fallback layout.
259
260
  const blockListLayout = postContentAttributes ? postContentLayout : fallbackLayout;
261
+ const observeTypingRef = (0, _blockEditor.__unstableUseTypingObserver)();
260
262
  const titleRef = (0, _element.useRef)();
261
263
  (0, _element.useEffect)(() => {
262
264
  if (isWelcomeGuideVisible || !isCleanNewPost()) {
@@ -311,7 +313,8 @@ function VisualEditor({
311
313
  'is-focus-mode': isFocusMode,
312
314
  'has-global-padding': hasRootPaddingAwareAlignments
313
315
  }),
314
- contentEditable: false
316
+ contentEditable: false,
317
+ ref: observeTypingRef
315
318
  }, (0, _element.createElement)(_editor.PostTitle, {
316
319
  ref: titleRef
317
320
  })), (0, _element.createElement)(_blockEditor.__experimentalRecursionProvider, {