@wordpress/edit-site 5.8.0 → 5.10.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 (471) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/add-new-template/add-custom-template-modal.js +21 -6
  3. package/build/components/add-new-template/add-custom-template-modal.js.map +1 -1
  4. package/build/components/add-new-template/new-template-part.js +8 -2
  5. package/build/components/add-new-template/new-template-part.js.map +1 -1
  6. package/build/components/add-new-template/new-template.js +8 -4
  7. package/build/components/add-new-template/new-template.js.map +1 -1
  8. package/build/components/app/index.js +8 -2
  9. package/build/components/app/index.js.map +1 -1
  10. package/build/components/block-editor/back-button.js +10 -3
  11. package/build/components/block-editor/back-button.js.map +1 -1
  12. package/build/components/block-editor/editor-canvas.js +39 -6
  13. package/build/components/block-editor/editor-canvas.js.map +1 -1
  14. package/build/components/block-editor/index.js +7 -7
  15. package/build/components/block-editor/index.js.map +1 -1
  16. package/build/components/editor/index.js +43 -9
  17. package/build/components/editor/index.js.map +1 -1
  18. package/build/components/editor-canvas-container/index.js +131 -0
  19. package/build/components/editor-canvas-container/index.js.map +1 -0
  20. package/build/components/global-styles/block-preview-panel.js +1 -1
  21. package/build/components/global-styles/block-preview-panel.js.map +1 -1
  22. package/build/components/global-styles/border-panel.js +53 -5
  23. package/build/components/global-styles/border-panel.js.map +1 -1
  24. package/build/components/global-styles/color-palette-panel.js +14 -3
  25. package/build/components/global-styles/color-palette-panel.js.map +1 -1
  26. package/build/components/global-styles/dimensions-panel.js +17 -18
  27. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  28. package/build/components/global-styles/global-styles-provider.js +4 -18
  29. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  30. package/build/components/global-styles/gradients-palette-panel.js +14 -3
  31. package/build/components/global-styles/gradients-palette-panel.js.map +1 -1
  32. package/build/components/global-styles/root-menu.js +61 -0
  33. package/build/components/global-styles/root-menu.js.map +1 -0
  34. package/build/components/global-styles/screen-block-list.js +3 -1
  35. package/build/components/global-styles/screen-block-list.js.map +1 -1
  36. package/build/components/global-styles/screen-block.js +158 -7
  37. package/build/components/global-styles/screen-block.js.map +1 -1
  38. package/build/components/global-styles/screen-colors.js +9 -26
  39. package/build/components/global-styles/screen-colors.js.map +1 -1
  40. package/build/components/global-styles/screen-css.js +20 -15
  41. package/build/components/global-styles/screen-css.js.map +1 -1
  42. package/build/components/global-styles/screen-layout.js +4 -17
  43. package/build/components/global-styles/screen-layout.js.map +1 -1
  44. package/build/components/global-styles/screen-revisions/index.js +148 -0
  45. package/build/components/global-styles/screen-revisions/index.js.map +1 -0
  46. package/build/components/global-styles/screen-revisions/revisions-buttons.js +132 -0
  47. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -0
  48. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +130 -0
  49. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -0
  50. package/build/components/global-styles/screen-root.js +2 -2
  51. package/build/components/global-styles/screen-root.js.map +1 -1
  52. package/build/components/global-styles/screen-typography-element.js +0 -3
  53. package/build/components/global-styles/screen-typography-element.js.map +1 -1
  54. package/build/components/global-styles/screen-typography.js +11 -39
  55. package/build/components/global-styles/screen-typography.js.map +1 -1
  56. package/build/components/global-styles/style-variations-container.js +3 -8
  57. package/build/components/global-styles/style-variations-container.js.map +1 -1
  58. package/build/components/global-styles/typography-panel.js +7 -11
  59. package/build/components/global-styles/typography-panel.js.map +1 -1
  60. package/build/components/global-styles/ui.js +66 -120
  61. package/build/components/global-styles/ui.js.map +1 -1
  62. package/build/components/global-styles/variations-panel.js +4 -28
  63. package/build/components/global-styles/variations-panel.js.map +1 -1
  64. package/build/components/header-edit-mode/index.js +11 -7
  65. package/build/components/header-edit-mode/index.js.map +1 -1
  66. package/build/components/keyboard-shortcuts/register.js +1 -1
  67. package/build/components/keyboard-shortcuts/register.js.map +1 -1
  68. package/build/components/layout/index.js +22 -14
  69. package/build/components/layout/index.js.map +1 -1
  70. package/build/components/list/index.js +9 -3
  71. package/build/components/list/index.js.map +1 -1
  72. package/build/components/list/table.js +4 -4
  73. package/build/components/list/table.js.map +1 -1
  74. package/build/components/plugin-template-setting-panel/index.js +44 -0
  75. package/build/components/plugin-template-setting-panel/index.js.map +1 -0
  76. package/build/components/revisions/index.js +95 -0
  77. package/build/components/revisions/index.js.map +1 -0
  78. package/build/components/routes/link.js +17 -2
  79. package/build/components/routes/link.js.map +1 -1
  80. package/build/components/routes/use-title.js +8 -2
  81. package/build/components/routes/use-title.js.map +1 -1
  82. package/build/components/save-button/index.js +31 -6
  83. package/build/components/save-button/index.js.map +1 -1
  84. package/build/components/save-hub/index.js +14 -31
  85. package/build/components/save-hub/index.js.map +1 -1
  86. package/build/components/save-panel/index.js +20 -7
  87. package/build/components/save-panel/index.js.map +1 -1
  88. package/build/components/secondary-sidebar/list-view-sidebar.js +2 -7
  89. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  90. package/build/components/sidebar/index.js +16 -2
  91. package/build/components/sidebar/index.js.map +1 -1
  92. package/build/components/sidebar-edit-mode/global-styles-sidebar.js +35 -14
  93. package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  94. package/build/components/sidebar-edit-mode/index.js +9 -2
  95. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  96. package/build/components/sidebar-edit-mode/sidebar-fixed-bottom.js +40 -0
  97. package/build/components/sidebar-edit-mode/sidebar-fixed-bottom.js.map +1 -0
  98. package/build/components/sidebar-edit-mode/template-card/index.js +1 -8
  99. package/build/components/sidebar-edit-mode/template-card/index.js.map +1 -1
  100. package/build/components/sidebar-edit-mode/{template-card/last-revision.js → template-revisions/index.js} +1 -1
  101. package/build/components/sidebar-edit-mode/template-revisions/index.js.map +1 -0
  102. package/build/components/sidebar-navigation-item/index.js +5 -7
  103. package/build/components/sidebar-navigation-item/index.js.map +1 -1
  104. package/build/components/sidebar-navigation-screen/index.js +14 -4
  105. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  106. package/build/components/sidebar-navigation-screen-main/index.js +24 -7
  107. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  108. package/build/components/sidebar-navigation-screen-navigation-item/index.js +1 -1
  109. package/build/components/sidebar-navigation-screen-navigation-item/index.js.map +1 -1
  110. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +17 -5
  111. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  112. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +3 -3
  113. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  114. package/build/components/sidebar-navigation-screen-page/index.js +67 -0
  115. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -0
  116. package/build/components/sidebar-navigation-screen-pages/index.js +74 -0
  117. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -0
  118. package/build/components/sidebar-navigation-screen-templates/index.js +5 -3
  119. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  120. package/build/components/sidebar-navigation-subtitle/index.js +18 -0
  121. package/build/components/sidebar-navigation-subtitle/index.js.map +1 -0
  122. package/build/components/site-hub/index.js +64 -12
  123. package/build/components/site-hub/index.js.map +1 -1
  124. package/build/components/site-icon/index.js +8 -7
  125. package/build/components/site-icon/index.js.map +1 -1
  126. package/build/components/start-template-options/index.js +21 -24
  127. package/build/components/start-template-options/index.js.map +1 -1
  128. package/build/components/style-book/index.js +9 -41
  129. package/build/components/style-book/index.js.map +1 -1
  130. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +13 -5
  131. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  132. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +9 -4
  133. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -1
  134. package/build/components/sync-state-with-url/use-sync-path-with-url.js +17 -3
  135. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  136. package/build/components/template-details/index.js +3 -1
  137. package/build/components/template-details/index.js.map +1 -1
  138. package/build/components/template-details/template-areas.js +9 -3
  139. package/build/components/template-details/template-areas.js.map +1 -1
  140. package/build/hooks/template-part-edit.js +8 -2
  141. package/build/hooks/template-part-edit.js.map +1 -1
  142. package/build/index.js +8 -0
  143. package/build/index.js.map +1 -1
  144. package/build/store/private-actions.js +19 -1
  145. package/build/store/private-actions.js.map +1 -1
  146. package/build/store/private-selectors.js +13 -0
  147. package/build/store/private-selectors.js.map +1 -1
  148. package/build/store/reducer.js +23 -1
  149. package/build/store/reducer.js.map +1 -1
  150. package/build/utils/is-previewing-theme.js +27 -0
  151. package/build/utils/is-previewing-theme.js.map +1 -0
  152. package/build/utils/use-activate-theme.js +46 -0
  153. package/build/utils/use-activate-theme.js.map +1 -0
  154. package/build-module/components/add-new-template/add-custom-template-modal.js +21 -6
  155. package/build-module/components/add-new-template/add-custom-template-modal.js.map +1 -1
  156. package/build-module/components/add-new-template/new-template-part.js +5 -1
  157. package/build-module/components/add-new-template/new-template-part.js.map +1 -1
  158. package/build-module/components/add-new-template/new-template.js +7 -3
  159. package/build-module/components/add-new-template/new-template.js.map +1 -1
  160. package/build-module/components/app/index.js +6 -2
  161. package/build-module/components/app/index.js.map +1 -1
  162. package/build-module/components/block-editor/back-button.js +6 -1
  163. package/build-module/components/block-editor/back-button.js.map +1 -1
  164. package/build-module/components/block-editor/editor-canvas.js +37 -6
  165. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  166. package/build-module/components/block-editor/index.js +6 -6
  167. package/build-module/components/block-editor/index.js.map +1 -1
  168. package/build-module/components/editor/index.js +45 -11
  169. package/build-module/components/editor/index.js.map +1 -1
  170. package/build-module/components/editor-canvas-container/index.js +115 -0
  171. package/build-module/components/editor-canvas-container/index.js.map +1 -0
  172. package/build-module/components/global-styles/block-preview-panel.js +1 -1
  173. package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
  174. package/build-module/components/global-styles/border-panel.js +54 -5
  175. package/build-module/components/global-styles/border-panel.js.map +1 -1
  176. package/build-module/components/global-styles/color-palette-panel.js +13 -3
  177. package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
  178. package/build-module/components/global-styles/dimensions-panel.js +17 -18
  179. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  180. package/build-module/components/global-styles/global-styles-provider.js +5 -19
  181. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  182. package/build-module/components/global-styles/gradients-palette-panel.js +13 -3
  183. package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -1
  184. package/build-module/components/global-styles/root-menu.js +47 -0
  185. package/build-module/components/global-styles/root-menu.js.map +1 -0
  186. package/build-module/components/global-styles/screen-block-list.js +4 -2
  187. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  188. package/build-module/components/global-styles/screen-block.js +151 -7
  189. package/build-module/components/global-styles/screen-block.js.map +1 -1
  190. package/build-module/components/global-styles/screen-colors.js +9 -25
  191. package/build-module/components/global-styles/screen-colors.js.map +1 -1
  192. package/build-module/components/global-styles/screen-css.js +20 -15
  193. package/build-module/components/global-styles/screen-css.js.map +1 -1
  194. package/build-module/components/global-styles/screen-layout.js +4 -16
  195. package/build-module/components/global-styles/screen-layout.js.map +1 -1
  196. package/build-module/components/global-styles/screen-revisions/index.js +128 -0
  197. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -0
  198. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +121 -0
  199. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -0
  200. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +116 -0
  201. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -0
  202. package/build-module/components/global-styles/screen-root.js +2 -2
  203. package/build-module/components/global-styles/screen-root.js.map +1 -1
  204. package/build-module/components/global-styles/screen-typography-element.js +0 -3
  205. package/build-module/components/global-styles/screen-typography-element.js.map +1 -1
  206. package/build-module/components/global-styles/screen-typography.js +11 -37
  207. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  208. package/build-module/components/global-styles/style-variations-container.js +3 -7
  209. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  210. package/build-module/components/global-styles/typography-panel.js +7 -11
  211. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  212. package/build-module/components/global-styles/ui.js +66 -118
  213. package/build-module/components/global-styles/ui.js.map +1 -1
  214. package/build-module/components/global-styles/variations-panel.js +3 -22
  215. package/build-module/components/global-styles/variations-panel.js.map +1 -1
  216. package/build-module/components/header-edit-mode/index.js +10 -7
  217. package/build-module/components/header-edit-mode/index.js.map +1 -1
  218. package/build-module/components/keyboard-shortcuts/register.js +1 -1
  219. package/build-module/components/keyboard-shortcuts/register.js.map +1 -1
  220. package/build-module/components/layout/index.js +17 -10
  221. package/build-module/components/layout/index.js.map +1 -1
  222. package/build-module/components/list/index.js +5 -1
  223. package/build-module/components/list/index.js.map +1 -1
  224. package/build-module/components/list/table.js +4 -4
  225. package/build-module/components/list/table.js.map +1 -1
  226. package/build-module/components/plugin-template-setting-panel/index.js +35 -0
  227. package/build-module/components/plugin-template-setting-panel/index.js.map +1 -0
  228. package/build-module/components/revisions/index.js +77 -0
  229. package/build-module/components/revisions/index.js.map +1 -0
  230. package/build-module/components/routes/link.js +13 -1
  231. package/build-module/components/routes/link.js.map +1 -1
  232. package/build-module/components/routes/use-title.js +5 -1
  233. package/build-module/components/routes/use-title.js.map +1 -1
  234. package/build-module/components/save-button/index.js +28 -6
  235. package/build-module/components/save-button/index.js.map +1 -1
  236. package/build-module/components/save-hub/index.js +13 -32
  237. package/build-module/components/save-hub/index.js.map +1 -1
  238. package/build-module/components/save-panel/index.js +19 -7
  239. package/build-module/components/save-panel/index.js.map +1 -1
  240. package/build-module/components/secondary-sidebar/list-view-sidebar.js +3 -8
  241. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  242. package/build-module/components/sidebar/index.js +11 -1
  243. package/build-module/components/sidebar/index.js.map +1 -1
  244. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js +35 -16
  245. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  246. package/build-module/components/sidebar-edit-mode/index.js +10 -5
  247. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  248. package/build-module/components/sidebar-edit-mode/sidebar-fixed-bottom.js +29 -0
  249. package/build-module/components/sidebar-edit-mode/sidebar-fixed-bottom.js.map +1 -0
  250. package/build-module/components/sidebar-edit-mode/template-card/index.js +2 -7
  251. package/build-module/components/sidebar-edit-mode/template-card/index.js.map +1 -1
  252. package/build-module/components/sidebar-edit-mode/{template-card/last-revision.js → template-revisions/index.js} +1 -1
  253. package/build-module/components/sidebar-edit-mode/template-revisions/index.js.map +1 -0
  254. package/build-module/components/sidebar-navigation-item/index.js +6 -8
  255. package/build-module/components/sidebar-navigation-item/index.js.map +1 -1
  256. package/build-module/components/sidebar-navigation-screen/index.js +13 -5
  257. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  258. package/build-module/components/sidebar-navigation-screen-main/index.js +25 -8
  259. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  260. package/build-module/components/sidebar-navigation-screen-navigation-item/index.js +1 -1
  261. package/build-module/components/sidebar-navigation-screen-navigation-item/index.js.map +1 -1
  262. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +13 -3
  263. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  264. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +3 -3
  265. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  266. package/build-module/components/sidebar-navigation-screen-page/index.js +48 -0
  267. package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -0
  268. package/build-module/components/sidebar-navigation-screen-pages/index.js +57 -0
  269. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -0
  270. package/build-module/components/sidebar-navigation-screen-templates/index.js +5 -3
  271. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  272. package/build-module/components/sidebar-navigation-subtitle/index.js +10 -0
  273. package/build-module/components/sidebar-navigation-subtitle/index.js.map +1 -0
  274. package/build-module/components/site-hub/index.js +64 -14
  275. package/build-module/components/site-hub/index.js.map +1 -1
  276. package/build-module/components/site-icon/index.js +8 -7
  277. package/build-module/components/site-icon/index.js.map +1 -1
  278. package/build-module/components/start-template-options/index.js +22 -25
  279. package/build-module/components/start-template-options/index.js.map +1 -1
  280. package/build-module/components/style-book/index.js +10 -41
  281. package/build-module/components/style-book/index.js.map +1 -1
  282. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +10 -4
  283. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  284. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +5 -1
  285. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -1
  286. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +13 -1
  287. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  288. package/build-module/components/template-details/index.js +3 -1
  289. package/build-module/components/template-details/index.js.map +1 -1
  290. package/build-module/components/template-details/template-areas.js +5 -1
  291. package/build-module/components/template-details/template-areas.js.map +1 -1
  292. package/build-module/hooks/template-part-edit.js +5 -1
  293. package/build-module/hooks/template-part-edit.js.map +1 -1
  294. package/build-module/index.js +1 -0
  295. package/build-module/index.js.map +1 -1
  296. package/build-module/store/private-actions.js +15 -0
  297. package/build-module/store/private-actions.js.map +1 -1
  298. package/build-module/store/private-selectors.js +11 -0
  299. package/build-module/store/private-selectors.js.map +1 -1
  300. package/build-module/store/reducer.js +23 -1
  301. package/build-module/store/reducer.js.map +1 -1
  302. package/build-module/utils/is-previewing-theme.js +17 -0
  303. package/build-module/utils/is-previewing-theme.js.map +1 -0
  304. package/build-module/utils/use-activate-theme.js +36 -0
  305. package/build-module/utils/use-activate-theme.js.map +1 -0
  306. package/build-style/style-rtl.css +310 -137
  307. package/build-style/style.css +310 -137
  308. package/package.json +37 -35
  309. package/src/components/add-new-template/add-custom-template-modal.js +31 -8
  310. package/src/components/add-new-template/new-template-part.js +4 -1
  311. package/src/components/add-new-template/new-template.js +6 -1
  312. package/src/components/add-new-template/style.scss +52 -48
  313. package/src/components/app/index.js +6 -3
  314. package/src/components/block-editor/back-button.js +4 -1
  315. package/src/components/block-editor/editor-canvas.js +36 -8
  316. package/src/components/block-editor/index.js +8 -8
  317. package/src/components/block-editor/style.scss +15 -8
  318. package/src/components/editor/index.js +48 -7
  319. package/src/components/editor-canvas-container/index.js +128 -0
  320. package/src/components/editor-canvas-container/style.scss +19 -0
  321. package/src/components/global-styles/block-preview-panel.js +1 -1
  322. package/src/components/global-styles/border-panel.js +46 -3
  323. package/src/components/global-styles/color-palette-panel.js +9 -0
  324. package/src/components/global-styles/dimensions-panel.js +15 -15
  325. package/src/components/global-styles/global-styles-provider.js +4 -18
  326. package/src/components/global-styles/gradients-palette-panel.js +8 -0
  327. package/src/components/global-styles/root-menu.js +66 -0
  328. package/src/components/global-styles/screen-block-list.js +2 -2
  329. package/src/components/global-styles/screen-block.js +184 -7
  330. package/src/components/global-styles/screen-colors.js +9 -16
  331. package/src/components/global-styles/screen-css.js +21 -21
  332. package/src/components/global-styles/screen-layout.js +5 -9
  333. package/src/components/global-styles/screen-revisions/index.js +177 -0
  334. package/src/components/global-styles/screen-revisions/revisions-buttons.js +131 -0
  335. package/src/components/global-styles/screen-revisions/style.scss +99 -0
  336. package/src/components/global-styles/screen-revisions/test/use-global-styles-revisions.js +125 -0
  337. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +103 -0
  338. package/src/components/global-styles/screen-root.js +2 -2
  339. package/src/components/global-styles/screen-typography-element.js +1 -3
  340. package/src/components/global-styles/screen-typography.js +44 -79
  341. package/src/components/global-styles/style-variations-container.js +4 -10
  342. package/src/components/global-styles/style.scss +1 -23
  343. package/src/components/global-styles/typography-panel.js +12 -13
  344. package/src/components/global-styles/ui.js +82 -107
  345. package/src/components/global-styles/variations-panel.js +3 -26
  346. package/src/components/header-edit-mode/index.js +17 -5
  347. package/src/components/keyboard-shortcuts/register.js +1 -1
  348. package/src/components/layout/index.js +16 -19
  349. package/src/components/layout/style.scss +32 -7
  350. package/src/components/list/index.js +4 -1
  351. package/src/components/list/style.scss +4 -0
  352. package/src/components/list/table.js +19 -3
  353. package/src/components/plugin-template-setting-panel/index.js +33 -0
  354. package/src/components/revisions/index.js +104 -0
  355. package/src/components/routes/link.js +16 -1
  356. package/src/components/routes/use-title.js +4 -1
  357. package/src/components/save-button/index.js +27 -6
  358. package/src/components/save-hub/index.js +17 -35
  359. package/src/components/save-panel/index.js +15 -3
  360. package/src/components/secondary-sidebar/list-view-sidebar.js +2 -6
  361. package/src/components/secondary-sidebar/style.scss +23 -5
  362. package/src/components/sidebar/index.js +12 -1
  363. package/src/components/sidebar/style.scss +2 -1
  364. package/src/components/sidebar-edit-mode/global-styles-sidebar.js +39 -18
  365. package/src/components/sidebar-edit-mode/index.js +17 -6
  366. package/src/components/sidebar-edit-mode/sidebar-fixed-bottom.js +26 -0
  367. package/src/components/sidebar-edit-mode/style.scss +10 -0
  368. package/src/components/sidebar-edit-mode/template-card/index.js +1 -9
  369. package/src/components/sidebar-navigation-item/index.js +13 -14
  370. package/src/components/sidebar-navigation-item/style.scss +8 -1
  371. package/src/components/sidebar-navigation-screen/index.js +26 -5
  372. package/src/components/sidebar-navigation-screen-main/index.js +43 -22
  373. package/src/components/sidebar-navigation-screen-navigation-item/index.js +3 -9
  374. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +13 -1
  375. package/src/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +3 -3
  376. package/src/components/sidebar-navigation-screen-page/index.js +59 -0
  377. package/src/components/sidebar-navigation-screen-pages/index.js +82 -0
  378. package/src/components/sidebar-navigation-screen-pages/style.scss +4 -0
  379. package/src/components/sidebar-navigation-screen-templates/index.js +5 -1
  380. package/src/components/sidebar-navigation-subtitle/index.js +5 -0
  381. package/src/components/sidebar-navigation-subtitle/style.scss +7 -0
  382. package/src/components/site-hub/index.js +92 -33
  383. package/src/components/site-hub/style.scss +8 -0
  384. package/src/components/site-icon/index.js +6 -11
  385. package/src/components/site-icon/style.scss +8 -3
  386. package/src/components/start-template-options/index.js +32 -39
  387. package/src/components/start-template-options/style.scss +36 -46
  388. package/src/components/style-book/index.js +7 -51
  389. package/src/components/style-book/style.scss +0 -18
  390. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +8 -4
  391. package/src/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +3 -1
  392. package/src/components/sync-state-with-url/use-sync-path-with-url.js +14 -1
  393. package/src/components/template-details/index.js +1 -0
  394. package/src/components/template-details/template-areas.js +4 -1
  395. package/src/hooks/template-part-edit.js +4 -1
  396. package/src/index.js +1 -0
  397. package/src/store/private-actions.js +14 -0
  398. package/src/store/private-selectors.js +11 -0
  399. package/src/store/reducer.js +18 -0
  400. package/src/store/test/actions.js +6 -14
  401. package/src/style.scss +5 -1
  402. package/src/utils/is-previewing-theme.js +18 -0
  403. package/src/utils/use-activate-theme.js +38 -0
  404. package/build/components/global-styles/context-menu.js +0 -126
  405. package/build/components/global-styles/context-menu.js.map +0 -1
  406. package/build/components/global-styles/custom-css.js +0 -113
  407. package/build/components/global-styles/custom-css.js.map +0 -1
  408. package/build/components/global-styles/effects-panel.js +0 -53
  409. package/build/components/global-styles/effects-panel.js.map +0 -1
  410. package/build/components/global-styles/filters-panel.js +0 -45
  411. package/build/components/global-styles/filters-panel.js.map +0 -1
  412. package/build/components/global-styles/screen-border.js +0 -61
  413. package/build/components/global-styles/screen-border.js.map +0 -1
  414. package/build/components/global-styles/screen-effects.js +0 -61
  415. package/build/components/global-styles/screen-effects.js.map +0 -1
  416. package/build/components/global-styles/screen-filters.js +0 -46
  417. package/build/components/global-styles/screen-filters.js.map +0 -1
  418. package/build/components/global-styles/screen-variations.js +0 -71
  419. package/build/components/global-styles/screen-variations.js.map +0 -1
  420. package/build/components/routes/index.js +0 -60
  421. package/build/components/routes/index.js.map +0 -1
  422. package/build/components/sidebar-edit-mode/template-card/last-revision.js.map +0 -1
  423. package/build/hooks/commands/index.js +0 -19
  424. package/build/hooks/commands/index.js.map +0 -1
  425. package/build/hooks/commands/use-navigation-commands.js +0 -117
  426. package/build/hooks/commands/use-navigation-commands.js.map +0 -1
  427. package/build/hooks/commands/use-wp-admin-commands.js +0 -94
  428. package/build/hooks/commands/use-wp-admin-commands.js.map +0 -1
  429. package/build/utils/history.js +0 -41
  430. package/build/utils/history.js.map +0 -1
  431. package/build-module/components/global-styles/context-menu.js +0 -107
  432. package/build-module/components/global-styles/context-menu.js.map +0 -1
  433. package/build-module/components/global-styles/custom-css.js +0 -98
  434. package/build-module/components/global-styles/custom-css.js.map +0 -1
  435. package/build-module/components/global-styles/effects-panel.js +0 -43
  436. package/build-module/components/global-styles/effects-panel.js.map +0 -1
  437. package/build-module/components/global-styles/filters-panel.js +0 -35
  438. package/build-module/components/global-styles/filters-panel.js.map +0 -1
  439. package/build-module/components/global-styles/screen-border.js +0 -44
  440. package/build-module/components/global-styles/screen-border.js.map +0 -1
  441. package/build-module/components/global-styles/screen-effects.js +0 -44
  442. package/build-module/components/global-styles/screen-effects.js.map +0 -1
  443. package/build-module/components/global-styles/screen-filters.js +0 -33
  444. package/build-module/components/global-styles/screen-filters.js.map +0 -1
  445. package/build-module/components/global-styles/screen-variations.js +0 -54
  446. package/build-module/components/global-styles/screen-variations.js.map +0 -1
  447. package/build-module/components/routes/index.js +0 -47
  448. package/build-module/components/routes/index.js.map +0 -1
  449. package/build-module/components/sidebar-edit-mode/template-card/last-revision.js.map +0 -1
  450. package/build-module/hooks/commands/index.js +0 -10
  451. package/build-module/hooks/commands/index.js.map +0 -1
  452. package/build-module/hooks/commands/use-navigation-commands.js +0 -101
  453. package/build-module/hooks/commands/use-navigation-commands.js.map +0 -1
  454. package/build-module/hooks/commands/use-wp-admin-commands.js +0 -79
  455. package/build-module/hooks/commands/use-wp-admin-commands.js.map +0 -1
  456. package/build-module/utils/history.js +0 -31
  457. package/build-module/utils/history.js.map +0 -1
  458. package/src/components/global-styles/context-menu.js +0 -175
  459. package/src/components/global-styles/custom-css.js +0 -131
  460. package/src/components/global-styles/effects-panel.js +0 -40
  461. package/src/components/global-styles/filters-panel.js +0 -33
  462. package/src/components/global-styles/screen-border.js +0 -35
  463. package/src/components/global-styles/screen-effects.js +0 -35
  464. package/src/components/global-styles/screen-filters.js +0 -27
  465. package/src/components/global-styles/screen-variations.js +0 -46
  466. package/src/components/routes/index.js +0 -53
  467. package/src/hooks/commands/index.js +0 -10
  468. package/src/hooks/commands/use-navigation-commands.js +0 -103
  469. package/src/hooks/commands/use-wp-admin-commands.js +0 -77
  470. package/src/utils/history.js +0 -39
  471. /package/src/components/sidebar-edit-mode/{template-card/last-revision.js → template-revisions/index.js} +0 -0
