@wordpress/edit-post 7.27.2 → 7.28.1

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 (156) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/block-settings-menu/plugin-block-settings-menu-item.js +1 -2
  3. package/build/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
  4. package/build/components/browser-url/index.js +1 -2
  5. package/build/components/browser-url/index.js.map +1 -1
  6. package/build/components/header/fullscreen-mode-close/index.js +11 -8
  7. package/build/components/header/fullscreen-mode-close/index.js.map +1 -1
  8. package/build/components/header/header-toolbar/index.native.js +1 -2
  9. package/build/components/header/header-toolbar/index.native.js.map +1 -1
  10. package/build/components/header/index.js +6 -5
  11. package/build/components/header/index.js.map +1 -1
  12. package/build/components/header/main-dashboard-button/index.js +1 -2
  13. package/build/components/header/main-dashboard-button/index.js.map +1 -1
  14. package/build/components/header/mode-switcher/index.js +1 -2
  15. package/build/components/header/mode-switcher/index.js.map +1 -1
  16. package/build/components/header/more-menu/index.js +1 -2
  17. package/build/components/header/more-menu/index.js.map +1 -1
  18. package/build/components/header/plugin-more-menu-item/index.js +1 -2
  19. package/build/components/header/plugin-more-menu-item/index.js.map +1 -1
  20. package/build/components/header/post-publish-button-or-toggle.js +1 -2
  21. package/build/components/header/post-publish-button-or-toggle.js.map +1 -1
  22. package/build/components/header/tools-more-menu-group/index.js +1 -2
  23. package/build/components/header/tools-more-menu-group/index.js.map +1 -1
  24. package/build/components/header/writing-menu/index.js +4 -18
  25. package/build/components/header/writing-menu/index.js.map +1 -1
  26. package/build/components/keyboard-shortcut-help-modal/config.js +1 -2
  27. package/build/components/keyboard-shortcut-help-modal/config.js.map +1 -1
  28. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +1 -2
  29. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
  30. package/build/components/keyboard-shortcut-help-modal/index.js +2 -5
  31. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  32. package/build/components/keyboard-shortcut-help-modal/shortcut.js +1 -2
  33. package/build/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  34. package/build/components/keyboard-shortcuts/index.js +1 -2
  35. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  36. package/build/components/layout/actions-panel.js +1 -2
  37. package/build/components/layout/actions-panel.js.map +1 -1
  38. package/build/components/layout/index.js +7 -5
  39. package/build/components/layout/index.js.map +1 -1
  40. package/build/components/layout/index.native.js +1 -2
  41. package/build/components/layout/index.native.js.map +1 -1
  42. package/build/components/meta-boxes/meta-box-visibility.js +1 -2
  43. package/build/components/meta-boxes/meta-box-visibility.js.map +1 -1
  44. package/build/components/meta-boxes/meta-boxes-area/index.js +1 -2
  45. package/build/components/meta-boxes/meta-boxes-area/index.js.map +1 -1
  46. package/build/components/preferences-modal/enable-custom-fields.js +1 -2
  47. package/build/components/preferences-modal/enable-custom-fields.js.map +1 -1
  48. package/build/components/preferences-modal/enable-panel.js +1 -2
  49. package/build/components/preferences-modal/enable-panel.js.map +1 -1
  50. package/build/components/preferences-modal/enable-publish-sidebar.js +1 -2
  51. package/build/components/preferences-modal/enable-publish-sidebar.js.map +1 -1
  52. package/build/components/preferences-modal/index.js +1 -2
  53. package/build/components/preferences-modal/index.js.map +1 -1
  54. package/build/components/preferences-modal/meta-boxes-section.js +1 -2
  55. package/build/components/preferences-modal/meta-boxes-section.js.map +1 -1
  56. package/build/components/sidebar/plugin-document-setting-panel/index.js +1 -2
  57. package/build/components/sidebar/plugin-document-setting-panel/index.js.map +1 -1
  58. package/build/components/sidebar/plugin-post-publish-panel/index.js +1 -2
  59. package/build/components/sidebar/plugin-post-publish-panel/index.js.map +1 -1
  60. package/build/components/sidebar/plugin-post-status-info/index.js +1 -2
  61. package/build/components/sidebar/plugin-post-status-info/index.js.map +1 -1
  62. package/build/components/sidebar/plugin-pre-publish-panel/index.js +1 -2
  63. package/build/components/sidebar/plugin-pre-publish-panel/index.js.map +1 -1
  64. package/build/components/sidebar/post-format/index.js +1 -2
  65. package/build/components/sidebar/post-format/index.js.map +1 -1
  66. package/build/components/sidebar/post-pending-status/index.js +1 -2
  67. package/build/components/sidebar/post-pending-status/index.js.map +1 -1
  68. package/build/components/sidebar/post-slug/index.js +1 -2
  69. package/build/components/sidebar/post-slug/index.js.map +1 -1
  70. package/build/components/sidebar/post-sticky/index.js +1 -2
  71. package/build/components/sidebar/post-sticky/index.js.map +1 -1
  72. package/build/components/sidebar/post-visibility/index.js +2 -2
  73. package/build/components/sidebar/post-visibility/index.js.map +1 -1
  74. package/build/components/sidebar/settings-header/index.js +12 -4
  75. package/build/components/sidebar/settings-header/index.js.map +1 -1
  76. package/build/components/sidebar/settings-sidebar/index.js +28 -6
  77. package/build/components/sidebar/settings-sidebar/index.js.map +1 -1
  78. package/build/components/sidebar/template-summary/index.js +1 -2
  79. package/build/components/sidebar/template-summary/index.js.map +1 -1
  80. package/build/components/visual-editor/block-inspector-button.js +1 -2
  81. package/build/components/visual-editor/block-inspector-button.js.map +1 -1
  82. package/build/components/visual-editor/header.native.js +1 -2
  83. package/build/components/visual-editor/header.native.js.map +1 -1
  84. package/build/editor.js +32 -22
  85. package/build/editor.js.map +1 -1
  86. package/build/editor.native.js +1 -2
  87. package/build/editor.native.js.map +1 -1
  88. package/build/hooks/{use-post-history.js → use-navigate-to-entity-record.js} +20 -26
  89. package/build/hooks/use-navigate-to-entity-record.js.map +1 -0
  90. package/build/hooks/validate-multiple-use/index.js +25 -4
  91. package/build/hooks/validate-multiple-use/index.js.map +1 -1
  92. package/build/index.js +2 -2
  93. package/build/index.js.map +1 -1
  94. package/build/plugins/keyboard-shortcuts-help-menu-item/index.js +1 -2
  95. package/build/plugins/keyboard-shortcuts-help-menu-item/index.js.map +1 -1
  96. package/build/store/actions.js +7 -1
  97. package/build/store/actions.js.map +1 -1
  98. package/build/store/constants.js +3 -6
  99. package/build/store/constants.js.map +1 -1
  100. package/build/store/index.js +3 -4
  101. package/build/store/index.js.map +1 -1
  102. package/build/store/reducer.js +1 -2
  103. package/build/store/reducer.js.map +1 -1
  104. package/build/store/selectors.js +22 -43
  105. package/build/store/selectors.js.map +1 -1
  106. package/build-module/components/header/fullscreen-mode-close/index.js +10 -6
  107. package/build-module/components/header/fullscreen-mode-close/index.js.map +1 -1
  108. package/build-module/components/header/index.js +5 -3
  109. package/build-module/components/header/index.js.map +1 -1
  110. package/build-module/components/header/writing-menu/index.js +4 -17
  111. package/build-module/components/header/writing-menu/index.js.map +1 -1
  112. package/build-module/components/keyboard-shortcut-help-modal/index.js +0 -1
  113. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  114. package/build-module/components/layout/index.js +6 -3
  115. package/build-module/components/layout/index.js.map +1 -1
  116. package/build-module/components/sidebar/post-visibility/index.js +1 -0
  117. package/build-module/components/sidebar/post-visibility/index.js.map +1 -1
  118. package/build-module/components/sidebar/settings-header/index.js +12 -3
  119. package/build-module/components/sidebar/settings-header/index.js.map +1 -1
  120. package/build-module/components/sidebar/settings-sidebar/index.js +27 -3
  121. package/build-module/components/sidebar/settings-sidebar/index.js.map +1 -1
  122. package/build-module/editor.js +31 -20
  123. package/build-module/editor.js.map +1 -1
  124. package/build-module/hooks/{use-post-history.js → use-navigate-to-entity-record.js} +20 -26
  125. package/build-module/hooks/use-navigate-to-entity-record.js.map +1 -0
  126. package/build-module/hooks/validate-multiple-use/index.js +26 -4
  127. package/build-module/hooks/validate-multiple-use/index.js.map +1 -1
  128. package/build-module/index.js +2 -2
  129. package/build-module/index.js.map +1 -1
  130. package/build-module/store/actions.js +7 -1
  131. package/build-module/store/actions.js.map +1 -1
  132. package/build-module/store/selectors.js +1 -1
  133. package/build-module/store/selectors.js.map +1 -1
  134. package/build-style/style-rtl.css +29 -22
  135. package/build-style/style.css +29 -22
  136. package/package.json +32 -32
  137. package/src/components/header/fullscreen-mode-close/index.js +13 -10
  138. package/src/components/header/fullscreen-mode-close/test/index.js +31 -5
  139. package/src/components/header/index.js +8 -3
  140. package/src/components/header/style.scss +40 -26
  141. package/src/components/header/writing-menu/index.js +3 -16
  142. package/src/components/layout/index.js +3 -2
  143. package/src/components/sidebar/post-visibility/index.js +1 -0
  144. package/src/components/sidebar/settings-header/index.js +16 -5
  145. package/src/components/sidebar/settings-sidebar/index.js +37 -2
  146. package/src/components/visual-editor/style.scss +1 -1
  147. package/src/editor.js +34 -24
  148. package/src/hooks/{use-post-history.js → use-navigate-to-entity-record.js} +23 -27
  149. package/src/hooks/validate-multiple-use/index.js +28 -3
  150. package/src/index.js +2 -8
  151. package/src/store/actions.js +20 -3
  152. package/src/store/selectors.js +1 -1
  153. package/src/style.scss +0 -1
  154. package/src/test/editor.native.js +8 -5
  155. package/build/hooks/use-post-history.js.map +0 -1
  156. package/build-module/hooks/use-post-history.js.map +0 -1
@@ -2,38 +2,24 @@ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
5
- import { useDispatch, useRegistry } from '@wordpress/data';
5
+ import { useDispatch } from '@wordpress/data';
6
6
  import { MenuGroup } from '@wordpress/components';
7
7
  import { __, _x } from '@wordpress/i18n';
8
8
  import { useViewportMatch } from '@wordpress/compose';
9
9
  import { displayShortcut } from '@wordpress/keycodes';
10
10
  import { PreferenceToggleMenuItem, store as preferencesStore } from '@wordpress/preferences';
11
- import { store as editorStore } from '@wordpress/editor';
12
11
 
13
12
  /**
14
13
  * Internal dependencies
15
14
  */
16
15
  import { store as postEditorStore } from '../../../store';
17
16
  function WritingMenu() {
18
- const registry = useRegistry();
19
- const {
20
- closeGeneralSidebar
21
- } = useDispatch(postEditorStore);
22
17
  const {
23
18
  set: setPreference
24
19
  } = useDispatch(preferencesStore);
25
20
  const {
26
- setIsInserterOpened,
27
- setIsListViewOpened
28
- } = useDispatch(editorStore);
29
- const toggleDistractionFree = () => {
30
- registry.batch(() => {
31
- setPreference('core', 'fixedToolbar', true);
32
- setIsInserterOpened(false);
33
- setIsListViewOpened(false);
34
- closeGeneralSidebar();
35
- });
36
- };
21
+ toggleDistractionFree
22
+ } = useDispatch(postEditorStore);
37
23
  const turnOffDistractionFree = () => {
38
24
  setPreference('core', 'distractionFree', false);
39
25
  };
