@wordpress/edit-post 7.11.0 → 7.12.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 (328) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/block-manager/category.js +14 -22
  3. package/build/components/block-manager/category.js.map +1 -1
  4. package/build/components/block-manager/checklist.js +6 -13
  5. package/build/components/block-manager/checklist.js.map +1 -1
  6. package/build/components/block-manager/index.js +29 -17
  7. package/build/components/block-manager/index.js.map +1 -1
  8. package/build/components/block-settings-menu/plugin-block-settings-menu-item.js +21 -26
  9. package/build/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
  10. package/build/components/device-preview/index.js +3 -5
  11. package/build/components/device-preview/index.js.map +1 -1
  12. package/build/components/editor-initialization/index.js +3 -4
  13. package/build/components/editor-initialization/index.js.map +1 -1
  14. package/build/components/header/document-title/index.js +103 -0
  15. package/build/components/header/document-title/index.js.map +1 -0
  16. package/build/components/header/fullscreen-mode-close/index.js +8 -9
  17. package/build/components/header/fullscreen-mode-close/index.js.map +1 -1
  18. package/build/components/header/header-toolbar/index.js +2 -2
  19. package/build/components/header/header-toolbar/index.js.map +1 -1
  20. package/build/components/header/header-toolbar/index.native.js +12 -13
  21. package/build/components/header/header-toolbar/index.native.js.map +1 -1
  22. package/build/components/header/index.js +14 -20
  23. package/build/components/header/index.js.map +1 -1
  24. package/build/components/header/main-dashboard-button/index.js +3 -4
  25. package/build/components/header/main-dashboard-button/index.js.map +1 -1
  26. package/build/components/header/more-menu/index.js +19 -23
  27. package/build/components/header/more-menu/index.js.map +1 -1
  28. package/build/components/header/plugin-sidebar-more-menu-item/index.js +4 -7
  29. package/build/components/header/plugin-sidebar-more-menu-item/index.js.map +1 -1
  30. package/build/components/header/post-publish-button-or-toggle.js +15 -16
  31. package/build/components/header/post-publish-button-or-toggle.js.map +1 -1
  32. package/build/components/header/tools-more-menu-group/index.js +7 -10
  33. package/build/components/header/tools-more-menu-group/index.js.map +1 -1
  34. package/build/components/header/writing-menu/index.js +0 -8
  35. package/build/components/header/writing-menu/index.js.map +1 -1
  36. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +3 -4
  37. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
  38. package/build/components/keyboard-shortcut-help-modal/index.js +45 -54
  39. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  40. package/build/components/keyboard-shortcut-help-modal/shortcut.js +10 -12
  41. package/build/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  42. package/build/components/keyboard-shortcuts/index.js +1 -1
  43. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  44. package/build/components/layout/actions-panel.js +5 -6
  45. package/build/components/layout/actions-panel.js.map +1 -1
  46. package/build/components/layout/index.js +3 -4
  47. package/build/components/layout/index.js.map +1 -1
  48. package/build/components/layout/index.native.js +3 -7
  49. package/build/components/layout/index.native.js.map +1 -1
  50. package/build/components/meta-boxes/index.js +9 -13
  51. package/build/components/meta-boxes/index.js.map +1 -1
  52. package/build/components/meta-boxes/meta-box-visibility.js +5 -8
  53. package/build/components/meta-boxes/meta-box-visibility.js.map +1 -1
  54. package/build/components/meta-boxes/meta-boxes-area/index.js +3 -4
  55. package/build/components/meta-boxes/meta-boxes-area/index.js.map +1 -1
  56. package/build/components/preferences-modal/meta-boxes-section.js +18 -24
  57. package/build/components/preferences-modal/meta-boxes-section.js.map +1 -1
  58. package/build/components/preferences-modal/options/enable-custom-fields.js +8 -10
  59. package/build/components/preferences-modal/options/enable-custom-fields.js.map +1 -1
  60. package/build/components/preferences-modal/options/enable-feature.js +12 -16
  61. package/build/components/preferences-modal/options/enable-feature.js.map +1 -1
  62. package/build/components/preferences-modal/options/enable-panel.js +10 -17
  63. package/build/components/preferences-modal/options/enable-panel.js.map +1 -1
  64. package/build/components/preferences-modal/options/enable-plugin-document-setting-panel.js +7 -10
  65. package/build/components/preferences-modal/options/enable-plugin-document-setting-panel.js.map +1 -1
  66. package/build/components/secondary-sidebar/inserter-sidebar.js +4 -8
  67. package/build/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
  68. package/build/components/secondary-sidebar/list-view-sidebar.js +58 -44
  69. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  70. package/build/components/sidebar/discussion-panel/index.js +5 -7
  71. package/build/components/sidebar/discussion-panel/index.js.map +1 -1
  72. package/build/components/sidebar/featured-image/index.js +9 -17
  73. package/build/components/sidebar/featured-image/index.js.map +1 -1
  74. package/build/components/sidebar/page-attributes/index.js +3 -9
  75. package/build/components/sidebar/page-attributes/index.js.map +1 -1
  76. package/build/components/sidebar/plugin-document-setting-panel/index.js +20 -25
  77. package/build/components/sidebar/plugin-document-setting-panel/index.js.map +1 -1
  78. package/build/components/sidebar/plugin-post-publish-panel/index.js +12 -15
  79. package/build/components/sidebar/plugin-post-publish-panel/index.js.map +1 -1
  80. package/build/components/sidebar/plugin-post-status-info/index.js +6 -9
  81. package/build/components/sidebar/plugin-post-status-info/index.js.map +1 -1
  82. package/build/components/sidebar/plugin-pre-publish-panel/index.js +12 -15
  83. package/build/components/sidebar/plugin-pre-publish-panel/index.js.map +1 -1
  84. package/build/components/sidebar/plugin-sidebar/index.js +8 -12
  85. package/build/components/sidebar/plugin-sidebar/index.js.map +1 -1
  86. package/build/components/sidebar/post-excerpt/index.js +5 -7
  87. package/build/components/sidebar/post-excerpt/index.js.map +1 -1
  88. package/build/components/sidebar/post-schedule/index.js +16 -23
  89. package/build/components/sidebar/post-schedule/index.js.map +1 -1
  90. package/build/components/sidebar/post-status/index.js +8 -12
  91. package/build/components/sidebar/post-status/index.js.map +1 -1
  92. package/build/components/sidebar/post-taxonomies/taxonomy-panel.js +9 -15
  93. package/build/components/sidebar/post-taxonomies/taxonomy-panel.js.map +1 -1
  94. package/build/components/sidebar/post-template/create-modal.js +3 -4
  95. package/build/components/sidebar/post-template/create-modal.js.map +1 -1
  96. package/build/components/sidebar/post-template/form.js +13 -20
  97. package/build/components/sidebar/post-template/form.js.map +1 -1
  98. package/build/components/sidebar/post-template/index.js +18 -25
  99. package/build/components/sidebar/post-template/index.js.map +1 -1
  100. package/build/components/sidebar/post-url/index.js +16 -23
  101. package/build/components/sidebar/post-url/index.js.map +1 -1
  102. package/build/components/sidebar/post-visibility/index.js +26 -36
  103. package/build/components/sidebar/post-visibility/index.js.map +1 -1
  104. package/build/components/sidebar/settings-header/index.js +3 -4
  105. package/build/components/sidebar/settings-header/index.js.map +1 -1
  106. package/build/components/sidebar/template-summary/index.js +1 -1
  107. package/build/components/sidebar/template-summary/index.js.map +1 -1
  108. package/build/components/start-page-options/index.js +3 -4
  109. package/build/components/start-page-options/index.js.map +1 -1
  110. package/build/components/view-link/index.js +1 -1
  111. package/build/components/view-link/index.js.map +1 -1
  112. package/build/components/visual-editor/block-inspector-button.js +4 -5
  113. package/build/components/visual-editor/block-inspector-button.js.map +1 -1
  114. package/build/components/visual-editor/header.native.js +6 -7
  115. package/build/components/visual-editor/header.native.js.map +1 -1
  116. package/build/components/visual-editor/index.js +49 -57
  117. package/build/components/visual-editor/index.js.map +1 -1
  118. package/build/components/welcome-guide/image.js +4 -5
  119. package/build/components/welcome-guide/image.js.map +1 -1
  120. package/build/editor.js +42 -30
  121. package/build/editor.js.map +1 -1
  122. package/build/editor.native.js +7 -11
  123. package/build/editor.native.js.map +1 -1
  124. package/build/hooks/validate-multiple-use/index.js +24 -37
  125. package/build/hooks/validate-multiple-use/index.js.map +1 -1
  126. package/build/index.js +18 -2
  127. package/build/index.js.map +1 -1
  128. package/build/{private-apis.js → lock-unlock.js} +1 -1
  129. package/build/lock-unlock.js.map +1 -0
  130. package/build/plugins/index.js +20 -23
  131. package/build/plugins/index.js.map +1 -1
  132. package/build/plugins/keyboard-shortcuts-help-menu-item/index.js +3 -4
  133. package/build/plugins/keyboard-shortcuts-help-menu-item/index.js.map +1 -1
  134. package/build/store/actions.js +60 -88
  135. package/build/store/actions.js.map +1 -1
  136. package/build/store/reducer.js +11 -43
  137. package/build/store/reducer.js.map +1 -1
  138. package/build/store/selectors.js +11 -16
  139. package/build/store/selectors.js.map +1 -1
  140. package/build-module/components/block-manager/category.js +14 -22
  141. package/build-module/components/block-manager/category.js.map +1 -1
  142. package/build-module/components/block-manager/checklist.js +6 -13
  143. package/build-module/components/block-manager/checklist.js.map +1 -1
  144. package/build-module/components/block-manager/index.js +32 -20
  145. package/build-module/components/block-manager/index.js.map +1 -1
  146. package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js +21 -26
  147. package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
  148. package/build-module/components/device-preview/index.js +3 -5
  149. package/build-module/components/device-preview/index.js.map +1 -1
  150. package/build-module/components/editor-initialization/index.js +3 -4
  151. package/build-module/components/editor-initialization/index.js.map +1 -1
  152. package/build-module/components/header/document-title/index.js +88 -0
  153. package/build-module/components/header/document-title/index.js.map +1 -0
  154. package/build-module/components/header/fullscreen-mode-close/index.js +7 -8
  155. package/build-module/components/header/fullscreen-mode-close/index.js.map +1 -1
  156. package/build-module/components/header/header-toolbar/index.js +1 -1
  157. package/build-module/components/header/header-toolbar/index.js.map +1 -1
  158. package/build-module/components/header/header-toolbar/index.native.js +12 -13
  159. package/build-module/components/header/header-toolbar/index.native.js.map +1 -1
  160. package/build-module/components/header/index.js +14 -20
  161. package/build-module/components/header/index.js.map +1 -1
  162. package/build-module/components/header/main-dashboard-button/index.js +3 -4
  163. package/build-module/components/header/main-dashboard-button/index.js.map +1 -1
  164. package/build-module/components/header/more-menu/index.js +19 -23
  165. package/build-module/components/header/more-menu/index.js.map +1 -1
  166. package/build-module/components/header/plugin-sidebar-more-menu-item/index.js +4 -4
  167. package/build-module/components/header/plugin-sidebar-more-menu-item/index.js.map +1 -1
  168. package/build-module/components/header/post-publish-button-or-toggle.js +15 -16
  169. package/build-module/components/header/post-publish-button-or-toggle.js.map +1 -1
  170. package/build-module/components/header/tools-more-menu-group/index.js +7 -10
  171. package/build-module/components/header/tools-more-menu-group/index.js.map +1 -1
  172. package/build-module/components/header/writing-menu/index.js +0 -8
  173. package/build-module/components/header/writing-menu/index.js.map +1 -1
  174. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +3 -4
  175. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
  176. package/build-module/components/keyboard-shortcut-help-modal/index.js +43 -52
  177. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  178. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +10 -12
  179. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  180. package/build-module/components/keyboard-shortcuts/index.js +1 -1
  181. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  182. package/build-module/components/layout/actions-panel.js +5 -6
  183. package/build-module/components/layout/actions-panel.js.map +1 -1
  184. package/build-module/components/layout/index.js +3 -4
  185. package/build-module/components/layout/index.js.map +1 -1
  186. package/build-module/components/layout/index.native.js +3 -7
  187. package/build-module/components/layout/index.native.js.map +1 -1
  188. package/build-module/components/meta-boxes/index.js +9 -13
  189. package/build-module/components/meta-boxes/index.js.map +1 -1
  190. package/build-module/components/meta-boxes/meta-box-visibility.js +5 -8
  191. package/build-module/components/meta-boxes/meta-box-visibility.js.map +1 -1
  192. package/build-module/components/meta-boxes/meta-boxes-area/index.js +3 -4
  193. package/build-module/components/meta-boxes/meta-boxes-area/index.js.map +1 -1
  194. package/build-module/components/preferences-modal/meta-boxes-section.js +18 -24
  195. package/build-module/components/preferences-modal/meta-boxes-section.js.map +1 -1
  196. package/build-module/components/preferences-modal/options/enable-custom-fields.js +8 -10
  197. package/build-module/components/preferences-modal/options/enable-custom-fields.js.map +1 -1
  198. package/build-module/components/preferences-modal/options/enable-feature.js +12 -16
  199. package/build-module/components/preferences-modal/options/enable-feature.js.map +1 -1
  200. package/build-module/components/preferences-modal/options/enable-panel.js +10 -17
  201. package/build-module/components/preferences-modal/options/enable-panel.js.map +1 -1
  202. package/build-module/components/preferences-modal/options/enable-plugin-document-setting-panel.js +7 -10
  203. package/build-module/components/preferences-modal/options/enable-plugin-document-setting-panel.js.map +1 -1
  204. package/build-module/components/secondary-sidebar/inserter-sidebar.js +4 -5
  205. package/build-module/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
  206. package/build-module/components/secondary-sidebar/list-view-sidebar.js +58 -44
  207. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  208. package/build-module/components/sidebar/discussion-panel/index.js +5 -7
  209. package/build-module/components/sidebar/discussion-panel/index.js.map +1 -1
  210. package/build-module/components/sidebar/featured-image/index.js +9 -17
  211. package/build-module/components/sidebar/featured-image/index.js.map +1 -1
  212. package/build-module/components/sidebar/page-attributes/index.js +3 -9
  213. package/build-module/components/sidebar/page-attributes/index.js.map +1 -1
  214. package/build-module/components/sidebar/plugin-document-setting-panel/index.js +20 -25
  215. package/build-module/components/sidebar/plugin-document-setting-panel/index.js.map +1 -1
  216. package/build-module/components/sidebar/plugin-post-publish-panel/index.js +12 -15
  217. package/build-module/components/sidebar/plugin-post-publish-panel/index.js.map +1 -1
  218. package/build-module/components/sidebar/plugin-post-status-info/index.js +6 -9
  219. package/build-module/components/sidebar/plugin-post-status-info/index.js.map +1 -1
  220. package/build-module/components/sidebar/plugin-pre-publish-panel/index.js +12 -15
  221. package/build-module/components/sidebar/plugin-pre-publish-panel/index.js.map +1 -1
  222. package/build-module/components/sidebar/plugin-sidebar/index.js +8 -9
  223. package/build-module/components/sidebar/plugin-sidebar/index.js.map +1 -1
  224. package/build-module/components/sidebar/post-excerpt/index.js +5 -7
  225. package/build-module/components/sidebar/post-excerpt/index.js.map +1 -1
  226. package/build-module/components/sidebar/post-schedule/index.js +16 -23
  227. package/build-module/components/sidebar/post-schedule/index.js.map +1 -1
  228. package/build-module/components/sidebar/post-status/index.js +9 -13
  229. package/build-module/components/sidebar/post-status/index.js.map +1 -1
  230. package/build-module/components/sidebar/post-taxonomies/taxonomy-panel.js +9 -15
  231. package/build-module/components/sidebar/post-taxonomies/taxonomy-panel.js.map +1 -1
  232. package/build-module/components/sidebar/post-template/create-modal.js +3 -4
  233. package/build-module/components/sidebar/post-template/create-modal.js.map +1 -1
  234. package/build-module/components/sidebar/post-template/form.js +13 -20
  235. package/build-module/components/sidebar/post-template/form.js.map +1 -1
  236. package/build-module/components/sidebar/post-template/index.js +18 -25
  237. package/build-module/components/sidebar/post-template/index.js.map +1 -1
  238. package/build-module/components/sidebar/post-url/index.js +16 -23
  239. package/build-module/components/sidebar/post-url/index.js.map +1 -1
  240. package/build-module/components/sidebar/post-visibility/index.js +26 -36
  241. package/build-module/components/sidebar/post-visibility/index.js.map +1 -1
  242. package/build-module/components/sidebar/settings-header/index.js +3 -4
  243. package/build-module/components/sidebar/settings-header/index.js.map +1 -1
  244. package/build-module/components/sidebar/template-summary/index.js +1 -1
  245. package/build-module/components/sidebar/template-summary/index.js.map +1 -1
  246. package/build-module/components/start-page-options/index.js +3 -4
  247. package/build-module/components/start-page-options/index.js.map +1 -1
  248. package/build-module/components/view-link/index.js +1 -1
  249. package/build-module/components/view-link/index.js.map +1 -1
  250. package/build-module/components/visual-editor/block-inspector-button.js +4 -5
  251. package/build-module/components/visual-editor/block-inspector-button.js.map +1 -1
  252. package/build-module/components/visual-editor/header.native.js +6 -7
  253. package/build-module/components/visual-editor/header.native.js.map +1 -1
  254. package/build-module/components/visual-editor/index.js +47 -54
  255. package/build-module/components/visual-editor/index.js.map +1 -1
  256. package/build-module/components/welcome-guide/image.js +4 -5
  257. package/build-module/components/welcome-guide/image.js.map +1 -1
  258. package/build-module/editor.js +38 -26
  259. package/build-module/editor.js.map +1 -1
  260. package/build-module/editor.native.js +7 -10
  261. package/build-module/editor.native.js.map +1 -1
  262. package/build-module/hooks/validate-multiple-use/index.js +24 -34
  263. package/build-module/hooks/validate-multiple-use/index.js.map +1 -1
  264. package/build-module/index.js +18 -2
  265. package/build-module/index.js.map +1 -1
  266. package/build-module/{private-apis.js → lock-unlock.js} +1 -1
  267. package/build-module/lock-unlock.js.map +1 -0
  268. package/build-module/plugins/index.js +20 -23
  269. package/build-module/plugins/index.js.map +1 -1
  270. package/build-module/plugins/keyboard-shortcuts-help-menu-item/index.js +3 -4
  271. package/build-module/plugins/keyboard-shortcuts-help-menu-item/index.js.map +1 -1
  272. package/build-module/store/actions.js +60 -88
  273. package/build-module/store/actions.js.map +1 -1
  274. package/build-module/store/reducer.js +11 -43
  275. package/build-module/store/reducer.js.map +1 -1
  276. package/build-module/store/selectors.js +11 -16
  277. package/build-module/store/selectors.js.map +1 -1
  278. package/build-style/style-rtl.css +66 -102
  279. package/build-style/style.css +66 -102
  280. package/package.json +32 -32
  281. package/src/components/block-manager/index.js +51 -31
  282. package/src/components/block-manager/style.scss +3 -1
  283. package/src/components/device-preview/index.js +1 -2
  284. package/src/components/header/document-title/index.js +86 -0
  285. package/src/components/header/document-title/style.scss +61 -0
  286. package/src/components/header/header-toolbar/index.js +1 -1
  287. package/src/components/header/header-toolbar/style.scss +0 -1
  288. package/src/components/header/index.js +7 -10
  289. package/src/components/header/style.scss +6 -0
  290. package/src/components/header/writing-menu/index.js +0 -10
  291. package/src/components/keyboard-shortcuts/index.js +1 -1
  292. package/src/components/preferences-modal/options/enable-custom-fields.js +2 -2
  293. package/src/components/preferences-modal/options/test/__snapshots__/enable-custom-fields.js.snap +2 -2
  294. package/src/components/preferences-modal/test/__snapshots__/index.js.snap +10 -4
  295. package/src/components/secondary-sidebar/list-view-sidebar.js +68 -66
  296. package/src/components/secondary-sidebar/style.scss +28 -31
  297. package/src/components/sidebar/post-status/index.js +2 -1
  298. package/src/components/visual-editor/index.js +22 -32
  299. package/src/components/visual-editor/style.scss +0 -13
  300. package/src/editor.js +22 -1
  301. package/src/index.js +30 -3
  302. package/src/plugins/index.js +1 -1
  303. package/src/style.scss +1 -1
  304. package/src/test/editor.native.js +34 -9
  305. package/build/components/header/template-title/delete-template.js +0 -117
  306. package/build/components/header/template-title/delete-template.js.map +0 -1
  307. package/build/components/header/template-title/edit-template-title.js +0 -95
  308. package/build/components/header/template-title/edit-template-title.js.map +0 -1
  309. package/build/components/header/template-title/index.js +0 -124
  310. package/build/components/header/template-title/index.js.map +0 -1
  311. package/build/components/header/template-title/template-description.js +0 -55
  312. package/build/components/header/template-title/template-description.js.map +0 -1
  313. package/build/private-apis.js.map +0 -1
  314. package/build-module/components/header/template-title/delete-template.js +0 -104
  315. package/build-module/components/header/template-title/delete-template.js.map +0 -1
  316. package/build-module/components/header/template-title/edit-template-title.js +0 -83
  317. package/build-module/components/header/template-title/edit-template-title.js.map +0 -1
  318. package/build-module/components/header/template-title/index.js +0 -105
  319. package/build-module/components/header/template-title/index.js.map +0 -1
  320. package/build-module/components/header/template-title/template-description.js +0 -45
  321. package/build-module/components/header/template-title/template-description.js.map +0 -1
  322. package/build-module/private-apis.js.map +0 -1
  323. package/src/components/header/template-title/delete-template.js +0 -106
  324. package/src/components/header/template-title/edit-template-title.js +0 -78
  325. package/src/components/header/template-title/index.js +0 -115
  326. package/src/components/header/template-title/style.scss +0 -94
  327. package/src/components/header/template-title/template-description.js +0 -42
  328. /package/src/{private-apis.js → lock-unlock.js} +0 -0