@@ -14,7 +14,7 @@ import {
14
14
  privateApis as blockEditorPrivateApis,
15
15
  store as blockEditorStore,
16
16
  } from '@wordpress/block-editor';
17
- import { __ } from '@wordpress/i18n';
17
+ import { __, sprintf, _n } from '@wordpress/i18n';
18
18
  import { store as preferencesStore } from '@wordpress/preferences';
19
19
  import { moreVertical } from '@wordpress/icons';
20
20
  import { store as coreStore } from '@wordpress/core-data';
@@ -31,17 +31,15 @@ import {
31
31
  import ScreenBlock from './screen-block';
32
32
  import ScreenTypography from './screen-typography';
33
33
  import ScreenTypographyElement from './screen-typography-element';
34
- import ScreenFilters from './screen-filters';
35
34
  import ScreenColors from './screen-colors';
36
35
  import ScreenColorPalette from './screen-color-palette';
37
36
  import ScreenLayout from './screen-layout';
38
37
  import ScreenStyleVariations from './screen-style-variations';
39
- import { ScreenVariation } from './screen-variations';
40
- import ScreenBorder from './screen-border';
41
38
  import StyleBook from '../style-book';
42
39
  import ScreenCSS from './screen-css';
40
+ import ScreenRevisions from './screen-revisions';
43
41
  import { unlock } from '../../private-apis';
44
- import ScreenEffects from './screen-effects';
42
+ import { store as editSiteStore } from '../../store';
45
43
 
46
44
  const SLOT_FILL_NAME = 'GlobalStylesMenu';
47
45
  const { Slot: GlobalStylesMenuSlot, Fill: GlobalStylesMenuFill } =
@@ -49,7 +47,7 @@ const { Slot: GlobalStylesMenuSlot, Fill: GlobalStylesMenuFill } =
49
47
 
50
48
  function GlobalStylesActionMenu() {
51
49
  const { toggle } = useDispatch( preferencesStore );
52
- const { canEditCSS } = useSelect( ( select ) => {
50
+ const { canEditCSS, revisionsCount } = useSelect( ( select ) => {
53
51
  const { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =
54
52
  select( coreStore );
55
53
 
@@ -61,12 +59,23 @@ function GlobalStylesActionMenu() {
61
59
  return {
62
60
  canEditCSS:
63
61
  !! globalStyles?._links?.[ 'wp:action-edit-css' ] ?? false,
62
+ revisionsCount:
63
+ globalStyles?._links?.[ 'version-history' ]?.[ 0 ]?.count ?? 0,
64
64
  };
65
65
  }, [] );
66
66
  const { useGlobalStylesReset } = unlock( blockEditorPrivateApis );
67
67
  const [ canReset, onReset ] = useGlobalStylesReset();
68
68
  const { goTo } = useNavigator();
69
+ const { setEditorCanvasContainerView } = unlock(
70
+ useDispatch( editSiteStore )
71
+ );
69
72
  const loadCustomCSS = () => goTo( '/css' );
73
+ const loadRevisions = () => {
74
+ goTo( '/revisions' );
75
+ setEditorCanvasContainerView( 'global-styles-revisions' );
76
+ };
77
+ const hasRevisions = revisionsCount >= 2;
78
+
70
79
  return (
71
80
  <GlobalStylesMenuFill>
72
81
  <DropdownMenu
@@ -91,6 +100,22 @@ function GlobalStylesActionMenu() {
91
100
  },
92
101
  ]
93
102
  : [] ),
103
+ ...( hasRevisions
104
+ ? [
105
+ {
106
+ title: sprintf(
107
+ /* translators: %d: number of revisions */
108
+ _n(
109
+ '%d Revision',
110
+ '%d Revisions',
111
+ revisionsCount
112
+ ),
113
+ revisionsCount
114
+ ),
115
+ onClick: loadRevisions,
116
+ },
117
+ ]
118
+ : [] ),
94
119
  ] }
95
120
  />
96
121
  </GlobalStylesMenuFill>
@@ -111,33 +136,6 @@ function GlobalStylesNavigationScreen( { className, ...props } ) {
111
136
  );
112
137
  }
113
138
 
114
- function BlockStyleVariationsScreens( { name } ) {
115
- const blockStyleVariations = useSelect(
116
- ( select ) => {
117
- const { getBlockStyles } = select( blocksStore );
118
- return getBlockStyles( name );
119
- },
120
- [ name ]
121
- );
122
- if ( ! blockStyleVariations?.length ) {
123
- return null;
124
- }
125
-
126
- return blockStyleVariations.map( ( variation ) => (
127
- <ContextScreens
128
- key={ variation.name + name }
129
- name={ name }
130
- parentMenu={
131
- '/blocks/' +
132
- encodeURIComponent( name ) +
133
- '/variations/' +
134
- encodeURIComponent( variation.name )
135
- }
136
- variation={ variation.name }
137
- />
138
- ) );
139
- }
140
-
141
139
  function BlockStylesNavigationScreens( {
142
140
  parentMenu,
143
141
  blockStyles,
@@ -148,12 +146,12 @@ function BlockStylesNavigationScreens( {
148
146
  key={ index }
149
147
  path={ parentMenu + '/variations/' + style.name }
150
148
  >
151
- <ScreenVariation blockName={ blockName } style={ style } />
149
+ <ScreenBlock name={ blockName } variation={ style.name } />
152
150
  </GlobalStylesNavigationScreen>
153
151
  ) );
154
152
  }
155
153
 
156
- function ContextScreens( { name, parentMenu = '', variation = '' } ) {
154
+ function ContextScreens( { name, parentMenu = '' } ) {
157
155
  const blockStyleVariations = useSelect(
158
156
  ( select ) => {
159
157
  const { getBlockStyles } = select( blocksStore );
@@ -164,70 +162,12 @@ function ContextScreens( { name, parentMenu = '', variation = '' } ) {
164
162
 
165
163
  return (
166
164
  <>
167
- <GlobalStylesNavigationScreen path={ parentMenu + '/typography' }>
168
- <ScreenTypography name={ name } variation={ variation } />
169
- </GlobalStylesNavigationScreen>
170
-
171
- <GlobalStylesNavigationScreen
172
- path={ parentMenu + '/typography/text' }
173
- >
174
- <ScreenTypographyElement name={ name } element="text" />
175
- </GlobalStylesNavigationScreen>
176
-
177
- <GlobalStylesNavigationScreen
178
- path={ parentMenu + '/typography/link' }
179
- >
180
- <ScreenTypographyElement name={ name } element="link" />
181
- </GlobalStylesNavigationScreen>
182
-
183
- <GlobalStylesNavigationScreen
184
- path={ parentMenu + '/typography/heading' }
185
- >
186
- <ScreenTypographyElement name={ name } element="heading" />
187
- </GlobalStylesNavigationScreen>
188
-
189
- <GlobalStylesNavigationScreen
190
- path={ parentMenu + '/typography/caption' }
191
- >
192
- <ScreenTypographyElement name={ name } element="caption" />
193
- </GlobalStylesNavigationScreen>
194
-
195
- <GlobalStylesNavigationScreen
196
- path={ parentMenu + '/typography/button' }
197
- >
198
- <ScreenTypographyElement name={ name } element="button" />
199
- </GlobalStylesNavigationScreen>
200
-
201
- <GlobalStylesNavigationScreen path={ parentMenu + '/colors' }>
202
- <ScreenColors name={ name } variation={ variation } />
203
- </GlobalStylesNavigationScreen>
204
-
205
165
  <GlobalStylesNavigationScreen
206
166
  path={ parentMenu + '/colors/palette' }
207
167
  >
208
168
  <ScreenColorPalette name={ name } />
209
169
  </GlobalStylesNavigationScreen>
210
170
 
211
- <GlobalStylesNavigationScreen path={ parentMenu + '/filters' }>
212
- <ScreenFilters name={ name } />
213
- </GlobalStylesNavigationScreen>
214
-
215
- <GlobalStylesNavigationScreen path={ parentMenu + '/border' }>
216
- <ScreenBorder name={ name } variation={ variation } />
217
- </GlobalStylesNavigationScreen>
218
-
219
- <GlobalStylesNavigationScreen path={ parentMenu + '/effects' }>
220
- <ScreenEffects name={ name } variation={ variation } />
221
- </GlobalStylesNavigationScreen>
222
-
223
- <GlobalStylesNavigationScreen path={ parentMenu + '/layout' }>
224
- <ScreenLayout name={ name } variation={ variation } />
225
- </GlobalStylesNavigationScreen>
226
-
227
- <GlobalStylesNavigationScreen path={ parentMenu + '/css' }>
228
- <ScreenCSS name={ name } />
229
- </GlobalStylesNavigationScreen>
230
-
231
171
  { !! blockStyleVariations?.length && (
232
172
  <BlockStylesNavigationScreens
233
173
  parentMenu={ parentMenu }
@@ -239,7 +179,7 @@ function ContextScreens( { name, parentMenu = '', variation = '' } ) {
239
179
  );
240
180
  }
241
181
 
242
- function GlobalStylesStyleBook( { onClose } ) {
182
+ function GlobalStylesStyleBook() {
243
183
  const navigator = useNavigator();
244
184
  const { path } = navigator.location;
245
185
  return (
@@ -257,7 +197,6 @@ function GlobalStylesStyleBook( { onClose } ) {
257
197
  // Now go to the selected block.
258
198
  navigator.goTo( '/blocks/' + encodeURIComponent( blockName ) );
259
199
  } }
260
- onClose={ onClose }
261
200
  />
262
201
  );
263
202
  }
@@ -296,9 +235,13 @@ function GlobalStylesBlockLink() {
296
235
  }, [ selectedBlockClientId, selectedBlockName, blockHasGlobalStyles ] );
297
236
  }
298
237
 
299
- function GlobalStylesUI( { isStyleBookOpened, onCloseStyleBook } ) {
238
+ function GlobalStylesUI() {
300
239
  const blocks = getBlockTypes();
301
-
240
+ const editorCanvasContainerView = useSelect(
241
+ ( select ) =>
242
+ unlock( select( editSiteStore ) ).getEditorCanvasContainerView(),
243
+ []
244
+ );
302
245
  return (
303
246
  <NavigatorProvider
304
247
  className="edit-site-global-styles-sidebar__navigator-provider"
@@ -316,6 +259,46 @@ function GlobalStylesUI( { isStyleBookOpened, onCloseStyleBook } ) {
316
259
  <ScreenBlockList />
317
260
  </GlobalStylesNavigationScreen>
318
261
 
262
+ <GlobalStylesNavigationScreen path="/typography">
263
+ <ScreenTypography />
264
+ </GlobalStylesNavigationScreen>
265
+
266
+ <GlobalStylesNavigationScreen path="/typography/text">
267
+ <ScreenTypographyElement element="text" />
268
+ </GlobalStylesNavigationScreen>
269
+
270
+ <GlobalStylesNavigationScreen path="/typography/link">
271
+ <ScreenTypographyElement element="link" />
272
+ </GlobalStylesNavigationScreen>
273
+
274
+ <GlobalStylesNavigationScreen path="/typography/heading">
275
+ <ScreenTypographyElement element="heading" />
276
+ </GlobalStylesNavigationScreen>
277
+
278
+ <GlobalStylesNavigationScreen path="/typography/caption">
279
+ <ScreenTypographyElement element="caption" />
280
+ </GlobalStylesNavigationScreen>
281
+
282
+ <GlobalStylesNavigationScreen path="/typography/button">
283
+ <ScreenTypographyElement element="button" />
284
+ </GlobalStylesNavigationScreen>
285
+
286
+ <GlobalStylesNavigationScreen path="/colors">
287
+ <ScreenColors />
288
+ </GlobalStylesNavigationScreen>
289
+
290
+ <GlobalStylesNavigationScreen path="/layout">
291
+ <ScreenLayout />
292
+ </GlobalStylesNavigationScreen>
293
+
294
+ <GlobalStylesNavigationScreen path="/css">
295
+ <ScreenCSS />
296
+ </GlobalStylesNavigationScreen>
297
+
298
+ <GlobalStylesNavigationScreen path={ '/revisions' }>
299
+ <ScreenRevisions />
300
+ </GlobalStylesNavigationScreen>
301
+
319
302
  { blocks.map( ( block ) => (
320
303
  <GlobalStylesNavigationScreen
321
304
  key={ 'menu-block-' + block.name }
@@ -335,16 +318,8 @@ function GlobalStylesUI( { isStyleBookOpened, onCloseStyleBook } ) {
335
318
  />
336
319
  ) ) }
337
320
 
338
- { blocks.map( ( block, index ) => {
339
- return (
340
- <BlockStyleVariationsScreens
341
- key={ 'screens-block-styles-' + block.name + index }
342
- name={ block.name }
343
- />
344
- );
345
- } ) }
346
- { isStyleBookOpened && (
347
- <GlobalStylesStyleBook onClose={ onCloseStyleBook } />
321
+ { 'style-book' === editorCanvasContainerView && (
322
+ <GlobalStylesStyleBook />
348
323
  ) }
349
324
 
350
325
  <GlobalStylesActionMenu />
@@ -9,14 +9,12 @@ import { __experimentalItemGroup as ItemGroup } from '@wordpress/components';
9
9
  */
10
10
 
11
11
  import { NavigationButtonAsItem } from './navigation-button';
12
- import ContextMenu from './context-menu';
13
12
 
14
13
  function getCoreBlockStyles( blockStyles ) {
15
14
  return blockStyles?.filter( ( style ) => style.source === 'block' );
16
15
  }
17
16
 
18
- export function useHasVariationsPanel( name, parentMenu = '' ) {
19
- const isInsideVariationsPanel = parentMenu.includes( 'variations' );
17
+ export function useBlockVariations( name ) {
20
18
  const blockStyles = useSelect(
21
19
  ( select ) => {
22
20
  const { getBlockStyles } = select( blocksStore );
@@ -25,18 +23,11 @@ export function useHasVariationsPanel( name, parentMenu = '' ) {
25
23
  [ name ]
26
24
  );
27
25
  const coreBlockStyles = getCoreBlockStyles( blockStyles );
28
- return !! coreBlockStyles?.length && ! isInsideVariationsPanel;
26
+ return coreBlockStyles;
29
27
  }
30
28
 
31
29
  export function VariationsPanel( { name } ) {
32
- const blockStyles = useSelect(
33
- ( select ) => {
34
- const { getBlockStyles } = select( blocksStore );
35
- return getBlockStyles( name );
36
- },
37
- [ name ]
38
- );
39
- const coreBlockStyles = getCoreBlockStyles( blockStyles );
30
+ const coreBlockStyles = useBlockVariations( name );
40
31
 
41
32
  return (
42
33
  <ItemGroup isBordered isSeparated>
@@ -62,17 +53,3 @@ export function VariationsPanel( { name } ) {
62
53
  </ItemGroup>
63
54
  );
64
55
  }
65
-
66
- export function VariationPanel( { blockName, styleName } ) {
67
- return (
68
- <ContextMenu
69
- parentMenu={
70
- '/blocks/' +
71
- encodeURIComponent( blockName ) +
72
- '/variations/' +
73
- encodeURIComponent( styleName )
74
- }
75
- name={ blockName }
76
- />
77
- );
78
- }
@@ -38,7 +38,11 @@ import UndoButton from './undo-redo/undo';
38
38
  import RedoButton from './undo-redo/redo';
39
39
  import DocumentActions from './document-actions';
40
40
  import { store as editSiteStore } from '../../store';
41
- import { useHasStyleBook } from '../style-book';
41
+ import {
42
+ getEditorCanvasContainerTitle,
43
+ useHasEditorCanvasContainer,
44
+ } from '../editor-canvas-container';
45
+ import { unlock } from '../../private-apis';
42
46
 
43
47
  const preventDefault = ( event ) => {
44
48
  event.preventDefault();
@@ -56,6 +60,7 @@ export default function HeaderEditMode() {
56
60
  blockEditorMode,
57
61
  homeUrl,
58
62
  showIconLabels,
63
+ editorCanvasView,
59
64
  } = useSelect( ( select ) => {
60
65
  const {
61
66
  __experimentalGetPreviewDeviceType,
@@ -88,6 +93,9 @@ export default function HeaderEditMode() {
88
93
  'core/edit-site',
89
94
  'showIconLabels'
90
95
  ),
96
+ editorCanvasView: unlock(
97
+ select( editSiteStore )
98
+ ).getEditorCanvasContainerView(),
91
99
  };
92
100
  }, [] );
93
101
 
@@ -117,7 +125,7 @@ export default function HeaderEditMode() {
117
125
  [ setIsListViewOpened, isListViewOpen ]
118
126
  );
119
127
 
120
- const hasStyleBook = useHasStyleBook();
128
+ const hasDefaultEditorCanvasView = ! useHasEditorCanvasContainer();
121
129
 
122
130
  const isFocusMode = templateType === 'wp_template_part';
123
131
 
@@ -138,7 +146,7 @@ export default function HeaderEditMode() {
138
146
  'show-icon-labels': showIconLabels,
139
147
  } ) }
140
148
  >
141
- { ! hasStyleBook && (
149
+ { hasDefaultEditorCanvasView && (
142
150
  <NavigableToolbar
143
151
  className="edit-site-header-edit-mode__start"
144
152
  aria-label={ __( 'Document tools' ) }
@@ -223,12 +231,16 @@ export default function HeaderEditMode() {
223
231
  ) }
224
232
 
225
233
  <div className="edit-site-header-edit-mode__center">
226
- { hasStyleBook ? __( 'Style Book' ) : <DocumentActions /> }
234
+ { ! hasDefaultEditorCanvasView ? (
235
+ getEditorCanvasContainerTitle( editorCanvasView )
236
+ ) : (
237
+ <DocumentActions />
238
+ ) }
227
239
  </div>
228
240
 
229
241
  <div className="edit-site-header-edit-mode__end">
230
242
  <div className="edit-site-header-edit-mode__actions">
231
- { ! isFocusMode && ! hasStyleBook && (
243
+ { ! isFocusMode && hasDefaultEditorCanvasView && (
232
244
  <div
233
245
  className={ classnames(
234
246
  'edit-site-header-edit-mode__preview-options',
@@ -66,7 +66,7 @@ function KeyboardShortcutsRegister() {
66
66
  registerShortcut( {
67
67
  name: 'core/edit-site/toggle-block-settings-sidebar',
68
68
  category: 'global',
69
- description: __( 'Show or hide the block settings sidebar.' ),
69
+ description: __( 'Show or hide the Settings sidebar.' ),
70
70
  keyCombination: {
71
71
  modifier: 'primaryShift',
72
72
  character: ',',
@@ -23,6 +23,9 @@ import { useState, useRef } from '@wordpress/element';
23
23
  import { NavigableRegion } from '@wordpress/interface';
24
24
  import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';
25
25
  import { CommandMenu } from '@wordpress/commands';
26
+ import { store as preferencesStore } from '@wordpress/preferences';
27
+ import { privateApis as routerPrivateApis } from '@wordpress/router';
28
+ import { privateApis as coreCmmandsPrivateApis } from '@wordpress/core-commands';
26
29
 
27
30
  /**
28
31
  * Internal dependencies
@@ -32,7 +35,6 @@ import Editor from '../editor';
32
35
  import ListPage from '../list';
33
36
  import ErrorBoundary from '../error-boundary';
34
37
  import { store as editSiteStore } from '../../store';
35
- import { useLocation } from '../routes';
36
38
  import getIsListPage from '../../utils/get-is-list-page';
37
39
  import Header from '../header-edit-mode';
38
40
  import useInitEditedEntityFromURL from '../sync-state-with-url/use-init-edited-entity-from-url';
@@ -43,7 +45,10 @@ import { unlock } from '../../private-apis';
43
45
  import SavePanel from '../save-panel';
44
46
  import KeyboardShortcutsRegister from '../keyboard-shortcuts/register';
45
47
  import KeyboardShortcutsGlobal from '../keyboard-shortcuts/global';
46
- import { useCommands } from '../../hooks/commands';
48
+
49
+ const { useCommands } = unlock( coreCmmandsPrivateApis );
50
+
51
+ const { useLocation } = unlock( routerPrivateApis );
47
52
 
48
53
  const ANIMATION_DURATION = 0.5;
49
54
  const emptyResizeHandleStyles = {
@@ -68,8 +73,8 @@ export default function Layout() {
68
73
  const { params } = useLocation();
69
74
  const isListPage = getIsListPage( params );
70
75
  const isEditorPage = ! isListPage;
71
- const { canvasMode, previousShortcut, nextShortcut } = useSelect(
72
- ( select ) => {
76
+ const { hasFixedToolbar, canvasMode, previousShortcut, nextShortcut } =
77
+ useSelect( ( select ) => {
73
78
  const { getAllShortcutKeyCombinations } = select(
74
79
  keyboardShortcutsStore
75
80
  );
@@ -82,10 +87,10 @@ export default function Layout() {
82
87
  nextShortcut: getAllShortcutKeyCombinations(
83
88
  'core/edit-site/next-region'
84
89
  ),
90
+ hasFixedToolbar:
91
+ select( preferencesStore ).get( 'fixedToolbar' ),
85
92
  };
86
- },
87
- []
88
- );
93
+ }, [] );
89
94
  const navigateRegionsProps = useNavigateRegions( {
90
95
  previous: previousShortcut,
91
96
  next: nextShortcut,
@@ -139,19 +144,11 @@ export default function Layout() {
139
144
  {
140
145
  'is-full-canvas': isFullCanvas,
141
146
  'is-edit-mode': canvasMode === 'edit',
147
+ 'has-fixed-toolbar': hasFixedToolbar,
142
148
  }
143
149
  ) }
144
150
  >
145
- <SiteHub
146
- ref={ hubRef }
147
- className="edit-site-layout__hub"
148
- style={ {
149
- width:
150
- isResizingEnabled && forcedWidth
151
- ? forcedWidth - 48
152
- : undefined,
153
- } }
154
- />
151
+ <SiteHub ref={ hubRef } className="edit-site-layout__hub" />
155
152
 
156
153
  <AnimatePresence initial={ false }>
157
154
  { isEditorPage && canvasMode === 'edit' && (
@@ -176,7 +173,7 @@ export default function Layout() {
176
173
  ease: 'easeOut',
177
174
  } }
178
175
  >
179
- { canvasMode === 'edit' && <Header /> }
176
+ <Header />
180
177
  </NavigableRegion>
181
178
  ) }
182
179
  </AnimatePresence>
@@ -255,7 +252,7 @@ export default function Layout() {
255
252
  }
256
253
  >
257
254
  <NavigableRegion
258
- ariaLabel={ __( 'Navigation sidebar' ) }
255
+ ariaLabel={ __( 'Navigation' ) }
259
256
  >
260
257
  <Sidebar />
261
258
  </NavigableRegion>
@@ -15,12 +15,12 @@
15
15
  z-index: z-index(".edit-site-layout__hub");
16
16
 
17
17
  .edit-site-layout.is-full-canvas.is-edit-mode & {
18
- width: auto;
18
+ width: $header-height;
19
19
  padding-right: 0;
20
20
  }
21
21
 
22
22
  @include break-medium {
23
- width: calc(#{$nav-sidebar-width} - #{$canvas-padding * 2});
23
+ width: calc(#{$nav-sidebar-width} - #{$canvas-padding});
24
24
  }
25
25
 
26
26
  .edit-site-layout.is-full-canvas & {
@@ -105,11 +105,10 @@
105
105
  left: 0;
106
106
  bottom: 0;
107
107
  width: 100%;
108
+ overflow: hidden;
108
109
 
109
110
  & > div {
110
111
  color: $gray-900;
111
- background: $white;
112
- box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.8), 0 8px 10px -6px rgba(0, 0, 0, 0.8);
113
112
  }
114
113
 
115
114
  @include break-medium {
@@ -148,13 +147,20 @@
148
147
  .edit-site-layout__view-mode-toggle.components-button {
149
148
  position: relative;
150
149
  color: $white;
151
- height: 100%;
152
- width: 100%;
153
- border-radius: $radius-block-ui;
150
+ border-radius: 0;
151
+ height: $header-height;
152
+ width: $header-height;
153
+ overflow: hidden;
154
154
  padding: 0;
155
155
  display: flex;
156
156
  align-items: center;
157
157
  justify-content: center;
158
+ border-bottom: 1px solid transparent;
159
+
160
+ .edit-site-layout.is-full-canvas.is-edit-mode & {
161
+ border-bottom-color: $gray-200;
162
+ transition: border-bottom-color 0.15s 0.4s ease-out;
163
+ }
158
164
 
159
165
  &:hover,
160
166
  &:active {
@@ -189,6 +195,10 @@
189
195
  .edit-site-layout__view-mode-toggle-icon {
190
196
  display: flex;
191
197
  border-radius: $radius-block-ui;
198
+ height: $grid-unit-80;
199
+ width: $grid-unit-80;
200
+ justify-content: center;
201
+ align-items: center;
192
202
  }
193
203
  }
194
204
 
@@ -220,3 +230,18 @@
220
230
  border-left: $border-width solid $gray-300;
221
231
  }
222
232
  }
233
+
234
+ .edit-site-layout.has-fixed-toolbar {
235
+ // making the header be lower than the content
236
+ // so the fixed toolbar can be positioned on top of it
237
+ // but only on desktop
238
+ @include break-medium() {
239
+ .edit-site-site-hub {
240
+ z-index: 4;
241
+ }
242
+ .edit-site-layout__header:focus-within {
243
+ z-index: 3;
244
+ }
245
+ }
246
+
247
+ }
@@ -7,6 +7,7 @@ import { InterfaceSkeleton } from '@wordpress/interface';
7
7
  import { __, sprintf } from '@wordpress/i18n';
8
8
  import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';
9
9
  import { EditorSnackbars } from '@wordpress/editor';
10
+ import { privateApis as routerPrivateApis } from '@wordpress/router';
10
11
 
11
12
  /**
12
13
  * Internal dependencies
@@ -14,8 +15,10 @@ import { EditorSnackbars } from '@wordpress/editor';
14
15
  import useRegisterShortcuts from './use-register-shortcuts';
15
16
  import Header from './header';
16
17
  import Table from './table';
17
- import { useLocation } from '../routes';
18
18
  import useTitle from '../routes/use-title';
19
+ import { unlock } from '../../private-apis';
20
+
21
+ const { useLocation } = unlock( routerPrivateApis );
19
22
 
20
23
  export default function List() {
21
24
  const {
@@ -33,6 +33,10 @@
33
33
 
34
34
  .edit-site {
35
35
  .edit-site-list {
36
+ background: $white;
37
+ border-radius: $radius-block-ui * 4;
38
+ box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.8), 0 8px 10px -6px rgba(0, 0, 0, 0.8);
39
+
36
40
  .interface-interface-skeleton__editor {
37
41
  min-width: 100%;
38
42
 
@@ -18,19 +18,33 @@ import Actions from './actions';
18
18
  import AddedBy from './added-by';
19
19
 
20
20
  export default function Table( { templateType } ) {
21
- const { records: templates, isResolving: isLoading } = useEntityRecords(
21
+ const { records: allTemplates } = useEntityRecords(
22
22
  'postType',
23
23
  templateType,
24
24
  {
25
25
  per_page: -1,
26
26
  }
27
27
  );
28
+
29
+ const templates = useSelect(
30
+ ( select ) =>
31
+ allTemplates?.filter(
32
+ ( template ) =>
33
+ ! select( coreStore ).isDeletingEntityRecord(
34
+ 'postType',
35
+ templateType,
36
+ template.id
37
+ )
38
+ ),
39
+ [ allTemplates ]
40
+ );
41
+
28
42
  const postType = useSelect(
29
43
  ( select ) => select( coreStore ).getPostType( templateType ),
30
44
  [ templateType ]
31
45
  );
32
46
 
33
- if ( ! templates || isLoading ) {
47
+ if ( ! templates ) {
34
48
  return null;
35
49
  }
36
50
 
@@ -47,7 +61,9 @@ export default function Table( { templateType } ) {
47
61
  }
48
62
 
49
63
  const sortedTemplates = [ ...templates ];
50
- sortedTemplates.sort( ( a, b ) => a.slug.localeCompare( b.slug ) );
64
+ sortedTemplates.sort( ( a, b ) =>
65
+ a.title.rendered.localeCompare( b.title.rendered )
66
+ );
51
67
 
52
68
  return (
53
69
  // These explicit aria roles are needed for Safari.