@wordpress/edit-site 6.10.0 → 6.11.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 (439) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-post/index.js +1 -1
  3. package/build/components/add-new-post/index.js.map +1 -1
  4. package/build/components/add-new-template/index.js +1 -1
  5. package/build/components/add-new-template/index.js.map +1 -1
  6. package/build/components/add-new-template/utils.js +8 -8
  7. package/build/components/add-new-template/utils.js.map +1 -1
  8. package/build/components/app/index.js +2 -0
  9. package/build/components/app/index.js.map +1 -1
  10. package/build/components/block-editor/use-editor-iframe-props.js +29 -20
  11. package/build/components/block-editor/use-editor-iframe-props.js.map +1 -1
  12. package/build/components/block-editor/use-site-editor-settings.js +10 -8
  13. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  14. package/build/components/editor/index.js +23 -10
  15. package/build/components/editor/index.js.map +1 -1
  16. package/build/components/editor/use-adapt-editor-to-canvas.js +49 -0
  17. package/build/components/editor/use-adapt-editor-to-canvas.js.map +1 -0
  18. package/build/components/editor/use-editor-title.js +2 -2
  19. package/build/components/editor/use-editor-title.js.map +1 -1
  20. package/build/components/global-styles/font-sizes/font-size.js +6 -6
  21. package/build/components/global-styles/font-sizes/font-size.js.map +1 -1
  22. package/build/components/global-styles/font-sizes/font-sizes-count.js +0 -1
  23. package/build/components/global-styles/font-sizes/font-sizes-count.js.map +1 -1
  24. package/build/components/global-styles/font-sizes/font-sizes.js +4 -4
  25. package/build/components/global-styles/font-sizes/font-sizes.js.map +1 -1
  26. package/build/components/global-styles/palette.js +16 -13
  27. package/build/components/global-styles/palette.js.map +1 -1
  28. package/build/components/global-styles/root-menu.js +0 -4
  29. package/build/components/global-styles/root-menu.js.map +1 -1
  30. package/build/components/global-styles/screen-block-list.js +0 -4
  31. package/build/components/global-styles/screen-block-list.js.map +1 -1
  32. package/build/components/global-styles/screen-css.js +1 -1
  33. package/build/components/global-styles/screen-css.js.map +1 -1
  34. package/build/components/global-styles/screen-revisions/revisions-buttons.js +2 -2
  35. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  36. package/build/components/global-styles/screen-root.js +0 -3
  37. package/build/components/global-styles/screen-root.js.map +1 -1
  38. package/build/components/global-styles/screen-style-variations.js +5 -1
  39. package/build/components/global-styles/screen-style-variations.js.map +1 -1
  40. package/build/components/global-styles/shadows-edit-panel.js +9 -10
  41. package/build/components/global-styles/shadows-edit-panel.js.map +1 -1
  42. package/build/components/global-styles/shadows-panel.js +0 -3
  43. package/build/components/global-styles/shadows-panel.js.map +1 -1
  44. package/build/components/global-styles/typography-elements.js +1 -4
  45. package/build/components/global-styles/typography-elements.js.map +1 -1
  46. package/build/components/global-styles/ui.js +7 -0
  47. package/build/components/global-styles/ui.js.map +1 -1
  48. package/build/components/global-styles/variations/variation.js +2 -2
  49. package/build/components/global-styles/variations/variation.js.map +1 -1
  50. package/build/components/global-styles/variations/variations-panel.js +0 -1
  51. package/build/components/global-styles/variations/variations-panel.js.map +1 -1
  52. package/build/components/global-styles-sidebar/default-sidebar.js +0 -1
  53. package/build/components/global-styles-sidebar/default-sidebar.js.map +1 -1
  54. package/build/components/global-styles-sidebar/index.js +43 -30
  55. package/build/components/global-styles-sidebar/index.js.map +1 -1
  56. package/build/components/layout/animation.js +1 -3
  57. package/build/components/layout/animation.js.map +1 -1
  58. package/build/components/layout/index.js +22 -35
  59. package/build/components/layout/index.js.map +1 -1
  60. package/build/components/layout/router.js +17 -140
  61. package/build/components/layout/router.js.map +1 -1
  62. package/build/components/page-patterns/delete-category-menu-item.js +3 -3
  63. package/build/components/page-patterns/delete-category-menu-item.js.map +1 -1
  64. package/build/components/page-patterns/use-pattern-settings.js +1 -1
  65. package/build/components/page-patterns/use-pattern-settings.js.map +1 -1
  66. package/build/components/page-templates/index.js +1 -2
  67. package/build/components/page-templates/index.js.map +1 -1
  68. package/build/components/pagination/index.js +1 -1
  69. package/build/components/pagination/index.js.map +1 -1
  70. package/build/components/post-edit/index.js +8 -4
  71. package/build/components/post-edit/index.js.map +1 -1
  72. package/build/components/post-fields/index.js +6 -52
  73. package/build/components/post-fields/index.js.map +1 -1
  74. package/build/components/post-list/index.js +1 -1
  75. package/build/components/post-list/index.js.map +1 -1
  76. package/build/components/posts-app/index.js.map +1 -1
  77. package/build/components/posts-app/router.js +4 -4
  78. package/build/components/posts-app/router.js.map +1 -1
  79. package/build/components/resizable-frame/index.js +21 -9
  80. package/build/components/resizable-frame/index.js.map +1 -1
  81. package/build/components/revisions/index.js +1 -1
  82. package/build/components/revisions/index.js.map +1 -1
  83. package/build/components/save-keyboard-shortcut/index.js +78 -0
  84. package/build/components/save-keyboard-shortcut/index.js.map +1 -0
  85. package/build/components/save-panel/index.js +17 -6
  86. package/build/components/save-panel/index.js.map +1 -1
  87. package/build/components/sidebar-dataviews/default-views.js +2 -5
  88. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  89. package/build/components/sidebar-navigation-screen/index.js +2 -1
  90. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  91. package/build/components/sidebar-navigation-screen-global-styles/index.js +30 -10
  92. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  93. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +1 -1
  94. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  95. package/build/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js +3 -3
  96. package/build/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js.map +1 -1
  97. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +7 -12
  98. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  99. package/build/components/site-editor-routes/home-edit.js +26 -0
  100. package/build/components/site-editor-routes/home-edit.js.map +1 -0
  101. package/build/components/site-editor-routes/home-view.js +25 -0
  102. package/build/components/site-editor-routes/home-view.js.map +1 -0
  103. package/build/components/site-editor-routes/index.js +49 -0
  104. package/build/components/site-editor-routes/index.js.map +1 -0
  105. package/build/components/site-editor-routes/navigation-edit.js +29 -0
  106. package/build/components/site-editor-routes/navigation-edit.js.map +1 -0
  107. package/build/components/site-editor-routes/navigation-item-edit.js +31 -0
  108. package/build/components/site-editor-routes/navigation-item-edit.js.map +1 -0
  109. package/build/components/site-editor-routes/navigation-item-view.js +30 -0
  110. package/build/components/site-editor-routes/navigation-item-view.js.map +1 -0
  111. package/build/components/site-editor-routes/navigation-view.js +28 -0
  112. package/build/components/site-editor-routes/navigation-view.js.map +1 -0
  113. package/build/components/site-editor-routes/pages-edit.js +43 -0
  114. package/build/components/site-editor-routes/pages-edit.js.map +1 -0
  115. package/build/components/site-editor-routes/pages-list-view-quick-edit.js +64 -0
  116. package/build/components/site-editor-routes/pages-list-view-quick-edit.js.map +1 -0
  117. package/build/components/site-editor-routes/pages-list-view.js +47 -0
  118. package/build/components/site-editor-routes/pages-list-view.js.map +1 -0
  119. package/build/components/site-editor-routes/pages-view-quick-edit.js +61 -0
  120. package/build/components/site-editor-routes/pages-view-quick-edit.js.map +1 -0
  121. package/build/components/site-editor-routes/pages-view.js +42 -0
  122. package/build/components/site-editor-routes/pages-view.js.map +1 -0
  123. package/build/components/site-editor-routes/patterns-edit.js +31 -0
  124. package/build/components/site-editor-routes/patterns-edit.js.map +1 -0
  125. package/build/components/site-editor-routes/patterns-view.js +29 -0
  126. package/build/components/site-editor-routes/patterns-view.js.map +1 -0
  127. package/build/components/site-editor-routes/styles-edit.js +28 -0
  128. package/build/components/site-editor-routes/styles-edit.js.map +1 -0
  129. package/build/components/site-editor-routes/styles-view.js +27 -0
  130. package/build/components/site-editor-routes/styles-view.js.map +1 -0
  131. package/build/components/site-editor-routes/templates-edit.js +31 -0
  132. package/build/components/site-editor-routes/templates-edit.js.map +1 -0
  133. package/build/components/site-editor-routes/templates-list-view.js +34 -0
  134. package/build/components/site-editor-routes/templates-list-view.js.map +1 -0
  135. package/build/components/site-editor-routes/templates-view.js +29 -0
  136. package/build/components/site-editor-routes/templates-view.js.map +1 -0
  137. package/build/components/site-hub/index.js +3 -2
  138. package/build/components/site-hub/index.js.map +1 -1
  139. package/build/components/style-book/color-examples.js +46 -0
  140. package/build/components/style-book/color-examples.js.map +1 -0
  141. package/build/components/style-book/constants.js +75 -10
  142. package/build/components/style-book/constants.js.map +1 -1
  143. package/build/components/style-book/duotone-examples.js +55 -0
  144. package/build/components/style-book/duotone-examples.js.map +1 -0
  145. package/build/components/style-book/examples.js +46 -3
  146. package/build/components/style-book/examples.js.map +1 -1
  147. package/build/components/style-book/index.js +92 -36
  148. package/build/components/style-book/index.js.map +1 -1
  149. package/build/components/style-book/types.js.map +1 -1
  150. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +6 -1
  151. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  152. package/build/hooks/commands/use-common-commands.js +46 -30
  153. package/build/hooks/commands/use-common-commands.js.map +1 -1
  154. package/build/hooks/commands/use-edit-mode-commands.js +10 -6
  155. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  156. package/build/hooks/commands/use-set-command-context.js +12 -15
  157. package/build/hooks/commands/use-set-command-context.js.map +1 -1
  158. package/build/store/private-actions.js +8 -60
  159. package/build/store/private-actions.js.map +1 -1
  160. package/build/store/private-selectors.js +4 -12
  161. package/build/store/private-selectors.js.map +1 -1
  162. package/build/store/reducer.js +9 -18
  163. package/build/store/reducer.js.map +1 -1
  164. package/build-module/components/add-new-post/index.js +1 -1
  165. package/build-module/components/add-new-post/index.js.map +1 -1
  166. package/build-module/components/add-new-template/index.js +1 -1
  167. package/build-module/components/add-new-template/index.js.map +1 -1
  168. package/build-module/components/add-new-template/utils.js +9 -9
  169. package/build-module/components/add-new-template/utils.js.map +1 -1
  170. package/build-module/components/app/index.js +4 -2
  171. package/build-module/components/app/index.js.map +1 -1
  172. package/build-module/components/block-editor/use-editor-iframe-props.js +30 -21
  173. package/build-module/components/block-editor/use-editor-iframe-props.js.map +1 -1
  174. package/build-module/components/block-editor/use-site-editor-settings.js +10 -8
  175. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  176. package/build-module/components/editor/index.js +23 -10
  177. package/build-module/components/editor/index.js.map +1 -1
  178. package/build-module/components/editor/use-adapt-editor-to-canvas.js +42 -0
  179. package/build-module/components/editor/use-adapt-editor-to-canvas.js.map +1 -0
  180. package/build-module/components/editor/use-editor-title.js +3 -3
  181. package/build-module/components/editor/use-editor-title.js.map +1 -1
  182. package/build-module/components/global-styles/font-sizes/font-size.js +6 -6
  183. package/build-module/components/global-styles/font-sizes/font-size.js.map +1 -1
  184. package/build-module/components/global-styles/font-sizes/font-sizes-count.js +0 -1
  185. package/build-module/components/global-styles/font-sizes/font-sizes-count.js.map +1 -1
  186. package/build-module/components/global-styles/font-sizes/font-sizes.js +4 -4
  187. package/build-module/components/global-styles/font-sizes/font-sizes.js.map +1 -1
  188. package/build-module/components/global-styles/palette.js +17 -14
  189. package/build-module/components/global-styles/palette.js.map +1 -1
  190. package/build-module/components/global-styles/root-menu.js +0 -4
  191. package/build-module/components/global-styles/root-menu.js.map +1 -1
  192. package/build-module/components/global-styles/screen-block-list.js +0 -4
  193. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  194. package/build-module/components/global-styles/screen-css.js +1 -1
  195. package/build-module/components/global-styles/screen-css.js.map +1 -1
  196. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +2 -2
  197. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  198. package/build-module/components/global-styles/screen-root.js +0 -3
  199. package/build-module/components/global-styles/screen-root.js.map +1 -1
  200. package/build-module/components/global-styles/screen-style-variations.js +5 -1
  201. package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
  202. package/build-module/components/global-styles/shadows-edit-panel.js +9 -10
  203. package/build-module/components/global-styles/shadows-edit-panel.js.map +1 -1
  204. package/build-module/components/global-styles/shadows-panel.js +0 -3
  205. package/build-module/components/global-styles/shadows-panel.js.map +1 -1
  206. package/build-module/components/global-styles/typography-elements.js +2 -5
  207. package/build-module/components/global-styles/typography-elements.js.map +1 -1
  208. package/build-module/components/global-styles/ui.js +7 -0
  209. package/build-module/components/global-styles/ui.js.map +1 -1
  210. package/build-module/components/global-styles/variations/variation.js +3 -3
  211. package/build-module/components/global-styles/variations/variation.js.map +1 -1
  212. package/build-module/components/global-styles/variations/variations-panel.js +0 -1
  213. package/build-module/components/global-styles/variations/variations-panel.js.map +1 -1
  214. package/build-module/components/global-styles-sidebar/default-sidebar.js +0 -1
  215. package/build-module/components/global-styles-sidebar/default-sidebar.js.map +1 -1
  216. package/build-module/components/global-styles-sidebar/index.js +44 -31
  217. package/build-module/components/global-styles-sidebar/index.js.map +1 -1
  218. package/build-module/components/layout/animation.js +1 -3
  219. package/build-module/components/layout/animation.js.map +1 -1
  220. package/build-module/components/layout/index.js +22 -35
  221. package/build-module/components/layout/index.js.map +1 -1
  222. package/build-module/components/layout/router.js +17 -139
  223. package/build-module/components/layout/router.js.map +1 -1
  224. package/build-module/components/page-patterns/delete-category-menu-item.js +4 -4
  225. package/build-module/components/page-patterns/delete-category-menu-item.js.map +1 -1
  226. package/build-module/components/page-patterns/use-pattern-settings.js +1 -1
  227. package/build-module/components/page-patterns/use-pattern-settings.js.map +1 -1
  228. package/build-module/components/page-templates/index.js +1 -2
  229. package/build-module/components/page-templates/index.js.map +1 -1
  230. package/build-module/components/pagination/index.js +1 -1
  231. package/build-module/components/pagination/index.js.map +1 -1
  232. package/build-module/components/post-edit/index.js +8 -4
  233. package/build-module/components/post-edit/index.js.map +1 -1
  234. package/build-module/components/post-fields/index.js +7 -51
  235. package/build-module/components/post-fields/index.js.map +1 -1
  236. package/build-module/components/post-list/index.js +1 -1
  237. package/build-module/components/post-list/index.js.map +1 -1
  238. package/build-module/components/posts-app/index.js +2 -2
  239. package/build-module/components/posts-app/index.js.map +1 -1
  240. package/build-module/components/posts-app/router.js +3 -3
  241. package/build-module/components/posts-app/router.js.map +1 -1
  242. package/build-module/components/resizable-frame/index.js +21 -10
  243. package/build-module/components/resizable-frame/index.js.map +1 -1
  244. package/build-module/components/revisions/index.js +1 -1
  245. package/build-module/components/revisions/index.js.map +1 -1
  246. package/build-module/components/save-keyboard-shortcut/index.js +71 -0
  247. package/build-module/components/save-keyboard-shortcut/index.js.map +1 -0
  248. package/build-module/components/save-panel/index.js +17 -6
  249. package/build-module/components/save-panel/index.js.map +1 -1
  250. package/build-module/components/sidebar-dataviews/default-views.js +2 -5
  251. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  252. package/build-module/components/sidebar-navigation-screen/index.js +2 -1
  253. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  254. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +30 -10
  255. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  256. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +2 -2
  257. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  258. package/build-module/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js +4 -4
  259. package/build-module/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js.map +1 -1
  260. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +8 -13
  261. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  262. package/build-module/components/site-editor-routes/home-edit.js +18 -0
  263. package/build-module/components/site-editor-routes/home-edit.js.map +1 -0
  264. package/build-module/components/site-editor-routes/home-view.js +17 -0
  265. package/build-module/components/site-editor-routes/home-view.js.map +1 -0
  266. package/build-module/components/site-editor-routes/index.js +42 -0
  267. package/build-module/components/site-editor-routes/index.js.map +1 -0
  268. package/build-module/components/site-editor-routes/navigation-edit.js +21 -0
  269. package/build-module/components/site-editor-routes/navigation-edit.js.map +1 -0
  270. package/build-module/components/site-editor-routes/navigation-item-edit.js +23 -0
  271. package/build-module/components/site-editor-routes/navigation-item-edit.js.map +1 -0
  272. package/build-module/components/site-editor-routes/navigation-item-view.js +22 -0
  273. package/build-module/components/site-editor-routes/navigation-item-view.js.map +1 -0
  274. package/build-module/components/site-editor-routes/navigation-view.js +20 -0
  275. package/build-module/components/site-editor-routes/navigation-view.js.map +1 -0
  276. package/build-module/components/site-editor-routes/pages-edit.js +35 -0
  277. package/build-module/components/site-editor-routes/pages-edit.js.map +1 -0
  278. package/build-module/components/site-editor-routes/pages-list-view-quick-edit.js +56 -0
  279. package/build-module/components/site-editor-routes/pages-list-view-quick-edit.js.map +1 -0
  280. package/build-module/components/site-editor-routes/pages-list-view.js +39 -0
  281. package/build-module/components/site-editor-routes/pages-list-view.js.map +1 -0
  282. package/build-module/components/site-editor-routes/pages-view-quick-edit.js +53 -0
  283. package/build-module/components/site-editor-routes/pages-view-quick-edit.js.map +1 -0
  284. package/build-module/components/site-editor-routes/pages-view.js +34 -0
  285. package/build-module/components/site-editor-routes/pages-view.js.map +1 -0
  286. package/build-module/components/site-editor-routes/patterns-edit.js +23 -0
  287. package/build-module/components/site-editor-routes/patterns-edit.js.map +1 -0
  288. package/build-module/components/site-editor-routes/patterns-view.js +21 -0
  289. package/build-module/components/site-editor-routes/patterns-view.js.map +1 -0
  290. package/build-module/components/site-editor-routes/styles-edit.js +20 -0
  291. package/build-module/components/site-editor-routes/styles-edit.js.map +1 -0
  292. package/build-module/components/site-editor-routes/styles-view.js +19 -0
  293. package/build-module/components/site-editor-routes/styles-view.js.map +1 -0
  294. package/build-module/components/site-editor-routes/templates-edit.js +23 -0
  295. package/build-module/components/site-editor-routes/templates-edit.js.map +1 -0
  296. package/build-module/components/site-editor-routes/templates-list-view.js +26 -0
  297. package/build-module/components/site-editor-routes/templates-list-view.js.map +1 -0
  298. package/build-module/components/site-editor-routes/templates-view.js +21 -0
  299. package/build-module/components/site-editor-routes/templates-view.js.map +1 -0
  300. package/build-module/components/site-hub/index.js +3 -2
  301. package/build-module/components/site-hub/index.js.map +1 -1
  302. package/build-module/components/style-book/color-examples.js +38 -0
  303. package/build-module/components/style-book/color-examples.js.map +1 -0
  304. package/build-module/components/style-book/constants.js +74 -9
  305. package/build-module/components/style-book/constants.js.map +1 -1
  306. package/build-module/components/style-book/duotone-examples.js +48 -0
  307. package/build-module/components/style-book/duotone-examples.js.map +1 -0
  308. package/build-module/components/style-book/examples.js +47 -3
  309. package/build-module/components/style-book/examples.js.map +1 -1
  310. package/build-module/components/style-book/index.js +94 -38
  311. package/build-module/components/style-book/index.js.map +1 -1
  312. package/build-module/components/style-book/types.js.map +1 -1
  313. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +6 -1
  314. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  315. package/build-module/hooks/commands/use-common-commands.js +46 -30
  316. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  317. package/build-module/hooks/commands/use-edit-mode-commands.js +10 -6
  318. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  319. package/build-module/hooks/commands/use-set-command-context.js +12 -15
  320. package/build-module/hooks/commands/use-set-command-context.js.map +1 -1
  321. package/build-module/store/private-actions.js +6 -58
  322. package/build-module/store/private-actions.js.map +1 -1
  323. package/build-module/store/private-selectors.js +3 -11
  324. package/build-module/store/private-selectors.js.map +1 -1
  325. package/build-module/store/reducer.js +9 -18
  326. package/build-module/store/reducer.js.map +1 -1
  327. package/build-style/posts-rtl.css +10 -13
  328. package/build-style/posts.css +10 -13
  329. package/build-style/style-rtl.css +127 -26
  330. package/build-style/style.css +127 -26
  331. package/package.json +43 -41
  332. package/src/components/add-new-post/index.js +1 -1
  333. package/src/components/add-new-template/index.js +1 -1
  334. package/src/components/add-new-template/utils.js +12 -9
  335. package/src/components/app/index.js +4 -2
  336. package/src/components/block-editor/use-editor-iframe-props.js +22 -18
  337. package/src/components/block-editor/use-site-editor-settings.js +12 -10
  338. package/src/components/editor/index.js +34 -13
  339. package/src/components/editor/use-adapt-editor-to-canvas.js +53 -0
  340. package/src/components/editor/use-editor-title.js +3 -3
  341. package/src/components/global-styles/font-sizes/font-size.js +11 -15
  342. package/src/components/global-styles/font-sizes/font-sizes-count.js +1 -4
  343. package/src/components/global-styles/font-sizes/font-sizes.js +7 -9
  344. package/src/components/global-styles/palette.js +21 -18
  345. package/src/components/global-styles/root-menu.js +3 -16
  346. package/src/components/global-styles/screen-block-list.js +0 -7
  347. package/src/components/global-styles/screen-css.js +1 -0
  348. package/src/components/global-styles/screen-revisions/revisions-buttons.js +2 -2
  349. package/src/components/global-styles/screen-root.js +3 -12
  350. package/src/components/global-styles/screen-style-variations.js +4 -1
  351. package/src/components/global-styles/shadows-edit-panel.js +12 -13
  352. package/src/components/global-styles/shadows-panel.js +0 -4
  353. package/src/components/global-styles/typography-elements.js +3 -11
  354. package/src/components/global-styles/ui.js +11 -0
  355. package/src/components/global-styles/variations/variation.js +3 -3
  356. package/src/components/global-styles/variations/variations-panel.js +0 -1
  357. package/src/components/global-styles-sidebar/default-sidebar.js +0 -1
  358. package/src/components/global-styles-sidebar/index.js +86 -65
  359. package/src/components/global-styles-sidebar/style.scss +6 -0
  360. package/src/components/layout/animation.js +0 -1
  361. package/src/components/layout/index.js +16 -34
  362. package/src/components/layout/router.js +18 -133
  363. package/src/components/layout/style.scss +2 -2
  364. package/src/components/page-patterns/delete-category-menu-item.js +4 -4
  365. package/src/components/page-patterns/use-pattern-settings.js +1 -1
  366. package/src/components/page-templates/index.js +0 -1
  367. package/src/components/pagination/index.js +1 -1
  368. package/src/components/post-edit/index.js +35 -4
  369. package/src/components/post-fields/index.js +7 -54
  370. package/src/components/post-fields/style.scss +3 -0
  371. package/src/components/post-list/index.js +1 -1
  372. package/src/components/post-list/style.scss +1 -1
  373. package/src/components/posts-app/index.js +2 -2
  374. package/src/components/posts-app/router.js +3 -3
  375. package/src/components/resizable-frame/index.js +19 -10
  376. package/src/components/revisions/index.js +4 -1
  377. package/src/components/save-keyboard-shortcut/index.js +69 -0
  378. package/src/components/save-panel/index.js +30 -32
  379. package/src/components/sidebar-dataviews/default-views.js +2 -5
  380. package/src/components/sidebar-navigation-screen/index.js +2 -1
  381. package/src/components/sidebar-navigation-screen-global-styles/index.js +47 -29
  382. package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +2 -2
  383. package/src/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js +4 -4
  384. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +11 -13
  385. package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +1 -1
  386. package/src/components/site-editor-routes/README.md +20 -0
  387. package/src/components/site-editor-routes/home-edit.js +17 -0
  388. package/src/components/site-editor-routes/home-view.js +16 -0
  389. package/src/components/site-editor-routes/index.js +60 -0
  390. package/src/components/site-editor-routes/navigation-edit.js +22 -0
  391. package/src/components/site-editor-routes/navigation-item-edit.js +26 -0
  392. package/src/components/site-editor-routes/navigation-item-view.js +25 -0
  393. package/src/components/site-editor-routes/navigation-view.js +21 -0
  394. package/src/components/site-editor-routes/pages-edit.js +35 -0
  395. package/src/components/site-editor-routes/pages-list-view-quick-edit.js +56 -0
  396. package/src/components/site-editor-routes/pages-list-view.js +44 -0
  397. package/src/components/site-editor-routes/pages-view-quick-edit.js +53 -0
  398. package/src/components/site-editor-routes/pages-view.js +39 -0
  399. package/src/components/site-editor-routes/patterns-edit.js +24 -0
  400. package/src/components/site-editor-routes/patterns-view.js +22 -0
  401. package/src/components/site-editor-routes/styles-edit.js +17 -0
  402. package/src/components/site-editor-routes/styles-view.js +16 -0
  403. package/src/components/site-editor-routes/templates-edit.js +22 -0
  404. package/src/components/site-editor-routes/templates-list-view.js +28 -0
  405. package/src/components/site-editor-routes/templates-view.js +22 -0
  406. package/src/components/site-hub/index.js +2 -2
  407. package/src/components/site-hub/style.scss +4 -0
  408. package/src/components/style-book/color-examples.tsx +44 -0
  409. package/src/components/style-book/constants.ts +83 -10
  410. package/src/components/style-book/duotone-examples.tsx +53 -0
  411. package/src/components/style-book/examples.tsx +113 -0
  412. package/src/components/style-book/index.js +149 -52
  413. package/src/components/style-book/style.scss +12 -14
  414. package/src/components/style-book/test/categories.js +0 -5
  415. package/src/components/style-book/types.ts +34 -1
  416. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +11 -1
  417. package/src/hooks/commands/use-common-commands.js +60 -40
  418. package/src/hooks/commands/use-edit-mode-commands.js +14 -18
  419. package/src/hooks/commands/use-set-command-context.js +7 -9
  420. package/src/store/private-actions.js +7 -79
  421. package/src/store/private-selectors.js +4 -11
  422. package/src/store/reducer.js +10 -18
  423. package/src/style.scss +3 -0
  424. package/build/components/keyboard-shortcuts/global.js +0 -53
  425. package/build/components/keyboard-shortcuts/global.js.map +0 -1
  426. package/build/components/keyboard-shortcuts/register.js +0 -34
  427. package/build/components/keyboard-shortcuts/register.js.map +0 -1
  428. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +0 -69
  429. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +0 -1
  430. package/build-module/components/keyboard-shortcuts/global.js +0 -46
  431. package/build-module/components/keyboard-shortcuts/global.js.map +0 -1
  432. package/build-module/components/keyboard-shortcuts/register.js +0 -27
  433. package/build-module/components/keyboard-shortcuts/register.js.map +0 -1
  434. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +0 -62
  435. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +0 -1
  436. package/src/components/keyboard-shortcuts/global.js +0 -47
  437. package/src/components/keyboard-shortcuts/register.js +0 -27
  438. package/src/components/style-book/examples.ts +0 -63
  439. package/src/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +0 -73