@@ -18,7 +18,7 @@ import { default as DevicePreview } from '../device-preview';
18
18
  import ViewLink from '../view-link';
19
19
  import MainDashboardButton from './main-dashboard-button';
20
20
  import { store as editPostStore } from '../../store';
21
- import TemplateTitle from './template-title';
21
+ import DocumentTitle from './document-title';
22
22
 
23
23
  function Header( { setEntitiesSavedStatesCallback } ) {
24
24
  const isLargeViewport = useViewportMatch( 'large' );
@@ -27,7 +27,6 @@ function Header( { setEntitiesSavedStatesCallback } ) {
27
27
  isPublishSidebarOpened,
28
28
  isSaving,
29
29
  showIconLabels,
30
- isDistractionFreeMode,
31
30
  } = useSelect(
32
31
  ( select ) => ( {
33
32
  hasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),
@@ -36,21 +35,17 @@ function Header( { setEntitiesSavedStatesCallback } ) {
36
35
  isSaving: select( editPostStore ).isSavingMetaBoxes(),
37
36
  showIconLabels:
38
37
  select( editPostStore ).isFeatureActive( 'showIconLabels' ),
39
- isDistractionFreeMode:
40
- select( editPostStore ).isFeatureActive( 'distractionFree' ),
41
38
  } ),
42
39
  []
43
40
  );
44
41
 
45
- const isDistractionFree = isDistractionFreeMode && isLargeViewport;
46
-
47
42
  const slideY = {
48
- hidden: isDistractionFree ? { y: '-50' } : { y: 0 },
43
+ hidden: { y: '-50px' },
49
44
  hover: { y: 0, transition: { type: 'tween', delay: 0.2 } },
50
45
  };
51
46
 
52
47
  const slideX = {
53
- hidden: isDistractionFree ? { x: '-100%' } : { x: 0 },
48
+ hidden: { x: '-100%' },
54
49
  hover: { x: 0, transition: { type: 'tween', delay: 0.2 } },
55
50
  };
56
51
 
@@ -70,7 +65,9 @@ function Header( { setEntitiesSavedStatesCallback } ) {
70
65
  className="edit-post-header__toolbar"
71
66
  >
72
67
  <HeaderToolbar />
73
- <TemplateTitle />
68
+ <div className="edit-post-header__document-title">
69
+ <DocumentTitle />
70
+ </div>
74
71
  </motion.div>
75
72
  <motion.div
76
73
  variants={ slideY }
@@ -89,12 +86,12 @@ function Header( { setEntitiesSavedStatesCallback } ) {
89
86
  showIconLabels={ showIconLabels }
90
87
  />
91
88
  ) }
92
- <ViewLink />
93
89
  <DevicePreview />
94
90
  <PostPreviewButton
95
91
  forceIsAutosaveable={ hasActiveMetaboxes }
96
92
  forcePreviewLink={ isSaving ? null : undefined }
97
93
  />
94
+ <ViewLink />
98
95
  <PostPublishButtonOrToggle
99
96
  forceIsDirty={ hasActiveMetaboxes }
100
97
  forceIsSaving={ isSaving }
@@ -44,6 +44,12 @@
44
44
  }