@@ -54,6 +40,7 @@ function WritingMenu() {
54
40
  }), createElement(PreferenceToggleMenuItem, {
55
41
  scope: "core",
56
42
  name: "distractionFree",
43
+ handleToggling: false,
57
44
  onToggle: toggleDistractionFree,
58
45
  label: __('Distraction free'),
59
46
  info: __('Write with calmness'),
@@ -1 +1 @@
1
- {"version":3,"names":["useDispatch","useRegistry","MenuGroup","__","_x","useViewportMatch","displayShortcut","PreferenceToggleMenuItem","store","preferencesStore","editorStore","postEditorStore","WritingMenu","registry","closeGeneralSidebar","set","setPreference","setIsInserterOpened","setIsListViewOpened","toggleDistractionFree","batch","turnOffDistractionFree","isLargeViewport","createElement","label","scope","name","onToggle","info","messageActivated","messageDeactivated","shortcut","primaryShift","secondary"],"sources":["@wordpress/edit-post/src/components/header/writing-menu/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useRegistry } from '@wordpress/data';\nimport { MenuGroup } from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport {\n\tPreferenceToggleMenuItem,\n\tstore as preferencesStore,\n} from '@wordpress/preferences';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { store as postEditorStore } from '../../../store';\n\nfunction WritingMenu() {\n\tconst registry = useRegistry();\n\n\tconst { closeGeneralSidebar } = useDispatch( postEditorStore );\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\tconst { setIsInserterOpened, setIsListViewOpened } =\n\t\tuseDispatch( editorStore );\n\n\tconst toggleDistractionFree = () => {\n\t\tregistry.batch( () => {\n\t\t\tsetPreference( 'core', 'fixedToolbar', true );\n\t\t\tsetIsInserterOpened( false );\n\t\t\tsetIsListViewOpened( false );\n\t\t\tcloseGeneralSidebar();\n\t\t} );\n\t};\n\n\tconst turnOffDistractionFree = () => {\n\t\tsetPreference( 'core', 'distractionFree', false );\n\t};\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tif ( ! isLargeViewport ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuGroup label={ _x( 'View', 'noun' ) }>\n\t\t\t<PreferenceToggleMenuItem\n\t\t\t\tscope=\"core\"\n\t\t\t\tname=\"fixedToolbar\"\n\t\t\t\tonToggle={ turnOffDistractionFree }\n\t\t\t\tlabel={ __( 'Top toolbar' ) }\n\t\t\t\tinfo={ __(\n\t\t\t\t\t'Access all block and document tools in a single place'\n\t\t\t\t) }\n\t\t\t\tmessageActivated={ __( 'Top toolbar activated' ) }\n\t\t\t\tmessageDeactivated={ __( 'Top toolbar deactivated' ) }\n\t\t\t/>\n\t\t\t<PreferenceToggleMenuItem\n\t\t\t\tscope=\"core\"\n\t\t\t\tname=\"distractionFree\"\n\t\t\t\tonToggle={ toggleDistractionFree }\n\t\t\t\tlabel={ __( 'Distraction free' ) }\n\t\t\t\tinfo={ __( 'Write with calmness' ) }\n\t\t\t\tmessageActivated={ __( 'Distraction free mode activated' ) }\n\t\t\t\tmessageDeactivated={ __( 'Distraction free mode deactivated' ) }\n\t\t\t\tshortcut={ displayShortcut.primaryShift( '\\\\' ) }\n\t\t\t/>\n\t\t\t<PreferenceToggleMenuItem\n\t\t\t\tscope=\"core\"\n\t\t\t\tname=\"focusMode\"\n\t\t\t\tlabel={ __( 'Spotlight mode' ) }\n\t\t\t\tinfo={ __( 'Focus on one block at a time' ) }\n\t\t\t\tmessageActivated={ __( 'Spotlight mode activated' ) }\n\t\t\t\tmessageDeactivated={ __( 'Spotlight mode deactivated' ) }\n\t\t\t/>\n\t\t\t<PreferenceToggleMenuItem\n\t\t\t\tscope=\"core/edit-post\"\n\t\t\t\tname=\"fullscreenMode\"\n\t\t\t\tlabel={ __( 'Fullscreen mode' ) }\n\t\t\t\tinfo={ __( 'Show and hide the admin user interface' ) }\n\t\t\t\tmessageActivated={ __( 'Fullscreen mode activated' ) }\n\t\t\t\tmessageDeactivated={ __( 'Fullscreen mode deactivated' ) }\n\t\t\t\tshortcut={ displayShortcut.secondary( 'f' ) }\n\t\t\t/>\n\t\t</MenuGroup>\n\t);\n}\n\nexport default WritingMenu;\n"],"mappings":"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"}
1
+ {"version":3,"names":["useDispatch","MenuGroup","__","_x","useViewportMatch","displayShortcut","PreferenceToggleMenuItem","store","preferencesStore","postEditorStore","WritingMenu","set","setPreference","toggleDistractionFree","turnOffDistractionFree","isLargeViewport","createElement","label","scope","name","onToggle","info","messageActivated","messageDeactivated","handleToggling","shortcut","primaryShift","secondary"],"sources":["@wordpress/edit-post/src/components/header/writing-menu/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { MenuGroup } from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport {\n\tPreferenceToggleMenuItem,\n\tstore as preferencesStore,\n} from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { store as postEditorStore } from '../../../store';\n\nfunction WritingMenu() {\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\tconst { toggleDistractionFree } = useDispatch( postEditorStore );\n\n\tconst turnOffDistractionFree = () => {\n\t\tsetPreference( 'core', 'distractionFree', false );\n\t};\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tif ( ! isLargeViewport ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuGroup label={ _x( 'View', 'noun' ) }>\n\t\t\t<PreferenceToggleMenuItem\n\t\t\t\tscope=\"core\"\n\t\t\t\tname=\"fixedToolbar\"\n\t\t\t\tonToggle={ turnOffDistractionFree }\n\t\t\t\tlabel={ __( 'Top toolbar' ) }\n\t\t\t\tinfo={ __(\n\t\t\t\t\t'Access all block and document tools in a single place'\n\t\t\t\t) }\n\t\t\t\tmessageActivated={ __( 'Top toolbar activated' ) }\n\t\t\t\tmessageDeactivated={ __( 'Top toolbar deactivated' ) }\n\t\t\t/>\n\t\t\t<PreferenceToggleMenuItem\n\t\t\t\tscope=\"core\"\n\t\t\t\tname=\"distractionFree\"\n\t\t\t\thandleToggling={ false }\n\t\t\t\tonToggle={ toggleDistractionFree }\n\t\t\t\tlabel={ __( 'Distraction free' ) }\n\t\t\t\tinfo={ __( 'Write with calmness' ) }\n\t\t\t\tmessageActivated={ __( 'Distraction free mode activated' ) }\n\t\t\t\tmessageDeactivated={ __( 'Distraction free mode deactivated' ) }\n\t\t\t\tshortcut={ displayShortcut.primaryShift( '\\\\' ) }\n\t\t\t/>\n\t\t\t<PreferenceToggleMenuItem\n\t\t\t\tscope=\"core\"\n\t\t\t\tname=\"focusMode\"\n\t\t\t\tlabel={ __( 'Spotlight mode' ) }\n\t\t\t\tinfo={ __( 'Focus on one block at a time' ) }\n\t\t\t\tmessageActivated={ __( 'Spotlight mode activated' ) }\n\t\t\t\tmessageDeactivated={ __( 'Spotlight mode deactivated' ) }\n\t\t\t/>\n\t\t\t<PreferenceToggleMenuItem\n\t\t\t\tscope=\"core/edit-post\"\n\t\t\t\tname=\"fullscreenMode\"\n\t\t\t\tlabel={ __( 'Fullscreen mode' ) }\n\t\t\t\tinfo={ __( 'Show and hide the admin user interface' ) }\n\t\t\t\tmessageActivated={ __( 'Fullscreen mode activated' ) }\n\t\t\t\tmessageDeactivated={ __( 'Fullscreen mode deactivated' ) }\n\t\t\t\tshortcut={ displayShortcut.secondary( 'f' ) }\n\t\t\t/>\n\t\t</MenuGroup>\n\t);\n}\n\nexport default WritingMenu;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,SAAS,QAAQ,uBAAuB;AACjD,SAASC,EAAE,EAAEC,EAAE,QAAQ,iBAAiB;AACxC,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,eAAe,QAAQ,qBAAqB;AACrD,SACCC,wBAAwB,EACxBC,KAAK,IAAIC,gBAAgB,QACnB,wBAAwB;;AAE/B;AACA;AACA;AACA,SAASD,KAAK,IAAIE,eAAe,QAAQ,gBAAgB;AAEzD,SAASC,WAAWA,CAAA,EAAG;EACtB,MAAM;IAAEC,GAAG,EAAEC;EAAc,CAAC,GAAGZ,WAAW,CAAEQ,gBAAiB,CAAC;EAC9D,MAAM;IAAEK;EAAsB,CAAC,GAAGb,WAAW,CAAES,eAAgB,CAAC;EAEhE,MAAMK,sBAAsB,GAAGA,CAAA,KAAM;IACpCF,aAAa,CAAE,MAAM,EAAE,iBAAiB,EAAE,KAAM,CAAC;EAClD,CAAC;EAED,MAAMG,eAAe,GAAGX,gBAAgB,CAAE,QAAS,CAAC;EACpD,IAAK,CAAEW,eAAe,EAAG;IACxB,OAAO,IAAI;EACZ;EAEA,OACCC,aAAA,CAACf,SAAS;IAACgB,KAAK,EAAGd,EAAE,CAAE,MAAM,EAAE,MAAO;EAAG,GACxCa,aAAA,CAACV,wBAAwB;IACxBY,KAAK,EAAC,MAAM;IACZC,IAAI,EAAC,cAAc;IACnBC,QAAQ,EAAGN,sBAAwB;IACnCG,KAAK,EAAGf,EAAE,CAAE,aAAc,CAAG;IAC7BmB,IAAI,EAAGnB,EAAE,CACR,uDACD,CAAG;IACHoB,gBAAgB,EAAGpB,EAAE,CAAE,uBAAwB,CAAG;IAClDqB,kBAAkB,EAAGrB,EAAE,CAAE,yBAA0B;EAAG,CACtD,CAAC,EACFc,aAAA,CAACV,wBAAwB;IACxBY,KAAK,EAAC,MAAM;IACZC,IAAI,EAAC,iBAAiB;IACtBK,cAAc,EAAG,KAAO;IACxBJ,QAAQ,EAAGP,qBAAuB;IAClCI,KAAK,EAAGf,EAAE,CAAE,kBAAmB,CAAG;IAClCmB,IAAI,EAAGnB,EAAE,CAAE,qBAAsB,CAAG;IACpCoB,gBAAgB,EAAGpB,EAAE,CAAE,iCAAkC,CAAG;IAC5DqB,kBAAkB,EAAGrB,EAAE,CAAE,mCAAoC,CAAG;IAChEuB,QAAQ,EAAGpB,eAAe,CAACqB,YAAY,CAAE,IAAK;EAAG,CACjD,CAAC,EACFV,aAAA,CAACV,wBAAwB;IACxBY,KAAK,EAAC,MAAM;IACZC,IAAI,EAAC,WAAW;IAChBF,KAAK,EAAGf,EAAE,CAAE,gBAAiB,CAAG;IAChCmB,IAAI,EAAGnB,EAAE,CAAE,8BAA+B,CAAG;IAC7CoB,gBAAgB,EAAGpB,EAAE,CAAE,0BAA2B,CAAG;IACrDqB,kBAAkB,EAAGrB,EAAE,CAAE,4BAA6B;EAAG,CACzD,CAAC,EACFc,aAAA,CAACV,wBAAwB;IACxBY,KAAK,EAAC,gBAAgB;IACtBC,IAAI,EAAC,gBAAgB;IACrBF,KAAK,EAAGf,EAAE,CAAE,iBAAkB,CAAG;IACjCmB,IAAI,EAAGnB,EAAE,CAAE,wCAAyC,CAAG;IACvDoB,gBAAgB,EAAGpB,EAAE,CAAE,2BAA4B,CAAG;IACtDqB,kBAAkB,EAAGrB,EAAE,CAAE,6BAA8B,CAAG;IAC1DuB,QAAQ,EAAGpB,eAAe,CAACsB,SAAS,CAAE,GAAI;EAAG,CAC7C,CACS,CAAC;AAEd;AAEA,eAAejB,WAAW"}
@@ -41,7 +41,6 @@ createElement("ul", {
41
41
  ...shortcut
42
42
  }))))
43
43
  /* eslint-enable jsx-a11y/no-redundant-roles */;
