@wordpress/edit-post 7.10.0 → 7.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (298) hide show
  1. package/CHANGELOG.md +4 -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 +10 -14
  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 +1 -1
  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 +4 -3
  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 +7 -6
  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/post-publish-button-or-toggle.js +15 -16
  29. package/build/components/header/post-publish-button-or-toggle.js.map +1 -1
  30. package/build/components/header/tools-more-menu-group/index.js +7 -10
  31. package/build/components/header/tools-more-menu-group/index.js.map +1 -1
  32. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +3 -4
  33. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
  34. package/build/components/keyboard-shortcut-help-modal/index.js +44 -54
  35. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  36. package/build/components/keyboard-shortcut-help-modal/shortcut.js +10 -12
  37. package/build/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  38. package/build/components/layout/actions-panel.js +5 -6
  39. package/build/components/layout/actions-panel.js.map +1 -1
  40. package/build/components/layout/index.js +3 -4
  41. package/build/components/layout/index.js.map +1 -1
  42. package/build/components/layout/index.native.js +3 -7
  43. package/build/components/layout/index.native.js.map +1 -1
  44. package/build/components/meta-boxes/index.js +9 -13
  45. package/build/components/meta-boxes/index.js.map +1 -1
  46. package/build/components/meta-boxes/meta-box-visibility.js +5 -8
  47. package/build/components/meta-boxes/meta-box-visibility.js.map +1 -1
  48. package/build/components/meta-boxes/meta-boxes-area/index.js +3 -4
  49. package/build/components/meta-boxes/meta-boxes-area/index.js.map +1 -1
  50. package/build/components/preferences-modal/meta-boxes-section.js +16 -23
  51. package/build/components/preferences-modal/meta-boxes-section.js.map +1 -1
  52. package/build/components/preferences-modal/options/enable-custom-fields.js +7 -9
  53. package/build/components/preferences-modal/options/enable-custom-fields.js.map +1 -1
  54. package/build/components/preferences-modal/options/enable-feature.js +12 -16
  55. package/build/components/preferences-modal/options/enable-feature.js.map +1 -1
  56. package/build/components/preferences-modal/options/enable-panel.js +10 -17
  57. package/build/components/preferences-modal/options/enable-panel.js.map +1 -1
  58. package/build/components/preferences-modal/options/enable-plugin-document-setting-panel.js +7 -10
  59. package/build/components/preferences-modal/options/enable-plugin-document-setting-panel.js.map +1 -1
  60. package/build/components/secondary-sidebar/list-view-sidebar.js +58 -44
  61. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  62. package/build/components/sidebar/discussion-panel/index.js +5 -7
  63. package/build/components/sidebar/discussion-panel/index.js.map +1 -1
  64. package/build/components/sidebar/featured-image/index.js +9 -17
  65. package/build/components/sidebar/featured-image/index.js.map +1 -1
  66. package/build/components/sidebar/page-attributes/index.js +3 -9
  67. package/build/components/sidebar/page-attributes/index.js.map +1 -1
  68. package/build/components/sidebar/plugin-document-setting-panel/index.js +20 -25
  69. package/build/components/sidebar/plugin-document-setting-panel/index.js.map +1 -1
  70. package/build/components/sidebar/plugin-post-publish-panel/index.js +12 -15
  71. package/build/components/sidebar/plugin-post-publish-panel/index.js.map +1 -1
  72. package/build/components/sidebar/plugin-post-status-info/index.js +6 -9
  73. package/build/components/sidebar/plugin-post-status-info/index.js.map +1 -1
  74. package/build/components/sidebar/plugin-pre-publish-panel/index.js +12 -15
  75. package/build/components/sidebar/plugin-pre-publish-panel/index.js.map +1 -1
  76. package/build/components/sidebar/plugin-sidebar/index.js +4 -5
  77. package/build/components/sidebar/plugin-sidebar/index.js.map +1 -1
  78. package/build/components/sidebar/post-excerpt/index.js +5 -7
  79. package/build/components/sidebar/post-excerpt/index.js.map +1 -1
  80. package/build/components/sidebar/post-schedule/index.js +16 -23
  81. package/build/components/sidebar/post-schedule/index.js.map +1 -1
  82. package/build/components/sidebar/post-status/index.js +7 -11
  83. package/build/components/sidebar/post-status/index.js.map +1 -1
  84. package/build/components/sidebar/post-taxonomies/taxonomy-panel.js +9 -15
  85. package/build/components/sidebar/post-taxonomies/taxonomy-panel.js.map +1 -1
  86. package/build/components/sidebar/post-template/create-modal.js +3 -4
  87. package/build/components/sidebar/post-template/create-modal.js.map +1 -1
  88. package/build/components/sidebar/post-template/form.js +13 -20
  89. package/build/components/sidebar/post-template/form.js.map +1 -1
  90. package/build/components/sidebar/post-template/index.js +18 -25
  91. package/build/components/sidebar/post-template/index.js.map +1 -1
  92. package/build/components/sidebar/post-url/index.js +16 -23
  93. package/build/components/sidebar/post-url/index.js.map +1 -1
  94. package/build/components/sidebar/post-visibility/index.js +26 -36
  95. package/build/components/sidebar/post-visibility/index.js.map +1 -1
  96. package/build/components/sidebar/settings-header/index.js +3 -4
  97. package/build/components/sidebar/settings-header/index.js.map +1 -1
  98. package/build/components/sidebar/template-summary/index.js +1 -1
  99. package/build/components/sidebar/template-summary/index.js.map +1 -1
  100. package/build/components/start-page-options/index.js +3 -4
  101. package/build/components/start-page-options/index.js.map +1 -1
  102. package/build/components/view-link/index.js +1 -1
  103. package/build/components/view-link/index.js.map +1 -1
  104. package/build/components/visual-editor/block-inspector-button.js +4 -5
  105. package/build/components/visual-editor/block-inspector-button.js.map +1 -1
  106. package/build/components/visual-editor/header.native.js +6 -7
  107. package/build/components/visual-editor/header.native.js.map +1 -1
  108. package/build/components/visual-editor/index.js +32 -48
  109. package/build/components/visual-editor/index.js.map +1 -1
  110. package/build/components/welcome-guide/image.js +4 -5
  111. package/build/components/welcome-guide/image.js.map +1 -1
  112. package/build/editor.js +15 -23
  113. package/build/editor.js.map +1 -1
  114. package/build/editor.native.js +3 -6
  115. package/build/editor.native.js.map +1 -1
  116. package/build/hooks/validate-multiple-use/index.js +18 -29
  117. package/build/hooks/validate-multiple-use/index.js.map +1 -1
  118. package/build/index.js +2 -2
  119. package/build/index.js.map +1 -1
  120. package/build/plugins/index.js +20 -23
  121. package/build/plugins/index.js.map +1 -1
  122. package/build/plugins/keyboard-shortcuts-help-menu-item/index.js +3 -4
  123. package/build/plugins/keyboard-shortcuts-help-menu-item/index.js.map +1 -1
  124. package/build/store/actions.js +60 -88
  125. package/build/store/actions.js.map +1 -1
  126. package/build/store/reducer.js +11 -43
  127. package/build/store/reducer.js.map +1 -1
  128. package/build/store/selectors.js +11 -16
  129. package/build/store/selectors.js.map +1 -1
  130. package/build-module/components/block-manager/category.js +14 -22
  131. package/build-module/components/block-manager/category.js.map +1 -1
  132. package/build-module/components/block-manager/checklist.js +6 -13
  133. package/build-module/components/block-manager/checklist.js.map +1 -1
  134. package/build-module/components/block-manager/index.js +10 -14
  135. package/build-module/components/block-manager/index.js.map +1 -1
  136. package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js +21 -26
  137. package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
  138. package/build-module/components/device-preview/index.js +1 -1
  139. package/build-module/components/device-preview/index.js.map +1 -1
  140. package/build-module/components/editor-initialization/index.js +3 -4
  141. package/build-module/components/editor-initialization/index.js.map +1 -1
  142. package/build-module/components/header/document-title/index.js +88 -0
  143. package/build-module/components/header/document-title/index.js.map +1 -0
  144. package/build-module/components/header/fullscreen-mode-close/index.js +7 -8
  145. package/build-module/components/header/fullscreen-mode-close/index.js.map +1 -1
  146. package/build-module/components/header/header-toolbar/index.js +3 -3
  147. package/build-module/components/header/header-toolbar/index.js.map +1 -1
  148. package/build-module/components/header/header-toolbar/index.native.js +12 -13
  149. package/build-module/components/header/header-toolbar/index.native.js.map +1 -1
  150. package/build-module/components/header/index.js +7 -6
  151. package/build-module/components/header/index.js.map +1 -1
  152. package/build-module/components/header/main-dashboard-button/index.js +3 -4
  153. package/build-module/components/header/main-dashboard-button/index.js.map +1 -1
  154. package/build-module/components/header/more-menu/index.js +19 -23
  155. package/build-module/components/header/more-menu/index.js.map +1 -1
  156. package/build-module/components/header/post-publish-button-or-toggle.js +15 -16
  157. package/build-module/components/header/post-publish-button-or-toggle.js.map +1 -1
  158. package/build-module/components/header/tools-more-menu-group/index.js +7 -10
  159. package/build-module/components/header/tools-more-menu-group/index.js.map +1 -1
  160. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +3 -4
  161. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
  162. package/build-module/components/keyboard-shortcut-help-modal/index.js +42 -52
  163. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  164. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +10 -12
  165. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  166. package/build-module/components/layout/actions-panel.js +5 -6
  167. package/build-module/components/layout/actions-panel.js.map +1 -1
  168. package/build-module/components/layout/index.js +3 -4
  169. package/build-module/components/layout/index.js.map +1 -1
  170. package/build-module/components/layout/index.native.js +3 -7
  171. package/build-module/components/layout/index.native.js.map +1 -1
  172. package/build-module/components/meta-boxes/index.js +9 -13
  173. package/build-module/components/meta-boxes/index.js.map +1 -1
  174. package/build-module/components/meta-boxes/meta-box-visibility.js +5 -8
  175. package/build-module/components/meta-boxes/meta-box-visibility.js.map +1 -1
  176. package/build-module/components/meta-boxes/meta-boxes-area/index.js +3 -4
  177. package/build-module/components/meta-boxes/meta-boxes-area/index.js.map +1 -1
  178. package/build-module/components/preferences-modal/meta-boxes-section.js +16 -23
  179. package/build-module/components/preferences-modal/meta-boxes-section.js.map +1 -1
  180. package/build-module/components/preferences-modal/options/enable-custom-fields.js +7 -9
  181. package/build-module/components/preferences-modal/options/enable-custom-fields.js.map +1 -1
  182. package/build-module/components/preferences-modal/options/enable-feature.js +12 -16
  183. package/build-module/components/preferences-modal/options/enable-feature.js.map +1 -1
  184. package/build-module/components/preferences-modal/options/enable-panel.js +10 -17
  185. package/build-module/components/preferences-modal/options/enable-panel.js.map +1 -1
  186. package/build-module/components/preferences-modal/options/enable-plugin-document-setting-panel.js +7 -10
  187. package/build-module/components/preferences-modal/options/enable-plugin-document-setting-panel.js.map +1 -1
  188. package/build-module/components/secondary-sidebar/list-view-sidebar.js +58 -44
  189. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  190. package/build-module/components/sidebar/discussion-panel/index.js +5 -7
  191. package/build-module/components/sidebar/discussion-panel/index.js.map +1 -1
  192. package/build-module/components/sidebar/featured-image/index.js +9 -17
  193. package/build-module/components/sidebar/featured-image/index.js.map +1 -1
  194. package/build-module/components/sidebar/page-attributes/index.js +3 -9
  195. package/build-module/components/sidebar/page-attributes/index.js.map +1 -1
  196. package/build-module/components/sidebar/plugin-document-setting-panel/index.js +20 -25
  197. package/build-module/components/sidebar/plugin-document-setting-panel/index.js.map +1 -1
  198. package/build-module/components/sidebar/plugin-post-publish-panel/index.js +12 -15
  199. package/build-module/components/sidebar/plugin-post-publish-panel/index.js.map +1 -1
  200. package/build-module/components/sidebar/plugin-post-status-info/index.js +6 -9
  201. package/build-module/components/sidebar/plugin-post-status-info/index.js.map +1 -1
  202. package/build-module/components/sidebar/plugin-pre-publish-panel/index.js +12 -15
  203. package/build-module/components/sidebar/plugin-pre-publish-panel/index.js.map +1 -1
  204. package/build-module/components/sidebar/plugin-sidebar/index.js +4 -5
  205. package/build-module/components/sidebar/plugin-sidebar/index.js.map +1 -1
  206. package/build-module/components/sidebar/post-excerpt/index.js +5 -7
  207. package/build-module/components/sidebar/post-excerpt/index.js.map +1 -1
  208. package/build-module/components/sidebar/post-schedule/index.js +16 -23
  209. package/build-module/components/sidebar/post-schedule/index.js.map +1 -1
  210. package/build-module/components/sidebar/post-status/index.js +7 -11
  211. package/build-module/components/sidebar/post-status/index.js.map +1 -1
  212. package/build-module/components/sidebar/post-taxonomies/taxonomy-panel.js +9 -15
  213. package/build-module/components/sidebar/post-taxonomies/taxonomy-panel.js.map +1 -1
  214. package/build-module/components/sidebar/post-template/create-modal.js +3 -4
  215. package/build-module/components/sidebar/post-template/create-modal.js.map +1 -1
  216. package/build-module/components/sidebar/post-template/form.js +13 -20
  217. package/build-module/components/sidebar/post-template/form.js.map +1 -1
  218. package/build-module/components/sidebar/post-template/index.js +18 -25
  219. package/build-module/components/sidebar/post-template/index.js.map +1 -1
  220. package/build-module/components/sidebar/post-url/index.js +16 -23
  221. package/build-module/components/sidebar/post-url/index.js.map +1 -1
  222. package/build-module/components/sidebar/post-visibility/index.js +26 -36
  223. package/build-module/components/sidebar/post-visibility/index.js.map +1 -1
  224. package/build-module/components/sidebar/settings-header/index.js +3 -4
  225. package/build-module/components/sidebar/settings-header/index.js.map +1 -1
  226. package/build-module/components/sidebar/template-summary/index.js +1 -1
  227. package/build-module/components/sidebar/template-summary/index.js.map +1 -1
  228. package/build-module/components/start-page-options/index.js +3 -4
  229. package/build-module/components/start-page-options/index.js.map +1 -1
  230. package/build-module/components/view-link/index.js +1 -1
  231. package/build-module/components/view-link/index.js.map +1 -1
  232. package/build-module/components/visual-editor/block-inspector-button.js +4 -5
  233. package/build-module/components/visual-editor/block-inspector-button.js.map +1 -1
  234. package/build-module/components/visual-editor/header.native.js +6 -7
  235. package/build-module/components/visual-editor/header.native.js.map +1 -1
  236. package/build-module/components/visual-editor/index.js +35 -49
  237. package/build-module/components/visual-editor/index.js.map +1 -1
  238. package/build-module/components/welcome-guide/image.js +4 -5
  239. package/build-module/components/welcome-guide/image.js.map +1 -1
  240. package/build-module/editor.js +15 -23
  241. package/build-module/editor.js.map +1 -1
  242. package/build-module/editor.native.js +3 -6
  243. package/build-module/editor.native.js.map +1 -1
  244. package/build-module/hooks/validate-multiple-use/index.js +18 -29
  245. package/build-module/hooks/validate-multiple-use/index.js.map +1 -1
  246. package/build-module/index.js +2 -2
  247. package/build-module/index.js.map +1 -1
  248. package/build-module/plugins/index.js +20 -23
  249. package/build-module/plugins/index.js.map +1 -1
  250. package/build-module/plugins/keyboard-shortcuts-help-menu-item/index.js +3 -4
  251. package/build-module/plugins/keyboard-shortcuts-help-menu-item/index.js.map +1 -1
  252. package/build-module/store/actions.js +60 -88
  253. package/build-module/store/actions.js.map +1 -1
  254. package/build-module/store/reducer.js +11 -43
  255. package/build-module/store/reducer.js.map +1 -1
  256. package/build-module/store/selectors.js +11 -16
  257. package/build-module/store/selectors.js.map +1 -1
  258. package/build-style/classic-rtl.css +1 -1
  259. package/build-style/classic.css +1 -1
  260. package/build-style/style-rtl.css +74 -114
  261. package/build-style/style.css +74 -114
  262. package/package.json +33 -33
  263. package/src/components/header/document-title/index.js +86 -0
  264. package/src/components/header/document-title/style.scss +61 -0
  265. package/src/components/header/header-toolbar/index.js +2 -2
  266. package/src/components/header/header-toolbar/style.scss +0 -1
  267. package/src/components/header/index.js +4 -2
  268. package/src/components/header/style.scss +6 -0
  269. package/src/components/keyboard-shortcut-help-modal/test/__snapshots__/index.js.snap +1 -3
  270. package/src/components/preferences-modal/test/__snapshots__/index.js.snap +2 -6
  271. package/src/components/secondary-sidebar/list-view-sidebar.js +68 -66
  272. package/src/components/secondary-sidebar/style.scss +28 -31
  273. package/src/components/visual-editor/index.js +10 -21
  274. package/src/components/visual-editor/style.scss +0 -13
  275. package/src/editor.js +1 -3
  276. package/src/index.js +3 -2
  277. package/src/style.scss +1 -1
  278. package/build/components/header/template-title/delete-template.js +0 -117
  279. package/build/components/header/template-title/delete-template.js.map +0 -1
  280. package/build/components/header/template-title/edit-template-title.js +0 -95
  281. package/build/components/header/template-title/edit-template-title.js.map +0 -1
  282. package/build/components/header/template-title/index.js +0 -124
  283. package/build/components/header/template-title/index.js.map +0 -1
  284. package/build/components/header/template-title/template-description.js +0 -55
  285. package/build/components/header/template-title/template-description.js.map +0 -1
  286. package/build-module/components/header/template-title/delete-template.js +0 -104
  287. package/build-module/components/header/template-title/delete-template.js.map +0 -1
  288. package/build-module/components/header/template-title/edit-template-title.js +0 -83
  289. package/build-module/components/header/template-title/edit-template-title.js.map +0 -1
  290. package/build-module/components/header/template-title/index.js +0 -105
  291. package/build-module/components/header/template-title/index.js.map +0 -1
  292. package/build-module/components/header/template-title/template-description.js +0 -45
  293. package/build-module/components/header/template-title/template-description.js.map +0 -1
  294. package/src/components/header/template-title/delete-template.js +0 -106
  295. package/src/components/header/template-title/edit-template-title.js +0 -78
  296. package/src/components/header/template-title/index.js +0 -115
  297. package/src/components/header/template-title/style.scss +0 -94
  298. package/src/components/header/template-title/template-description.js +0 -42
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/edit-post",
3
- "version": "7.10.0",
3
+ "version": "7.12.0",
4
4
  "description": "Edit Post module for WordPress.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -27,38 +27,38 @@