45
45
  }
46
46
 
47
+ .edit-post-header__document-title {
48
+ flex-grow: 1;
49
+ display: flex;
50
+ justify-content: center;
51
+ }
52
+
47
53
  /**
48
54
  * Buttons on the right side
49
55
  */
@@ -25,26 +25,16 @@ function WritingMenu() {
25
25
  []
26
26
  );
27
27
 
28
- const blocks = useSelect(
29
- ( select ) => select( blockEditorStore ).getBlocks(),
30
- []
31
- );
32
-
33
28
  const { setIsInserterOpened, setIsListViewOpened, closeGeneralSidebar } =
34
29
  useDispatch( postEditorStore );
35
30
  const { set: setPreference } = useDispatch( preferencesStore );
36
31
 
37
- const { selectBlock } = useDispatch( blockEditorStore );
38
-
39
32
  const toggleDistractionFree = () => {
40
33
  registry.batch( () => {
41
34
  setPreference( 'core/edit-post', 'fixedToolbar', false );
42
35
  setIsInserterOpened( false );
43
36
  setIsListViewOpened( false );
44
37
  closeGeneralSidebar();
45
- if ( ! isDistractionFree && !! blocks.length ) {
46
- selectBlock( blocks[ 0 ].clientId );
47
- }
48
38
  } );
49
39
  };
