@wordpress/editor 13.31.0 → 13.33.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 (647) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +1080 -0
  3. package/build/bindings/index.js.map +1 -1
  4. package/build/bindings/pattern-overrides.js.map +1 -1
  5. package/build/bindings/post-meta.js +12 -30
  6. package/build/bindings/post-meta.js.map +1 -1
  7. package/build/components/autocompleters/index.js.map +1 -1
  8. package/build/components/autocompleters/user.js.map +1 -1
  9. package/build/components/autosave-monitor/index.js +10 -0
  10. package/build/components/autosave-monitor/index.js.map +1 -1
  11. package/build/components/block-manager/category.js.map +1 -1
  12. package/build/components/block-manager/checklist.js.map +1 -1
  13. package/build/components/block-manager/index.js.map +1 -1
  14. package/build/components/block-removal-warnings/index.js.map +1 -1
  15. package/build/components/block-settings-menu/plugin-block-settings-menu-item.js +107 -0
  16. package/build/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -0
  17. package/build/components/character-count/index.js.map +1 -1
  18. package/build/components/commands/index.js +20 -1
  19. package/build/components/commands/index.js.map +1 -1
  20. package/build/components/commands/index.native.js.map +1 -1
  21. package/build/components/deprecated.js +158 -0
  22. package/build/components/deprecated.js.map +1 -1
  23. package/build/components/deprecated.native.js.map +1 -1
  24. package/build/components/document-bar/index.js +5 -8
  25. package/build/components/document-bar/index.js.map +1 -1
  26. package/build/components/document-outline/check.js.map +1 -1
  27. package/build/components/document-outline/index.js.map +1 -1
  28. package/build/components/document-outline/item.js.map +1 -1
  29. package/build/components/document-tools/index.js +1 -1
  30. package/build/components/document-tools/index.js.map +1 -1
  31. package/build/components/editor-canvas/edit-template-blocks-notification.js +12 -38
  32. package/build/components/editor-canvas/edit-template-blocks-notification.js.map +1 -1
  33. package/build/components/editor-canvas/index.js +5 -2
  34. package/build/components/editor-canvas/index.js.map +1 -1
  35. package/build/components/editor-help/add-blocks.native.js.map +1 -1
  36. package/build/components/editor-help/customize-blocks.native.js.map +1 -1
  37. package/build/components/editor-help/help-detail-navigation-screen.native.js.map +1 -1
  38. package/build/components/editor-help/help-get-support-button.native.js.map +1 -1
  39. package/build/components/editor-help/help-section-title.native.js.map +1 -1
  40. package/build/components/editor-help/help-topic-row.native.js.map +1 -1
  41. package/build/components/editor-help/icon-move-blocks.native.js.map +1 -1
  42. package/build/components/editor-help/index.native.js.map +1 -1
  43. package/build/components/editor-help/intro-to-blocks.native.js.map +1 -1
  44. package/build/components/editor-help/move-blocks.native.js.map +1 -1
  45. package/build/components/editor-help/remove-blocks.native.js.map +1 -1
  46. package/build/components/editor-help/view-sections.native.js.map +1 -1
  47. package/build/components/editor-history/redo.js.map +1 -1
  48. package/build/components/editor-history/undo.js.map +1 -1
  49. package/build/components/editor-notices/index.js.map +1 -1
  50. package/build/components/editor-snackbars/index.js.map +1 -1
  51. package/build/components/entities-saved-states/entity-record-item.js.map +1 -1
  52. package/build/components/entities-saved-states/entity-type-list.js.map +1 -1
  53. package/build/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -1
  54. package/build/components/entities-saved-states/index.js +11 -85
  55. package/build/components/entities-saved-states/index.js.map +1 -1
  56. package/build/components/error-boundary/index.js.map +1 -1
  57. package/build/components/error-boundary/index.native.js.map +1 -1
  58. package/build/components/global-keyboard-shortcuts/index.js +24 -0
  59. package/build/components/global-keyboard-shortcuts/index.js.map +1 -1
  60. package/build/components/global-keyboard-shortcuts/register-shortcuts.js +18 -0
  61. package/build/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
  62. package/build/components/index.js +57 -1
  63. package/build/components/index.js.map +1 -1
  64. package/build/components/index.native.js.map +1 -1
  65. package/build/components/inserter-sidebar/index.js +5 -1
  66. package/build/components/inserter-sidebar/index.js.map +1 -1
  67. package/build/components/keyboard-shortcut-help-modal/config.js +78 -0
  68. package/build/components/keyboard-shortcut-help-modal/config.js.map +1 -0
  69. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +49 -0
  70. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -0
  71. package/build/components/keyboard-shortcut-help-modal/index.js +126 -0
  72. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -0
  73. package/build/components/keyboard-shortcut-help-modal/shortcut.js +55 -0
  74. package/build/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -0
  75. package/build/components/list-view-sidebar/index.js +2 -1
  76. package/build/components/list-view-sidebar/index.js.map +1 -1
  77. package/build/components/list-view-sidebar/list-view-outline.js.map +1 -1
  78. package/build/components/local-autosave-monitor/index.js.map +1 -1
  79. package/build/components/media-categories/index.js.map +1 -1
  80. package/build/components/mode-switcher/index.js.map +1 -1
  81. package/build/components/offline-status/index.native.js.map +1 -1
  82. package/build/components/page-attributes/check.js.map +1 -1
  83. package/build/components/page-attributes/order.js.map +1 -1
  84. package/build/components/page-attributes/panel.js.map +1 -1
  85. package/build/components/page-attributes/parent.js.map +1 -1
  86. package/build/components/pattern-overrides-panel/index.js +30 -0
  87. package/build/components/pattern-overrides-panel/index.js.map +1 -0
  88. package/build/components/plugin-document-setting-panel/index.js.map +1 -1
  89. package/build/components/plugin-more-menu-item/index.js +78 -0
  90. package/build/components/plugin-more-menu-item/index.js.map +1 -0
  91. package/build/components/plugin-post-publish-panel/index.js +68 -0
  92. package/build/components/plugin-post-publish-panel/index.js.map +1 -0
  93. package/build/components/plugin-post-status-info/index.js +73 -0
  94. package/build/components/plugin-post-status-info/index.js.map +1 -0
  95. package/build/components/plugin-pre-publish-panel/index.js +71 -0
  96. package/build/components/plugin-pre-publish-panel/index.js.map +1 -0
  97. package/build/components/plugin-sidebar/index.js +108 -0
  98. package/build/components/plugin-sidebar/index.js.map +1 -0
  99. package/build/components/plugin-sidebar-more-menu-item/index.js +71 -0
  100. package/build/components/plugin-sidebar-more-menu-item/index.js.map +1 -0
  101. package/build/components/post-actions/actions.js +656 -0
  102. package/build/components/post-actions/actions.js.map +1 -0
  103. package/build/components/post-actions/index.js +137 -0
  104. package/build/components/post-actions/index.js.map +1 -0
  105. package/build/components/post-author/check.js.map +1 -1
  106. package/build/components/post-author/combobox.js.map +1 -1
  107. package/build/components/post-author/constants.js.map +1 -1
  108. package/build/components/post-author/hook.js.map +1 -1
  109. package/build/components/post-author/index.js.map +1 -1
  110. package/build/components/post-author/panel.js.map +1 -1
  111. package/build/components/post-author/select.js.map +1 -1
  112. package/build/components/post-card-panel/index.js +127 -0
  113. package/build/components/post-card-panel/index.js.map +1 -0
  114. package/build/components/post-comments/index.js.map +1 -1
  115. package/build/components/post-discussion/panel.js.map +1 -1
  116. package/build/components/post-excerpt/check.js +8 -0
  117. package/build/components/post-excerpt/check.js.map +1 -1
  118. package/build/components/post-excerpt/index.js.map +1 -1
  119. package/build/components/post-excerpt/panel.js.map +1 -1
  120. package/build/components/post-excerpt/plugin.js.map +1 -1
  121. package/build/components/post-featured-image/check.js.map +1 -1
  122. package/build/components/post-featured-image/index.js.map +1 -1
  123. package/build/components/post-featured-image/panel.js.map +1 -1
  124. package/build/components/post-format/check.js.map +1 -1
  125. package/build/components/post-format/index.js.map +1 -1
  126. package/build/components/post-last-revision/check.js.map +1 -1
  127. package/build/components/post-last-revision/index.js.map +1 -1
  128. package/build/components/post-last-revision/panel.js.map +1 -1
  129. package/build/components/post-locked-modal/index.js.map +1 -1
  130. package/build/components/post-panel-row/index.js.map +1 -1
  131. package/build/components/post-pending-status/check.js.map +1 -1
  132. package/build/components/post-pending-status/index.js.map +1 -1
  133. package/build/components/post-pingbacks/index.js.map +1 -1
  134. package/build/components/post-preview-button/index.js.map +1 -1
  135. package/build/components/post-publish-button/index.js +31 -31
  136. package/build/components/post-publish-button/index.js.map +1 -1
  137. package/build/components/post-publish-button/label.js +51 -43
  138. package/build/components/post-publish-button/label.js.map +1 -1
  139. package/build/components/post-publish-panel/index.js.map +1 -1
  140. package/build/components/post-publish-panel/maybe-category-panel.js.map +1 -1
  141. package/build/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
  142. package/build/components/post-publish-panel/maybe-tags-panel.js.map +1 -1
  143. package/build/components/post-publish-panel/maybe-upload-media.js.map +1 -1
  144. package/build/components/post-publish-panel/postpublish.js.map +1 -1
  145. package/build/components/post-publish-panel/prepublish.js.map +1 -1
  146. package/build/components/post-saved-state/index.js +10 -6
  147. package/build/components/post-saved-state/index.js.map +1 -1
  148. package/build/components/post-schedule/check.js.map +1 -1
  149. package/build/components/post-schedule/index.js.map +1 -1
  150. package/build/components/post-schedule/label.js.map +1 -1
  151. package/build/components/post-schedule/panel.js +8 -0
  152. package/build/components/post-schedule/panel.js.map +1 -1
  153. package/build/components/post-slug/check.js.map +1 -1
  154. package/build/components/post-slug/index.js +43 -68
  155. package/build/components/post-slug/index.js.map +1 -1
  156. package/build/components/post-status/index.js +239 -0
  157. package/build/components/post-status/index.js.map +1 -0
  158. package/build/components/post-sticky/check.js.map +1 -1
  159. package/build/components/post-sticky/index.js.map +1 -1
  160. package/build/components/post-switch-to-draft-button/index.js +6 -1
  161. package/build/components/post-switch-to-draft-button/index.js.map +1 -1
  162. package/build/components/post-sync-status/index.js.map +1 -1
  163. package/build/components/post-taxonomies/check.js.map +1 -1
  164. package/build/components/post-taxonomies/flat-term-selector.js.map +1 -1
  165. package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  166. package/build/components/post-taxonomies/index.js.map +1 -1
  167. package/build/components/post-taxonomies/most-used-terms.js.map +1 -1
  168. package/build/components/post-taxonomies/panel.js.map +1 -1
  169. package/build/components/post-template/block-theme.js +6 -2
  170. package/build/components/post-template/block-theme.js.map +1 -1
  171. package/build/components/post-template/classic-theme.js.map +1 -1
  172. package/build/components/post-template/create-new-template-modal.js.map +1 -1
  173. package/build/components/post-template/create-new-template.js.map +1 -1
  174. package/build/components/post-template/hooks.js.map +1 -1
  175. package/build/components/post-template/panel.js.map +1 -1
  176. package/build/components/post-template/reset-default-template.js.map +1 -1
  177. package/build/components/post-template/swap-template-button.js.map +1 -1
  178. package/build/components/post-text-editor/index.js.map +1 -1
  179. package/build/components/post-title/constants.js.map +1 -1
  180. package/build/components/post-title/index.js.map +1 -1
  181. package/build/components/post-title/index.native.js +1 -1
  182. package/build/components/post-title/index.native.js.map +1 -1
  183. package/build/components/post-title/post-title-raw.js.map +1 -1
  184. package/build/components/post-title/use-post-title-focus.js.map +1 -1
  185. package/build/components/post-title/use-post-title.js.map +1 -1
  186. package/build/components/post-trash/check.js +23 -25
  187. package/build/components/post-trash/check.js.map +1 -1
  188. package/build/components/post-trash/index.js +2 -1
  189. package/build/components/post-trash/index.js.map +1 -1
  190. package/build/components/post-type-support-check/index.js.map +1 -1
  191. package/build/components/post-url/check.js.map +1 -1
  192. package/build/components/post-url/index.js +44 -19
  193. package/build/components/post-url/index.js.map +1 -1
  194. package/build/components/post-url/label.js.map +1 -1
  195. package/build/components/post-url/panel.js +14 -7
  196. package/build/components/post-url/panel.js.map +1 -1
  197. package/build/components/post-view-link/index.js.map +1 -1
  198. package/build/components/post-visibility/check.js.map +1 -1
  199. package/build/components/post-visibility/index.js +2 -1
  200. package/build/components/post-visibility/index.js.map +1 -1
  201. package/build/components/post-visibility/label.js.map +1 -1
  202. package/build/components/post-visibility/utils.js.map +1 -1
  203. package/build/components/preferences-modal/enable-panel.js.map +1 -1
  204. package/build/components/preferences-modal/enable-plugin-document-setting-panel.js.map +1 -1
  205. package/build/components/preferences-modal/index.js +19 -17
  206. package/build/components/preferences-modal/index.js.map +1 -1
  207. package/build/components/preview-dropdown/index.js.map +1 -1
  208. package/build/components/provider/disable-non-page-content-blocks.js +36 -20
  209. package/build/components/provider/disable-non-page-content-blocks.js.map +1 -1
  210. package/build/components/provider/index.js +4 -2
  211. package/build/components/provider/index.js.map +1 -1
  212. package/build/components/provider/index.native.js +6 -1
  213. package/build/components/provider/index.native.js.map +1 -1
  214. package/build/components/provider/navigation-block-editing-mode.js.map +1 -1
  215. package/build/components/provider/use-auto-switch-editor-sidebars.js +52 -0
  216. package/build/components/provider/use-auto-switch-editor-sidebars.js.map +1 -0
  217. package/build/components/provider/use-block-editor-settings.js +70 -50
  218. package/build/components/provider/use-block-editor-settings.js.map +1 -1
  219. package/build/components/provider/use-block-editor-settings.native.js.map +1 -1
  220. package/build/components/provider/use-hide-blocks-from-inserter.js.map +1 -1
  221. package/build/components/provider/with-registry-provider.js +1 -0
  222. package/build/components/provider/with-registry-provider.js.map +1 -1
  223. package/build/components/start-page-options/index.js +139 -0
  224. package/build/components/start-page-options/index.js.map +1 -0
  225. package/build/components/table-of-contents/index.js.map +1 -1
  226. package/build/components/table-of-contents/panel.js.map +1 -1
  227. package/build/components/template-areas/index.js +70 -0
  228. package/build/components/template-areas/index.js.map +1 -0
  229. package/build/components/template-validation-notice/index.js +23 -29
  230. package/build/components/template-validation-notice/index.js.map +1 -1
  231. package/build/components/theme-support-check/index.js +10 -16
  232. package/build/components/theme-support-check/index.js.map +1 -1
  233. package/build/components/time-to-read/index.js.map +1 -1
  234. package/build/components/unsaved-changes-warning/index.js.map +1 -1
  235. package/build/components/word-count/index.js.map +1 -1
  236. package/build/hooks/custom-sources-backwards-compatibility.js.map +1 -1
  237. package/build/hooks/default-autocompleters.js.map +1 -1
  238. package/build/hooks/index.js.map +1 -1
  239. package/build/hooks/index.native.js.map +1 -1
  240. package/build/hooks/pattern-overrides.js +22 -10
  241. package/build/hooks/pattern-overrides.js.map +1 -1
  242. package/build/hooks/use-select-nearest-editable-block.js +87 -0
  243. package/build/hooks/use-select-nearest-editable-block.js.map +1 -0
  244. package/build/index.js.map +1 -1
  245. package/build/index.native.js.map +1 -1
  246. package/build/lock-unlock.js.map +1 -1
  247. package/build/private-apis.js +26 -1
  248. package/build/private-apis.js.map +1 -1
  249. package/build/store/actions.js +46 -6
  250. package/build/store/actions.js.map +1 -1
  251. package/build/store/actions.native.js.map +1 -1
  252. package/build/store/constants.js +10 -1
  253. package/build/store/constants.js.map +1 -1
  254. package/build/store/defaults.js.map +1 -1
  255. package/build/store/index.js +1 -1
  256. package/build/store/index.js.map +1 -1
  257. package/build/store/local-autosave.js.map +1 -1
  258. package/build/store/private-actions.js +253 -1
  259. package/build/store/private-actions.js.map +1 -1
  260. package/build/store/private-selectors.js +50 -3
  261. package/build/store/private-selectors.js.map +1 -1
  262. package/build/store/reducer.js +14 -1
  263. package/build/store/reducer.js.map +1 -1
  264. package/build/store/reducer.native.js.map +1 -1
  265. package/build/store/selectors.js +25 -20
  266. package/build/store/selectors.js.map +1 -1
  267. package/build/store/selectors.native.js.map +1 -1
  268. package/build/store/utils/get-filtered-template-parts.js +71 -0
  269. package/build/store/utils/get-filtered-template-parts.js.map +1 -0
  270. package/build/store/utils/is-template-revertable.js +28 -0
  271. package/build/store/utils/is-template-revertable.js.map +1 -0
  272. package/build/store/utils/notice-builder.js.map +1 -1
  273. package/build/utils/get-template-part-icon.js.map +1 -1
  274. package/build/utils/index.js.map +1 -1
  275. package/build/utils/index.native.js.map +1 -1
  276. package/build/utils/media-upload/index.js.map +1 -1
  277. package/build/utils/media-upload/index.native.js.map +1 -1
  278. package/build/utils/terms.js.map +1 -1
  279. package/build/utils/url.js.map +1 -1
  280. package/build-module/bindings/index.js.map +1 -1
  281. package/build-module/bindings/pattern-overrides.js.map +1 -1
  282. package/build-module/bindings/post-meta.js +14 -31
  283. package/build-module/bindings/post-meta.js.map +1 -1
  284. package/build-module/components/autocompleters/index.js.map +1 -1
  285. package/build-module/components/autocompleters/user.js.map +1 -1
  286. package/build-module/components/autosave-monitor/index.js +10 -0
  287. package/build-module/components/autosave-monitor/index.js.map +1 -1
  288. package/build-module/components/block-manager/category.js.map +1 -1
  289. package/build-module/components/block-manager/checklist.js.map +1 -1
  290. package/build-module/components/block-manager/index.js.map +1 -1
  291. package/build-module/components/block-removal-warnings/index.js.map +1 -1
  292. package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js +100 -0
  293. package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -0
  294. package/build-module/components/character-count/index.js.map +1 -1
  295. package/build-module/components/commands/index.js +21 -2
  296. package/build-module/components/commands/index.js.map +1 -1
  297. package/build-module/components/commands/index.native.js.map +1 -1
  298. package/build-module/components/deprecated.js +159 -0
  299. package/build-module/components/deprecated.js.map +1 -1
  300. package/build-module/components/deprecated.native.js.map +1 -1
  301. package/build-module/components/document-bar/index.js +6 -9
  302. package/build-module/components/document-bar/index.js.map +1 -1
  303. package/build-module/components/document-outline/check.js.map +1 -1
  304. package/build-module/components/document-outline/index.js.map +1 -1
  305. package/build-module/components/document-outline/item.js.map +1 -1
  306. package/build-module/components/document-tools/index.js +1 -1
  307. package/build-module/components/document-tools/index.js.map +1 -1
  308. package/build-module/components/editor-canvas/edit-template-blocks-notification.js +14 -40
  309. package/build-module/components/editor-canvas/edit-template-blocks-notification.js.map +1 -1
  310. package/build-module/components/editor-canvas/index.js +5 -2
  311. package/build-module/components/editor-canvas/index.js.map +1 -1
  312. package/build-module/components/editor-help/add-blocks.native.js.map +1 -1
  313. package/build-module/components/editor-help/customize-blocks.native.js.map +1 -1
  314. package/build-module/components/editor-help/help-detail-navigation-screen.native.js.map +1 -1
  315. package/build-module/components/editor-help/help-get-support-button.native.js.map +1 -1
  316. package/build-module/components/editor-help/help-section-title.native.js.map +1 -1
  317. package/build-module/components/editor-help/help-topic-row.native.js.map +1 -1
  318. package/build-module/components/editor-help/icon-move-blocks.native.js.map +1 -1
  319. package/build-module/components/editor-help/index.native.js.map +1 -1
  320. package/build-module/components/editor-help/intro-to-blocks.native.js.map +1 -1
  321. package/build-module/components/editor-help/move-blocks.native.js.map +1 -1
  322. package/build-module/components/editor-help/remove-blocks.native.js.map +1 -1
  323. package/build-module/components/editor-help/view-sections.native.js.map +1 -1
  324. package/build-module/components/editor-history/redo.js.map +1 -1
  325. package/build-module/components/editor-history/undo.js.map +1 -1
  326. package/build-module/components/editor-notices/index.js.map +1 -1
  327. package/build-module/components/editor-snackbars/index.js.map +1 -1
  328. package/build-module/components/entities-saved-states/entity-record-item.js.map +1 -1
  329. package/build-module/components/entities-saved-states/entity-type-list.js.map +1 -1
  330. package/build-module/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -1
  331. package/build-module/components/entities-saved-states/index.js +11 -85
  332. package/build-module/components/entities-saved-states/index.js.map +1 -1
  333. package/build-module/components/error-boundary/index.js.map +1 -1
  334. package/build-module/components/error-boundary/index.native.js.map +1 -1
  335. package/build-module/components/global-keyboard-shortcuts/index.js +24 -0
  336. package/build-module/components/global-keyboard-shortcuts/index.js.map +1 -1
  337. package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js +18 -0
  338. package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
  339. package/build-module/components/index.js +7 -0
  340. package/build-module/components/index.js.map +1 -1
  341. package/build-module/components/index.native.js.map +1 -1
  342. package/build-module/components/inserter-sidebar/index.js +5 -1
  343. package/build-module/components/inserter-sidebar/index.js.map +1 -1
  344. package/build-module/components/keyboard-shortcut-help-modal/config.js +71 -0
  345. package/build-module/components/keyboard-shortcut-help-modal/config.js.map +1 -0
  346. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +41 -0
  347. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -0
  348. package/build-module/components/keyboard-shortcut-help-modal/index.js +118 -0
  349. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -0
  350. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +48 -0
  351. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -0
  352. package/build-module/components/list-view-sidebar/index.js +2 -1
  353. package/build-module/components/list-view-sidebar/index.js.map +1 -1
  354. package/build-module/components/list-view-sidebar/list-view-outline.js.map +1 -1
  355. package/build-module/components/local-autosave-monitor/index.js.map +1 -1
  356. package/build-module/components/media-categories/index.js.map +1 -1
  357. package/build-module/components/mode-switcher/index.js.map +1 -1
  358. package/build-module/components/offline-status/index.native.js.map +1 -1
  359. package/build-module/components/page-attributes/check.js.map +1 -1
  360. package/build-module/components/page-attributes/order.js.map +1 -1
  361. package/build-module/components/page-attributes/panel.js.map +1 -1
  362. package/build-module/components/page-attributes/parent.js.map +1 -1
  363. package/build-module/components/pattern-overrides-panel/index.js +23 -0
  364. package/build-module/components/pattern-overrides-panel/index.js.map +1 -0
  365. package/build-module/components/plugin-document-setting-panel/index.js.map +1 -1
  366. package/build-module/components/plugin-more-menu-item/index.js +73 -0
  367. package/build-module/components/plugin-more-menu-item/index.js.map +1 -0
  368. package/build-module/components/plugin-post-publish-panel/index.js +61 -0
  369. package/build-module/components/plugin-post-publish-panel/index.js.map +1 -0
  370. package/build-module/components/plugin-post-status-info/index.js +66 -0
  371. package/build-module/components/plugin-post-status-info/index.js.map +1 -0
  372. package/build-module/components/plugin-pre-publish-panel/index.js +64 -0
  373. package/build-module/components/plugin-pre-publish-panel/index.js.map +1 -0
  374. package/build-module/components/plugin-sidebar/index.js +102 -0
  375. package/build-module/components/plugin-sidebar/index.js.map +1 -0
  376. package/build-module/components/plugin-sidebar-more-menu-item/index.js +65 -0
  377. package/build-module/components/plugin-sidebar-more-menu-item/index.js.map +1 -0
  378. package/build-module/components/post-actions/actions.js +648 -0
  379. package/build-module/components/post-actions/actions.js.map +1 -0
  380. package/build-module/components/post-actions/index.js +130 -0
  381. package/build-module/components/post-actions/index.js.map +1 -0
  382. package/build-module/components/post-author/check.js.map +1 -1
  383. package/build-module/components/post-author/combobox.js.map +1 -1
  384. package/build-module/components/post-author/constants.js.map +1 -1
  385. package/build-module/components/post-author/hook.js.map +1 -1
  386. package/build-module/components/post-author/index.js.map +1 -1
  387. package/build-module/components/post-author/panel.js.map +1 -1
  388. package/build-module/components/post-author/select.js.map +1 -1
  389. package/build-module/components/post-card-panel/index.js +119 -0
  390. package/build-module/components/post-card-panel/index.js.map +1 -0
  391. package/build-module/components/post-comments/index.js.map +1 -1
  392. package/build-module/components/post-discussion/panel.js.map +1 -1
  393. package/build-module/components/post-excerpt/check.js +9 -0
  394. package/build-module/components/post-excerpt/check.js.map +1 -1
  395. package/build-module/components/post-excerpt/index.js.map +1 -1
  396. package/build-module/components/post-excerpt/panel.js.map +1 -1
  397. package/build-module/components/post-excerpt/plugin.js.map +1 -1
  398. package/build-module/components/post-featured-image/check.js.map +1 -1
  399. package/build-module/components/post-featured-image/index.js.map +1 -1
  400. package/build-module/components/post-featured-image/panel.js.map +1 -1
  401. package/build-module/components/post-format/check.js.map +1 -1
  402. package/build-module/components/post-format/index.js.map +1 -1
  403. package/build-module/components/post-last-revision/check.js.map +1 -1
  404. package/build-module/components/post-last-revision/index.js.map +1 -1
  405. package/build-module/components/post-last-revision/panel.js.map +1 -1
  406. package/build-module/components/post-locked-modal/index.js.map +1 -1
  407. package/build-module/components/post-panel-row/index.js.map +1 -1
  408. package/build-module/components/post-pending-status/check.js.map +1 -1
  409. package/build-module/components/post-pending-status/index.js.map +1 -1
  410. package/build-module/components/post-pingbacks/index.js.map +1 -1
  411. package/build-module/components/post-preview-button/index.js.map +1 -1
  412. package/build-module/components/post-publish-button/index.js +31 -31
  413. package/build-module/components/post-publish-button/index.js.map +1 -1
  414. package/build-module/components/post-publish-button/label.js +51 -42
  415. package/build-module/components/post-publish-button/label.js.map +1 -1
  416. package/build-module/components/post-publish-panel/index.js.map +1 -1
  417. package/build-module/components/post-publish-panel/maybe-category-panel.js.map +1 -1
  418. package/build-module/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
  419. package/build-module/components/post-publish-panel/maybe-tags-panel.js.map +1 -1
  420. package/build-module/components/post-publish-panel/maybe-upload-media.js.map +1 -1
  421. package/build-module/components/post-publish-panel/postpublish.js.map +1 -1
  422. package/build-module/components/post-publish-panel/prepublish.js.map +1 -1
  423. package/build-module/components/post-saved-state/index.js +10 -6
  424. package/build-module/components/post-saved-state/index.js.map +1 -1
  425. package/build-module/components/post-schedule/check.js.map +1 -1
  426. package/build-module/components/post-schedule/index.js.map +1 -1
  427. package/build-module/components/post-schedule/label.js.map +1 -1
  428. package/build-module/components/post-schedule/panel.js +8 -0
  429. package/build-module/components/post-schedule/panel.js.map +1 -1
  430. package/build-module/components/post-slug/check.js.map +1 -1
  431. package/build-module/components/post-slug/index.js +44 -68
  432. package/build-module/components/post-slug/index.js.map +1 -1
  433. package/build-module/components/post-status/index.js +231 -0
  434. package/build-module/components/post-status/index.js.map +1 -0
  435. package/build-module/components/post-sticky/check.js.map +1 -1
  436. package/build-module/components/post-sticky/index.js.map +1 -1
  437. package/build-module/components/post-switch-to-draft-button/index.js +7 -1
  438. package/build-module/components/post-switch-to-draft-button/index.js.map +1 -1
  439. package/build-module/components/post-sync-status/index.js.map +1 -1
  440. package/build-module/components/post-taxonomies/check.js.map +1 -1
  441. package/build-module/components/post-taxonomies/flat-term-selector.js.map +1 -1
  442. package/build-module/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  443. package/build-module/components/post-taxonomies/index.js.map +1 -1
  444. package/build-module/components/post-taxonomies/most-used-terms.js.map +1 -1
  445. package/build-module/components/post-taxonomies/panel.js.map +1 -1
  446. package/build-module/components/post-template/block-theme.js +7 -3
  447. package/build-module/components/post-template/block-theme.js.map +1 -1
  448. package/build-module/components/post-template/classic-theme.js.map +1 -1
  449. package/build-module/components/post-template/create-new-template-modal.js.map +1 -1
  450. package/build-module/components/post-template/create-new-template.js.map +1 -1
  451. package/build-module/components/post-template/hooks.js.map +1 -1
  452. package/build-module/components/post-template/panel.js.map +1 -1
  453. package/build-module/components/post-template/reset-default-template.js.map +1 -1
  454. package/build-module/components/post-template/swap-template-button.js.map +1 -1
  455. package/build-module/components/post-text-editor/index.js.map +1 -1
  456. package/build-module/components/post-title/constants.js.map +1 -1
  457. package/build-module/components/post-title/index.js.map +1 -1
  458. package/build-module/components/post-title/index.native.js +1 -1
  459. package/build-module/components/post-title/index.native.js.map +1 -1
  460. package/build-module/components/post-title/post-title-raw.js.map +1 -1
  461. package/build-module/components/post-title/use-post-title-focus.js.map +1 -1
  462. package/build-module/components/post-title/use-post-title.js.map +1 -1
  463. package/build-module/components/post-trash/check.js +24 -26
  464. package/build-module/components/post-trash/check.js.map +1 -1
  465. package/build-module/components/post-trash/index.js +2 -1
  466. package/build-module/components/post-trash/index.js.map +1 -1
  467. package/build-module/components/post-type-support-check/index.js.map +1 -1
  468. package/build-module/components/post-url/check.js.map +1 -1
  469. package/build-module/components/post-url/index.js +46 -21
  470. package/build-module/components/post-url/index.js.map +1 -1
  471. package/build-module/components/post-url/label.js.map +1 -1
  472. package/build-module/components/post-url/panel.js +14 -7
  473. package/build-module/components/post-url/panel.js.map +1 -1
  474. package/build-module/components/post-view-link/index.js.map +1 -1
  475. package/build-module/components/post-visibility/check.js.map +1 -1
  476. package/build-module/components/post-visibility/index.js +2 -1
  477. package/build-module/components/post-visibility/index.js.map +1 -1
  478. package/build-module/components/post-visibility/label.js.map +1 -1
  479. package/build-module/components/post-visibility/utils.js.map +1 -1
  480. package/build-module/components/preferences-modal/enable-panel.js.map +1 -1
  481. package/build-module/components/preferences-modal/enable-plugin-document-setting-panel.js.map +1 -1
  482. package/build-module/components/preferences-modal/index.js +19 -17
  483. package/build-module/components/preferences-modal/index.js.map +1 -1
  484. package/build-module/components/preview-dropdown/index.js.map +1 -1
  485. package/build-module/components/provider/disable-non-page-content-blocks.js +36 -20
  486. package/build-module/components/provider/disable-non-page-content-blocks.js.map +1 -1
  487. package/build-module/components/provider/index.js +5 -3
  488. package/build-module/components/provider/index.js.map +1 -1
  489. package/build-module/components/provider/index.native.js.map +1 -1
  490. package/build-module/components/provider/navigation-block-editing-mode.js.map +1 -1
  491. package/build-module/components/provider/use-auto-switch-editor-sidebars.js +46 -0
  492. package/build-module/components/provider/use-auto-switch-editor-sidebars.js.map +1 -0
  493. package/build-module/components/provider/use-block-editor-settings.js +73 -53
  494. package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
  495. package/build-module/components/provider/use-block-editor-settings.native.js.map +1 -1
  496. package/build-module/components/provider/use-hide-blocks-from-inserter.js.map +1 -1
  497. package/build-module/components/provider/with-registry-provider.js +1 -0
  498. package/build-module/components/provider/with-registry-provider.js.map +1 -1
  499. package/build-module/components/start-page-options/index.js +132 -0
  500. package/build-module/components/start-page-options/index.js.map +1 -0
  501. package/build-module/components/table-of-contents/index.js.map +1 -1
  502. package/build-module/components/table-of-contents/panel.js.map +1 -1
  503. package/build-module/components/template-areas/index.js +63 -0
  504. package/build-module/components/template-areas/index.js.map +1 -0
  505. package/build-module/components/template-validation-notice/index.js +25 -31
  506. package/build-module/components/template-validation-notice/index.js.map +1 -1
  507. package/build-module/components/theme-support-check/index.js +11 -16
  508. package/build-module/components/theme-support-check/index.js.map +1 -1
  509. package/build-module/components/time-to-read/index.js.map +1 -1
  510. package/build-module/components/unsaved-changes-warning/index.js.map +1 -1
  511. package/build-module/components/word-count/index.js.map +1 -1
  512. package/build-module/hooks/custom-sources-backwards-compatibility.js.map +1 -1
  513. package/build-module/hooks/default-autocompleters.js.map +1 -1
  514. package/build-module/hooks/index.js.map +1 -1
  515. package/build-module/hooks/index.native.js.map +1 -1
  516. package/build-module/hooks/pattern-overrides.js +22 -10
  517. package/build-module/hooks/pattern-overrides.js.map +1 -1
  518. package/build-module/hooks/use-select-nearest-editable-block.js +80 -0
  519. package/build-module/hooks/use-select-nearest-editable-block.js.map +1 -0
  520. package/build-module/index.js.map +1 -1
  521. package/build-module/index.native.js.map +1 -1
  522. package/build-module/lock-unlock.js.map +1 -1
  523. package/build-module/private-apis.js +24 -1
  524. package/build-module/private-apis.js.map +1 -1
  525. package/build-module/store/actions.js +37 -3
  526. package/build-module/store/actions.js.map +1 -1
  527. package/build-module/store/actions.native.js.map +1 -1
  528. package/build-module/store/constants.js +9 -0
  529. package/build-module/store/constants.js.map +1 -1
  530. package/build-module/store/defaults.js.map +1 -1
  531. package/build-module/store/index.js.map +1 -1
  532. package/build-module/store/local-autosave.js.map +1 -1
  533. package/build-module/store/private-actions.js +249 -1
  534. package/build-module/store/private-actions.js.map +1 -1
  535. package/build-module/store/private-selectors.js +50 -4
  536. package/build-module/store/private-selectors.js.map +1 -1
  537. package/build-module/store/reducer.js +13 -1
  538. package/build-module/store/reducer.js.map +1 -1
  539. package/build-module/store/reducer.native.js.map +1 -1
  540. package/build-module/store/selectors.js +20 -16
  541. package/build-module/store/selectors.js.map +1 -1
  542. package/build-module/store/selectors.native.js.map +1 -1
  543. package/build-module/store/utils/get-filtered-template-parts.js +64 -0
  544. package/build-module/store/utils/get-filtered-template-parts.js.map +1 -0
  545. package/build-module/store/utils/is-template-revertable.js +22 -0
  546. package/build-module/store/utils/is-template-revertable.js.map +1 -0
  547. package/build-module/store/utils/notice-builder.js.map +1 -1
  548. package/build-module/utils/get-template-part-icon.js.map +1 -1
  549. package/build-module/utils/index.js.map +1 -1
  550. package/build-module/utils/index.native.js.map +1 -1
  551. package/build-module/utils/media-upload/index.js.map +1 -1
  552. package/build-module/utils/media-upload/index.native.js.map +1 -1
  553. package/build-module/utils/terms.js.map +1 -1
  554. package/build-module/utils/url.js.map +1 -1
  555. package/build-style/style-rtl.css +565 -49
  556. package/build-style/style.css +565 -49
  557. package/package.json +36 -36
  558. package/src/bindings/post-meta.js +11 -27
  559. package/src/components/autosave-monitor/index.js +9 -0
  560. package/src/components/block-settings-menu/plugin-block-settings-menu-item.js +108 -0
  561. package/src/components/commands/index.js +21 -2
  562. package/src/components/deprecated.js +157 -0
  563. package/src/components/document-bar/index.js +9 -15
  564. package/src/components/document-bar/style.scss +9 -12
  565. package/src/components/document-tools/index.js +16 -14
  566. package/src/components/document-tools/style.scss +4 -11
  567. package/src/components/editor-canvas/edit-template-blocks-notification.js +17 -53
  568. package/src/components/editor-canvas/index.js +8 -4
  569. package/src/components/entities-saved-states/index.js +12 -113
  570. package/src/components/error-boundary/style.native.scss +1 -1
  571. package/src/components/global-keyboard-shortcuts/index.js +25 -0
  572. package/src/components/global-keyboard-shortcuts/register-shortcuts.js +20 -0
  573. package/src/components/index.js +7 -0
  574. package/src/components/inserter-sidebar/index.js +7 -1
  575. package/src/components/keyboard-shortcut-help-modal/config.js +53 -0
  576. package/src/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +43 -0
  577. package/src/components/keyboard-shortcut-help-modal/index.js +160 -0
  578. package/src/components/keyboard-shortcut-help-modal/shortcut.js +67 -0
  579. package/src/components/keyboard-shortcut-help-modal/style.scss +61 -0
  580. package/src/components/list-view-sidebar/index.js +1 -0
  581. package/src/components/list-view-sidebar/style.scss +1 -1
  582. package/src/components/pattern-overrides-panel/index.js +26 -0
  583. package/src/components/plugin-more-menu-item/index.js +73 -0
  584. package/src/components/plugin-post-publish-panel/index.js +64 -0
  585. package/src/components/plugin-post-publish-panel/test/__snapshots__/index.js.snap +39 -0
  586. package/src/components/plugin-post-publish-panel/test/index.js +33 -0
  587. package/src/components/plugin-post-status-info/index.js +63 -0
  588. package/src/components/plugin-pre-publish-panel/index.js +67 -0
  589. package/src/components/plugin-pre-publish-panel/test/index.js +33 -0
  590. package/src/components/plugin-sidebar/index.js +98 -0
  591. package/src/components/plugin-sidebar-more-menu-item/index.js +64 -0
  592. package/src/components/post-actions/actions.js +862 -0
  593. package/src/components/post-actions/index.js +156 -0
  594. package/src/components/post-actions/style.scss +3 -0
  595. package/src/components/post-card-panel/index.js +168 -0
  596. package/src/components/post-card-panel/style.scss +32 -0
  597. package/src/components/post-excerpt/check.js +8 -0
  598. package/src/components/post-featured-image/style.scss +3 -2
  599. package/src/components/post-publish-button/index.js +23 -36
  600. package/src/components/post-publish-button/label.js +54 -39
  601. package/src/components/post-publish-button/test/index.js +15 -26
  602. package/src/components/post-publish-button/test/label.js +44 -21
  603. package/src/components/post-saved-state/index.js +13 -6
  604. package/src/components/post-saved-state/test/index.js +4 -0
  605. package/src/components/post-schedule/panel.js +22 -0
  606. package/src/components/post-slug/index.js +50 -68
  607. package/src/components/post-slug/test/index.js +29 -6
  608. package/src/components/post-status/index.js +310 -0
  609. package/src/components/post-status/style.scss +75 -0
  610. package/src/components/post-switch-to-draft-button/index.js +5 -0
  611. package/src/components/post-template/block-theme.js +31 -22
  612. package/src/components/post-title/index.native.js +1 -1
  613. package/src/components/post-trash/check.js +19 -19
  614. package/src/components/post-trash/index.js +1 -0
  615. package/src/components/post-url/index.js +131 -101
  616. package/src/components/post-url/panel.js +20 -7
  617. package/src/components/post-url/style.scss +8 -6
  618. package/src/components/post-visibility/index.js +1 -0
  619. package/src/components/preferences-modal/index.js +26 -22
  620. package/src/components/provider/disable-non-page-content-blocks.js +40 -20
  621. package/src/components/provider/index.js +17 -8
  622. package/src/components/provider/use-auto-switch-editor-sidebars.js +49 -0
  623. package/src/components/provider/use-block-editor-settings.js +70 -44
  624. package/src/components/provider/with-registry-provider.js +1 -0
  625. package/src/components/start-page-options/index.js +135 -0
  626. package/src/components/start-page-options/style.scss +26 -0
  627. package/src/components/template-areas/index.js +85 -0
  628. package/src/components/template-areas/style.scss +23 -0
  629. package/src/components/template-validation-notice/index.js +48 -50
  630. package/src/components/theme-support-check/index.js +9 -16
  631. package/src/components/theme-support-check/test/index.js +44 -43
  632. package/src/hooks/pattern-overrides.js +25 -14
  633. package/src/hooks/use-select-nearest-editable-block.js +95 -0
  634. package/src/private-apis.js +21 -0
  635. package/src/store/actions.js +37 -3
  636. package/src/store/constants.js +9 -0
  637. package/src/store/private-actions.js +377 -1
  638. package/src/store/private-selectors.js +101 -18
  639. package/src/store/reducer.js +13 -0
  640. package/src/store/selectors.js +51 -46
  641. package/src/store/utils/get-filtered-template-parts.js +69 -0
  642. package/src/store/utils/is-template-revertable.js +23 -0
  643. package/src/store/utils/test/get-filtered-template-parts.js +189 -0
  644. package/src/style.scss +8 -2
  645. package/src/components/post-publish-button/style.scss +0 -8
  646. package/src/components/provider/test/disable-non-page-content-blocks.js +0 -90
  647. package/src/components/template-validation-notice/style.scss +0 -9