@@ -67,10 +67,7 @@ function ScreenRoot() {
67
67
  </Card>
68
68
  { hasVariations && (
69
69
  <ItemGroup>
70
- <NavigationButtonAsItem
71
- path="/variations"
72
- aria-label={ __( 'Browse styles' ) }
73
- >
70
+ <NavigationButtonAsItem path="/variations">
74
71
  <HStack justify="space-between">
75
72
  <FlexItem>
76
73
  { __( 'Browse styles' ) }
@@ -107,10 +104,7 @@ function ScreenRoot() {
107
104
  ) }
108
105
  </Spacer>
109
106
  <ItemGroup>
110
- <NavigationButtonAsItem
111
- path="/blocks"
112
- aria-label={ __( 'Blocks styles' ) }
113
- >
107
+ <NavigationButtonAsItem path="/blocks">
114
108
  <HStack justify="space-between">
115
109
  <FlexItem>{ __( 'Blocks' ) }</FlexItem>
116
110
  <IconWithCurrentColor
@@ -136,10 +130,7 @@ function ScreenRoot() {
136
130
  ) }
137
131
  </Spacer>
138
132
  <ItemGroup>
139
- <NavigationButtonAsItem
140
- path="/css"
141
- aria-label={ __( 'Additional CSS' ) }
142
- >
133
+ <NavigationButtonAsItem path="/css">
143
134
  <HStack justify="space-between">
144
135
  <FlexItem>
145
136
  { __( 'Additional CSS' ) }
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { Card, CardBody } from '@wordpress/components';
5
5
  import { __ } from '@wordpress/i18n';
6
- import { useZoomOut } from '@wordpress/block-editor';
6
+ import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
7
7
  import { useDispatch } from '@wordpress/data';
8
8
  import { store as editorStore } from '@wordpress/editor';
9
9
 
@@ -12,6 +12,9 @@ import { store as editorStore } from '@wordpress/editor';
12
12
  */
13
13
  import ScreenHeader from './header';
14
14
  import SidebarNavigationScreenGlobalStylesContent from '../sidebar-navigation-screen-global-styles/content';
15
+ import { unlock } from '../../lock-unlock';
16
+
17
+ const { useZoomOut } = unlock( blockEditorPrivateApis );
15
18
 
16
19
  function ScreenStyleVariations() {
17
20
  // Style Variations should only be previewed in with
@@ -51,7 +51,7 @@ import {
51
51
  } from './shadow-utils';
52
52
 
53
53
  const { useGlobalSetting } = unlock( blockEditorPrivateApis );
54
- const { DropdownMenuV2 } = unlock( componentsPrivateApis );
54
+ const { Menu } = unlock( componentsPrivateApis );
55
55
 
56
56
  const customShadowMenuItems = [
57
57
  {
@@ -163,7 +163,7 @@ export default function ShadowsEditPanel() {
163
163
  <ScreenHeader title={ selectedShadow.name } />
164
164
  <FlexItem>
165
165
  <Spacer marginTop={ 2 } marginBottom={ 0 } paddingX={ 4 }>
166
- <DropdownMenuV2
166
+ <Menu
167
167
  trigger={
168
168
  <Button
169
169
  size="small"
@@ -176,7 +176,7 @@ export default function ShadowsEditPanel() {
176
176
  ? customShadowMenuItems
177
177
  : presetShadowMenuItems
178
178
  ).map( ( item ) => (
179
- <DropdownMenuV2.Item
179
+ <Menu.Item
180
180
  key={ item.action }
181
181
  onClick={ () => onMenuClick( item.action ) }
182
182
  disabled={
@@ -185,12 +185,12 @@ export default function ShadowsEditPanel() {
185
185
  baseSelectedShadow.shadow
186
186
  }
187
187
  >
188
- <DropdownMenuV2.ItemLabel>
188
+ <Menu.ItemLabel>
189
189
  { item.label }
190
- </DropdownMenuV2.ItemLabel>
191
- </DropdownMenuV2.Item>
190
+ </Menu.ItemLabel>
191
+ </Menu.Item>
192
192
  ) ) }
193
- </DropdownMenuV2>
193
+ </Menu>
194
194
  </Spacer>
195
195
  </FlexItem>
196
196
  </HStack>
@@ -301,18 +301,17 @@ function ShadowEditor( { shadow, onChange } ) {
301
301
  const shadowParts = useMemo( () => getShadowParts( shadow ), [ shadow ] );
302
302
 
303
303
  const onChangeShadowPart = ( index, part ) => {
304
- shadowParts[ index ] = part;
305
- onChange( shadowParts.join( ', ' ) );
304
+ const newShadowParts = [ ...shadowParts ];
305
+ newShadowParts[ index ] = part;
306
+ onChange( newShadowParts.join( ', ' ) );
306
307
  };
307
308
 
308
309
  const onAddShadowPart = () => {
309
- shadowParts.push( defaultShadow );
310
- onChange( shadowParts.join( ', ' ) );
310
+ onChange( [ ...shadowParts, defaultShadow ].join( ', ' ) );
311
311
  };
312
312
 
313
313
  const onRemoveShadowPart = ( index ) => {
314
- shadowParts.splice( index, 1 );
315
- onChange( shadowParts.join( ', ' ) );
314
+ onChange( shadowParts.filter( ( p, i ) => i !== index ).join( ', ' ) );
316
315
  };
317
316
 
318
317
  return (
@@ -135,10 +135,6 @@ function ShadowItem( { shadow, category } ) {
135
135
  return (
136
136
  <NavigationButtonAsItem
137
137
  path={ `/shadows/edit/${ category }/${ shadow.slug }` }
138
- aria-label={
139
- // translators: %s: name of the shadow
140
- sprintf( 'Edit shadow %s', shadow.name )
141
- }
142
138
  icon={ shadowIcon }
143
139
  >
144
140
  { shadow.name }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { __, sprintf } from '@wordpress/i18n';
4
+ import { __ } from '@wordpress/i18n';
5
5
  import {
6
6
  __experimentalItemGroup as ItemGroup,
7
7
  __experimentalVStack as VStack,
@@ -36,17 +36,8 @@ function ElementItem( { parentMenu, element, label } ) {
36
36
  const [ gradientValue ] = useGlobalStyle( prefix + 'color.gradient' );
37
37
  const [ color ] = useGlobalStyle( prefix + 'color.text' );
38
38
 
39
- const navigationButtonLabel = sprintf(
40
- // translators: %s: is a subset of Typography, e.g., 'text' or 'links'.
41
- __( 'Typography %s styles' ),
42
- label
43
- );
44
-
45
39
  return (
46
- <NavigationButtonAsItem
47
- path={ parentMenu + '/typography/' + element }
48
- aria-label={ navigationButtonLabel }
49
- >
40
+ <NavigationButtonAsItem path={ parentMenu + '/typography/' + element }>
50
41
  <HStack justify="flex-start">
51
42
  <FlexItem
52
43
  className="edit-site-global-styles-screen-typography__indicator"
@@ -61,6 +52,7 @@ function ElementItem( { parentMenu, element, label } ) {
61
52
  fontWeight,
62
53
  ...extraStyles,
63
54
  } }
55
+ aria-hidden="true"
64
56
  >
65
57
  { __( 'Aa' ) }
66
58
  </FlexItem>
@@ -45,6 +45,7 @@ import ScreenCSS from './screen-css';
45
45
  import ScreenRevisions from './screen-revisions';
46
46
  import { unlock } from '../../lock-unlock';
47
47
  import { store as editSiteStore } from '../../store';
48
+ import { STYLE_BOOK_COLOR_GROUPS } from '../style-book/constants';
48
49
 
49
50
  const SLOT_FILL_NAME = 'GlobalStylesMenu';
50
51
  const { useGlobalStylesReset } = unlock( blockEditorPrivateApis );
@@ -191,6 +192,16 @@ function GlobalStylesStyleBook() {
191
192
  )
192
193
  }
193
194
  onSelect={ ( blockName ) => {
195
+ if (
196
+ STYLE_BOOK_COLOR_GROUPS.find(
197
+ ( group ) => group.slug === blockName
198
+ )
199
+ ) {
200
+ // Go to color palettes Global Styles.
201
+ navigator.goTo( '/colors/palette' );
202
+ return;
203
+ }
204
+
194
205
  // Now go to the selected block.
195
206
  navigator.goTo( '/blocks/' + encodeURIComponent( blockName ) );
196
207
  } }
@@ -9,7 +9,7 @@ import clsx from 'clsx';
9
9
  import { Tooltip } from '@wordpress/components';
10
10
  import { useMemo, useContext, useState } from '@wordpress/element';
11
11
  import { ENTER } from '@wordpress/keycodes';
12
- import { __, sprintf } from '@wordpress/i18n';
12
+ import { _x, sprintf } from '@wordpress/i18n';
13
13
  import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
14
14
  import { privateApis as editorPrivateApis } from '@wordpress/editor';
15
15
 
@@ -64,8 +64,8 @@ export default function Variation( {
64
64
  let label = variation?.title;
65
65
  if ( variation?.description ) {
66
66
  label = sprintf(
67
- /* translators: %1$s: variation title. %2$s variation description. */
68
- __( '%1$s (%2$s)' ),
67
+ /* translators: 1: variation title. 2: variation description. */
68
+ _x( '%1$s (%2$s)', 'variation label' ),
69
69
  variation?.title,
70
70
  variation?.description
71
71
  );
@@ -55,7 +55,6 @@ export function VariationsPanel( { name } ) {
55
55
  '/variations/' +
56
56
  encodeURIComponent( style.name )
57
57
  }
58
- aria-label={ style.label }
59
58
  >
60
59
  { style.label }
61
60
  </NavigationButtonAsItem>
@@ -30,7 +30,6 @@ export default function DefaultSidebar( {
30
30
  scope="core"
31
31
  identifier={ identifier }
32
32
  title={ title }
33
- smallScreenTitle={ title }
34
33
  icon={ icon }
35
34
  closeLabel={ closeLabel }
36
35
  header={ header }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { FlexItem, FlexBlock, Flex, Button } from '@wordpress/components';
4
+ import { FlexItem, Flex, Button } from '@wordpress/components';
5
5
  import { __ } from '@wordpress/i18n';
6
6
  import { styles, seen, backup } from '@wordpress/icons';
7
7
  import { useSelect, useDispatch } from '@wordpress/data';
@@ -11,6 +11,8 @@ import {
11
11
  store as editorStore,
12
12
  privateApis as editorPrivateApis,
13
13
  } from '@wordpress/editor';
14
+ import { useViewportMatch } from '@wordpress/compose';
15
+ import { privateApis as routerPrivateApis } from '@wordpress/router';
14
16
 
15
17
  /**
16
18
  * Internal dependencies
@@ -23,8 +25,11 @@ import { store as coreStore } from '@wordpress/core-data';
23
25
  import DefaultSidebar from './default-sidebar';
24
26
 
25
27
  const { interfaceStore } = unlock( editorPrivateApis );
28
+ const { useLocation } = unlock( routerPrivateApis );
26
29
 
27
30
  export default function GlobalStylesSidebar() {
31
+ const { params } = useLocation();
32
+ const { canvas = 'view' } = params;
28
33
  const {
29
34
  shouldClearCanvasContainerView,
30
35
  isStyleBookOpened,
@@ -32,52 +37,58 @@ export default function GlobalStylesSidebar() {
32
37
  hasRevisions,
33
38
  isRevisionsOpened,
34
39
  isRevisionsStyleBookOpened,
35
- } = useSelect( ( select ) => {
36
- const { getActiveComplementaryArea } = select( interfaceStore );
37
- const { getEditorCanvasContainerView, getCanvasMode } = unlock(
38
- select( editSiteStore )
39
- );
40
- const canvasContainerView = getEditorCanvasContainerView();
41
- const _isVisualEditorMode =
42
- 'visual' === select( editorStore ).getEditorMode();
43
- const _isEditCanvasMode = 'edit' === getCanvasMode();
44
- const _showListViewByDefault = select( preferencesStore ).get(
45
- 'core',
46
- 'showListViewByDefault'
47
- );
48
- const { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =
49
- select( coreStore );
40
+ } = useSelect(
41
+ ( select ) => {
42
+ const { getActiveComplementaryArea } = select( interfaceStore );
43
+ const { getEditorCanvasContainerView } = unlock(
44
+ select( editSiteStore )
45
+ );
46
+ const canvasContainerView = getEditorCanvasContainerView();
47
+ const _isVisualEditorMode =
48
+ 'visual' === select( editorStore ).getEditorMode();
49
+ const _isEditCanvasMode = 'edit' === canvas;
50
+ const _showListViewByDefault = select( preferencesStore ).get(
51
+ 'core',
52
+ 'showListViewByDefault'
53
+ );
54
+ const { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =
55
+ select( coreStore );
50
56
 
51
- const globalStylesId = __experimentalGetCurrentGlobalStylesId();
52
- const globalStyles = globalStylesId
53
- ? getEntityRecord( 'root', 'globalStyles', globalStylesId )
54
- : undefined;
57
+ const globalStylesId = __experimentalGetCurrentGlobalStylesId();
58
+ const globalStyles = globalStylesId
59
+ ? getEntityRecord( 'root', 'globalStyles', globalStylesId )
60
+ : undefined;
55
61
 
56
- return {
57
- isStyleBookOpened: 'style-book' === canvasContainerView,
58
- shouldClearCanvasContainerView:
59
- 'edit-site/global-styles' !==
60
- getActiveComplementaryArea( 'core' ) ||
61
- ! _isVisualEditorMode ||
62
- ! _isEditCanvasMode,
63
- showListViewByDefault: _showListViewByDefault,
64
- hasRevisions:
65
- !! globalStyles?._links?.[ 'version-history' ]?.[ 0 ]?.count,
66
- isRevisionsStyleBookOpened:
67
- 'global-styles-revisions:style-book' === canvasContainerView,
68
- isRevisionsOpened:
69
- 'global-styles-revisions' === canvasContainerView,
70
- };
71
- }, [] );
62
+ return {
63
+ isStyleBookOpened: 'style-book' === canvasContainerView,
64
+ shouldClearCanvasContainerView:
65
+ 'edit-site/global-styles' !==
66
+ getActiveComplementaryArea( 'core' ) ||
67
+ ! _isVisualEditorMode ||
68
+ ! _isEditCanvasMode,
69
+ showListViewByDefault: _showListViewByDefault,
70
+ hasRevisions:
71
+ !! globalStyles?._links?.[ 'version-history' ]?.[ 0 ]
72
+ ?.count,
73
+ isRevisionsStyleBookOpened:
74
+ 'global-styles-revisions:style-book' ===
75
+ canvasContainerView,
76
+ isRevisionsOpened:
77
+ 'global-styles-revisions' === canvasContainerView,
78
+ };
79
+ },
80
+ [ canvas ]
81
+ );
72
82
  const { setEditorCanvasContainerView } = unlock(
73
83
  useDispatch( editSiteStore )
74
84
  );
85
+ const isMobileViewport = useViewportMatch( 'medium', '<' );
75
86
 
76
87
  useEffect( () => {
77
88
  if ( shouldClearCanvasContainerView ) {
78
89
  setEditorCanvasContainerView( undefined );
79
90
  }
80
- }, [ shouldClearCanvasContainerView ] );
91
+ }, [ shouldClearCanvasContainerView, setEditorCanvasContainerView ] );
81
92
 
82
93
  const { setIsListViewOpened } = useDispatch( editorStore );
83
94
 
@@ -130,38 +141,48 @@ export default function GlobalStylesSidebar() {
130
141
  className="edit-site-global-styles-sidebar__header"
131
142
  gap={ 1 }
132
143
  >
133
- <FlexBlock style={ { minWidth: 'min-content' } }>
144
+ <FlexItem>
134
145
  <h2 className="edit-site-global-styles-sidebar__header-title">
135
146
  { __( 'Styles' ) }
136
147
  </h2>
137
- </FlexBlock>
138
- <FlexItem>
139
- <Button
140
- icon={ seen }
141
- label={ __( 'Style Book' ) }
142
- isPressed={
143
- isStyleBookOpened || isRevisionsStyleBookOpened
144
- }
145
- accessibleWhenDisabled
146
- disabled={ shouldClearCanvasContainerView }
147
- onClick={ toggleStyleBook }
148
- size="compact"
149
- />
150
- </FlexItem>
151
- <FlexItem>
152
- <Button
153
- label={ __( 'Revisions' ) }
154
- icon={ backup }
155
- onClick={ toggleRevisions }
156
- accessibleWhenDisabled
157
- disabled={ ! hasRevisions }
158
- isPressed={
159
- isRevisionsOpened || isRevisionsStyleBookOpened
160
- }
161
- size="compact"
162
- />
163
148
  </FlexItem>
164
- <GlobalStylesMenuSlot />
149
+ <Flex
150
+ justify="flex-end"
151
+ gap={ 1 }
152
+ className="edit-site-global-styles-sidebar__header-actions"
153
+ >
154
+ { ! isMobileViewport && (
155
+ <FlexItem>
156
+ <Button
157
+ icon={ seen }
158
+ label={ __( 'Style Book' ) }
159
+ isPressed={
160
+ isStyleBookOpened ||
161
+ isRevisionsStyleBookOpened
162
+ }
163
+ accessibleWhenDisabled
164
+ disabled={ shouldClearCanvasContainerView }
165
+ onClick={ toggleStyleBook }
166
+ size="compact"
167
+ />
168
+ </FlexItem>
169
+ ) }
170
+ <FlexItem>
171
+ <Button
172
+ label={ __( 'Revisions' ) }
173
+ icon={ backup }
174
+ onClick={ toggleRevisions }
175
+ accessibleWhenDisabled
176
+ disabled={ ! hasRevisions }
177
+ isPressed={
178
+ isRevisionsOpened ||
179
+ isRevisionsStyleBookOpened
180
+ }
181
+ size="compact"
182
+ />
183
+ </FlexItem>
184
+ <GlobalStylesMenuSlot />
185
+ </Flex>
165
186
  </Flex>
166
187
  }
167
188
  >
@@ -31,6 +31,10 @@
31
31
  margin: 0;
32
32
  }
33
33
 
34
+ .edit-site-global-styles-sidebar .edit-site-global-styles-sidebar__header-actions {
35
+ flex: 1;
36
+ }
37
+
34
38
  .edit-site-global-styles-sidebar .components-navigation__menu-title-heading {
35
39
  font-size: $default-font-size * 1.2;
36
40
  font-weight: 500;
@@ -75,6 +79,8 @@
75
79
  .show-icon-labels {
76
80
  .edit-site-global-styles-sidebar__header {
77
81
  .components-button.has-icon {
82
+ width: auto;
83
+
78
84
  // Hide the button icons when labels are set to display...
79
85
  svg {
80
86
  display: none;
@@ -41,7 +41,6 @@ function useMovingAnimation( { triggerAnimationOnChange } ) {
41
41
  previous: ref.current && getAbsolutePosition( ref.current ),
42
42
  prevRect: ref.current && ref.current.getBoundingClientRect(),
43
43
  } ),
44
- // eslint-disable-next-line react-hooks/exhaustive-deps
45
44
  [ triggerAnimationOnChange ]
46
45
  );
47
46
 
@@ -6,7 +6,6 @@ import clsx from 'clsx';
6
6
  /**
7
7
  * WordPress dependencies
8
8
  */
9
- import { useSelect } from '@wordpress/data';
10
9
  import {
11
10
  __unstableMotion as motion,
12
11
  __unstableAnimatePresence as AnimatePresence,
@@ -27,75 +26,60 @@ import {
27
26
  privateApis as editorPrivateApis,
28
27
  } from '@wordpress/editor';
29
28
  import { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands';
29
+ import { privateApis as routerPrivateApis } from '@wordpress/router';
30
30
 
31
31
  /**
32
32
  * Internal dependencies
33
33
  */
34
34
  import ErrorBoundary from '../error-boundary';
35
- import { store as editSiteStore } from '../../store';
36
35
  import { default as SiteHub, SiteHubMobile } from '../site-hub';
37
36
  import ResizableFrame from '../resizable-frame';
38
37
  import { unlock } from '../../lock-unlock';
39
- import KeyboardShortcutsRegister from '../keyboard-shortcuts/register';
40
- import KeyboardShortcutsGlobal from '../keyboard-shortcuts/global';
38
+ import SaveKeyboardShortcut from '../save-keyboard-shortcut';
41
39
  import { useIsSiteEditorLoading } from './hooks';
42
40
  import useMovingAnimation from './animation';
43
41
  import SidebarContent from '../sidebar';
44
42
  import SaveHub from '../save-hub';
45
43
  import SavePanel from '../save-panel';
46
- import useSyncCanvasModeWithURL from '../sync-state-with-url/use-sync-canvas-mode-with-url';
47
44
 
48
45
  const { useCommands } = unlock( coreCommandsPrivateApis );
49
46
  const { useGlobalStyle } = unlock( blockEditorPrivateApis );
50
47
  const { NavigableRegion } = unlock( editorPrivateApis );
48
+ const { useLocation } = unlock( routerPrivateApis );
51
49
 
52
50
  const ANIMATION_DURATION = 0.3;
53
51
 
54
52
  export default function Layout( { route } ) {
55
- useSyncCanvasModeWithURL();
53
+ const { params } = useLocation();
54
+ const { canvas = 'view' } = params;
56
55
  useCommands();
57
56
  const isMobileViewport = useViewportMatch( 'medium', '<' );
58
57
  const toggleRef = useRef();
59
- const { canvasMode } = useSelect( ( select ) => {
60
- const { getCanvasMode } = unlock( select( editSiteStore ) );
61
- return {
62
- canvasMode: getCanvasMode(),
63
- };
64
- }, [] );
65
58
  const navigateRegionsProps = useNavigateRegions();
66
59
  const disableMotion = useReducedMotion();
67
60
  const [ canvasResizer, canvasSize ] = useResizeObserver();
68
61
  const isEditorLoading = useIsSiteEditorLoading();
69
62
  const [ isResizableFrameOversized, setIsResizableFrameOversized ] =
70
63
  useState( false );
71
- const { key: routeKey, areas, widths } = route;
64
+ const { name: routeKey, areas, widths } = route;
72
65
  const animationRef = useMovingAnimation( {
73
- triggerAnimationOnChange: canvasMode + '__' + routeKey,
66
+ triggerAnimationOnChange: routeKey + '-' + canvas,
74
67
  } );
75
68
 
76
69
  const [ backgroundColor ] = useGlobalStyle( 'color.background' );
77
70
  const [ gradientValue ] = useGlobalStyle( 'color.gradient' );
78
- const previousCanvaMode = usePrevious( canvasMode );
71
+ const previousCanvaMode = usePrevious( canvas );
79
72
  useEffect( () => {
80
73
  if ( previousCanvaMode === 'edit' ) {
81
74
  toggleRef.current?.focus();
82
75
  }
83
76
  // Should not depend on the previous canvas mode value but the next.
84
- // eslint-disable-next-line react-hooks/exhaustive-deps
85
- }, [ canvasMode ] );
86
-
87
- // Synchronizing the URL with the store value of canvasMode happens in an effect
88
- // This condition ensures the component is only rendered after the synchronization happens
89
- // which prevents any animations due to potential canvasMode value change.
90
- if ( canvasMode === 'init' ) {
91
- return null;
92
- }
77
+ }, [ canvas ] );
93
78
 
94
79
  return (
95
80
  <>
96
81
  <CommandMenu />
97
- <KeyboardShortcutsRegister />
98
- <KeyboardShortcutsGlobal />
82
+ { canvas === 'view' && <SaveKeyboardShortcut /> }
99
83
  <div
100
84
  { ...navigateRegionsProps }
101
85
  ref={ navigateRegionsProps.ref }
@@ -103,7 +87,7 @@ export default function Layout( { route } ) {
103
87
  'edit-site-layout',
104
88
  navigateRegionsProps.className,
105
89
  {
106
- 'is-full-canvas': canvasMode === 'edit',
90
+ 'is-full-canvas': canvas === 'edit',
107
91
  }
108
92
  ) }
109
93
  >
@@ -118,7 +102,7 @@ export default function Layout( { route } ) {
118
102
  className="edit-site-layout__sidebar-region"
119
103
  >
120
104
  <AnimatePresence>
121
- { canvasMode === 'view' && (
105
+ { canvas === 'view' && (
122
106
  <motion.div
123
107
  initial={ { opacity: 0 } }
124
108
  animate={ { opacity: 1 } }
@@ -156,7 +140,7 @@ export default function Layout( { route } ) {
156
140
 
157
141
  { isMobileViewport && areas.mobile && (
158
142
  <div className="edit-site-layout__mobile">
159
- { canvasMode !== 'edit' && (
143
+ { canvas !== 'edit' && (
160
144
  <SidebarContent routeKey={ routeKey }>
161
145
  <SiteHubMobile
162
146
  ref={ toggleRef }
@@ -172,7 +156,7 @@ export default function Layout( { route } ) {
172
156
 
173
157
  { ! isMobileViewport &&
174
158
  areas.content &&
175
- canvasMode !== 'edit' && (
159
+ canvas !== 'edit' && (
176
160
  <div
177
161
  className="edit-site-layout__area"
178
162
  style={ {
@@ -183,7 +167,7 @@ export default function Layout( { route } ) {
183
167
  </div>
184
168
  ) }
185
169
 
186
- { ! isMobileViewport && areas.edit && (
170
+ { ! isMobileViewport && areas.edit && canvas !== 'edit' && (
187
171
  <div
188
172
  className="edit-site-layout__area"
189
173
  style={ {
@@ -211,9 +195,7 @@ export default function Layout( { route } ) {
211
195
  <ErrorBoundary>
212
196
  <ResizableFrame
213
197
  isReady={ ! isEditorLoading }
214
- isFullWidth={
215
- canvasMode === 'edit'
216
- }
198
+ isFullWidth={ canvas === 'edit' }
217
199
  defaultSize={ {
218
200
  width:
219
201
  canvasSize.width -