50
40
 
@@ -184,7 +184,7 @@ function KeyboardShortcuts() {
184
184
  } );
185
185
 
186
186
  registerShortcut( {
187
- name: `core/edit-post/transform-heading-to-paragraph`,
187
+ name: 'core/edit-post/transform-heading-to-paragraph',
188
188
  category: 'block-library',
189
189
  description: __( 'Transform heading to paragraph.' ),
190
190
  keyCombination: {
@@ -31,8 +31,8 @@ export function CustomFieldsConfirmation( { willEnable } ) {
31
31
  } }
32
32
  >
33
33
  { willEnable
34
- ? __( 'Enable & Reload' )
35
- : __( 'Disable & Reload' ) }
34
+ ? __( 'Show & Reload Page' )
35
+ : __( 'Hide & Reload Page' ) }
36
36
  </Button>
37
37
  </>
38
38
  );
@@ -100,7 +100,7 @@ exports[`EnableCustomFieldsOption renders a checked checkbox and a confirmation
100
100
  class="components-button edit-post-preferences-modal__custom-fields-confirmation-button is-secondary"
101
101
  type="button"
102
102
  >
103
- Enable & Reload
103
+ Show & Reload Page
104
104
  </button>
105
105
  </div>
106
106
  </div>
@@ -303,7 +303,7 @@ exports[`EnableCustomFieldsOption renders an unchecked checkbox and a confirmati
303
303
  class="components-button edit-post-preferences-modal__custom-fields-confirmation-button is-secondary"
304
304
  type="button"
305
305
  >
306
- Disable & Reload
306
+ Hide & Reload Page
307
307
  </button>
308
308
  </div>
309
309
  </div>
@@ -607,15 +607,21 @@ exports[`EditPostPreferencesModal should match snapshot when the modal is active
607
607
  border-radius: 2px;
608
608
  }
609
609
 
610
+ .emotion-13 svg,
611
+ .emotion-13 path {
612
+ fill: currentColor;
613
+ }
614
+
610
615
  .emotion-13:hover {
611
616
  color: var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9));
612
617
  }
613
618
 
614
619
  .emotion-13:focus {
615
- background-color: transparent;
616
- color: var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9));
617
- border-color: var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9));
618
- outline: 3px solid transparent;
620
+ box-shadow: 0 0 0 var( --wp-admin-border-width-focus ) var(
621
+ --wp-components-color-accent,
622
+ var( --wp-admin-theme-color, var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9)) )
623
+ );
624
+ outline: 2px solid transparent;
619
625
  }
620
626
 
621
627
  .emotion-15 {
@@ -1,13 +1,8 @@
1
- /**
2
- * External dependencies
3
- */
4
- import classnames from 'classnames';
5
-
6
1
  /**
7
2
  * WordPress dependencies
8
3
  */
9
4
  import { __experimentalListView as ListView } from '@wordpress/block-editor';
10
- import { Button } from '@wordpress/components';
5
+ import { Button, TabPanel } from '@wordpress/components';
11
6
  import {
12
7
  useFocusOnMount,
13
8
  useFocusReturn,
@@ -30,7 +25,9 @@ import ListViewOutline from './list-view-outline';
30
25
  export default function ListViewSidebar() {
31
26
  const { setIsListViewOpened } = useDispatch( editPostStore );
32
27
 
28
+ // This hook handles focus when the sidebar first renders.
33
29
  const focusOnMountRef = useFocusOnMount( 'firstElement' );
30
+ // The next 2 hooks handle focus for when the sidebar closes and returning focus to the element that had focus before sidebar opened.
34
31
  const headerFocusReturnRef = useFocusReturn();
35
32
  const contentFocusReturnRef = useFocusReturn();
36
33
 
@@ -41,17 +38,27 @@ export default function ListViewSidebar() {
41
38
  }
42
39
  }
43
40
 
41
+ // Use internal state instead of a ref to make sure that the component
42
+ // re-renders when the dropZoneElement updates.
43
+ const [ dropZoneElement, setDropZoneElement ] = useState( null );
44
+ // Tracks our current tab.
44
45
  const [ tab, setTab ] = useState( 'list-view' );
45
46
 
46
47
  // This ref refers to the sidebar as a whole.
47
48
  const sidebarRef = useRef();
48
- // This ref refers to the list view tab button.
49
- const listViewTabRef = useRef();
50
- // This ref refers to the outline tab button.
51
- const outlineTabRef = useRef();
49
+ // This ref refers to the tab panel.
50
+ const tabPanelRef = useRef();
52
51
  // This ref refers to the list view application area.
53
52
  const listViewRef = useRef();
54
53
 
54
+ // Must merge the refs together so focus can be handled properly in the next function.
55
+ const listViewContainerRef = useMergeRefs( [
56
+ contentFocusReturnRef,
57
+ focusOnMountRef,
58
+ listViewRef,
59
+ setDropZoneElement,
60
+ ] );
61
+
55
62
  /*
56
63
  * Callback function to handle list view or outline focus.
57
64
  *
@@ -60,9 +67,11 @@ export default function ListViewSidebar() {
60
67
  * @return void
61
68
  */
62
69
  function handleSidebarFocus( currentTab ) {
70
+ // Tab panel focus.
71
+ const tabPanelFocus = focus.tabbable.find( tabPanelRef.current )[ 0 ];
63
72
  // List view tab is selected.
64
73
  if ( currentTab === 'list-view' ) {
65
- // Either focus the list view or the list view tab button. Must have a fallback because the list view does not render when there are no blocks.
74
+ // Either focus the list view or the tab panel. Must have a fallback because the list view does not render when there are no blocks.
66
75
  const listViewApplicationFocus = focus.tabbable.find(
67
76
  listViewRef.current
68
77
  )[ 0 ];
@@ -70,11 +79,11 @@ export default function ListViewSidebar() {
70
79
  listViewApplicationFocus
71
80
  )
72
81
  ? listViewApplicationFocus
73
- : listViewTabRef.current;
82
+ : tabPanelFocus;
74
83
  listViewFocusArea.focus();
75
84
  // Outline tab is selected.
76
85
  } else {
77
- outlineTabRef.current.focus();
86
+ tabPanelFocus.focus();
78
87
  }
79
88
  }
80
89
 
@@ -93,6 +102,22 @@ export default function ListViewSidebar() {
93
102
  }
94
103
  } );
95
104
 
105
+ /**
106
+ * Render tab content for a given tab name.
107
+ *
108
+ * @param {string} tabName The name of the tab to render.
109
+ */
110
+ function renderTabContent( tabName ) {
111
+ if ( tabName === 'list-view' ) {
112
+ return (
113
+ <div className="edit-post-editor__list-view-panel-content">
114
+ <ListView dropZoneElement={ dropZoneElement } />
115
+ </div>
116
+ );
117
+ }
118
+ return <ListViewOutline />;
119
+ }
120
+
96
121
  return (
97
122
  // eslint-disable-next-line jsx-a11y/no-static-element-interactions
98
123
  <div
@@ -100,63 +125,40 @@ export default function ListViewSidebar() {
100
125
  onKeyDown={ closeOnEscape }
101
126
  ref={ sidebarRef }
102
127
  >
103
- <div
104
- className="edit-post-editor__document-overview-panel-header components-panel__header edit-post-sidebar__panel-tabs"
128
+ <Button
129
+ className="edit-post-editor__document-overview-panel__close-button"
105
130
  ref={ headerFocusReturnRef }
131
+ icon={ closeSmall }
132
+ label={ __( 'Close' ) }
133
+ onClick={ () => setIsListViewOpened( false ) }
134
+ />
135
+ <TabPanel
136
+ className="edit-post-editor__document-overview-panel__tab-panel"
137
+ ref={ tabPanelRef }
138
+ onSelect={ ( tabName ) => setTab( tabName ) }
139
+ selectOnMove={ false }
140
+ tabs={ [
141
+ {
142
+ name: 'list-view',
143
+ title: 'List View',
144
+ className: 'edit-post-sidebar__panel-tab',
145
+ },
146
+ {
147
+ name: 'outline',
148
+ title: 'Outline',
149
+ className: 'edit-post-sidebar__panel-tab',
150
+ },
151
+ ] }
106
152
  >
107
- <Button
108
- icon={ closeSmall }
109
- label={ __( 'Close' ) }
110
- onClick={ () => setIsListViewOpened( false ) }
111
- />
112
- <ul>
113
- <li>
114
- <Button
115
- ref={ listViewTabRef }
116
- onClick={ () => {
117
- setTab( 'list-view' );
118
- } }
119
- className={ classnames(
120
- 'edit-post-sidebar__panel-tab',
121
- { 'is-active': tab === 'list-view' }
122
- ) }
123
- aria-current={ tab === 'list-view' }
124
- >
125
- { __( 'List View' ) }
126
- </Button>
127
- </li>
128
- <li>
129
- <Button
130
- ref={ outlineTabRef }
131
- onClick={ () => {
132
- setTab( 'outline' );
133
- } }
134
- className={ classnames(
135
- 'edit-post-sidebar__panel-tab',
136
- { 'is-active': tab === 'outline' }
137
- ) }
138
- aria-current={ tab === 'outline' }
139
- >
140
- { __( 'Outline' ) }
141
- </Button>
142
- </li>
143
- </ul>
144
- </div>
145
- <div
146
- ref={ useMergeRefs( [
147
- contentFocusReturnRef,
148
- focusOnMountRef,
149
- listViewRef,
150
- ] ) }
151
- className="edit-post-editor__list-view-container"
152
- >
153
- { tab === 'list-view' && (
154
- <div className="edit-post-editor__list-view-panel-content">
155
- <ListView />
153
+ { ( currentTab ) => (
154
+ <div
155
+ className="edit-post-editor__list-view-container"
156
+ ref={ listViewContainerRef }
157
+ >
158
+ { renderTabContent( currentTab.name ) }
156
159
  </div>
157
160
  ) }
158
- { tab === 'outline' && <ListViewOutline /> }
159
- </div>
161
+ </TabPanel>
160
162
  </div>
161
163
  );
162
164
  }
@@ -17,8 +17,29 @@
17
17
  width: 350px;
18
18
  }
19
19
 
20
- .edit-post-sidebar__panel-tabs {
21
- flex-direction: row-reverse;
20
+ .edit-post-editor__document-overview-panel__close-button {
21
+ position: absolute;
22
+ right: $grid-unit-10;
23
+ top: math.div($grid-unit-60 - $button-size, 2); // ( tab height - button size ) / 2
24
+ z-index: 1;
25
+ background: $white;
26
+ }
27
+
28
+ // The TabPanel style overrides in the following blocks should be removed when the new TabPanel is available.
29
+ .components-tab-panel__tabs {
30
+ border-bottom: $border-width solid $gray-300;
31
+ box-sizing: border-box;
32
+ display: flex;
33
+ width: 100%;
34
+ padding-right: $grid-unit-70;
35
+
36
+ .edit-post-sidebar__panel-tab {
37
+ width: 50%;
38
+ }
39
+ }
40
+
41
+ .components-tab-panel__tab-content {
42
+ height: calc(100% - #{$grid-unit-60});
22
43
  }
23
44
  }
24
45
 
@@ -37,34 +58,6 @@
37
58
  }
38
59
  }
39
60
 
40
- .edit-post-editor__document-overview-panel-header {
41
- border-bottom: $border-width solid $gray-300;
42
- display: flex;
43
- justify-content: space-between;
44
- height: $grid-unit-60;
45
- padding-left: $grid-unit-20;
46
- padding-right: $grid-unit-05;
47
- ul {
48
- width: calc(100% - #{ $grid-unit-50 });
49
- }
50
- li {
51
- width: 50%;
52
- button {
53
- width: 100%;
54
- text-align: initial;
55
- }
56
- }
57
- li:only-child {
58
- width: 100%;
59
- }
60
-
61
- &.components-panel__header.edit-post-sidebar__panel-tabs {
62
- .components-button.has-icon {
63
- display: flex;
64
- }
65
- }
66
- }
67
-
68
61
  .edit-post-editor__list-view-panel-content,
69
62
  .edit-post-editor__list-view-container > .document-outline,
70
63
  .edit-post-editor__list-view-empty-headings {
@@ -118,5 +111,9 @@
118
111
  .edit-post-editor__list-view-container {
119
112
  display: flex;
120
113
  flex-direction: column;
121
- height: calc(100% - #{$grid-unit-60});
114
+ height: 100%;
115
+ }
116
+
117
+ .edit-post-editor__document-overview-panel__tab-panel {
118
+ height: 100%;
122
119
  }
@@ -8,7 +8,7 @@ import {
8
8
  } from '@wordpress/components';
9
9
  import { withSelect, withDispatch } from '@wordpress/data';
10
10
  import { compose, ifCondition } from '@wordpress/compose';
11
- import { PostSwitchToDraftButton } from '@wordpress/editor';
11
+ import { PostSwitchToDraftButton, PostSyncStatus } from '@wordpress/editor';
12
12
 
13
13
  /**
14
14
  * Internal dependencies
@@ -51,6 +51,7 @@ function PostStatus( { isOpened, onTogglePanel } ) {
51
51
  <PostFormat />
52
52
  <PostSlug />
53
53
  <PostAuthor />
54
+ <PostSyncStatus />
54
55
  { fills }
55
56
  <HStack
56
57
  style={ {
@@ -23,26 +23,27 @@ import {
23
23
  __experimentalUseResizeCanvas as useResizeCanvas,
24
24
  __unstableEditorStyles as EditorStyles,
25
25
  useSetting,
26
- __experimentalLayoutStyle as LayoutStyle,
27
26
  __unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,
28
27
  __unstableIframe as Iframe,
29
28
  __experimentalRecursionProvider as RecursionProvider,
30
- __experimentaluseLayoutClasses as useLayoutClasses,
31
- __experimentaluseLayoutStyles as useLayoutStyles,
29
+ privateApis as blockEditorPrivateApis,
32
30
  } from '@wordpress/block-editor';
33
31
  import { useEffect, useRef, useMemo } from '@wordpress/element';
34
- import { Button, __unstableMotion as motion } from '@wordpress/components';
35
- import { useSelect, useDispatch } from '@wordpress/data';
32
+ import { __unstableMotion as motion } from '@wordpress/components';
33
+ import { useSelect } from '@wordpress/data';
36
34
  import { useMergeRefs } from '@wordpress/compose';
37
- import { arrowLeft } from '@wordpress/icons';
38
- import { __ } from '@wordpress/i18n';
39
- import { parse } from '@wordpress/blocks';
35
+ import { parse, store as blocksStore } from '@wordpress/blocks';
40
36
  import { store as coreStore } from '@wordpress/core-data';
41
37
 
42
38
  /**
43
39
  * Internal dependencies
44
40
  */
45
41
  import { store as editPostStore } from '../../store';
42
+ import { unlock } from '../../lock-unlock';
43
+
44
+ const { LayoutStyle, useLayoutClasses, useLayoutStyles } = unlock(
45
+ blockEditorPrivateApis
46
+ );
46
47
 
47
48
  const isGutenbergPlugin = process.env.IS_GUTENBERG_PLUGIN ? true : false;
48
49
 
@@ -114,6 +115,7 @@ export default function VisualEditor( { styles } ) {
114
115
  wrapperBlockName,
115
116
  wrapperUniqueId,
116
117
  isBlockBasedTheme,
118
+ hasV3BlocksOnly,
117
119
  } = useSelect( ( select ) => {
118
120
  const {
119
121
  isFeatureActive,
@@ -123,6 +125,7 @@ export default function VisualEditor( { styles } ) {
123
125
  } = select( editPostStore );
124
126
  const { getCurrentPostId, getCurrentPostType, getEditorSettings } =
125
127
  select( editorStore );
128
+ const { getBlockTypes } = select( blocksStore );
126
129
  const _isTemplateMode = isEditingTemplate();
127
130
  let _wrapperBlockName;
128
131
 
@@ -153,6 +156,9 @@ export default function VisualEditor( { styles } ) {
153
156
  wrapperBlockName: _wrapperBlockName,
154
157
  wrapperUniqueId: getCurrentPostId(),
155
158
  isBlockBasedTheme: editorSettings.__unstableIsBlockBasedTheme,
159
+ hasV3BlocksOnly: getBlockTypes().every( ( type ) => {
160
+ return type.apiVersion >= 3;
161
+ } ),
156
162
  };
157
163
  }, [] );
158
164
  const { isCleanNewPost } = useSelect( editorStore );
@@ -175,8 +181,6 @@ export default function VisualEditor( { styles } ) {
175
181
  _settings.__experimentalFeatures?.useRootPaddingAwareAlignments,
176
182
  };
177
183
  }, [] );
178
- const { clearSelectedBlock } = useDispatch( blockEditorStore );
179
- const { setIsEditingTemplate } = useDispatch( editPostStore );
180
184
  const desktopCanvasStyles = {
181
185
  height: '100%',
182
186
  width: '100%',
@@ -349,18 +353,6 @@ export default function VisualEditor( { styles } ) {
349
353
  } }
350
354
  ref={ blockSelectionClearerRef }
351
355
  >
352
- { isTemplateMode && (
353
- <Button
354
- className="edit-post-visual-editor__exit-template-mode"
355
- icon={ arrowLeft }
356
- onClick={ () => {
357
- clearSelectedBlock();
358
- setIsEditingTemplate( false );
359
- } }
360
- >
361
- { __( 'Back' ) }
362
- </Button>
363
- ) }
364
356
  <motion.div
365
357
  animate={ animatedStyles }
366
358
  initial={ desktopCanvasStyles }
@@ -368,8 +360,8 @@ export default function VisualEditor( { styles } ) {
368
360
  >
369
361
  <MaybeIframe
370
362
  shouldIframe={
371
- ( isGutenbergPlugin &&
372
- isBlockBasedTheme &&
363
+ ( ( hasV3BlocksOnly ||
364
+ ( isGutenbergPlugin && isBlockBasedTheme ) ) &&
373
365
  ! hasMetaBoxes ) ||
374
366
  isTemplateMode ||
375
367
  deviceType === 'Tablet' ||
@@ -383,11 +375,12 @@ export default function VisualEditor( { styles } ) {
383
375
  ! isTemplateMode && (
384
376
  <>
385
377
  <LayoutStyle
386
- selector=".edit-post-visual-editor__post-title-wrapper, .block-editor-block-list__layout.is-root-container"
378
+ selector=".edit-post-visual-editor__post-title-wrapper"
387
379
  layout={ fallbackLayout }
388
- layoutDefinitions={
389
- globalLayoutSettings?.definitions
390
- }
380
+ />
381
+ <LayoutStyle
382
+ selector=".block-editor-block-list__layout.is-root-container"
383
+ layout={ blockListLayout }
391
384
  />
392
385
  { align && (
393
386
  <LayoutStyle css={ alignCSS } />
@@ -396,9 +389,6 @@ export default function VisualEditor( { styles } ) {
396
389
  <LayoutStyle
397
390
  layout={ postContentLayout }
398
391
  css={ postContentLayoutStyles }
399
- layoutDefinitions={
400
- globalLayoutSettings?.definitions
401
- }
402
392
  />
403
393
  ) }
404
394
  </>
@@ -428,7 +418,7 @@ export default function VisualEditor( { styles } ) {
428
418
  ? 'wp-site-blocks'
429
419
  : `${ blockListLayoutClass } wp-block-post-content` // Ensure root level blocks receive default/flow blockGap styling rules.
430
420
  }
431
- __experimentalLayout={ blockListLayout }
421
+ layout={ blockListLayout }
432
422
  />
433
423
  </RecursionProvider>
434
424
  </MaybeIframe>
@@ -50,19 +50,6 @@
50
50
  margin-bottom: var(--wp--style--block-gap);
51
51
  }
52
52
 
53
- .edit-post-visual-editor__exit-template-mode {
54
- position: absolute;
55
- top: $grid-unit-10;
56
- left: $grid-unit-10;
57
- color: $white;
58
-
59
- &:active:not([aria-disabled="true"]),
60
- &:focus:not([aria-disabled="true"]),
61
- &:hover {
62
- color: $gray-100;
63
- }
64
- }
65
-
66
53
  .edit-post-visual-editor__content-area {
67
54
  width: 100%;
68
55
  height: 100%;
package/src/editor.js CHANGED
@@ -9,6 +9,7 @@ import {
9
9
  store as editorStore,
10
10
  privateApis as editorPrivateApis,
11
11
  } from '@wordpress/editor';
12
+ import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
12
13
  import { useMemo } from '@wordpress/element';
13
14
  import { SlotFillProvider } from '@wordpress/components';
14
15
  import { store as coreStore } from '@wordpress/core-data';
@@ -23,9 +24,10 @@ import { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands
23
24
  import Layout from './components/layout';
24
25
  import EditorInitialization from './components/editor-initialization';
25
26
  import { store as editPostStore } from './store';
26
- import { unlock } from './private-apis';
27
+ import { unlock } from './lock-unlock';
27
28
 
28
29
  const { ExperimentalEditorProvider } = unlock( editorPrivateApis );
30
+ const { getLayoutStyles } = unlock( blockEditorPrivateApis );
29
31
  const { useCommands } = unlock( coreCommandsPrivateApis );
30
32
 
31
33
  function Editor( { postId, postType, settings, initialEdits, ...props } ) {
@@ -164,10 +166,29 @@ function Editor( { postId, postType, settings, initialEdits, ...props } ) {
164
166
  presetStyles.push( style );
165
167
  }
166
168
  } );
169
+
167
170
  const defaultEditorStyles = [
168
171
  ...settings.defaultEditorStyles,
169
172
  ...presetStyles,
170
173
  ];
174
+
175
+ // If theme styles are not present or displayed, ensure that
176
+ // base layout styles are still present in the editor.
177
+ if (
178
+ ! settings.disableLayoutStyles &&
179
+ ! ( hasThemeStyles && themeStyles.length )
180
+ ) {
181
+ defaultEditorStyles.push( {
182
+ css: getLayoutStyles( {
183
+ style: {},
184
+ selector: 'body',
185
+ hasBlockGapSupport: false,
186
+ hasFallbackGapSupport: true,
187
+ fallbackGapValue: '0.5em',
188
+ } ),
189
+ } );
190
+ }
191
+
171
192
  return hasThemeStyles && themeStyles.length
172
193
  ? settings.styles
173
194
  : defaultEditorStyles;