@@ -15,13 +15,7 @@ import {
15
15
  __unstableAnimatePresence as AnimatePresence,
16
16
  } from '@wordpress/components';
17
17
  import { BlockIcon } from '@wordpress/block-editor';
18
- import {
19
- chevronLeftSmall,
20
- chevronRightSmall,
21
- page as pageIcon,
22
- navigation as navigationIcon,
23
- symbol,
24
- } from '@wordpress/icons';
18
+ import { chevronLeftSmall, chevronRightSmall } from '@wordpress/icons';
25
19
  import { displayShortcut } from '@wordpress/keycodes';
26
20
  import { store as coreStore } from '@wordpress/core-data';
27
21
  import { store as commandsStore } from '@wordpress/commands';
@@ -32,6 +26,7 @@ import { useReducedMotion } from '@wordpress/compose';
32
26
  * Internal dependencies
33
27
  */
34
28
  import { store as editorStore } from '../../store';
29
+ import { unlock } from '../../lock-unlock';
35
30
 
36
31
  const TYPE_LABELS = {
37
32
  // translators: 1: Pattern title.
@@ -44,11 +39,6 @@ const TYPE_LABELS = {
44
39
  wp_template_part: __( 'Editing template part: %s' ),
45
40
  };
46
41
 
47
- const ICONS = {
48
- wp_block: symbol,
49
- wp_navigation: navigationIcon,
50
- };
51
-
52
42
  const TEMPLATE_POST_TYPES = [ 'wp_template', 'wp_template_part' ];
53
43
 
54
44
  const GLOBAL_POST_TYPES = [
@@ -93,7 +83,12 @@ export default function DocumentBar() {
93
83
  _postType,
94
84
  _postId
95
85
  ),
96
- templateIcon: _templateInfo.icon,
86
+ templateIcon: unlock( select( editorStore ) ).getPostIcon(
87
+ _postType,
88
+ {
89
+ area: _document?.area,
90
+ }
91
+ ),
97
92
  templateTitle: _templateInfo.title,
98
93
  onNavigateToPreviousEntityRecord:
99
94
  getEditorSettings().onNavigateToPreviousEntityRecord,
@@ -104,7 +99,6 @@ export default function DocumentBar() {
104
99
  const isReducedMotion = useReducedMotion();
105
100
 
106
101
  const isNotFound = ! document && ! isResolving;
107
- const icon = ICONS[ postType ] ?? pageIcon;
108
102
  const isTemplate = TEMPLATE_POST_TYPES.includes( postType );
109
103
  const isGlobalEntity = GLOBAL_POST_TYPES.includes( postType );
110
104
  const hasBackButton = !! onNavigateToPreviousEntityRecord;
@@ -177,7 +171,7 @@ export default function DocumentBar() {
177
171
  isReducedMotion ? { duration: 0 } : undefined
178
172
  }
179
173
  >
180
- <BlockIcon icon={ isTemplate ? templateIcon : icon } />
174
+ <BlockIcon icon={ templateIcon } />
181
175
  <Text
182
176
  size="body"
183
177
  as="h1"
@@ -10,7 +10,7 @@
10
10
  min-width: 0;
11
11
  background: $gray-100;
12
12
  border-radius: $grid-unit-05;
13
- width: min(100%, 450px);
13
+ width: min(100%, 416px);
14
14
 
15
15
  &:hover {
16
16
  background-color: $gray-200;
@@ -18,9 +18,10 @@
18
18
 
19
19
  .components-button {
20
20
  border-radius: $grid-unit-05;
21
+ transition: all 0.1s ease-out;
22
+ @include reduce-motion("transition");
21
23
 
22
24
  &:hover {
23
- color: var(--wp-block-synced-color);
24
25
  background: $gray-200;
25
26
  }
26
27
  }
@@ -39,19 +40,15 @@
39
40
  .editor-document-bar__title {
40
41
  flex-grow: 1;
41
42
  overflow: hidden;
42
- color: $gray-800;
43
+ color: $gray-900;
43
44
  gap: $grid-unit-05;
44
45
  display: flex;
45
46
  justify-content: center;
46
47
  align-items: center;
47
48
 
48
49
  // Offset the layout based on the width of the ⌘K label. This ensures the title is centrally aligned.
49
- @include break-small() {
50
- padding-left: $grid-unit-40;
51
- }
52
-
53
- &:hover {
54
- color: var(--wp-block-synced-color);
50
+ @include break-medium() {
51
+ padding-left: $grid-unit-30;
55
52
  }
56
53
 
57
54
  .editor-document-bar.is-global & {
@@ -67,14 +64,14 @@
67
64
  white-space: nowrap;
68
65
  overflow: hidden;
69
66
  text-overflow: ellipsis;
70
- max-width: 50%;
67
+ max-width: 70%;
71
68
  color: currentColor;
72
69
  }
73
70
  }
74
71
 
75
72
  .editor-document-bar__shortcut {
76
73
  color: $gray-800;
77
- min-width: $grid-unit-40;
74
+ min-width: $grid-unit-30;
78
75
  display: none;
79
76
 
80
77
  @include break-medium() {
@@ -91,7 +88,7 @@
91
88
  position: absolute;
92
89
 
93
90
  &:hover {
94
- color: var(--wp-block-synced-color);
91
+ color: $gray-900;
95
92
  background-color: transparent;
96
93
  }
97
94
  }
@@ -121,20 +121,22 @@ function DocumentTools( {
121
121
  variant="unstyled"
122
122
  >
123
123
  <div className="editor-document-tools__left">
124
- <ToolbarItem
125
- ref={ inserterButton }
126
- as={ Button }
127
- className="editor-document-tools__inserter-toggle"
128
- variant="primary"
129
- isPressed={ isInserterOpened }
130
- onMouseDown={ preventDefault }
131
- onClick={ toggleInserter }
132
- disabled={ disableBlockTools }
133
- icon={ plus }
134
- label={ showIconLabels ? shortLabel : longLabel }
135
- showTooltip={ ! showIconLabels }
136
- aria-expanded={ isInserterOpened }
137
- />
124
+ { ! isDistractionFree && (
125
+ <ToolbarItem
126
+ ref={ inserterButton }
127
+ as={ Button }
128
+ className="editor-document-tools__inserter-toggle"
129
+ variant="primary"
130
+ isPressed={ isInserterOpened }
131
+ onMouseDown={ preventDefault }
132
+ onClick={ toggleInserter }
133
+ disabled={ disableBlockTools }
134
+ icon={ plus }
135
+ label={ showIconLabels ? shortLabel : longLabel }
136
+ showTooltip={ ! showIconLabels }
137
+ aria-expanded={ isInserterOpened }
138
+ />
139
+ ) }
138
140
  { ( isWideViewport || ! showIconLabels ) && (
139
141
  <>
140
142
  { isLargeViewport && ! hasFixedToolbar && (
@@ -3,10 +3,11 @@
3
3
  align-items: center;
4
4
 
5
5
  // Hide all action buttons except the inserter on mobile.
6
- .editor-document-tools__left > .components-button {
6
+ .editor-document-tools__left > .editor-history__redo,
7
+ .editor-document-tools__left > .editor-history__undo {
7
8
  display: none;
8
9
 
9
- @include break-small() {
10
+ @include break-medium() {
10
11
  display: inline-flex;
11
12
  }
12
13
  }
@@ -39,7 +40,7 @@
39
40
  // here to the original button styles
40
41
  .editor-document-tools__left > .components-button.has-icon,
41
42
  .editor-document-tools__left > .components-dropdown > .components-button.has-icon {
42
- // @todo: override toolbar group inherited paddings from components/block-tools/style.scss.
43
+ // @todo override toolbar group inherited paddings from components/block-tools/style.scss.
43
44
  // This is best fixed by making the mover control area a proper single toolbar group.
44
45
  // It needs specificity due to style inherited from .components-accessible-toolbar .components-button.has-icon.has-icon.
45
46
  height: $button-size-compact;
@@ -70,14 +71,6 @@
70
71
  // Some plugins add buttons here despite best practices.
71
72
  // Push them a bit rightwards to fit the top toolbar.
72
73
  margin-right: $grid-unit-10;
73
-
74
- @include break-medium() {
75
- padding-left: $grid-unit-50 * 0.5;
76
- }
77
-
78
- @include break-wide() {
79
- padding-right: $grid-unit-10;
80
- }
81
74
  }
82
75
 
83
76
  .editor-document-tools .editor-document-tools__left > .editor-document-tools__inserter-toggle.has-icon {
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { useSelect, useDispatch } from '@wordpress/data';
5
- import { useEffect, useState, useRef } from '@wordpress/element';
6
- import { store as noticesStore } from '@wordpress/notices';
4
+ import { useSelect } from '@wordpress/data';
5
+ import { store as coreStore } from '@wordpress/core-data';
6
+ import { useEffect, useState } from '@wordpress/element';
7
7
  import { __ } from '@wordpress/i18n';
8
8
  import { __experimentalConfirmDialog as ConfirmDialog } from '@wordpress/components';
9
9
 
@@ -38,73 +38,35 @@ export default function EditTemplateBlocksNotification( { contentRef } ) {
38
38
  };
39
39
  }, [] );
40
40
 
41
- const { getNotices } = useSelect( noticesStore );
42
-
43
- const { createInfoNotice, removeNotice } = useDispatch( noticesStore );
41
+ const canEditTemplate = useSelect(
42
+ ( select ) =>
43
+ select( coreStore ).canUser( 'create', 'templates' ) ?? false
44
+ );
44
45
 
45
46
  const [ isDialogOpen, setIsDialogOpen ] = useState( false );
46
47
 
47
- const lastNoticeId = useRef( 0 );
48
-
49
48
  useEffect( () => {
50
- const handleClick = async ( event ) => {
51
- if ( ! event.target.classList.contains( 'is-root-container' ) ) {
52
- return;
53
- }
54
-
55
- const isNoticeAlreadyShowing = getNotices().some(
56
- ( notice ) => notice.id === lastNoticeId.current
57
- );
58
- if ( isNoticeAlreadyShowing ) {
49
+ const handleDblClick = ( event ) => {
50
+ if ( ! canEditTemplate ) {
59
51
  return;
60
52
  }
61
53
 
62
- const { notice } = await createInfoNotice(
63
- __( 'Edit your template to edit this block.' ),
64
- {
65
- isDismissible: true,
66
- type: 'snackbar',
67
- actions: [
68
- {
69
- label: __( 'Edit template' ),
70
- onClick: () =>
71
- onNavigateToEntityRecord( {
72
- postId: templateId,
73
- postType: 'wp_template',
74
- } ),
75
- },
76
- ],
77
- }
78
- );
79
- lastNoticeId.current = notice.id;
80
- };
81
-
82
- const handleDblClick = ( event ) => {
83
54
  if ( ! event.target.classList.contains( 'is-root-container' ) ) {
84
55
  return;
85
56
  }
86
- if ( lastNoticeId.current ) {
87
- removeNotice( lastNoticeId.current );
88
- }
89
57
  setIsDialogOpen( true );
90
58
  };
91
59
 
92
60
  const canvas = contentRef.current;
93
- canvas?.addEventListener( 'click', handleClick );
94
61
  canvas?.addEventListener( 'dblclick', handleDblClick );
95
62
  return () => {
96
- canvas?.removeEventListener( 'click', handleClick );
97
63
  canvas?.removeEventListener( 'dblclick', handleDblClick );
98
64
  };
99
- }, [
100
- lastNoticeId,
101
- contentRef,
102
- getNotices,
103
- createInfoNotice,
104
- onNavigateToEntityRecord,
105
- templateId,
106
- removeNotice,
107
- ] );
65
+ }, [ contentRef, canEditTemplate ] );
66
+
67
+ if ( ! canEditTemplate ) {
68
+ return null;
69
+ }
108
70
 
109
71
  return (
110
72
  <ConfirmDialog
@@ -119,7 +81,9 @@ export default function EditTemplateBlocksNotification( { contentRef } ) {
119
81
  } }
120
82
  onCancel={ () => setIsDialogOpen( false ) }
121
83
  >
122
- { __( 'Edit your template to edit this block.' ) }
84
+ { __(
85
+ 'You’ve tried to select a block that is part of a template, which may be used on other posts and pages. Would you like to edit the template?.'
86
+ ) }
123
87
  </ConfirmDialog>
124
88
  );
125
89
  }
@@ -29,6 +29,7 @@ import PostTitle from '../post-title';
29
29
  import { store as editorStore } from '../../store';
30
30
  import { unlock } from '../../lock-unlock';
31
31
  import EditTemplateBlocksNotification from './edit-template-blocks-notification';
32
+ import useSelectNearestEditableBlock from '../../hooks/use-select-nearest-editable-block';
32
33
 
33
34
  const {
34
35
  LayoutStyle,
@@ -38,8 +39,6 @@ const {
38
39
  useFlashEditableBlocks,
39
40
  } = unlock( blockEditorPrivateApis );
40
41
 
41
- const noop = () => {};
42
-
43
42
  /**
44
43
  * These post types have a special editor where they don't allow you to fill the title
45
44
  * and they don't apply the layout styles.
@@ -94,6 +93,7 @@ function EditorCanvas( {
94
93
  styles,
95
94
  disableIframe = false,
96
95
  iframeProps,
96
+ contentRef,
97
97
  children,
98
98
  } ) {
99
99
  const {
@@ -307,12 +307,16 @@ function EditorCanvas( {
307
307
 
308
308
  const localRef = useRef();
309
309
  const typewriterRef = useTypewriter();
310
- const contentRef = useMergeRefs( [
310
+ contentRef = useMergeRefs( [
311
311
  localRef,
312
- renderingMode === 'post-only' ? typewriterRef : noop,
312
+ contentRef,
313
+ renderingMode === 'post-only' ? typewriterRef : null,
313
314
  useFlashEditableBlocks( {
314
315
  isEnabled: renderingMode === 'template-locked',
315
316
  } ),
317
+ useSelectNearestEditableBlock( {
318
+ isEnabled: renderingMode === 'template-locked',
319
+ } ),
316
320
  ] );
317
321
 
318
322
  return (
@@ -3,32 +3,24 @@
3
3
  */
4
4
  import { Button, Flex, FlexItem } from '@wordpress/components';
5
5
  import { __, _n, sprintf } from '@wordpress/i18n';
6
- import { useSelect, useDispatch } from '@wordpress/data';
7
6
  import {
8
7
  useCallback,
9
8
  useRef,
10
9
  createInterpolateElement,
11
10
  } from '@wordpress/element';
12
- import { store as coreStore } from '@wordpress/core-data';
13
- import { store as blockEditorStore } from '@wordpress/block-editor';
14
11
  import {
15
12
  __experimentalUseDialog as useDialog,
16
13
  useInstanceId,
17
14
  } from '@wordpress/compose';
18
- import { store as noticesStore } from '@wordpress/notices';
15
+ import { useDispatch } from '@wordpress/data';
19
16
 
20
17
  /**
21
18
  * Internal dependencies
22
19
  */
23
20
  import EntityTypeList from './entity-type-list';
24
21
  import { useIsDirty } from './hooks/use-is-dirty';
25
-
26
- const PUBLISH_ON_SAVE_ENTITIES = [
27
- {
28
- kind: 'postType',
29
- name: 'wp_navigation',
30
- },
31
- ];
22
+ import { store as editorStore } from '../../store';
23
+ import { unlock } from '../../lock-unlock';
32
24
 
33
25
  function identity( values ) {
34
26
  return values;
@@ -55,25 +47,13 @@ export function EntitiesSavedStatesExtensible( {
55
47
  saveEnabled: saveEnabledProp = undefined,
56
48
  saveLabel = __( 'Save' ),
57
49
  renderDialog = undefined,
58
-
59
50
  dirtyEntityRecords,
60
51
  isDirty,
61
52
  setUnselectedEntities,
62
53
  unselectedEntities,
63
54
  } ) {
64
55
  const saveButtonRef = useRef();
65
- const {
66
- editEntityRecord,
67
- saveEditedEntityRecord,
68
- __experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits,
69
- } = useDispatch( coreStore );
70
-
71
- const { __unstableMarkLastChangeAsPersistent } =
72
- useDispatch( blockEditorStore );
73
-
74
- const { createSuccessNotice, createErrorNotice, removeNotice } =
75
- useDispatch( noticesStore );
76
-
56
+ const { saveDirtyEntities } = unlock( useDispatch( editorStore ) );
77
57
  // To group entities by type.
78
58
  const partitionedSavables = dirtyEntityRecords.reduce( ( acc, record ) => {
79
59
  const { name } = record;
@@ -99,94 +79,6 @@ export function EntitiesSavedStatesExtensible( {
99
79
  ].filter( Array.isArray );
100
80
 
101
81
  const saveEnabled = saveEnabledProp ?? isDirty;
102
-
103
- const { homeUrl } = useSelect( ( select ) => {
104
- const {
105
- getUnstableBase, // Site index.
106
- } = select( coreStore );
107
- return {
108
- homeUrl: getUnstableBase()?.home,
109
- };
110
- }, [] );
111
-
112
- const saveCheckedEntities = () => {
113
- const saveNoticeId = 'site-editor-save-success';
114
- removeNotice( saveNoticeId );
115
- const entitiesToSave = dirtyEntityRecords.filter(
116
- ( { kind, name, key, property } ) => {
117
- return ! unselectedEntities.some(
118
- ( elt ) =>
119
- elt.kind === kind &&
120
- elt.name === name &&
121
- elt.key === key &&
122
- elt.property === property
123
- );
124
- }
125
- );
126
-
127
- close( entitiesToSave );
128
-
129
- const siteItemsToSave = [];
130
- const pendingSavedRecords = [];
131
- entitiesToSave.forEach( ( { kind, name, key, property } ) => {
132
- if ( 'root' === kind && 'site' === name ) {
133
- siteItemsToSave.push( property );
134
- } else {
135
- if (
136
- PUBLISH_ON_SAVE_ENTITIES.some(
137
- ( typeToPublish ) =>
138
- typeToPublish.kind === kind &&
139
- typeToPublish.name === name
140
- )
141
- ) {
142
- editEntityRecord( kind, name, key, { status: 'publish' } );
143
- }
144
-
145
- pendingSavedRecords.push(
146
- saveEditedEntityRecord( kind, name, key )
147
- );
148
- }
149
- } );
150
- if ( siteItemsToSave.length ) {
151
- pendingSavedRecords.push(
152
- saveSpecifiedEntityEdits(
153
- 'root',
154
- 'site',
155
- undefined,
156
- siteItemsToSave
157
- )
158
- );
159
- }
160
-
161
- __unstableMarkLastChangeAsPersistent();
162
-
163
- Promise.all( pendingSavedRecords )
164
- .then( ( values ) => {
165
- return onSave( values );
166
- } )
167
- .then( ( values ) => {
168
- if (
169
- values.some( ( value ) => typeof value === 'undefined' )
170
- ) {
171
- createErrorNotice( __( 'Saving failed.' ) );
172
- } else {
173
- createSuccessNotice( __( 'Site updated.' ), {
174
- type: 'snackbar',
175
- id: saveNoticeId,
176
- actions: [
177
- {
178
- label: __( 'View site' ),
179
- url: homeUrl,
180
- },
181
- ],
182
- } );
183
- }
184
- } )
185
- .catch( ( error ) =>
186
- createErrorNotice( `${ __( 'Saving failed.' ) } ${ error }` )
187
- );
188
- };
189
-
190
82
  // Explicitly define this with no argument passed. Using `close` on
191
83
  // its own will use the event object in place of the expected saved entities.
192
84
  const dismissPanel = useCallback( () => close(), [ close ] );
@@ -217,7 +109,14 @@ export function EntitiesSavedStatesExtensible( {
217
109
  variant="primary"
218
110
  disabled={ ! saveEnabled }
219
111
  __experimentalIsFocusable
220
- onClick={ saveCheckedEntities }
112
+ onClick={ () =>
113
+ saveDirtyEntities( {
114
+ onSave,
115
+ dirtyEntityRecords,
116
+ entitiesToSkip: unselectedEntities,
117
+ close,
118
+ } )
119
+ }
221
120
  className="editor-entities-saved-states__save-button"
222
121
  >
223
122
  { saveLabel }
@@ -28,7 +28,7 @@
28
28
  justify-content: center;
29
29
  margin-bottom: 8px;
30
30
  background-color: rgba(60, 60, 67, 0.3);
31
- border-radius: $size/2;
31
+ border-radius: 20px;
32
32
  }
33
33
 
34
34
  .error-boundary__icon-container--dark {
@@ -3,6 +3,8 @@
3
3
  */
4
4
  import { useShortcut } from '@wordpress/keyboard-shortcuts';
5
5
  import { useDispatch, useSelect } from '@wordpress/data';
6
+ import { store as interfaceStore } from '@wordpress/interface';
7
+ import { store as blockEditorStore } from '@wordpress/block-editor';
6
8
 
7
9
  /**
8
10
  * Internal dependencies
@@ -15,6 +17,10 @@ export default function EditorKeyboardShortcuts() {
15
17
  select( editorStore ).getEditorSettings();
16
18
  return ! richEditingEnabled || ! codeEditingEnabled;
17
19
  }, [] );
20
+ const { getBlockSelectionStart } = useSelect( blockEditorStore );
21
+ const { getActiveComplementaryArea } = useSelect( interfaceStore );
22
+ const { enableComplementaryArea, disableComplementaryArea } =
23
+ useDispatch( interfaceStore );
18
24
  const {
19
25
  redo,
20
26
  undo,
@@ -86,5 +92,24 @@ export default function EditorKeyboardShortcuts() {
86
92
  }
87
93
  } );
88
94
 
95
+ useShortcut( 'core/editor/toggle-sidebar', ( event ) => {
96
+ // This shortcut has no known clashes, but use preventDefault to prevent any
97
+ // obscure shortcuts from triggering.
98
+ event.preventDefault();
99
+ const isEditorSidebarOpened = [
100
+ 'edit-post/document',
101
+ 'edit-post/block',
102
+ ].includes( getActiveComplementaryArea( 'core' ) );
103
+
104
+ if ( isEditorSidebarOpened ) {
105
+ disableComplementaryArea( 'core' );
106
+ } else {
107
+ const sidebarToOpen = getBlockSelectionStart()
108
+ ? 'edit-post/block'
109
+ : 'edit-post/document';
110
+ enableComplementaryArea( 'core', sidebarToOpen );
111
+ }
112
+ } );
113
+
89
114
  return null;
90
115
  }
@@ -83,6 +83,26 @@ function EditorKeyboardShortcutsRegister() {
83
83
  character: '\\',
84
84
  },
85
85
  } );
86
+
87
+ registerShortcut( {
88
+ name: 'core/editor/toggle-sidebar',
89
+ category: 'global',
90
+ description: __( 'Show or hide the Settings sidebar.' ),
91
+ keyCombination: {
92
+ modifier: 'primaryShift',
93
+ character: ',',
94
+ },
95
+ } );
96
+
97
+ registerShortcut( {
98
+ name: 'core/editor/keyboard-shortcuts',
99
+ category: 'main',
100
+ description: __( 'Display these keyboard shortcuts.' ),
101
+ keyCombination: {
102
+ modifier: 'access',
103
+ character: 'h',
104
+ },
105
+ } );
86
106
  }, [ registerShortcut ] );
87
107
 
88
108
  return <BlockEditorKeyboardShortcuts.Register />;
@@ -27,6 +27,13 @@ export { default as PageAttributesPanel } from './page-attributes/panel';
27
27
  export { default as PageAttributesParent } from './page-attributes/parent';
28
28
  export { default as PageTemplate } from './post-template/classic-theme';
29
29
  export { default as PluginDocumentSettingPanel } from './plugin-document-setting-panel';
30
+ export { default as PluginBlockSettingsMenuItem } from './block-settings-menu/plugin-block-settings-menu-item';
31
+ export { default as PluginMoreMenuItem } from './plugin-more-menu-item';
32
+ export { default as PluginPostPublishPanel } from './plugin-post-publish-panel';
33
+ export { default as PluginPostStatusInfo } from './plugin-post-status-info';
34
+ export { default as PluginPrePublishPanel } from './plugin-pre-publish-panel';
35
+ export { default as PluginSidebar } from './plugin-sidebar';
36
+ export { default as PluginSidebarMoreMenuItem } from './plugin-sidebar-more-menu-item';
30
37
  export { default as PostTemplatePanel } from './post-template/panel';
31
38
  export { default as PostAuthor } from './post-author';
32
39
  export { default as PostAuthorCheck } from './post-author/check';
@@ -19,7 +19,10 @@ import { store as preferencesStore } from '@wordpress/preferences';
19
19
  import { unlock } from '../../lock-unlock';
20
20
  import { store as editorStore } from '../../store';
21
21
 
22
- export default function InserterSidebar() {
22
+ export default function InserterSidebar( {
23
+ closeGeneralSidebar,
24
+ isRightSidebarOpen,
25
+ } ) {
23
26
  const { insertionPoint, showMostUsedBlocks } = useSelect( ( select ) => {
24
27
  const { getInsertionPoint } = unlock( select( editorStore ) );
25
28
  const { get } = select( preferencesStore );
@@ -65,6 +68,9 @@ export default function InserterSidebar() {
65
68
  insertionPoint.insertionIndex
66
69
  }
67
70
  __experimentalFilterValue={ insertionPoint.filterValue }
71
+ __experimentalOnPatternCategorySelection={
72
+ isRightSidebarOpen ? closeGeneralSidebar : undefined
73
+ }
68
74
  ref={ libraryRef }
69
75
  />
70
76
  </div>