27
27
  "react-native": "src/index",
28
28
  "dependencies": {
29
29
  "@babel/runtime": "^7.16.0",
30
- "@wordpress/a11y": "^3.33.0",
31
- "@wordpress/api-fetch": "^6.30.0",
32
- "@wordpress/block-editor": "^12.1.0",
33
- "@wordpress/block-library": "^8.10.0",
34
- "@wordpress/blocks": "^12.10.0",
35
- "@wordpress/commands": "^0.4.0",
36
- "@wordpress/components": "^24.0.0",
37
- "@wordpress/compose": "^6.10.0",
38
- "@wordpress/core-commands": "^0.2.0",
39
- "@wordpress/core-data": "^6.10.0",
40
- "@wordpress/data": "^9.3.0",
41
- "@wordpress/deprecated": "^3.33.0",
42
- "@wordpress/dom": "^3.33.0",
43
- "@wordpress/editor": "^13.10.0",
44
- "@wordpress/element": "^5.10.0",
45
- "@wordpress/hooks": "^3.33.0",
46
- "@wordpress/i18n": "^4.33.0",
47
- "@wordpress/icons": "^9.24.0",
48
- "@wordpress/interface": "^5.10.0",
49
- "@wordpress/keyboard-shortcuts": "^4.10.0",
50
- "@wordpress/keycodes": "^3.33.0",
51
- "@wordpress/media-utils": "^4.24.0",
52
- "@wordpress/notices": "^4.1.0",
53
- "@wordpress/plugins": "^6.1.0",
54
- "@wordpress/preferences": "^3.10.0",
55
- "@wordpress/private-apis": "^0.15.0",
56
- "@wordpress/url": "^3.34.0",
57
- "@wordpress/viewport": "^5.10.0",
58
- "@wordpress/warning": "^2.33.0",
59
- "@wordpress/widgets": "^3.10.0",
30
+ "@wordpress/a11y": "^3.35.0",
31
+ "@wordpress/api-fetch": "^6.32.0",
32
+ "@wordpress/block-editor": "^12.3.0",
33
+ "@wordpress/block-library": "^8.12.0",
34
+ "@wordpress/blocks": "^12.12.0",
35
+ "@wordpress/commands": "^0.6.0",
36
+ "@wordpress/components": "^25.1.0",
37
+ "@wordpress/compose": "^6.12.0",
38
+ "@wordpress/core-commands": "^0.4.0",
39
+ "@wordpress/core-data": "^6.12.0",
40
+ "@wordpress/data": "^9.5.0",
41
+ "@wordpress/deprecated": "^3.35.0",
42
+ "@wordpress/dom": "^3.35.0",
43
+ "@wordpress/editor": "^13.12.0",
44
+ "@wordpress/element": "^5.12.0",
45
+ "@wordpress/hooks": "^3.35.0",
46
+ "@wordpress/i18n": "^4.35.0",
47
+ "@wordpress/icons": "^9.26.0",
48
+ "@wordpress/interface": "^5.12.0",
49
+ "@wordpress/keyboard-shortcuts": "^4.12.0",
50
+ "@wordpress/keycodes": "^3.35.0",
51
+ "@wordpress/media-utils": "^4.26.0",
52
+ "@wordpress/notices": "^4.3.0",
53
+ "@wordpress/plugins": "^6.3.0",
54
+ "@wordpress/preferences": "^3.12.0",
55
+ "@wordpress/private-apis": "^0.17.0",
56
+ "@wordpress/url": "^3.36.0",
57
+ "@wordpress/viewport": "^5.12.0",
58
+ "@wordpress/warning": "^2.35.0",
59
+ "@wordpress/widgets": "^3.12.0",
60
60
  "classnames": "^2.3.1",
61
- "memize": "^1.1.0",
61
+ "memize": "^2.1.0",
62
62
  "rememo": "^4.0.2"
63
63
  },