44
-
45
44
  const ShortcutSection = ({
46
45
  title,
47
46
  shortcuts,
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","Modal","__","useShortcut","store","keyboardShortcutsStore","withSelect","withDispatch","useSelect","compose","interfaceStore","textFormattingShortcuts","Shortcut","DynamicShortcut","KEYBOARD_SHORTCUT_HELP_MODAL_NAME","ShortcutList","shortcuts","createElement","className","role","map","shortcut","index","key","name","ShortcutSection","title","ShortcutCategorySection","categoryName","additionalShortcuts","categoryShortcuts","select","getCategoryShortcuts","concat","KeyboardShortcutHelpModal","isModalActive","toggleModal","closeButtonLabel","onRequestClose","keyCombination","character","description","ariaLabel","dispatch","openModal","closeModal"],"sources":["@wordpress/edit-post/src/components/keyboard-shortcut-help-modal/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Modal } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseShortcut,\n\tstore as keyboardShortcutsStore,\n} from '@wordpress/keyboard-shortcuts';\nimport { withSelect, withDispatch, useSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { store as interfaceStore } from '@wordpress/interface';\n\n/**\n * Internal dependencies\n */\nimport { textFormattingShortcuts } from './config';\nimport Shortcut from './shortcut';\nimport DynamicShortcut from './dynamic-shortcut';\n\nexport const KEYBOARD_SHORTCUT_HELP_MODAL_NAME =\n\t'edit-post/keyboard-shortcut-help';\n\nconst ShortcutList = ( { shortcuts } ) => (\n\t/*\n\t * Disable reason: The `list` ARIA role is redundant but\n\t * Safari+VoiceOver won't announce the list otherwise.\n\t */\n\t/* eslint-disable jsx-a11y/no-redundant-roles */\n\t<ul\n\t\tclassName=\"edit-post-keyboard-shortcut-help-modal__shortcut-list\"\n\t\trole=\"list\"\n\t>\n\t\t{ shortcuts.map( ( shortcut, index ) => (\n\t\t\t<li\n\t\t\t\tclassName=\"edit-post-keyboard-shortcut-help-modal__shortcut\"\n\t\t\t\tkey={ index }\n\t\t\t>\n\t\t\t\t{ typeof shortcut === 'string' ? (\n\t\t\t\t\t<DynamicShortcut name={ shortcut } />\n\t\t\t\t) : (\n\t\t\t\t\t<Shortcut { ...shortcut } />\n\t\t\t\t) }\n\t\t\t</li>\n\t\t) ) }\n\t</ul>\n\t/* eslint-enable jsx-a11y/no-redundant-roles */\n);\n\nconst ShortcutSection = ( { title, shortcuts, className } ) => (\n\t<section\n\t\tclassName={ classnames(\n\t\t\t'edit-post-keyboard-shortcut-help-modal__section',\n\t\t\tclassName\n\t\t) }\n\t>\n\t\t{ !! title && (\n\t\t\t<h2 className=\"edit-post-keyboard-shortcut-help-modal__section-title\">\n\t\t\t\t{ title }\n\t\t\t</h2>\n\t\t) }\n\t\t<ShortcutList shortcuts={ shortcuts } />\n\t</section>\n);\n\nconst ShortcutCategorySection = ( {\n\ttitle,\n\tcategoryName,\n\tadditionalShortcuts = [],\n} ) => {\n\tconst categoryShortcuts = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( keyboardShortcutsStore ).getCategoryShortcuts(\n\t\t\t\tcategoryName\n\t\t\t);\n\t\t},\n\t\t[ categoryName ]\n\t);\n\n\treturn (\n\t\t<ShortcutSection\n\t\t\ttitle={ title }\n\t\t\tshortcuts={ categoryShortcuts.concat( additionalShortcuts ) }\n\t\t/>\n\t);\n};\n\nexport function KeyboardShortcutHelpModal( { isModalActive, toggleModal } ) {\n\tuseShortcut( 'core/edit-post/keyboard-shortcuts', toggleModal );\n\n\tif ( ! isModalActive ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"edit-post-keyboard-shortcut-help-modal\"\n\t\t\ttitle={ __( 'Keyboard shortcuts' ) }\n\t\t\tcloseButtonLabel={ __( 'Close' ) }\n\t\t\tonRequestClose={ toggleModal }\n\t\t>\n\t\t\t<ShortcutSection\n\t\t\t\tclassName=\"edit-post-keyboard-shortcut-help-modal__main-shortcuts\"\n\t\t\t\tshortcuts={ [ 'core/edit-post/keyboard-shortcuts' ] }\n\t\t\t/>\n\t\t\t<ShortcutCategorySection\n\t\t\t\ttitle={ __( 'Global shortcuts' ) }\n\t\t\t\tcategoryName=\"global\"\n\t\t\t/>\n\n\t\t\t<ShortcutCategorySection\n\t\t\t\ttitle={ __( 'Selection shortcuts' ) }\n\t\t\t\tcategoryName=\"selection\"\n\t\t\t/>\n\n\t\t\t<ShortcutCategorySection\n\t\t\t\ttitle={ __( 'Block shortcuts' ) }\n\t\t\t\tcategoryName=\"block\"\n\t\t\t\tadditionalShortcuts={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tkeyCombination: { character: '/' },\n\t\t\t\t\t\tdescription: __(\n\t\t\t\t\t\t\t'Change the block type after adding a new paragraph.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t/* translators: The forward-slash character. e.g. '/'. */\n\t\t\t\t\t\tariaLabel: __( 'Forward-slash' ),\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t/>\n\t\t\t<ShortcutSection\n\t\t\t\ttitle={ __( 'Text formatting' ) }\n\t\t\t\tshortcuts={ textFormattingShortcuts }\n\t\t\t/>\n\t\t</Modal>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => ( {\n\t\tisModalActive: select( interfaceStore ).isModalActive(\n\t\t\tKEYBOARD_SHORTCUT_HELP_MODAL_NAME\n\t\t),\n\t} ) ),\n\twithDispatch( ( dispatch, { isModalActive } ) => {\n\t\tconst { openModal, closeModal } = dispatch( interfaceStore );\n\n\t\treturn {\n\t\t\ttoggleModal: () =>\n\t\t\t\tisModalActive\n\t\t\t\t\t? closeModal()\n\t\t\t\t\t: openModal( KEYBOARD_SHORTCUT_HELP_MODAL_NAME ),\n\t\t};\n\t} ),\n] )( KeyboardShortcutHelpModal );\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","Modal","__","useShortcut","store","keyboardShortcutsStore","withSelect","withDispatch","useSelect","compose","interfaceStore","textFormattingShortcuts","Shortcut","DynamicShortcut","KEYBOARD_SHORTCUT_HELP_MODAL_NAME","ShortcutList","shortcuts","createElement","className","role","map","shortcut","index","key","name","ShortcutSection","title","ShortcutCategorySection","categoryName","additionalShortcuts","categoryShortcuts","select","getCategoryShortcuts","concat","KeyboardShortcutHelpModal","isModalActive","toggleModal","closeButtonLabel","onRequestClose","keyCombination","character","description","ariaLabel","dispatch","openModal","closeModal"],"sources":["@wordpress/edit-post/src/components/keyboard-shortcut-help-modal/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Modal } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseShortcut,\n\tstore as keyboardShortcutsStore,\n} from '@wordpress/keyboard-shortcuts';\nimport { withSelect, withDispatch, useSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { store as interfaceStore } from '@wordpress/interface';\n\n/**\n * Internal dependencies\n */\nimport { textFormattingShortcuts } from './config';\nimport Shortcut from './shortcut';\nimport DynamicShortcut from './dynamic-shortcut';\n\nexport const KEYBOARD_SHORTCUT_HELP_MODAL_NAME =\n\t'edit-post/keyboard-shortcut-help';\n\nconst ShortcutList = ( { shortcuts } ) => (\n\t/*\n\t * Disable reason: The `list` ARIA role is redundant but\n\t * Safari+VoiceOver won't announce the list otherwise.\n\t */\n\t/* eslint-disable jsx-a11y/no-redundant-roles */\n\t<ul\n\t\tclassName=\"edit-post-keyboard-shortcut-help-modal__shortcut-list\"\n\t\trole=\"list\"\n\t>\n\t\t{ shortcuts.map( ( shortcut, index ) => (\n\t\t\t<li\n\t\t\t\tclassName=\"edit-post-keyboard-shortcut-help-modal__shortcut\"\n\t\t\t\tkey={ index }\n\t\t\t>\n\t\t\t\t{ typeof shortcut === 'string' ? (\n\t\t\t\t\t<DynamicShortcut name={ shortcut } />\n\t\t\t\t) : (\n\t\t\t\t\t<Shortcut { ...shortcut } />\n\t\t\t\t) }\n\t\t\t</li>\n\t\t) ) }\n\t</ul>\n\t/* eslint-enable jsx-a11y/no-redundant-roles */\n);\n\nconst ShortcutSection = ( { title, shortcuts, className } ) => (\n\t<section\n\t\tclassName={ classnames(\n\t\t\t'edit-post-keyboard-shortcut-help-modal__section',\n\t\t\tclassName\n\t\t) }\n\t>\n\t\t{ !! title && (\n\t\t\t<h2 className=\"edit-post-keyboard-shortcut-help-modal__section-title\">\n\t\t\t\t{ title }\n\t\t\t</h2>\n\t\t) }\n\t\t<ShortcutList shortcuts={ shortcuts } />\n\t</section>\n);\n\nconst ShortcutCategorySection = ( {\n\ttitle,\n\tcategoryName,\n\tadditionalShortcuts = [],\n} ) => {\n\tconst categoryShortcuts = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( keyboardShortcutsStore ).getCategoryShortcuts(\n\t\t\t\tcategoryName\n\t\t\t);\n\t\t},\n\t\t[ categoryName ]\n\t);\n\n\treturn (\n\t\t<ShortcutSection\n\t\t\ttitle={ title }\n\t\t\tshortcuts={ categoryShortcuts.concat( additionalShortcuts ) }\n\t\t/>\n\t);\n};\n\nexport function KeyboardShortcutHelpModal( { isModalActive, toggleModal } ) {\n\tuseShortcut( 'core/edit-post/keyboard-shortcuts', toggleModal );\n\n\tif ( ! isModalActive ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"edit-post-keyboard-shortcut-help-modal\"\n\t\t\ttitle={ __( 'Keyboard shortcuts' ) }\n\t\t\tcloseButtonLabel={ __( 'Close' ) }\n\t\t\tonRequestClose={ toggleModal }\n\t\t>\n\t\t\t<ShortcutSection\n\t\t\t\tclassName=\"edit-post-keyboard-shortcut-help-modal__main-shortcuts\"\n\t\t\t\tshortcuts={ [ 'core/edit-post/keyboard-shortcuts' ] }\n\t\t\t/>\n\t\t\t<ShortcutCategorySection\n\t\t\t\ttitle={ __( 'Global shortcuts' ) }\n\t\t\t\tcategoryName=\"global\"\n\t\t\t/>\n\n\t\t\t<ShortcutCategorySection\n\t\t\t\ttitle={ __( 'Selection shortcuts' ) }\n\t\t\t\tcategoryName=\"selection\"\n\t\t\t/>\n\n\t\t\t<ShortcutCategorySection\n\t\t\t\ttitle={ __( 'Block shortcuts' ) }\n\t\t\t\tcategoryName=\"block\"\n\t\t\t\tadditionalShortcuts={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tkeyCombination: { character: '/' },\n\t\t\t\t\t\tdescription: __(\n\t\t\t\t\t\t\t'Change the block type after adding a new paragraph.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t/* translators: The forward-slash character. e.g. '/'. */\n\t\t\t\t\t\tariaLabel: __( 'Forward-slash' ),\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t/>\n\t\t\t<ShortcutSection\n\t\t\t\ttitle={ __( 'Text formatting' ) }\n\t\t\t\tshortcuts={ textFormattingShortcuts }\n\t\t\t/>\n\t\t</Modal>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => ( {\n\t\tisModalActive: select( interfaceStore ).isModalActive(\n\t\t\tKEYBOARD_SHORTCUT_HELP_MODAL_NAME\n\t\t),\n\t} ) ),\n\twithDispatch( ( dispatch, { isModalActive } ) => {\n\t\tconst { openModal, closeModal } = dispatch( interfaceStore );\n\n\t\treturn {\n\t\t\ttoggleModal: () =>\n\t\t\t\tisModalActive\n\t\t\t\t\t? closeModal()\n\t\t\t\t\t: openModal( KEYBOARD_SHORTCUT_HELP_MODAL_NAME ),\n\t\t};\n\t} ),\n] )( KeyboardShortcutHelpModal );\n"],"mappings":"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"}
@@ -99,7 +99,9 @@ function useEditorStyles() {
99
99
  return hasThemeStyles ? editorSettings.styles : defaultEditorStyles;
100
100
  }, [editorSettings.defaultEditorStyles, editorSettings.disableLayoutStyles, editorSettings.styles, hasThemeStyleSupport]);
101
101
  }
102
- function Layout() {
102
+ function Layout({
103
+ initialPost
104
+ }) {
103
105
  useCommands();
104
106
  useCommonCommands();
105
107
  useBlockCommands();
@@ -161,7 +163,7 @@ function Layout() {
161
163
  // translators: Default label for the Document in the Block Breadcrumb.
162
164
  documentLabel: postTypeLabel || _x('Document', 'noun'),
163
165
  hasBlockSelected: !!select(blockEditorStore).getBlockSelectionStart(),
164
- hasHistory: !!getEditorSettings().goBack
166
+ hasHistory: !!getEditorSettings().onNavigateToPreviousEntityRecord
165
167
  };
166
168
  }, []);
167
169
 
@@ -231,7 +233,8 @@ function Layout() {
231
233
  secondarySidebar: secondarySidebarLabel
232
234
  },
233
235
  header: createElement(Header, {
234
- setEntitiesSavedStatesCallback: setEntitiesSavedStatesCallback
236
+ setEntitiesSavedStatesCallback: setEntitiesSavedStatesCallback,
237
+ initialPost: initialPost
235
238
  }),
236
239
  editorNotices: createElement(EditorNotices, null),