64
64
  "peerDependencies": {
@@ -68,5 +68,5 @@
68
68
  "publishConfig": {
69
69
  "access": "public"
70
70
  },
71
- "gitHead": "e936127e1e13881f1a940b7bd1593a9e500147f3"
71
+ "gitHead": "a92f606309b1541b834ff9b0a76ed2a466fc45ed"
72
72
  }
@@ -0,0 +1,86 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { __, isRTL } from '@wordpress/i18n';
5
+ import { useSelect, useDispatch } from '@wordpress/data';
6
+ import { BlockIcon, store as blockEditorStore } from '@wordpress/block-editor';
7
+ import {
8
+ Button,
9
+ VisuallyHidden,
10
+ __experimentalHStack as HStack,
11
+ __experimentalText as Text,
12
+ } from '@wordpress/components';
13
+ import { layout, chevronLeftSmall, chevronRightSmall } from '@wordpress/icons';
14
+ import { store as commandsStore } from '@wordpress/commands';
15
+ import { displayShortcut } from '@wordpress/keycodes';
16
+
17
+ /**
18
+ * Internal dependencies
19
+ */
20
+ import { store as editPostStore } from '../../../store';
21
+
22
+ function DocumentTitle() {
23
+ const { template, isEditing } = useSelect( ( select ) => {
24
+ const { isEditingTemplate, getEditedPostTemplate } =
25
+ select( editPostStore );
26
+ const _isEditing = isEditingTemplate();
27
+
28
+ return {
29
+ template: _isEditing ? getEditedPostTemplate() : null,
30
+ isEditing: _isEditing,
31
+ };
32
+ }, [] );
33
+ const { clearSelectedBlock } = useDispatch( blockEditorStore );
34
+ const { setIsEditingTemplate } = useDispatch( editPostStore );
35
+ const { open: openCommandCenter } = useDispatch( commandsStore );
36
+
37
+ if ( ! isEditing || ! template ) {
38
+ return null;
39
+ }
40
+
41
+ let templateTitle = __( 'Default' );
42
+ if ( template?.title ) {
43
+ templateTitle = template.title;
44
+ } else if ( !! template ) {
45
+ templateTitle = template.slug;
46
+ }
47
+
48
+ return (
49
+ <div className="edit-post-document-title">
50
+ <span className="edit-post-document-title__left">
51
+ <Button
52
+ onClick={ () => {
53
+ clearSelectedBlock();
54
+ setIsEditingTemplate( false );
55
+ } }
56
+ icon={ isRTL() ? chevronRightSmall : chevronLeftSmall }
57
+ >
58
+ { __( 'Back' ) }
59
+ </Button>
60
+ </span>
61
+
62
+ <Button
63
+ className="edit-post-document-title__title"
64
+ onClick={ () => openCommandCenter() }
65
+ >
66
+ <HStack spacing={ 1 } justify="center">
67
+ <BlockIcon icon={ layout } />
68
+ <Text size="body" as="h1">
69
+ <VisuallyHidden as="span">
70
+ { __( 'Editing template: ' ) }
71
+ </VisuallyHidden>
72
+ { templateTitle }
73
+ </Text>
74
+ </HStack>
75
+ </Button>
76
+ <Button
77
+ className="edit-post-document-title__shortcut"
78
+ onClick={ () => openCommandCenter() }
79
+ >
80
+ { displayShortcut.primary( 'k' ) }
81
+ </Button>
82
+ </div>
83
+ );
84
+ }
85
+
86
+ export default DocumentTitle;
@@ -0,0 +1,61 @@
1
+ .edit-post-document-title {
2
+ display: flex;
3
+ align-items: center;
4
+ gap: $grid-unit;
5
+ height: $button-size;
6
+ justify-content: space-between;
7
+ // Flex items will, by default, refuse to shrink below a minimum
8
+ // intrinsic width. In order to shrink this flexbox item, and
9
+ // subsequently truncate child text, we set an explicit min-width.
10
+ // See https://dev.w3.org/csswg/css-flexbox/#min-size-auto
11
+ min-width: 0;
12
+ background: $gray-100;
13
+ border-radius: 4px;
14
+ width: min(100%, 450px);
15
+
16
+ &:hover {
17
+ color: currentColor;
18
+ background: $gray-200;
19
+ }
20
+ }
21
+
22
+ .edit-post-document-title__title.components-button {
23
+ flex-grow: 1;
24
+ color: var(--wp-block-synced-color);
25
+ overflow: hidden;
26
+
27
+ &:hover {
28
+ color: var(--wp-block-synced-color);
29
+ }
30
+
31
+ h1 {
32
+ color: var(--wp-block-synced-color);
33
+ white-space: nowrap;
34
+ overflow: hidden;
35
+ text-overflow: ellipsis;
36
+ }
37
+ }
38
+
39
+ .edit-post-document-title__shortcut {
40
+ flex-shrink: 0;
41
+ color: $gray-700;
42
+ padding: 0 $grid-unit-15;
43
+
44
+ &:hover {
45
+ color: $gray-700;
46
+ }
47
+ }
48
+
49
+ .edit-post-document-title__left {
50
+ min-width: $button-size;
51
+ flex-shrink: 0;
52
+
53
+ .components-button.has-icon.has-text {
54
+ color: $gray-700;
55
+ gap: 0;
56
+
57
+ &:hover {
58
+ color: currentColor;
59
+ }
60
+ }
61
+ }
@@ -26,6 +26,8 @@ import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';
26
26
  import { store as editPostStore } from '../../../store';