237
240
  secondarySidebar: secondarySidebar(),
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","AutosaveMonitor","LocalAutosaveMonitor","UnsavedChangesWarning","EditorNotices","EditorKeyboardShortcutsRegister","EditorKeyboardShortcuts","EditorSnackbars","PostSyncStatusModal","store","editorStore","privateApis","editorPrivateApis","useSelect","useDispatch","useBlockCommands","BlockBreadcrumb","BlockToolbar","blockEditorPrivateApis","blockEditorStore","Button","ScrollLock","useViewportMatch","PluginArea","__","_x","sprintf","ComplementaryArea","FullscreenMode","InterfaceSkeleton","interfaceStore","useState","useEffect","useCallback","useMemo","keyboardShortcutsStore","noticesStore","preferencesStore","commandsPrivateApis","coreCommandsPrivateApis","TextEditor","VisualEditor","EditPostKeyboardShortcuts","KeyboardShortcutHelpModal","EditPostPreferencesModal","BrowserURL","Header","SettingsSidebar","MetaBoxes","WelcomeGuide","ActionsPanel","StartPageOptions","editPostStore","unlock","useCommonCommands","getLayoutStyles","useCommands","useCommandContext","InserterSidebar","ListViewSidebar","interfaceLabels","header","body","sidebar","actions","footer","useEditorStyles","hasThemeStyleSupport","editorSettings","select","isFeatureActive","getEditorSettings","_editorSettings$style","_editorSettings$style2","presetStyles","styles","filter","style","__unstableType","defaultEditorStyles","hasThemeStyles","length","disableLayoutStyles","push","css","selector","hasBlockGapSupport","hasFallbackGapSupport","fallbackGapValue","Layout","isMobileViewport","isHugeViewport","isWideViewport","isLargeViewport","openGeneralSidebar","closeGeneralSidebar","createErrorNotice","setIsInserterOpened","mode","isFullscreenActive","isRichEditingEnabled","sidebarIsOpened","hasActiveMetaboxes","previousShortcut","nextShortcut","hasBlockSelected","isInserterOpened","isListViewOpened","showIconLabels","isDistractionFree","showBlockBreadcrumbs","showMetaBoxes","documentLabel","hasHistory","get","getPostTypeLabel","postTypeLabel","getRenderingMode","getActiveComplementaryArea","name","isPublishSidebarOpened","getEditorMode","richEditingEnabled","hasMetaBoxes","getAllShortcutKeyCombinations","getBlockSelectionStart","goBack","commandContext","openSidebarPanel","entitiesSavedStatesCallback","setEntitiesSavedStatesCallback","closeEntitiesSavedStates","arg","document","classList","add","remove","className","secondarySidebarLabel","secondarySidebar","createElement","onPluginAreaError","Fragment","isActive","labels","editorNotices","variant","onClick","Slot","scope","notices","content","hideDragHandle","location","rootLabelText","isEntitiesSavedStatesOpen","shortcuts","previous","next","onError"],"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\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseBlockCommands,\n\tBlockBreadcrumb,\n\tBlockToolbar,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\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';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { privateApis as commandsPrivateApis } from '@wordpress/commands';\nimport { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands';\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 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';\nimport useCommonCommands from '../../hooks/commands/use-common-commands';\n\nconst { getLayoutStyles } = unlock( blockEditorPrivateApis );\nconst { useCommands } = unlock( coreCommandsPrivateApis );\nconst { useCommandContext } = unlock( commandsPrivateApis );\nconst { InserterSidebar, ListViewSidebar } = unlock( editorPrivateApis );\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\tuseCommands();\n\tuseCommonCommands();\n\tuseBlockCommands();\n\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isHugeViewport = useViewportMatch( 'huge', '>=' );\n\tconst isWideViewport = useViewportMatch( 'large' );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\n\tconst { openGeneralSidebar, closeGeneralSidebar } =\n\t\tuseDispatch( editPostStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { setIsInserterOpened } = useDispatch( editorStore );\n\tconst {\n\t\tmode,\n\t\tisFullscreenActive,\n\t\tisRichEditingEnabled,\n\t\tsidebarIsOpened,\n\t\thasActiveMetaboxes,\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\tshowMetaBoxes,\n\t\tdocumentLabel,\n\t\thasHistory,\n\t} = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { getEditorSettings, getPostTypeLabel } = select( editorStore );\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst postTypeLabel = getPostTypeLabel();\n\n\t\treturn {\n\t\t\tshowMetaBoxes:\n\t\t\t\tselect( editorStore ).getRenderingMode() === 'post-only',\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( editorStore ).isInserterOpened(),\n\t\t\tisListViewOpened: select( editorStore ).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: get( 'core', 'showIconLabels' ),\n\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\tshowBlockBreadcrumbs: get( 'core', 'showBlockBreadcrumbs' ),\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\thasBlockSelected:\n\t\t\t\t!! select( blockEditorStore ).getBlockSelectionStart(),\n\t\t\thasHistory: !! getEditorSettings().goBack,\n\t\t};\n\t}, [] );\n\n\t// Set the right context for the command palette\n\tconst commandContext = hasBlockSelected\n\t\t? 'block-selection-edit'\n\t\t: 'post-editor-edit';\n\tuseCommandContext( commandContext );\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}, [ isHugeViewport, setIsInserterOpened, sidebarIsOpened ] );\n\tuseEffect( () => {\n\t\tif ( isInserterOpened && ! isHugeViewport ) {\n\t\t\tcloseGeneralSidebar();\n\t\t}\n\t}, [ closeGeneralSidebar, 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\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\t// We need to add the show-icon-labels class to the body element so it is applied to modals.\n\tif ( showIconLabels ) {\n\t\tdocument.body.classList.add( 'show-icon-labels' );\n\t} else {\n\t\tdocument.body.classList.remove( 'show-icon-labels' );\n\t}\n\n\tconst className = classnames( 'edit-post-layout', 'is-mode-' + mode, {\n\t\t'is-sidebar-opened': sidebarIsOpened,\n\t\t'has-metaboxes': hasActiveMetaboxes,\n\t\t'is-distraction-free': isDistractionFree && isWideViewport,\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 hasHistory={ hasHistory } />\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\n\t\t\t<InterfaceSkeleton\n\t\t\t\tisDistractionFree={ isDistractionFree && isWideViewport }\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{ ! isLargeViewport && <BlockToolbar hideDragHandle /> }\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 && showMetaBoxes && (\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\t<SettingsSidebar />\n\t\t</>\n\t);\n}\n\nexport default Layout;\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","AutosaveMonitor","LocalAutosaveMonitor","UnsavedChangesWarning","EditorNotices","EditorKeyboardShortcutsRegister","EditorKeyboardShortcuts","EditorSnackbars","PostSyncStatusModal","store","editorStore","privateApis","editorPrivateApis","useSelect","useDispatch","useBlockCommands","BlockBreadcrumb","BlockToolbar","blockEditorPrivateApis","blockEditorStore","Button","ScrollLock","useViewportMatch","PluginArea","__","_x","sprintf","ComplementaryArea","FullscreenMode","InterfaceSkeleton","interfaceStore","useState","useEffect","useCallback","useMemo","keyboardShortcutsStore","noticesStore","preferencesStore","commandsPrivateApis","coreCommandsPrivateApis","TextEditor","VisualEditor","EditPostKeyboardShortcuts","KeyboardShortcutHelpModal","EditPostPreferencesModal","BrowserURL","Header","SettingsSidebar","MetaBoxes","WelcomeGuide","ActionsPanel","StartPageOptions","editPostStore","unlock","useCommonCommands","getLayoutStyles","useCommands","useCommandContext","InserterSidebar","ListViewSidebar","interfaceLabels","header","body","sidebar","actions","footer","useEditorStyles","hasThemeStyleSupport","editorSettings","select","isFeatureActive","getEditorSettings","_editorSettings$style","_editorSettings$style2","presetStyles","styles","filter","style","__unstableType","defaultEditorStyles","hasThemeStyles","length","disableLayoutStyles","push","css","selector","hasBlockGapSupport","hasFallbackGapSupport","fallbackGapValue","Layout","initialPost","isMobileViewport","isHugeViewport","isWideViewport","isLargeViewport","openGeneralSidebar","closeGeneralSidebar","createErrorNotice","setIsInserterOpened","mode","isFullscreenActive","isRichEditingEnabled","sidebarIsOpened","hasActiveMetaboxes","previousShortcut","nextShortcut","hasBlockSelected","isInserterOpened","isListViewOpened","showIconLabels","isDistractionFree","showBlockBreadcrumbs","showMetaBoxes","documentLabel","hasHistory","get","getPostTypeLabel","postTypeLabel","getRenderingMode","getActiveComplementaryArea","name","isPublishSidebarOpened","getEditorMode","richEditingEnabled","hasMetaBoxes","getAllShortcutKeyCombinations","getBlockSelectionStart","onNavigateToPreviousEntityRecord","commandContext","openSidebarPanel","entitiesSavedStatesCallback","setEntitiesSavedStatesCallback","closeEntitiesSavedStates","arg","document","classList","add","remove","className","secondarySidebarLabel","secondarySidebar","createElement","onPluginAreaError","Fragment","isActive","labels","editorNotices","variant","onClick","Slot","scope","notices","content","hideDragHandle","location","rootLabelText","isEntitiesSavedStatesOpen","shortcuts","previous","next","onError"],"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\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseBlockCommands,\n\tBlockBreadcrumb,\n\tBlockToolbar,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\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';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { privateApis as commandsPrivateApis } from '@wordpress/commands';\nimport { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands';\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 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';\nimport useCommonCommands from '../../hooks/commands/use-common-commands';\n\nconst { getLayoutStyles } = unlock( blockEditorPrivateApis );\nconst { useCommands } = unlock( coreCommandsPrivateApis );\nconst { useCommandContext } = unlock( commandsPrivateApis );\nconst { InserterSidebar, ListViewSidebar } = unlock( editorPrivateApis );\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( { initialPost } ) {\n\tuseCommands();\n\tuseCommonCommands();\n\tuseBlockCommands();\n\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isHugeViewport = useViewportMatch( 'huge', '>=' );\n\tconst isWideViewport = useViewportMatch( 'large' );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\n\tconst { openGeneralSidebar, closeGeneralSidebar } =\n\t\tuseDispatch( editPostStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { setIsInserterOpened } = useDispatch( editorStore );\n\tconst {\n\t\tmode,\n\t\tisFullscreenActive,\n\t\tisRichEditingEnabled,\n\t\tsidebarIsOpened,\n\t\thasActiveMetaboxes,\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\tshowMetaBoxes,\n\t\tdocumentLabel,\n\t\thasHistory,\n\t} = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { getEditorSettings, getPostTypeLabel } = select( editorStore );\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst postTypeLabel = getPostTypeLabel();\n\n\t\treturn {\n\t\t\tshowMetaBoxes:\n\t\t\t\tselect( editorStore ).getRenderingMode() === 'post-only',\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( editorStore ).isInserterOpened(),\n\t\t\tisListViewOpened: select( editorStore ).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: get( 'core', 'showIconLabels' ),\n\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\tshowBlockBreadcrumbs: get( 'core', 'showBlockBreadcrumbs' ),\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\thasBlockSelected:\n\t\t\t\t!! select( blockEditorStore ).getBlockSelectionStart(),\n\t\t\thasHistory: !! getEditorSettings().onNavigateToPreviousEntityRecord,\n\t\t};\n\t}, [] );\n\n\t// Set the right context for the command palette\n\tconst commandContext = hasBlockSelected\n\t\t? 'block-selection-edit'\n\t\t: 'post-editor-edit';\n\tuseCommandContext( commandContext );\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}, [ isHugeViewport, setIsInserterOpened, sidebarIsOpened ] );\n\tuseEffect( () => {\n\t\tif ( isInserterOpened && ! isHugeViewport ) {\n\t\t\tcloseGeneralSidebar();\n\t\t}\n\t}, [ closeGeneralSidebar, 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\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\t// We need to add the show-icon-labels class to the body element so it is applied to modals.\n\tif ( showIconLabels ) {\n\t\tdocument.body.classList.add( 'show-icon-labels' );\n\t} else {\n\t\tdocument.body.classList.remove( 'show-icon-labels' );\n\t}\n\n\tconst className = classnames( 'edit-post-layout', 'is-mode-' + mode, {\n\t\t'is-sidebar-opened': sidebarIsOpened,\n\t\t'has-metaboxes': hasActiveMetaboxes,\n\t\t'is-distraction-free': isDistractionFree && isWideViewport,\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 hasHistory={ hasHistory } />\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\n\t\t\t<InterfaceSkeleton\n\t\t\t\tisDistractionFree={ isDistractionFree && isWideViewport }\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\tinitialPost={ initialPost }\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{ ! isLargeViewport && <BlockToolbar hideDragHandle /> }\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 && showMetaBoxes && (\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\t<SettingsSidebar />\n\t\t</>\n\t);\n}\n\nexport default Layout;\n"],"mappings":"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"}
@@ -56,6 +56,7 @@ function PostVisibilityToggle({
56
56
  }) {
57
57
  const label = usePostVisibilityLabel();
58
58
  return createElement(Button, {
59
+ __next40pxDefaultSize: true,
59
60
  className: "edit-post-post-visibility__toggle",
60
61
  variant: "tertiary",
61
62
  "aria-expanded": isOpen
@@ -1 +1 @@
1
- {"version":3,"names":["__","sprintf","Dropdown","Button","PostVisibility","PostVisibilityForm","PostVisibilityLabel","PostVisibilityCheck","usePostVisibilityLabel","privateApis","editorPrivateApis","useMemo","useState","unlock","PostPanelRow","popoverAnchor","setPopoverAnchor","popoverProps","anchor","placement","createElement","render","canEdit","label","ref","contentClassName","focusOnMount","renderToggle","isOpen","onToggle","PostVisibilityToggle","onClick","renderContent","onClose","className","variant"],"sources":["@wordpress/edit-post/src/components/sidebar/post-visibility/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Dropdown, Button } from '@wordpress/components';\nimport {\n\tPostVisibility as PostVisibilityForm,\n\tPostVisibilityLabel,\n\tPostVisibilityCheck,\n\tusePostVisibilityLabel,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { useMemo, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\n\nconst { PostPanelRow } = unlock( editorPrivateApis );\n\nexport function PostVisibility() {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t// Anchor the popover to the middle of the entire row so that it doesn't\n\t\t\t// move around when the label changes.\n\t\t\tanchor: popoverAnchor,\n\t\t\tplacement: 'bottom-end',\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\n\treturn (\n\t\t<PostVisibilityCheck\n\t\t\trender={ ( { canEdit } ) => (\n\t\t\t\t<PostPanelRow\n\t\t\t\t\tlabel={ __( 'Visibility' ) }\n\t\t\t\t\tref={ setPopoverAnchor }\n\t\t\t\t>\n\t\t\t\t\t{ ! canEdit && (\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<PostVisibilityLabel />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t\t{ canEdit && (\n\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\tcontentClassName=\"edit-post-post-visibility__dialog\"\n\t\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\t\tfocusOnMount\n\t\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t\t\t<PostVisibilityToggle\n\t\t\t\t\t\t\t\t\tisOpen={ isOpen }\n\t\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t<PostVisibilityForm onClose={ onClose } />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PostPanelRow>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction PostVisibilityToggle( { isOpen, onClick } ) {\n\tconst label = usePostVisibilityLabel();\n\treturn (\n\t\t<Button\n\t\t\tclassName=\"edit-post-post-visibility__toggle\"\n\t\t\tvariant=\"tertiary\"\n\t\t\taria-expanded={ isOpen }\n\t\t\t// translators: %s: Current post visibility.\n\t\t\taria-label={ sprintf( __( 'Select visibility: %s' ), label ) }\n\t\t\tonClick={ onClick }\n\t\t>\n\t\t\t{ label }\n\t\t</Button>\n\t);\n}\n\nexport default PostVisibility;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,QAAQ,EAAEC,MAAM,QAAQ,uBAAuB;AACxD,SACCC,cAAc,IAAIC,kBAAkB,EACpCC,mBAAmB,EACnBC,mBAAmB,EACnBC,sBAAsB,EACtBC,WAAW,IAAIC,iBAAiB,QAC1B,mBAAmB;AAC1B,SAASC,OAAO,EAAEC,QAAQ,QAAQ,oBAAoB;;AAEtD;AACA;AACA;AACA,SAASC,MAAM,QAAQ,sBAAsB;AAE7C,MAAM;EAAEC;AAAa,CAAC,GAAGD,MAAM,CAAEH,iBAAkB,CAAC;AAEpD,OAAO,SAASN,cAAcA,CAAA,EAAG;EAChC;EACA;EACA,MAAM,CAAEW,aAAa,EAAEC,gBAAgB,CAAE,GAAGJ,QAAQ,CAAE,IAAK,CAAC;EAC5D;EACA,MAAMK,YAAY,GAAGN,OAAO,CAC3B,OAAQ;IACP;IACA;IACAO,MAAM,EAAEH,aAAa;IACrBI,SAAS,EAAE;EACZ,CAAC,CAAE,EACH,CAAEJ,aAAa,CAChB,CAAC;EAED,OACCK,aAAA,CAACb,mBAAmB;IACnBc,MAAM,EAAGA,CAAE;MAAEC;IAAQ,CAAC,KACrBF,aAAA,CAACN,YAAY;MACZS,KAAK,EAAGvB,EAAE,CAAE,YAAa,CAAG;MAC5BwB,GAAG,EAAGR;IAAkB,GAEtB,CAAEM,OAAO,IACVF,aAAA,eACCA,aAAA,CAACd,mBAAmB,MAAE,CACjB,CACN,EACCgB,OAAO,IACRF,aAAA,CAAClB,QAAQ;MACRuB,gBAAgB,EAAC,mCAAmC;MACpDR,YAAY,EAAGA,YAAc;MAC7BS,YAAY;MACZC,YAAY,EAAGA,CAAE;QAAEC,MAAM;QAAEC;MAAS,CAAC,KACpCT,aAAA,CAACU,oBAAoB;QACpBF,MAAM,EAAGA,MAAQ;QACjBG,OAAO,EAAGF;MAAU,CACpB,CACC;MACHG,aAAa,EAAGA,CAAE;QAAEC;MAAQ,CAAC,KAC5Bb,aAAA,CAACf,kBAAkB;QAAC4B,OAAO,EAAGA;MAAS,CAAE;IACvC,CACH,CAEW;EACZ,CACH,CAAC;AAEJ;AAEA,SAASH,oBAAoBA,CAAE;EAAEF,MAAM;EAAEG;AAAQ,CAAC,EAAG;EACpD,MAAMR,KAAK,GAAGf,sBAAsB,CAAC,CAAC;EACtC,OACCY,aAAA,CAACjB,MAAM;IACN+B,SAAS,EAAC,mCAAmC;IAC7CC,OAAO,EAAC,UAAU;IAClB,iBAAgBP;IAChB;IAAA;IACA,cAAa3B,OAAO,CAAED,EAAE,CAAE,uBAAwB,CAAC,EAAEuB,KAAM,CAAG;IAC9DQ,OAAO,EAAGA;EAAS,GAEjBR,KACK,CAAC;AAEX;AAEA,eAAenB,cAAc"}
1
+ {"version":3,"names":["__","sprintf","Dropdown","Button","PostVisibility","PostVisibilityForm","PostVisibilityLabel","PostVisibilityCheck","usePostVisibilityLabel","privateApis","editorPrivateApis","useMemo","useState","unlock","PostPanelRow","popoverAnchor","setPopoverAnchor","popoverProps","anchor","placement","createElement","render","canEdit","label","ref","contentClassName","focusOnMount","renderToggle","isOpen","onToggle","PostVisibilityToggle","onClick","renderContent","onClose","__next40pxDefaultSize","className","variant"],"sources":["@wordpress/edit-post/src/components/sidebar/post-visibility/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Dropdown, Button } from '@wordpress/components';\nimport {\n\tPostVisibility as PostVisibilityForm,\n\tPostVisibilityLabel,\n\tPostVisibilityCheck,\n\tusePostVisibilityLabel,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { useMemo, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\n\nconst { PostPanelRow } = unlock( editorPrivateApis );\n\nexport function PostVisibility() {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t// Anchor the popover to the middle of the entire row so that it doesn't\n\t\t\t// move around when the label changes.\n\t\t\tanchor: popoverAnchor,\n\t\t\tplacement: 'bottom-end',\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\n\treturn (\n\t\t<PostVisibilityCheck\n\t\t\trender={ ( { canEdit } ) => (\n\t\t\t\t<PostPanelRow\n\t\t\t\t\tlabel={ __( 'Visibility' ) }\n\t\t\t\t\tref={ setPopoverAnchor }\n\t\t\t\t>\n\t\t\t\t\t{ ! canEdit && (\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<PostVisibilityLabel />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t\t{ canEdit && (\n\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\tcontentClassName=\"edit-post-post-visibility__dialog\"\n\t\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\t\tfocusOnMount\n\t\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t\t\t<PostVisibilityToggle\n\t\t\t\t\t\t\t\t\tisOpen={ isOpen }\n\t\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t<PostVisibilityForm onClose={ onClose } />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PostPanelRow>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction PostVisibilityToggle( { isOpen, onClick } ) {\n\tconst label = usePostVisibilityLabel();\n\treturn (\n\t\t<Button\n\t\t\t__next40pxDefaultSize\n\t\t\tclassName=\"edit-post-post-visibility__toggle\"\n\t\t\tvariant=\"tertiary\"\n\t\t\taria-expanded={ isOpen }\n\t\t\t// translators: %s: Current post visibility.\n\t\t\taria-label={ sprintf( __( 'Select visibility: %s' ), label ) }\n\t\t\tonClick={ onClick }\n\t\t>\n\t\t\t{ label }\n\t\t</Button>\n\t);\n}\n\nexport default PostVisibility;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,QAAQ,EAAEC,MAAM,QAAQ,uBAAuB;AACxD,SACCC,cAAc,IAAIC,kBAAkB,EACpCC,mBAAmB,EACnBC,mBAAmB,EACnBC,sBAAsB,EACtBC,WAAW,IAAIC,iBAAiB,QAC1B,mBAAmB;AAC1B,SAASC,OAAO,EAAEC,QAAQ,QAAQ,oBAAoB;;AAEtD;AACA;AACA;AACA,SAASC,MAAM,QAAQ,sBAAsB;AAE7C,MAAM;EAAEC;AAAa,CAAC,GAAGD,MAAM,CAAEH,iBAAkB,CAAC;AAEpD,OAAO,SAASN,cAAcA,CAAA,EAAG;EAChC;EACA;EACA,MAAM,CAAEW,aAAa,EAAEC,gBAAgB,CAAE,GAAGJ,QAAQ,CAAE,IAAK,CAAC;EAC5D;EACA,MAAMK,YAAY,GAAGN,OAAO,CAC3B,OAAQ;IACP;IACA;IACAO,MAAM,EAAEH,aAAa;IACrBI,SAAS,EAAE;EACZ,CAAC,CAAE,EACH,CAAEJ,aAAa,CAChB,CAAC;EAED,OACCK,aAAA,CAACb,mBAAmB;IACnBc,MAAM,EAAGA,CAAE;MAAEC;IAAQ,CAAC,KACrBF,aAAA,CAACN,YAAY;MACZS,KAAK,EAAGvB,EAAE,CAAE,YAAa,CAAG;MAC5BwB,GAAG,EAAGR;IAAkB,GAEtB,CAAEM,OAAO,IACVF,aAAA,eACCA,aAAA,CAACd,mBAAmB,MAAE,CACjB,CACN,EACCgB,OAAO,IACRF,aAAA,CAAClB,QAAQ;MACRuB,gBAAgB,EAAC,mCAAmC;MACpDR,YAAY,EAAGA,YAAc;MAC7BS,YAAY;MACZC,YAAY,EAAGA,CAAE;QAAEC,MAAM;QAAEC;MAAS,CAAC,KACpCT,aAAA,CAACU,oBAAoB;QACpBF,MAAM,EAAGA,MAAQ;QACjBG,OAAO,EAAGF;MAAU,CACpB,CACC;MACHG,aAAa,EAAGA,CAAE;QAAEC;MAAQ,CAAC,KAC5Bb,aAAA,CAACf,kBAAkB;QAAC4B,OAAO,EAAGA;MAAS,CAAE;IACvC,CACH,CAEW;EACZ,CACH,CAAC;AAEJ;AAEA,SAASH,oBAAoBA,CAAE;EAAEF,MAAM;EAAEG;AAAQ,CAAC,EAAG;EACpD,MAAMR,KAAK,GAAGf,sBAAsB,CAAC,CAAC;EACtC,OACCY,aAAA,CAACjB,MAAM;IACN+B,qBAAqB;IACrBC,SAAS,EAAC,mCAAmC;IAC7CC,OAAO,EAAC,UAAU;IAClB,iBAAgBR;IAChB;IAAA;IACA,cAAa3B,OAAO,CAAED,EAAE,CAAE,uBAAwB,CAAC,EAAEuB,KAAM,CAAG;IAC9DQ,OAAO,EAAGA;EAAS,GAEjBR,KACK,CAAC;AAEX;AAEA,eAAenB,cAAc"}
@@ -5,6 +5,7 @@ import { createElement } from "react";
5
5
  import { privateApis as componentsPrivateApis } from '@wordpress/components';
6
6
  import { __, _x } from '@wordpress/i18n';
7
7
  import { useSelect } from '@wordpress/data';
8
+ import { forwardRef } from '@wordpress/element';
8
9
  import { store as editorStore } from '@wordpress/editor';
9
10
 
10
11
  /**
@@ -15,7 +16,7 @@ import { sidebars } from '../settings-sidebar';
15
16
  const {
16
17
  Tabs
17
18
  } = unlock(componentsPrivateApis);
18
- const SettingsHeader = () => {
19
+ const SettingsHeader = (_, ref) => {
19
20
  const {
20
21
  documentLabel
21
22
  } = useSelect(select => {
@@ -27,11 +28,19 @@ const SettingsHeader = () => {
27
28
  documentLabel: getPostTypeLabel() || _x('Document', 'noun')
28
29
  };
29
30
  }, []);
30
- return createElement(Tabs.TabList, null, createElement(Tabs.Tab, {
31
+ return createElement(Tabs.TabList, {
32
+ ref: ref
33
+ }, createElement(Tabs.Tab, {
31
34
  tabId: sidebars.document
35
+ // Used for focus management in the SettingsSidebar component.
36
+ ,
37
+ "data-tab-id": sidebars.document
32
38
  }, documentLabel), createElement(Tabs.Tab, {
33
39
  tabId: sidebars.block
40
+ // Used for focus management in the SettingsSidebar component.
41
+ ,
42
+ "data-tab-id": sidebars.block
34
43
  }, __('Block')));
35
44
  };
36
- export default SettingsHeader;
45
+ export default forwardRef(SettingsHeader);
37
46
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["privateApis","componentsPrivateApis","__","_x","useSelect","store","editorStore","unlock","sidebars","Tabs","SettingsHeader","documentLabel","select","getPostTypeLabel","createElement","TabList","Tab","tabId","document","block"],"sources":["@wordpress/edit-post/src/components/sidebar/settings-header/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\nimport { sidebars } from '../settings-sidebar';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nconst SettingsHeader = () => {\n\tconst { documentLabel } = useSelect( ( select ) => {\n\t\tconst { getPostTypeLabel } = select( editorStore );\n\n\t\treturn {\n\t\t\t// translators: Default label for the Document sidebar tab, not selected.\n\t\t\tdocumentLabel: getPostTypeLabel() || _x( 'Document', 'noun' ),\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<Tabs.TabList>\n\t\t\t<Tabs.Tab tabId={ sidebars.document }>{ documentLabel }</Tabs.Tab>\n\t\t\t<Tabs.Tab tabId={ sidebars.block }>\n\t\t\t\t{ /* translators: Text label for the Block Settings Sidebar tab. */ }\n\t\t\t\t{ __( 'Block' ) }\n\t\t\t</Tabs.Tab>\n\t\t</Tabs.TabList>\n\t);\n};\n\nexport default SettingsHeader;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,WAAW,IAAIC,qBAAqB,QAAQ,uBAAuB;AAC5E,SAASC,EAAE,EAAEC,EAAE,QAAQ,iBAAiB;AACxC,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,WAAW,QAAQ,mBAAmB;;AAExD;AACA;AACA;AACA,SAASC,MAAM,QAAQ,sBAAsB;AAC7C,SAASC,QAAQ,QAAQ,qBAAqB;AAE9C,MAAM;EAAEC;AAAK,CAAC,GAAGF,MAAM,CAAEN,qBAAsB,CAAC;AAEhD,MAAMS,cAAc,GAAGA,CAAA,KAAM;EAC5B,MAAM;IAAEC;EAAc,CAAC,GAAGP,SAAS,CAAIQ,MAAM,IAAM;IAClD,MAAM;MAAEC;IAAiB,CAAC,GAAGD,MAAM,CAAEN,WAAY,CAAC;IAElD,OAAO;MACN;MACAK,aAAa,EAAEE,gBAAgB,CAAC,CAAC,IAAIV,EAAE,CAAE,UAAU,EAAE,MAAO;IAC7D,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,OACCW,aAAA,CAACL,IAAI,CAACM,OAAO,QACZD,aAAA,CAACL,IAAI,CAACO,GAAG;IAACC,KAAK,EAAGT,QAAQ,CAACU;EAAU,GAAGP,aAAyB,CAAC,EAClEG,aAAA,CAACL,IAAI,CAACO,GAAG;IAACC,KAAK,EAAGT,QAAQ,CAACW;EAAO,GAE/BjB,EAAE,CAAE,OAAQ,CACL,CACG,CAAC;AAEjB,CAAC;AAED,eAAeQ,cAAc"}
1
+ {"version":3,"names":["privateApis","componentsPrivateApis","__","_x","useSelect","forwardRef","store","editorStore","unlock","sidebars","Tabs","SettingsHeader","_","ref","documentLabel","select","getPostTypeLabel","createElement","TabList","Tab","tabId","document","block"],"sources":["@wordpress/edit-post/src/components/sidebar/settings-header/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { forwardRef } from '@wordpress/element';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\nimport { sidebars } from '../settings-sidebar';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nconst SettingsHeader = ( _, ref ) => {\n\tconst { documentLabel } = useSelect( ( select ) => {\n\t\tconst { getPostTypeLabel } = select( editorStore );\n\n\t\treturn {\n\t\t\t// translators: Default label for the Document sidebar tab, not selected.\n\t\t\tdocumentLabel: getPostTypeLabel() || _x( 'Document', 'noun' ),\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<Tabs.TabList ref={ ref }>\n\t\t\t<Tabs.Tab\n\t\t\t\ttabId={ sidebars.document }\n\t\t\t\t// Used for focus management in the SettingsSidebar component.\n\t\t\t\tdata-tab-id={ sidebars.document }\n\t\t\t>\n\t\t\t\t{ documentLabel }\n\t\t\t</Tabs.Tab>\n\t\t\t<Tabs.Tab\n\t\t\t\ttabId={ sidebars.block }\n\t\t\t\t// Used for focus management in the SettingsSidebar component.\n\t\t\t\tdata-tab-id={ sidebars.block }\n\t\t\t>\n\t\t\t\t{ /* translators: Text label for the Block Settings Sidebar tab. */ }\n\t\t\t\t{ __( 'Block' ) }\n\t\t\t</Tabs.Tab>\n\t\t</Tabs.TabList>\n\t);\n};\n\nexport default forwardRef( SettingsHeader );\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,WAAW,IAAIC,qBAAqB,QAAQ,uBAAuB;AAC5E,SAASC,EAAE,EAAEC,EAAE,QAAQ,iBAAiB;AACxC,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,UAAU,QAAQ,oBAAoB;AAC/C,SAASC,KAAK,IAAIC,WAAW,QAAQ,mBAAmB;;AAExD;AACA;AACA;AACA,SAASC,MAAM,QAAQ,sBAAsB;AAC7C,SAASC,QAAQ,QAAQ,qBAAqB;AAE9C,MAAM;EAAEC;AAAK,CAAC,GAAGF,MAAM,CAAEP,qBAAsB,CAAC;AAEhD,MAAMU,cAAc,GAAGA,CAAEC,CAAC,EAAEC,GAAG,KAAM;EACpC,MAAM;IAAEC;EAAc,CAAC,GAAGV,SAAS,CAAIW,MAAM,IAAM;IAClD,MAAM;MAAEC;IAAiB,CAAC,GAAGD,MAAM,CAAER,WAAY,CAAC;IAElD,OAAO;MACN;MACAO,aAAa,EAAEE,gBAAgB,CAAC,CAAC,IAAIb,EAAE,CAAE,UAAU,EAAE,MAAO;IAC7D,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,OACCc,aAAA,CAACP,IAAI,CAACQ,OAAO;IAACL,GAAG,EAAGA;EAAK,GACxBI,aAAA,CAACP,IAAI,CAACS,GAAG;IACRC,KAAK,EAAGX,QAAQ,CAACY;IACjB;IAAA;IACA,eAAcZ,QAAQ,CAACY;EAAU,GAE/BP,aACO,CAAC,EACXG,aAAA,CAACP,IAAI,CAACS,GAAG;IACRC,KAAK,EAAGX,QAAQ,CAACa;IACjB;IAAA;IACA,eAAcb,QAAQ,CAACa;EAAO,GAG5BpB,EAAE,CAAE,OAAQ,CACL,CACG,CAAC;AAEjB,CAAC;AAED,eAAeG,UAAU,CAAEM,cAAe,CAAC"}
@@ -4,7 +4,7 @@ import { createElement, Fragment } from "react";
4
4
  */
5
5
  import { BlockInspector, store as blockEditorStore } from '@wordpress/block-editor';
6
6
  import { useSelect, useDispatch } from '@wordpress/data';
7
- import { Platform, useCallback, useContext } from '@wordpress/element';
7
+ import { Platform, useCallback, useContext, useEffect, useRef } from '@wordpress/element';
8
8
  import { isRTL, __ } from '@wordpress/i18n';
9
9
  import { drawerLeft, drawerRight } from '@wordpress/icons';
10
10
  import { store as interfaceStore } from '@wordpress/interface';
@@ -39,15 +39,38 @@ const SidebarContent = ({
39
39
  keyboardShortcut,
40
40
  isEditingTemplate
41
41
  }) => {
42
+ const tabListRef = useRef(null);
42
43
  // Because `PluginSidebarEditPost` renders a `ComplementaryArea`, we
43
44
  // need to forward the `Tabs` context so it can be passed through the
44
45
  // underlying slot/fill.
45
46
  const tabsContextValue = useContext(Tabs.Context);
47
+
48
+ // This effect addresses a race condition caused by tabbing from the last
49
+ // block in the editor into the settings sidebar. Without this effect, the
50
+ // selected tab and browser focus can become separated in an unexpected way
51
+ // (e.g the "block" tab is focused, but the "post" tab is selected).
52
+ useEffect(() => {
53
+ const tabsElements = Array.from(tabListRef.current?.querySelectorAll('[role="tab"]') || []);
54
+ const selectedTabElement = tabsElements.find(
55
+ // We are purposefully using a custom `data-tab-id` attribute here
56
+ // because we don't want rely on any assumptions about `Tabs`
57
+ // component internals.
58
+ element => element.getAttribute('data-tab-id') === sidebarName);
59
+ const activeElement = selectedTabElement?.ownerDocument.activeElement;
60
+ const tabsHasFocus = tabsElements.some(element => {
61
+ return activeElement && activeElement.id === element.id;
62
+ });
63
+ if (tabsHasFocus && selectedTabElement && selectedTabElement.id !== activeElement?.id) {
64
+ selectedTabElement?.focus();
65
+ }
66
+ }, [sidebarName]);
46
67
  return createElement(PluginSidebarEditPost, {
47
68
  identifier: sidebarName,
48
69
  header: createElement(Tabs.Context.Provider, {
49
70
  value: tabsContextValue
50
- }, createElement(SettingsHeader, null)),
71
+ }, createElement(SettingsHeader, {
72
+ ref: tabListRef
73
+ })),
51
74
  closeLabel: __('Close Settings')
52
75
  // This classname is added so we can apply a corrective negative
53
76
  // margin to the panel.
@@ -119,7 +142,8 @@ const SettingsSidebar = () => {
119
142
  // the selected tab to `null` avoids that.
120
143
  , {
121
144
  selectedTabId: isSettingsSidebarActive ? sidebarName : null,
122
- onSelect: onTabSelect
145
+ onSelect: onTabSelect,
146
+ selectOnMove: false
123
147
  }, createElement(SidebarContent, {
124
148
  sidebarName: sidebarName,
125
149
  keyboardShortcut: keyboardShortcut,
@@ -1 +1 @@
1
- {"version":3,"names":["BlockInspector","store","blockEditorStore","useSelect","useDispatch","Platform","useCallback","useContext","isRTL","__","drawerLeft","drawerRight","interfaceStore","keyboardShortcutsStore","editorStore","PageAttributesPanel","PostDiscussionPanel","PostExcerptPanel","PostFeaturedImagePanel","PostLastRevisionPanel","PostTaxonomiesPanel","SettingsHeader","PostStatus","MetaBoxes","PluginDocumentSettingPanel","PluginSidebarEditPost","TemplateSummary","editPostStore","privateApis","componentsPrivateApis","unlock","Tabs","SIDEBAR_ACTIVE_BY_DEFAULT","select","web","native","sidebars","document","block","SidebarContent","sidebarName","keyboardShortcut","isEditingTemplate","tabsContextValue","Context","createElement","identifier","header","Provider","value","closeLabel","className","headerClassName","title","toggleShortcut","icon","isActiveByDefault","TabPanel","tabId","focusable","Fragment","Slot","location","SettingsSidebar","isSettingsSidebarActive","sidebar","getActiveComplementaryArea","name","isSettingsSidebar","includes","getBlockSelectionStart","shortcut","getShortcutRepresentation","getCurrentPostType","openGeneralSidebar","onTabSelect","newSelectedTabId","selectedTabId","onSelect"],"sources":["@wordpress/edit-post/src/components/sidebar/settings-sidebar/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockInspector,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Platform, useCallback, useContext } from '@wordpress/element';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport { drawerLeft, drawerRight } from '@wordpress/icons';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport {\n\tstore as editorStore,\n\tPageAttributesPanel,\n\tPostDiscussionPanel,\n\tPostExcerptPanel,\n\tPostFeaturedImagePanel,\n\tPostLastRevisionPanel,\n\tPostTaxonomiesPanel,\n} from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport SettingsHeader from '../settings-header';\nimport PostStatus from '../post-status';\nimport MetaBoxes from '../../meta-boxes';\nimport PluginDocumentSettingPanel from '../plugin-document-setting-panel';\nimport PluginSidebarEditPost from '../plugin-sidebar';\nimport TemplateSummary from '../template-summary';\nimport { store as editPostStore } from '../../../store';\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { unlock } from '../../../lock-unlock';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nconst SIDEBAR_ACTIVE_BY_DEFAULT = Platform.select( {\n\tweb: true,\n\tnative: false,\n} );\nexport const sidebars = {\n\tdocument: 'edit-post/document',\n\tblock: 'edit-post/block',\n};\n\nconst SidebarContent = ( {\n\tsidebarName,\n\tkeyboardShortcut,\n\tisEditingTemplate,\n} ) => {\n\t// Because `PluginSidebarEditPost` renders a `ComplementaryArea`, we\n\t// need to forward the `Tabs` context so it can be passed through the\n\t// underlying slot/fill.\n\tconst tabsContextValue = useContext( Tabs.Context );\n\n\treturn (\n\t\t<PluginSidebarEditPost\n\t\t\tidentifier={ sidebarName }\n\t\t\theader={\n\t\t\t\t<Tabs.Context.Provider value={ tabsContextValue }>\n\t\t\t\t\t<SettingsHeader />\n\t\t\t\t</Tabs.Context.Provider>\n\t\t\t}\n\t\t\tcloseLabel={ __( 'Close Settings' ) }\n\t\t\t// This classname is added so we can apply a corrective negative\n\t\t\t// margin to the panel.\n\t\t\t// see https://github.com/WordPress/gutenberg/pull/55360#pullrequestreview-1737671049\n\t\t\tclassName=\"edit-post-sidebar__panel\"\n\t\t\theaderClassName=\"edit-post-sidebar__panel-tabs\"\n\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\ttitle={ __( 'Settings' ) }\n\t\t\ttoggleShortcut={ keyboardShortcut }\n\t\t\ticon={ isRTL() ? drawerLeft : drawerRight }\n\t\t\tisActiveByDefault={ SIDEBAR_ACTIVE_BY_DEFAULT }\n\t\t>\n\t\t\t<Tabs.Context.Provider value={ tabsContextValue }>\n\t\t\t\t<Tabs.TabPanel tabId={ sidebars.document } focusable={ false }>\n\t\t\t\t\t{ ! isEditingTemplate && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<PostStatus />\n\t\t\t\t\t\t\t<PluginDocumentSettingPanel.Slot />\n\t\t\t\t\t\t\t<PostLastRevisionPanel />\n\t\t\t\t\t\t\t<PostTaxonomiesPanel />\n\t\t\t\t\t\t\t<PostFeaturedImagePanel />\n\t\t\t\t\t\t\t<PostExcerptPanel />\n\t\t\t\t\t\t\t<PostDiscussionPanel />\n\t\t\t\t\t\t\t<PageAttributesPanel />\n\t\t\t\t\t\t\t<MetaBoxes location=\"side\" />\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isEditingTemplate && <TemplateSummary /> }\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t<Tabs.TabPanel tabId={ sidebars.block } focusable={ false }>\n\t\t\t\t\t<BlockInspector />\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t</Tabs.Context.Provider>\n\t\t</PluginSidebarEditPost>\n\t);\n};\n\nconst SettingsSidebar = () => {\n\tconst {\n\t\tsidebarName,\n\t\tisSettingsSidebarActive,\n\t\tkeyboardShortcut,\n\t\tisEditingTemplate,\n\t} = useSelect( ( select ) => {\n\t\t// The settings sidebar is used by the edit-post/document and edit-post/block sidebars.\n\t\t// sidebarName represents the sidebar that is active or that should be active when the SettingsSidebar toggle button is pressed.\n\t\t// If one of the two sidebars is active the component will contain the content of that sidebar.\n\t\t// When neither of the two sidebars is active we can not simply return null, because the PluginSidebarEditPost\n\t\t// component, besides being used to render the sidebar, also renders the toggle button. In that case sidebarName\n\t\t// should contain the sidebar that will be active when the toggle button is pressed. If a block\n\t\t// is selected, that should be edit-post/block otherwise it's edit-post/document.\n\t\tlet sidebar = select( interfaceStore ).getActiveComplementaryArea(\n\t\t\teditPostStore.name\n\t\t);\n\t\tlet isSettingsSidebar = true;\n\t\tif ( ! [ sidebars.document, sidebars.block ].includes( sidebar ) ) {\n\t\t\tisSettingsSidebar = false;\n\t\t\tif ( select( blockEditorStore ).getBlockSelectionStart() ) {\n\t\t\t\tsidebar = sidebars.block;\n\t\t\t}\n\t\t\tsidebar = sidebars.document;\n\t\t}\n\t\tconst shortcut = select(\n\t\t\tkeyboardShortcutsStore\n\t\t).getShortcutRepresentation( 'core/edit-post/toggle-sidebar' );\n\t\treturn {\n\t\t\tsidebarName: sidebar,\n\t\t\tisSettingsSidebarActive: isSettingsSidebar,\n\t\t\tkeyboardShortcut: shortcut,\n\t\t\tisEditingTemplate:\n\t\t\t\tselect( editorStore ).getCurrentPostType() === 'wp_template',\n\t\t};\n\t}, [] );\n\n\tconst { openGeneralSidebar } = useDispatch( editPostStore );\n\n\tconst onTabSelect = useCallback(\n\t\t( newSelectedTabId ) => {\n\t\t\tif ( !! newSelectedTabId ) {\n\t\t\t\topenGeneralSidebar( newSelectedTabId );\n\t\t\t}\n\t\t},\n\t\t[ openGeneralSidebar ]\n\t);\n\n\treturn (\n\t\t<Tabs\n\t\t\t// Due to how this component is controlled (via a value from the\n\t\t\t// `interfaceStore`), when the sidebar closes the currently selected\n\t\t\t// tab can't be found. This causes the component to continuously reset\n\t\t\t// the selection to `null` in an infinite loop.Proactively setting\n\t\t\t// the selected tab to `null` avoids that.\n\t\t\tselectedTabId={ isSettingsSidebarActive ? sidebarName : null }\n\t\t\tonSelect={ onTabSelect }\n\t\t>\n\t\t\t<SidebarContent\n\t\t\t\tsidebarName={ sidebarName }\n\t\t\t\tkeyboardShortcut={ keyboardShortcut }\n\t\t\t\tisEditingTemplate={ isEditingTemplate }\n\t\t\t/>\n\t\t</Tabs>\n\t);\n};\n\nexport default SettingsSidebar;\n"],"mappings":"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"}
1
+ {"version":3,"names":["BlockInspector","store","blockEditorStore","useSelect","useDispatch","Platform","useCallback","useContext","useEffect","useRef","isRTL","__","drawerLeft","drawerRight","interfaceStore","keyboardShortcutsStore","editorStore","PageAttributesPanel","PostDiscussionPanel","PostExcerptPanel","PostFeaturedImagePanel","PostLastRevisionPanel","PostTaxonomiesPanel","SettingsHeader","PostStatus","MetaBoxes","PluginDocumentSettingPanel","PluginSidebarEditPost","TemplateSummary","editPostStore","privateApis","componentsPrivateApis","unlock","Tabs","SIDEBAR_ACTIVE_BY_DEFAULT","select","web","native","sidebars","document","block","SidebarContent","sidebarName","keyboardShortcut","isEditingTemplate","tabListRef","tabsContextValue","Context","tabsElements","Array","from","current","querySelectorAll","selectedTabElement","find","element","getAttribute","activeElement","ownerDocument","tabsHasFocus","some","id","focus","createElement","identifier","header","Provider","value","ref","closeLabel","className","headerClassName","title","toggleShortcut","icon","isActiveByDefault","TabPanel","tabId","focusable","Fragment","Slot","location","SettingsSidebar","isSettingsSidebarActive","sidebar","getActiveComplementaryArea","name","isSettingsSidebar","includes","getBlockSelectionStart","shortcut","getShortcutRepresentation","getCurrentPostType","openGeneralSidebar","onTabSelect","newSelectedTabId","selectedTabId","onSelect","selectOnMove"],"sources":["@wordpress/edit-post/src/components/sidebar/settings-sidebar/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockInspector,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tPlatform,\n\tuseCallback,\n\tuseContext,\n\tuseEffect,\n\tuseRef,\n} from '@wordpress/element';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport { drawerLeft, drawerRight } from '@wordpress/icons';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport {\n\tstore as editorStore,\n\tPageAttributesPanel,\n\tPostDiscussionPanel,\n\tPostExcerptPanel,\n\tPostFeaturedImagePanel,\n\tPostLastRevisionPanel,\n\tPostTaxonomiesPanel,\n} from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport SettingsHeader from '../settings-header';\nimport PostStatus from '../post-status';\nimport MetaBoxes from '../../meta-boxes';\nimport PluginDocumentSettingPanel from '../plugin-document-setting-panel';\nimport PluginSidebarEditPost from '../plugin-sidebar';\nimport TemplateSummary from '../template-summary';\nimport { store as editPostStore } from '../../../store';\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { unlock } from '../../../lock-unlock';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nconst SIDEBAR_ACTIVE_BY_DEFAULT = Platform.select( {\n\tweb: true,\n\tnative: false,\n} );\nexport const sidebars = {\n\tdocument: 'edit-post/document',\n\tblock: 'edit-post/block',\n};\n\nconst SidebarContent = ( {\n\tsidebarName,\n\tkeyboardShortcut,\n\tisEditingTemplate,\n} ) => {\n\tconst tabListRef = useRef( null );\n\t// Because `PluginSidebarEditPost` renders a `ComplementaryArea`, we\n\t// need to forward the `Tabs` context so it can be passed through the\n\t// underlying slot/fill.\n\tconst tabsContextValue = useContext( Tabs.Context );\n\n\t// This effect addresses a race condition caused by tabbing from the last\n\t// block in the editor into the settings sidebar. Without this effect, the\n\t// selected tab and browser focus can become separated in an unexpected way\n\t// (e.g the \"block\" tab is focused, but the \"post\" tab is selected).\n\tuseEffect( () => {\n\t\tconst tabsElements = Array.from(\n\t\t\ttabListRef.current?.querySelectorAll( '[role=\"tab\"]' ) || []\n\t\t);\n\t\tconst selectedTabElement = tabsElements.find(\n\t\t\t// We are purposefully using a custom `data-tab-id` attribute here\n\t\t\t// because we don't want rely on any assumptions about `Tabs`\n\t\t\t// component internals.\n\t\t\t( element ) => element.getAttribute( 'data-tab-id' ) === sidebarName\n\t\t);\n\t\tconst activeElement = selectedTabElement?.ownerDocument.activeElement;\n\t\tconst tabsHasFocus = tabsElements.some( ( element ) => {\n\t\t\treturn activeElement && activeElement.id === element.id;\n\t\t} );\n\t\tif (\n\t\t\ttabsHasFocus &&\n\t\t\tselectedTabElement &&\n\t\t\tselectedTabElement.id !== activeElement?.id\n\t\t) {\n\t\t\tselectedTabElement?.focus();\n\t\t}\n\t}, [ sidebarName ] );\n\n\treturn (\n\t\t<PluginSidebarEditPost\n\t\t\tidentifier={ sidebarName }\n\t\t\theader={\n\t\t\t\t<Tabs.Context.Provider value={ tabsContextValue }>\n\t\t\t\t\t<SettingsHeader ref={ tabListRef } />\n\t\t\t\t</Tabs.Context.Provider>\n\t\t\t}\n\t\t\tcloseLabel={ __( 'Close Settings' ) }\n\t\t\t// This classname is added so we can apply a corrective negative\n\t\t\t// margin to the panel.\n\t\t\t// see https://github.com/WordPress/gutenberg/pull/55360#pullrequestreview-1737671049\n\t\t\tclassName=\"edit-post-sidebar__panel\"\n\t\t\theaderClassName=\"edit-post-sidebar__panel-tabs\"\n\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\ttitle={ __( 'Settings' ) }\n\t\t\ttoggleShortcut={ keyboardShortcut }\n\t\t\ticon={ isRTL() ? drawerLeft : drawerRight }\n\t\t\tisActiveByDefault={ SIDEBAR_ACTIVE_BY_DEFAULT }\n\t\t>\n\t\t\t<Tabs.Context.Provider value={ tabsContextValue }>\n\t\t\t\t<Tabs.TabPanel tabId={ sidebars.document } focusable={ false }>\n\t\t\t\t\t{ ! isEditingTemplate && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<PostStatus />\n\t\t\t\t\t\t\t<PluginDocumentSettingPanel.Slot />\n\t\t\t\t\t\t\t<PostLastRevisionPanel />\n\t\t\t\t\t\t\t<PostTaxonomiesPanel />\n\t\t\t\t\t\t\t<PostFeaturedImagePanel />\n\t\t\t\t\t\t\t<PostExcerptPanel />\n\t\t\t\t\t\t\t<PostDiscussionPanel />\n\t\t\t\t\t\t\t<PageAttributesPanel />\n\t\t\t\t\t\t\t<MetaBoxes location=\"side\" />\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isEditingTemplate && <TemplateSummary /> }\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t<Tabs.TabPanel tabId={ sidebars.block } focusable={ false }>\n\t\t\t\t\t<BlockInspector />\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t</Tabs.Context.Provider>\n\t\t</PluginSidebarEditPost>\n\t);\n};\n\nconst SettingsSidebar = () => {\n\tconst {\n\t\tsidebarName,\n\t\tisSettingsSidebarActive,\n\t\tkeyboardShortcut,\n\t\tisEditingTemplate,\n\t} = useSelect( ( select ) => {\n\t\t// The settings sidebar is used by the edit-post/document and edit-post/block sidebars.\n\t\t// sidebarName represents the sidebar that is active or that should be active when the SettingsSidebar toggle button is pressed.\n\t\t// If one of the two sidebars is active the component will contain the content of that sidebar.\n\t\t// When neither of the two sidebars is active we can not simply return null, because the PluginSidebarEditPost\n\t\t// component, besides being used to render the sidebar, also renders the toggle button. In that case sidebarName\n\t\t// should contain the sidebar that will be active when the toggle button is pressed. If a block\n\t\t// is selected, that should be edit-post/block otherwise it's edit-post/document.\n\t\tlet sidebar = select( interfaceStore ).getActiveComplementaryArea(\n\t\t\teditPostStore.name\n\t\t);\n\t\tlet isSettingsSidebar = true;\n\t\tif ( ! [ sidebars.document, sidebars.block ].includes( sidebar ) ) {\n\t\t\tisSettingsSidebar = false;\n\t\t\tif ( select( blockEditorStore ).getBlockSelectionStart() ) {\n\t\t\t\tsidebar = sidebars.block;\n\t\t\t}\n\t\t\tsidebar = sidebars.document;\n\t\t}\n\t\tconst shortcut = select(\n\t\t\tkeyboardShortcutsStore\n\t\t).getShortcutRepresentation( 'core/edit-post/toggle-sidebar' );\n\t\treturn {\n\t\t\tsidebarName: sidebar,\n\t\t\tisSettingsSidebarActive: isSettingsSidebar,\n\t\t\tkeyboardShortcut: shortcut,\n\t\t\tisEditingTemplate:\n\t\t\t\tselect( editorStore ).getCurrentPostType() === 'wp_template',\n\t\t};\n\t}, [] );\n\n\tconst { openGeneralSidebar } = useDispatch( editPostStore );\n\n\tconst onTabSelect = useCallback(\n\t\t( newSelectedTabId ) => {\n\t\t\tif ( !! newSelectedTabId ) {\n\t\t\t\topenGeneralSidebar( newSelectedTabId );\n\t\t\t}\n\t\t},\n\t\t[ openGeneralSidebar ]\n\t);\n\n\treturn (\n\t\t<Tabs\n\t\t\t// Due to how this component is controlled (via a value from the\n\t\t\t// `interfaceStore`), when the sidebar closes the currently selected\n\t\t\t// tab can't be found. This causes the component to continuously reset\n\t\t\t// the selection to `null` in an infinite loop.Proactively setting\n\t\t\t// the selected tab to `null` avoids that.\n\t\t\tselectedTabId={ isSettingsSidebarActive ? sidebarName : null }\n\t\t\tonSelect={ onTabSelect }\n\t\t\tselectOnMove={ false }\n\t\t>\n\t\t\t<SidebarContent\n\t\t\t\tsidebarName={ sidebarName }\n\t\t\t\tkeyboardShortcut={ keyboardShortcut }\n\t\t\t\tisEditingTemplate={ isEditingTemplate }\n\t\t\t/>\n\t\t</Tabs>\n\t);\n};\n\nexport default SettingsSidebar;\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,cAAc,EACdC,KAAK,IAAIC,gBAAgB,QACnB,yBAAyB;AAChC,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SACCC,QAAQ,EACRC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,MAAM,QACA,oBAAoB;AAC3B,SAASC,KAAK,EAAEC,EAAE,QAAQ,iBAAiB;AAC3C,SAASC,UAAU,EAAEC,WAAW,QAAQ,kBAAkB;AAC1D,SAASZ,KAAK,IAAIa,cAAc,QAAQ,sBAAsB;AAC9D,SAASb,KAAK,IAAIc,sBAAsB,QAAQ,+BAA+B;AAC/E,SACCd,KAAK,IAAIe,WAAW,EACpBC,mBAAmB,EACnBC,mBAAmB,EACnBC,gBAAgB,EAChBC,sBAAsB,EACtBC,qBAAqB,EACrBC,mBAAmB,QACb,mBAAmB;;AAE1B;AACA;AACA;AACA,OAAOC,cAAc,MAAM,oBAAoB;AAC/C,OAAOC,UAAU,MAAM,gBAAgB;AACvC,OAAOC,SAAS,MAAM,kBAAkB;AACxC,OAAOC,0BAA0B,MAAM,kCAAkC;AACzE,OAAOC,qBAAqB,MAAM,mBAAmB;AACrD,OAAOC,eAAe,MAAM,qBAAqB;AACjD,SAAS3B,KAAK,IAAI4B,aAAa,QAAQ,gBAAgB;AACvD,SAASC,WAAW,IAAIC,qBAAqB,QAAQ,uBAAuB;AAC5E,SAASC,MAAM,QAAQ,sBAAsB;AAE7C,MAAM;EAAEC;AAAK,CAAC,GAAGD,MAAM,CAAED,qBAAsB,CAAC;AAEhD,MAAMG,yBAAyB,GAAG7B,QAAQ,CAAC8B,MAAM,CAAE;EAClDC,GAAG,EAAE,IAAI;EACTC,MAAM,EAAE;AACT,CAAE,CAAC;AACH,OAAO,MAAMC,QAAQ,GAAG;EACvBC,QAAQ,EAAE,oBAAoB;EAC9BC,KAAK,EAAE;AACR,CAAC;AAED,MAAMC,cAAc,GAAGA,CAAE;EACxBC,WAAW;EACXC,gBAAgB;EAChBC;AACD,CAAC,KAAM;EACN,MAAMC,UAAU,GAAGpC,MAAM,CAAE,IAAK,CAAC;EACjC;EACA;EACA;EACA,MAAMqC,gBAAgB,GAAGvC,UAAU,CAAE0B,IAAI,CAACc,OAAQ,CAAC;;EAEnD;EACA;EACA;EACA;EACAvC,SAAS,CAAE,MAAM;IAChB,MAAMwC,YAAY,GAAGC,KAAK,CAACC,IAAI,CAC9BL,UAAU,CAACM,OAAO,EAAEC,gBAAgB,CAAE,cAAe,CAAC,IAAI,EAC3D,CAAC;IACD,MAAMC,kBAAkB,GAAGL,YAAY,CAACM,IAAI;IAC3C;IACA;IACA;IACEC,OAAO,IAAMA,OAAO,CAACC,YAAY,CAAE,aAAc,CAAC,KAAKd,WAC1D,CAAC;IACD,MAAMe,aAAa,GAAGJ,kBAAkB,EAAEK,aAAa,CAACD,aAAa;IACrE,MAAME,YAAY,GAAGX,YAAY,CAACY,IAAI,CAAIL,OAAO,IAAM;MACtD,OAAOE,aAAa,IAAIA,aAAa,CAACI,EAAE,KAAKN,OAAO,CAACM,EAAE;IACxD,CAAE,CAAC;IACH,IACCF,YAAY,IACZN,kBAAkB,IAClBA,kBAAkB,CAACQ,EAAE,KAAKJ,aAAa,EAAEI,EAAE,EAC1C;MACDR,kBAAkB,EAAES,KAAK,CAAC,CAAC;IAC5B;EACD,CAAC,EAAE,CAAEpB,WAAW,CAAG,CAAC;EAEpB,OACCqB,aAAA,CAACpC,qBAAqB;IACrBqC,UAAU,EAAGtB,WAAa;IAC1BuB,MAAM,EACLF,aAAA,CAAC9B,IAAI,CAACc,OAAO,CAACmB,QAAQ;MAACC,KAAK,EAAGrB;IAAkB,GAChDiB,aAAA,CAACxC,cAAc;MAAC6C,GAAG,EAAGvB;IAAY,CAAE,CACd,CACvB;IACDwB,UAAU,EAAG1D,EAAE,CAAE,gBAAiB;IAClC;IACA;IACA;IAAA;IACA2D,SAAS,EAAC,0BAA0B;IACpCC,eAAe,EAAC;IAChB;IACAC,KAAK,EAAG7D,EAAE,CAAE,UAAW,CAAG;IAC1B8D,cAAc,EAAG9B,gBAAkB;IACnC+B,IAAI,EAAGhE,KAAK,CAAC,CAAC,GAAGE,UAAU,GAAGC,WAAa;IAC3C8D,iBAAiB,EAAGzC;EAA2B,GAE/C6B,aAAA,CAAC9B,IAAI,CAACc,OAAO,CAACmB,QAAQ;IAACC,KAAK,EAAGrB;EAAkB,GAChDiB,aAAA,CAAC9B,IAAI,CAAC2C,QAAQ;IAACC,KAAK,EAAGvC,QAAQ,CAACC,QAAU;IAACuC,SAAS,EAAG;EAAO,GAC3D,CAAElC,iBAAiB,IACpBmB,aAAA,CAAAgB,QAAA,QACChB,aAAA,CAACvC,UAAU,MAAE,CAAC,EACduC,aAAA,CAACrC,0BAA0B,CAACsD,IAAI,MAAE,CAAC,EACnCjB,aAAA,CAAC1C,qBAAqB,MAAE,CAAC,EACzB0C,aAAA,CAACzC,mBAAmB,MAAE,CAAC,EACvByC,aAAA,CAAC3C,sBAAsB,MAAE,CAAC,EAC1B2C,aAAA,CAAC5C,gBAAgB,MAAE,CAAC,EACpB4C,aAAA,CAAC7C,mBAAmB,MAAE,CAAC,EACvB6C,aAAA,CAAC9C,mBAAmB,MAAE,CAAC,EACvB8C,aAAA,CAACtC,SAAS;IAACwD,QAAQ,EAAC;EAAM,CAAE,CAC3B,CACF,EACCrC,iBAAiB,IAAImB,aAAA,CAACnC,eAAe,MAAE,CAC3B,CAAC,EAChBmC,aAAA,CAAC9B,IAAI,CAAC2C,QAAQ;IAACC,KAAK,EAAGvC,QAAQ,CAACE,KAAO;IAACsC,SAAS,EAAG;EAAO,GAC1Df,aAAA,CAAC/D,cAAc,MAAE,CACH,CACO,CACD,CAAC;AAE1B,CAAC;AAED,MAAMkF,eAAe,GAAGA,CAAA,KAAM;EAC7B,MAAM;IACLxC,WAAW;IACXyC,uBAAuB;IACvBxC,gBAAgB;IAChBC;EACD,CAAC,GAAGzC,SAAS,CAAIgC,MAAM,IAAM;IAC5B;IACA;IACA;IACA;IACA;IACA;IACA;IACA,IAAIiD,OAAO,GAAGjD,MAAM,CAAErB,cAAe,CAAC,CAACuE,0BAA0B,CAChExD,aAAa,CAACyD,IACf,CAAC;IACD,IAAIC,iBAAiB,GAAG,IAAI;IAC5B,IAAK,CAAE,CAAEjD,QAAQ,CAACC,QAAQ,EAAED,QAAQ,CAACE,KAAK,CAAE,CAACgD,QAAQ,CAAEJ,OAAQ,CAAC,EAAG;MAClEG,iBAAiB,GAAG,KAAK;MACzB,IAAKpD,MAAM,CAAEjC,gBAAiB,CAAC,CAACuF,sBAAsB,CAAC,CAAC,EAAG;QAC1DL,OAAO,GAAG9C,QAAQ,CAACE,KAAK;MACzB;MACA4C,OAAO,GAAG9C,QAAQ,CAACC,QAAQ;IAC5B;IACA,MAAMmD,QAAQ,GAAGvD,MAAM,CACtBpB,sBACD,CAAC,CAAC4E,yBAAyB,CAAE,+BAAgC,CAAC;IAC9D,OAAO;MACNjD,WAAW,EAAE0C,OAAO;MACpBD,uBAAuB,EAAEI,iBAAiB;MAC1C5C,gBAAgB,EAAE+C,QAAQ;MAC1B9C,iBAAiB,EAChBT,MAAM,CAAEnB,WAAY,CAAC,CAAC4E,kBAAkB,CAAC,CAAC,KAAK;IACjD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM;IAAEC;EAAmB,CAAC,GAAGzF,WAAW,CAAEyB,aAAc,CAAC;EAE3D,MAAMiE,WAAW,GAAGxF,WAAW,CAC5ByF,gBAAgB,IAAM;IACvB,IAAK,CAAC,CAAEA,gBAAgB,EAAG;MAC1BF,kBAAkB,CAAEE,gBAAiB,CAAC;IACvC;EACD,CAAC,EACD,CAAEF,kBAAkB,CACrB,CAAC;EAED,OACC9B,aAAA,CAAC9B;EACA;EACA;EACA;EACA;EACA;EAAA;IACA+D,aAAa,EAAGb,uBAAuB,GAAGzC,WAAW,GAAG,IAAM;IAC9DuD,QAAQ,EAAGH,WAAa;IACxBI,YAAY,EAAG;EAAO,GAEtBnC,aAAA,CAACtB,cAAc;IACdC,WAAW,EAAGA,WAAa;IAC3BC,gBAAgB,EAAGA,gBAAkB;IACrCC,iBAAiB,EAAGA;EAAmB,CACvC,CACI,CAAC;AAET,CAAC;AAED,eAAesC,eAAe"}
@@ -9,6 +9,8 @@ import { SlotFillProvider } from '@wordpress/components';
9
9
  import { store as coreStore } from '@wordpress/core-data';
10
10
  import { store as preferencesStore } from '@wordpress/preferences';
11
11
  import { CommandMenu } from '@wordpress/commands';
12
+ import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
13
+ import { __ } from '@wordpress/i18n';
12
14
 
13
15
  /**
14
16
  * Internal dependencies
@@ -17,10 +19,18 @@ import Layout from './components/layout';
17
19
  import EditorInitialization from './components/editor-initialization';
18
20
  import { store as editPostStore } from './store';
19
21
  import { unlock } from './lock-unlock';
20
- import usePostHistory from './hooks/use-post-history';
22
+ import useNavigateToEntityRecord from './hooks/use-navigate-to-entity-record';
21
23
  const {
22
24
  ExperimentalEditorProvider
23
25
  } = unlock(editorPrivateApis);
26
+ const {
27
+ BlockRemovalWarningModal
28
+ } = unlock(blockEditorPrivateApis);
29
+ // Prevent accidental removal of certain blocks, asking the user for
30
+ // confirmation.
31
+ const blockRemovalRules = {
32
+ 'bindings/core/pattern-overrides': __('Blocks from synced patterns that can have overriden content.')
33
+ };
24
34
  function Editor({
25
35
  postId: initialPostId,
26
36
  postType: initialPostType,
@@ -29,10 +39,11 @@ function Editor({
29
39
  ...props
30
40
  }) {
31
41
  const {
42
+ initialPost,
32
43
  currentPost,
33
- getPostLinkProps,
34
- goBack
35
- } = usePostHistory(initialPostId, initialPostType);
44
+ onNavigateToEntityRecord,
45
+ onNavigateToPreviousEntityRecord
46
+ } = useNavigateToEntityRecord(initialPostId, initialPostType);
36
47
  const {
37
48
  hasInlineToolbar,
38
49
  post,
@@ -66,21 +77,17 @@ function Editor({
66
77
  const {
67
78
  updatePreferredStyleVariations
68
79
  } = useDispatch(editPostStore);
69
- const defaultRenderingMode = currentPost.postType === 'wp_template' ? 'all' : 'post-only';
70
- const editorSettings = useMemo(() => {
71
- const result = {
72
- ...settings,
73
- getPostLinkProps,
74
- goBack,
75
- defaultRenderingMode,
76
- __experimentalPreferredStyleVariations: {
77
- value: preferredStyleVariations,
78
- onChange: updatePreferredStyleVariations
79
- },
80
- hasInlineToolbar
81
- };
82
- return result;
83
- }, [settings, hasInlineToolbar, preferredStyleVariations, updatePreferredStyleVariations, getPostLinkProps, goBack, defaultRenderingMode]);
80
+ const editorSettings = useMemo(() => ({
81
+ ...settings,
82
+ onNavigateToEntityRecord,
83
+ onNavigateToPreviousEntityRecord,
84
+ defaultRenderingMode: 'post-only',
85
+ __experimentalPreferredStyleVariations: {
86
+ value: preferredStyleVariations,
87
+ onChange: updatePreferredStyleVariations
88
+ },
89
+ hasInlineToolbar
90
+ }), [settings, hasInlineToolbar, preferredStyleVariations, updatePreferredStyleVariations, onNavigateToEntityRecord, onNavigateToPreviousEntityRecord]);
84
91
  if (!post) {
85
92
  return null;
86
93
  }
@@ -93,7 +100,11 @@ function Editor({
93
100
  ...props
94
101
  }, createElement(ErrorBoundary, null, createElement(CommandMenu, null), createElement(EditorInitialization, {
95
102
  postId: currentPost.postId
96
- }), createElement(Layout, null)), createElement(PostLockedModal, null)));
103
+ }), createElement(Layout, {
104
+ initialPost: initialPost
105
+ }), createElement(BlockRemovalWarningModal, {
106
+ rules: blockRemovalRules
107
+ })), createElement(PostLockedModal, null)));
97
108
  }
98
109
  export default Editor;
99
110
  //# sourceMappingURL=editor.js.map