27
27
  import { unlock } from '../../../private-apis';
28
28
 
29
+ const { useShouldContextualToolbarShow } = unlock( blockEditorPrivateApis );
30
+
29
31
  const preventDefault = ( event ) => {
30
32
  event.preventDefault();
31
33
  };
@@ -67,8 +69,6 @@ function HeaderToolbar() {
67
69
  };
68
70
  }, [] );
69
71
 
70
- const { useShouldContextualToolbarShow } = unlock( blockEditorPrivateApis );
71
-
72
72
  const isLargeViewport = useViewportMatch( 'medium' );
73
73
  const isWideViewport = useViewportMatch( 'wide' );
74
74
  const {
@@ -1,6 +1,5 @@
1
1
  .edit-post-header-toolbar {
2
2
  display: inline-flex;
3
- flex-grow: 1;
4
3
  align-items: center;
5
4
  border: none;
6
5
 
@@ -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' );
@@ -70,7 +70,9 @@ function Header( { setEntitiesSavedStatesCallback } ) {
70
70
  className="edit-post-header__toolbar"
71
71
  >
72
72
  <HeaderToolbar />
73
- <TemplateTitle />
73
+ <div className="edit-post-header__document-title">
74
+ <DocumentTitle />
75
+ </div>
74
76
  </motion.div>
75
77
  <motion.div
76
78
  variants={ slideY }
@@ -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
  */
@@ -43,9 +43,7 @@ exports[`KeyboardShortcutHelpModal should match snapshot when the modal is activ
43
43
  </svg>
44
44
  </button>
45
45
  </div>
46
- <div
47
- class="components-modal__children-container"
48
- >
46
+ <div>
49
47
  <section
50
48
  class="edit-post-keyboard-shortcut-help-modal__section edit-post-keyboard-shortcut-help-modal__main-shortcuts"
51
49
  >
@@ -102,9 +102,7 @@ exports[`EditPostPreferencesModal should match snapshot when the modal is active
102
102
  </svg>
103
103
  </button>
104
104
  </div>
105
- <div
106
- class="components-modal__children-container"
107
- >
105
+ <div>
108
106
  <div
109
107
  class="interface-preferences__tabs"
110
108
  >
@@ -725,9 +723,7 @@ exports[`EditPostPreferencesModal should match snapshot when the modal is active
725
723
  </svg>
726
724
  </button>
727
725
  </div>
728
- <div
729
- class="components-modal__children-container"
730
- >
726
+ <div>
731
727
  <div
732
728
  class="components-navigator-provider interface-preferences__provider emotion-0 emotion-1"
733
729
  data-wp-c16t="true"
@@ -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
  }
@@ -31,12 +31,10 @@ import {
31
31
  __experimentaluseLayoutStyles as useLayoutStyles,
32
32
  } from '@wordpress/block-editor';
33
33
  import { useEffect, useRef, useMemo } from '@wordpress/element';
34
- import { Button, __unstableMotion as motion } from '@wordpress/components';
35
- import { useSelect, useDispatch } from '@wordpress/data';
34
+ import { __unstableMotion as motion } from '@wordpress/components';
35
+ import { useSelect } from '@wordpress/data';
36
36
  import { useMergeRefs } from '@wordpress/compose';
37
- import { arrowLeft } from '@wordpress/icons';
38
- import { __ } from '@wordpress/i18n';
39
- import { parse } from '@wordpress/blocks';
37
+ import { parse, store as blocksStore } from '@wordpress/blocks';
40
38
  import { store as coreStore } from '@wordpress/core-data';
41
39
 
42
40
  /**
@@ -114,6 +112,7 @@ export default function VisualEditor( { styles } ) {
114
112
  wrapperBlockName,
115
113
  wrapperUniqueId,
116
114
  isBlockBasedTheme,
115
+ hasV3BlocksOnly,
117
116
  } = useSelect( ( select ) => {
118
117
  const {
119
118
  isFeatureActive,
@@ -123,6 +122,7 @@ export default function VisualEditor( { styles } ) {
123
122
  } = select( editPostStore );
124
123
  const { getCurrentPostId, getCurrentPostType, getEditorSettings } =
125
124
  select( editorStore );
125
+ const { getBlockTypes } = select( blocksStore );
126
126
  const _isTemplateMode = isEditingTemplate();
127
127
  let _wrapperBlockName;
128
128
 
@@ -153,6 +153,9 @@ export default function VisualEditor( { styles } ) {
153
153
  wrapperBlockName: _wrapperBlockName,
154
154
  wrapperUniqueId: getCurrentPostId(),
155
155
  isBlockBasedTheme: editorSettings.__unstableIsBlockBasedTheme,
156
+ hasV3BlocksOnly: getBlockTypes().every( ( type ) => {
157
+ return type.apiVersion >= 3;
158
+ } ),
156
159
  };
157
160
  }, [] );
158
161
  const { isCleanNewPost } = useSelect( editorStore );
@@ -175,8 +178,6 @@ export default function VisualEditor( { styles } ) {
175
178
  _settings.__experimentalFeatures?.useRootPaddingAwareAlignments,
176
179
  };
177
180
  }, [] );
178
- const { clearSelectedBlock } = useDispatch( blockEditorStore );
179
- const { setIsEditingTemplate } = useDispatch( editPostStore );
180
181
  const desktopCanvasStyles = {
181
182
  height: '100%',
182
183
  width: '100%',
@@ -349,18 +350,6 @@ export default function VisualEditor( { styles } ) {
349
350
  } }
350
351
  ref={ blockSelectionClearerRef }
351
352
  >
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
353
  <motion.div
365
354
  animate={ animatedStyles }
366
355
  initial={ desktopCanvasStyles }
@@ -368,8 +357,8 @@ export default function VisualEditor( { styles } ) {
368
357
  >
369
358
  <MaybeIframe
370
359
  shouldIframe={
371
- ( isGutenbergPlugin &&
372
- isBlockBasedTheme &&
360
+ ( ( hasV3BlocksOnly ||
361
+ ( isGutenbergPlugin && isBlockBasedTheme ) ) &&
373
362
  ! hasMetaBoxes ) ||
374
363
  isTemplateMode ||
375
364
  deviceType === 'Tablet' ||