@wordpress/edit-site 5.10.0 → 5.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (678) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/add-new-page/index.js +105 -0
  3. package/build/components/add-new-page/index.js.map +1 -0
  4. package/build/components/add-new-template/{add-custom-generic-template-modal.js → add-custom-generic-template-modal-content.js} +9 -25
  5. package/build/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -0
  6. package/build/components/add-new-template/{add-custom-template-modal.js → add-custom-template-modal-content.js} +28 -41
  7. package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -0
  8. package/build/components/add-new-template/index.js +4 -5
  9. package/build/components/add-new-template/index.js.map +1 -1
  10. package/build/components/add-new-template/new-template-part.js +9 -12
  11. package/build/components/add-new-template/new-template-part.js.map +1 -1
  12. package/build/components/add-new-template/new-template.js +106 -80
  13. package/build/components/add-new-template/new-template.js.map +1 -1
  14. package/build/components/add-new-template/utils.js +71 -120
  15. package/build/components/add-new-template/utils.js.map +1 -1
  16. package/build/components/block-editor/back-button.js +1 -3
  17. package/build/components/block-editor/back-button.js.map +1 -1
  18. package/build/components/block-editor/block-inspector-button.js +3 -4
  19. package/build/components/block-editor/block-inspector-button.js.map +1 -1
  20. package/build/components/block-editor/editor-canvas.js +6 -7
  21. package/build/components/block-editor/editor-canvas.js.map +1 -1
  22. package/build/components/block-editor/index.js +14 -13
  23. package/build/components/block-editor/index.js.map +1 -1
  24. package/build/components/block-editor/inserter-media-categories.js +25 -42
  25. package/build/components/block-editor/inserter-media-categories.js.map +1 -1
  26. package/build/components/block-editor/resizable-editor.js +6 -7
  27. package/build/components/block-editor/resizable-editor.js.map +1 -1
  28. package/build/components/block-editor/resize-handle.js +5 -7
  29. package/build/components/block-editor/resize-handle.js.map +1 -1
  30. package/build/components/code-editor/code-editor-text-area.js +5 -6
  31. package/build/components/code-editor/code-editor-text-area.js.map +1 -1
  32. package/build/components/create-template-part-modal/index.js +30 -35
  33. package/build/components/create-template-part-modal/index.js.map +1 -1
  34. package/build/components/editor/index.js +37 -53
  35. package/build/components/editor/index.js.map +1 -1
  36. package/build/components/editor-canvas-container/index.js +15 -9
  37. package/build/components/editor-canvas-container/index.js.map +1 -1
  38. package/build/components/error-boundary/warning.js +8 -10
  39. package/build/components/error-boundary/warning.js.map +1 -1
  40. package/build/components/global-styles/block-preview-panel.js +7 -10
  41. package/build/components/global-styles/block-preview-panel.js.map +1 -1
  42. package/build/components/global-styles/color-indicator-wrapper.js +4 -5
  43. package/build/components/global-styles/color-indicator-wrapper.js.map +1 -1
  44. package/build/components/global-styles/color-palette-panel.js +3 -4
  45. package/build/components/global-styles/color-palette-panel.js.map +1 -1
  46. package/build/components/global-styles/dimensions-panel.js +1 -3
  47. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  48. package/build/components/global-styles/global-styles-provider.js +8 -10
  49. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  50. package/build/components/global-styles/gradients-palette-panel.js +3 -4
  51. package/build/components/global-styles/gradients-palette-panel.js.map +1 -1
  52. package/build/components/global-styles/header.js +4 -5
  53. package/build/components/global-styles/header.js.map +1 -1
  54. package/build/components/global-styles/icon-with-current-color.js +4 -5
  55. package/build/components/global-styles/icon-with-current-color.js.map +1 -1
  56. package/build/components/global-styles/navigation-button.js +5 -6
  57. package/build/components/global-styles/navigation-button.js.map +1 -1
  58. package/build/components/global-styles/palette.js +10 -14
  59. package/build/components/global-styles/palette.js.map +1 -1
  60. package/build/components/global-styles/preview.js +41 -51
  61. package/build/components/global-styles/preview.js.map +1 -1
  62. package/build/components/global-styles/screen-block-list.js +4 -7
  63. package/build/components/global-styles/screen-block-list.js.map +1 -1
  64. package/build/components/global-styles/screen-block.js +88 -12
  65. package/build/components/global-styles/screen-block.js.map +1 -1
  66. package/build/components/global-styles/screen-color-palette.js +3 -4
  67. package/build/components/global-styles/screen-color-palette.js.map +1 -1
  68. package/build/components/global-styles/screen-revisions/index.js +10 -17
  69. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  70. package/build/components/global-styles/screen-revisions/revisions-buttons.js +26 -33
  71. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  72. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +20 -35
  73. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  74. package/build/components/global-styles/screen-root.js +5 -5
  75. package/build/components/global-styles/screen-root.js.map +1 -1
  76. package/build/components/global-styles/screen-typography-element.js +3 -4
  77. package/build/components/global-styles/screen-typography-element.js.map +1 -1
  78. package/build/components/global-styles/screen-typography.js +5 -6
  79. package/build/components/global-styles/screen-typography.js.map +1 -1
  80. package/build/components/global-styles/style-variations-container.js +11 -16
  81. package/build/components/global-styles/style-variations-container.js.map +1 -1
  82. package/build/components/global-styles/subtitle.js +4 -5
  83. package/build/components/global-styles/subtitle.js.map +1 -1
  84. package/build/components/global-styles/typography-panel.js +4 -5
  85. package/build/components/global-styles/typography-panel.js.map +1 -1
  86. package/build/components/global-styles/typography-preview.js +5 -6
  87. package/build/components/global-styles/typography-preview.js.map +1 -1
  88. package/build/components/global-styles/ui.js +49 -30
  89. package/build/components/global-styles/ui.js.map +1 -1
  90. package/build/components/global-styles/variations-panel.js +5 -6
  91. package/build/components/global-styles/variations-panel.js.map +1 -1
  92. package/build/components/header-edit-mode/document-actions/index.js +99 -95
  93. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  94. package/build/components/header-edit-mode/index.js +16 -7
  95. package/build/components/header-edit-mode/index.js.map +1 -1
  96. package/build/components/header-edit-mode/more-menu/index.js +49 -53
  97. package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
  98. package/build/components/header-edit-mode/tools-more-menu-group/index.js +5 -14
  99. package/build/components/header-edit-mode/tools-more-menu-group/index.js.map +1 -1
  100. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +3 -4
  101. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
  102. package/build/components/keyboard-shortcut-help-modal/index.js +41 -51
  103. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  104. package/build/components/keyboard-shortcut-help-modal/shortcut.js +10 -12
  105. package/build/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  106. package/build/components/layout/hooks.js +54 -0
  107. package/build/components/layout/hooks.js.map +1 -0
  108. package/build/components/layout/index.js +33 -94
  109. package/build/components/layout/index.js.map +1 -1
  110. package/build/components/list/added-by.js +13 -23
  111. package/build/components/list/added-by.js.map +1 -1
  112. package/build/components/list/header.js +4 -7
  113. package/build/components/list/header.js.map +1 -1
  114. package/build/components/list/index.js +2 -4
  115. package/build/components/list/index.js.map +1 -1
  116. package/build/components/list/table.js +35 -40
  117. package/build/components/list/table.js.map +1 -1
  118. package/build/components/page-actions/delete-page-menu-item.js +70 -0
  119. package/build/components/page-actions/delete-page-menu-item.js.map +1 -0
  120. package/build/components/page-actions/index.js +43 -0
  121. package/build/components/page-actions/index.js.map +1 -0
  122. package/build/components/page-content-lock/constants.js +9 -0
  123. package/build/components/page-content-lock/constants.js.map +1 -0
  124. package/build/components/page-content-lock/index.js +29 -0
  125. package/build/components/page-content-lock/index.js.map +1 -0
  126. package/build/components/page-content-lock/use-disable-non-content-blocks.js +49 -0
  127. package/build/components/page-content-lock/use-disable-non-content-blocks.js.map +1 -0
  128. package/build/components/page-content-lock/use-page-content-lock-notifications.js +112 -0
  129. package/build/components/page-content-lock/use-page-content-lock-notifications.js.map +1 -0
  130. package/build/components/preferences-modal/index.js +4 -5
  131. package/build/components/preferences-modal/index.js.map +1 -1
  132. package/build/components/resizable-frame/index.js +250 -0
  133. package/build/components/resizable-frame/index.js.map +1 -0
  134. package/build/components/revisions/index.js +13 -15
  135. package/build/components/revisions/index.js.map +1 -1
  136. package/build/components/routes/link.js +8 -12
  137. package/build/components/routes/link.js.map +1 -1
  138. package/build/components/routes/use-title.js +1 -5
  139. package/build/components/routes/use-title.js.map +1 -1
  140. package/build/components/save-button/index.js +13 -7
  141. package/build/components/save-button/index.js.map +1 -1
  142. package/build/components/save-hub/index.js +97 -5
  143. package/build/components/save-hub/index.js.map +1 -1
  144. package/build/components/save-panel/index.js +63 -17
  145. package/build/components/save-panel/index.js.map +1 -1
  146. package/build/components/secondary-sidebar/list-view-sidebar.js +12 -6
  147. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  148. package/build/components/sidebar/index.js +11 -9
  149. package/build/components/sidebar/index.js.map +1 -1
  150. package/build/components/sidebar-edit-mode/default-sidebar.js +11 -12
  151. package/build/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
  152. package/build/components/sidebar-edit-mode/index.js +13 -10
  153. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  154. package/build/components/sidebar-edit-mode/page-panels/content-blocks-list.js +79 -0
  155. package/build/components/sidebar-edit-mode/page-panels/content-blocks-list.js.map +1 -0
  156. package/build/components/sidebar-edit-mode/page-panels/index.js +86 -0
  157. package/build/components/sidebar-edit-mode/page-panels/index.js.map +1 -0
  158. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js +4 -5
  159. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  160. package/build/components/sidebar-edit-mode/settings-header/index.js +39 -21
  161. package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  162. package/build/components/sidebar-edit-mode/sidebar-card/index.js +46 -0
  163. package/build/components/sidebar-edit-mode/sidebar-card/index.js.map +1 -0
  164. package/build/components/sidebar-edit-mode/sidebar-fixed-bottom.js +3 -4
  165. package/build/components/sidebar-edit-mode/sidebar-fixed-bottom.js.map +1 -1
  166. package/build/components/sidebar-edit-mode/{template-card → template-panel}/index.js +22 -18
  167. package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -0
  168. package/build/components/sidebar-edit-mode/{template-revisions/index.js → template-panel/last-revision.js} +7 -8
  169. package/build/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -0
  170. package/build/components/sidebar-edit-mode/{template-card → template-panel}/template-actions.js +12 -16
  171. package/build/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -0
  172. package/build/components/sidebar-edit-mode/{template-card → template-panel}/template-areas.js +15 -19
  173. package/build/components/sidebar-edit-mode/template-panel/template-areas.js.map +1 -0
  174. package/build/components/sidebar-navigation-item/index.js +7 -8
  175. package/build/components/sidebar-navigation-item/index.js.map +1 -1
  176. package/build/components/sidebar-navigation-screen/index.js +21 -14
  177. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  178. package/build/components/sidebar-navigation-screen-global-styles/index.js +166 -12
  179. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  180. package/build/components/sidebar-navigation-screen-main/index.js +24 -33
  181. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  182. package/build/components/sidebar-navigation-screen-navigation-item/index.js +3 -5
  183. package/build/components/sidebar-navigation-screen-navigation-item/index.js.map +1 -1
  184. package/build/components/sidebar-navigation-screen-navigation-menu/index.js +159 -0
  185. package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -0
  186. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js +17 -0
  187. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -0
  188. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +51 -107
  189. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  190. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +84 -0
  191. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -0
  192. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +16 -74
  193. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  194. package/build/components/sidebar-navigation-screen-navigation-menus/navigator-button.js +52 -0
  195. package/build/components/sidebar-navigation-screen-navigation-menus/navigator-button.js.map +1 -0
  196. package/build/components/sidebar-navigation-screen-page/index.js +81 -10
  197. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
  198. package/build/components/sidebar-navigation-screen-page/page-details.js +148 -0
  199. package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -0
  200. package/build/components/sidebar-navigation-screen-page/status-label.js +110 -0
  201. package/build/components/sidebar-navigation-screen-page/status-label.js.map +1 -0
  202. package/build/components/sidebar-navigation-screen-pages/index.js +128 -17
  203. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  204. package/build/components/sidebar-navigation-screen-template/index.js +22 -16
  205. package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
  206. package/build/components/sidebar-navigation-screen-template-part/index.js +105 -0
  207. package/build/components/sidebar-navigation-screen-template-part/index.js.map +1 -0
  208. package/build/components/sidebar-navigation-screen-templates/index.js +44 -24
  209. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  210. package/build/components/sidebar-navigation-subtitle/index.js +3 -4
  211. package/build/components/sidebar-navigation-subtitle/index.js.map +1 -1
  212. package/build/components/site-hub/index.js +20 -15
  213. package/build/components/site-hub/index.js.map +1 -1
  214. package/build/components/site-icon/index.js +4 -5
  215. package/build/components/site-icon/index.js.map +1 -1
  216. package/build/components/start-template-options/index.js +15 -21
  217. package/build/components/start-template-options/index.js.map +1 -1
  218. package/build/components/style-book/index.js +107 -37
  219. package/build/components/style-book/index.js.map +1 -1
  220. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +2 -2
  221. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  222. package/build/components/sync-state-with-url/use-sync-path-with-url.js +9 -10
  223. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  224. package/build/components/{list/actions → template-actions}/index.js +39 -33
  225. package/build/components/template-actions/index.js.map +1 -0
  226. package/build/components/{list/actions → template-actions}/rename-menu-item.js +4 -5
  227. package/build/components/template-actions/rename-menu-item.js.map +1 -0
  228. package/build/components/template-part-converter/convert-to-regular.js +4 -5
  229. package/build/components/template-part-converter/convert-to-regular.js.map +1 -1
  230. package/build/components/template-part-converter/convert-to-template-part.js +8 -10
  231. package/build/components/template-part-converter/convert-to-template-part.js.map +1 -1
  232. package/build/components/template-part-converter/index.js +12 -18
  233. package/build/components/template-part-converter/index.js.map +1 -1
  234. package/build/components/use-edited-entity-record/index.js +8 -4
  235. package/build/components/use-edited-entity-record/index.js.map +1 -1
  236. package/build/components/welcome-guide/image.js +4 -5
  237. package/build/components/welcome-guide/image.js.map +1 -1
  238. package/build/hooks/commands/use-edit-mode-commands.js +103 -0
  239. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -0
  240. package/build/hooks/push-changes-to-global-styles/index.js +11 -8
  241. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  242. package/build/hooks/template-part-edit.js +5 -6
  243. package/build/hooks/template-part-edit.js.map +1 -1
  244. package/build/index.js +3 -6
  245. package/build/index.js.map +1 -1
  246. package/build/store/actions.js +131 -125
  247. package/build/store/actions.js.map +1 -1
  248. package/build/store/private-actions.js +7 -10
  249. package/build/store/private-actions.js.map +1 -1
  250. package/build/store/reducer.js +32 -33
  251. package/build/store/reducer.js.map +1 -1
  252. package/build/store/selectors.js +35 -11
  253. package/build/store/selectors.js.map +1 -1
  254. package/build/store/utils.js +1 -3
  255. package/build/store/utils.js.map +1 -1
  256. package/build/utils/get-is-list-page.js +3 -4
  257. package/build/utils/get-is-list-page.js.map +1 -1
  258. package/build/utils/is-previewing-theme.js +1 -3
  259. package/build/utils/is-previewing-theme.js.map +1 -1
  260. package/build/utils/is-template-revertable.js +1 -1
  261. package/build/utils/is-template-revertable.js.map +1 -1
  262. package/build-module/components/add-new-page/index.js +93 -0
  263. package/build-module/components/add-new-page/index.js.map +1 -0
  264. package/build-module/components/add-new-template/{add-custom-generic-template-modal.js → add-custom-generic-template-modal-content.js} +10 -23
  265. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -0
  266. package/build-module/components/add-new-template/{add-custom-template-modal.js → add-custom-template-modal-content.js} +30 -42
  267. package/build-module/components/add-new-template/add-custom-template-modal-content.js.map +1 -0
  268. package/build-module/components/add-new-template/index.js +4 -5
  269. package/build-module/components/add-new-template/index.js.map +1 -1
  270. package/build-module/components/add-new-template/new-template-part.js +9 -12
  271. package/build-module/components/add-new-template/new-template-part.js.map +1 -1
  272. package/build-module/components/add-new-template/new-template.js +105 -82
  273. package/build-module/components/add-new-template/new-template.js.map +1 -1
  274. package/build-module/components/add-new-template/utils.js +71 -120
  275. package/build-module/components/add-new-template/utils.js.map +1 -1
  276. package/build-module/components/block-editor/back-button.js +1 -3
  277. package/build-module/components/block-editor/back-button.js.map +1 -1
  278. package/build-module/components/block-editor/block-inspector-button.js +3 -4
  279. package/build-module/components/block-editor/block-inspector-button.js.map +1 -1
  280. package/build-module/components/block-editor/editor-canvas.js +6 -7
  281. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  282. package/build-module/components/block-editor/index.js +13 -13
  283. package/build-module/components/block-editor/index.js.map +1 -1
  284. package/build-module/components/block-editor/inserter-media-categories.js +25 -42
  285. package/build-module/components/block-editor/inserter-media-categories.js.map +1 -1
  286. package/build-module/components/block-editor/resizable-editor.js +6 -7
  287. package/build-module/components/block-editor/resizable-editor.js.map +1 -1
  288. package/build-module/components/block-editor/resize-handle.js +5 -7
  289. package/build-module/components/block-editor/resize-handle.js.map +1 -1
  290. package/build-module/components/code-editor/code-editor-text-area.js +5 -6
  291. package/build-module/components/code-editor/code-editor-text-area.js.map +1 -1
  292. package/build-module/components/create-template-part-modal/index.js +31 -36
  293. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  294. package/build-module/components/editor/index.js +38 -56
  295. package/build-module/components/editor/index.js.map +1 -1
  296. package/build-module/components/editor-canvas-container/index.js +12 -9
  297. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  298. package/build-module/components/error-boundary/warning.js +8 -10
  299. package/build-module/components/error-boundary/warning.js.map +1 -1
  300. package/build-module/components/global-styles/block-preview-panel.js +7 -10
  301. package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
  302. package/build-module/components/global-styles/color-indicator-wrapper.js +4 -5
  303. package/build-module/components/global-styles/color-indicator-wrapper.js.map +1 -1
  304. package/build-module/components/global-styles/color-palette-panel.js +3 -4
  305. package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
  306. package/build-module/components/global-styles/dimensions-panel.js +1 -3
  307. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  308. package/build-module/components/global-styles/global-styles-provider.js +8 -10
  309. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  310. package/build-module/components/global-styles/gradients-palette-panel.js +3 -4
  311. package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -1
  312. package/build-module/components/global-styles/header.js +4 -5
  313. package/build-module/components/global-styles/header.js.map +1 -1
  314. package/build-module/components/global-styles/icon-with-current-color.js +4 -5
  315. package/build-module/components/global-styles/icon-with-current-color.js.map +1 -1
  316. package/build-module/components/global-styles/navigation-button.js +5 -6
  317. package/build-module/components/global-styles/navigation-button.js.map +1 -1
  318. package/build-module/components/global-styles/palette.js +10 -14
  319. package/build-module/components/global-styles/palette.js.map +1 -1
  320. package/build-module/components/global-styles/preview.js +41 -51
  321. package/build-module/components/global-styles/preview.js.map +1 -1
  322. package/build-module/components/global-styles/screen-block-list.js +4 -7
  323. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  324. package/build-module/components/global-styles/screen-block.js +90 -13
  325. package/build-module/components/global-styles/screen-block.js.map +1 -1
  326. package/build-module/components/global-styles/screen-color-palette.js +3 -4
  327. package/build-module/components/global-styles/screen-color-palette.js.map +1 -1
  328. package/build-module/components/global-styles/screen-revisions/index.js +10 -17
  329. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  330. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +26 -34
  331. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  332. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +20 -34
  333. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  334. package/build-module/components/global-styles/screen-root.js +5 -5
  335. package/build-module/components/global-styles/screen-root.js.map +1 -1
  336. package/build-module/components/global-styles/screen-typography-element.js +3 -4
  337. package/build-module/components/global-styles/screen-typography-element.js.map +1 -1
  338. package/build-module/components/global-styles/screen-typography.js +5 -6
  339. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  340. package/build-module/components/global-styles/style-variations-container.js +12 -17
  341. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  342. package/build-module/components/global-styles/subtitle.js +4 -5
  343. package/build-module/components/global-styles/subtitle.js.map +1 -1
  344. package/build-module/components/global-styles/typography-panel.js +4 -5
  345. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  346. package/build-module/components/global-styles/typography-preview.js +5 -6
  347. package/build-module/components/global-styles/typography-preview.js.map +1 -1
  348. package/build-module/components/global-styles/ui.js +50 -31
  349. package/build-module/components/global-styles/ui.js.map +1 -1
  350. package/build-module/components/global-styles/variations-panel.js +5 -6
  351. package/build-module/components/global-styles/variations-panel.js.map +1 -1
  352. package/build-module/components/header-edit-mode/document-actions/index.js +99 -97
  353. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  354. package/build-module/components/header-edit-mode/index.js +16 -8
  355. package/build-module/components/header-edit-mode/index.js.map +1 -1
  356. package/build-module/components/header-edit-mode/more-menu/index.js +49 -53
  357. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
  358. package/build-module/components/header-edit-mode/tools-more-menu-group/index.js +5 -13
  359. package/build-module/components/header-edit-mode/tools-more-menu-group/index.js.map +1 -1
  360. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +3 -4
  361. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
  362. package/build-module/components/keyboard-shortcut-help-modal/index.js +39 -49
  363. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  364. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +10 -12
  365. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  366. package/build-module/components/layout/hooks.js +41 -0
  367. package/build-module/components/layout/hooks.js.map +1 -0
  368. package/build-module/components/layout/index.js +34 -97
  369. package/build-module/components/layout/index.js.map +1 -1
  370. package/build-module/components/list/added-by.js +13 -23
  371. package/build-module/components/list/added-by.js.map +1 -1
  372. package/build-module/components/list/header.js +4 -7
  373. package/build-module/components/list/header.js.map +1 -1
  374. package/build-module/components/list/index.js +2 -4
  375. package/build-module/components/list/index.js.map +1 -1
  376. package/build-module/components/list/table.js +34 -39
  377. package/build-module/components/list/table.js.map +1 -1
  378. package/build-module/components/page-actions/delete-page-menu-item.js +58 -0
  379. package/build-module/components/page-actions/delete-page-menu-item.js.map +1 -0
  380. package/build-module/components/page-actions/index.js +30 -0
  381. package/build-module/components/page-actions/index.js.map +1 -0
  382. package/build-module/components/page-content-lock/constants.js +2 -0
  383. package/build-module/components/page-content-lock/constants.js.map +1 -0
  384. package/build-module/components/page-content-lock/index.js +14 -0
  385. package/build-module/components/page-content-lock/index.js.map +1 -0
  386. package/build-module/components/page-content-lock/use-disable-non-content-blocks.js +36 -0
  387. package/build-module/components/page-content-lock/use-disable-non-content-blocks.js.map +1 -0
  388. package/build-module/components/page-content-lock/use-page-content-lock-notifications.js +98 -0
  389. package/build-module/components/page-content-lock/use-page-content-lock-notifications.js.map +1 -0
  390. package/build-module/components/preferences-modal/index.js +4 -5
  391. package/build-module/components/preferences-modal/index.js.map +1 -1
  392. package/build-module/components/resizable-frame/index.js +236 -0
  393. package/build-module/components/resizable-frame/index.js.map +1 -0
  394. package/build-module/components/revisions/index.js +13 -14
  395. package/build-module/components/revisions/index.js.map +1 -1
  396. package/build-module/components/routes/link.js +8 -12
  397. package/build-module/components/routes/link.js.map +1 -1
  398. package/build-module/components/routes/use-title.js +1 -5
  399. package/build-module/components/routes/use-title.js.map +1 -1
  400. package/build-module/components/save-button/index.js +13 -7
  401. package/build-module/components/save-button/index.js.map +1 -1
  402. package/build-module/components/save-hub/index.js +95 -8
  403. package/build-module/components/save-hub/index.js.map +1 -1
  404. package/build-module/components/save-panel/index.js +62 -19
  405. package/build-module/components/save-panel/index.js.map +1 -1
  406. package/build-module/components/secondary-sidebar/list-view-sidebar.js +12 -6
  407. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  408. package/build-module/components/sidebar/index.js +9 -8
  409. package/build-module/components/sidebar/index.js.map +1 -1
  410. package/build-module/components/sidebar-edit-mode/default-sidebar.js +11 -12
  411. package/build-module/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
  412. package/build-module/components/sidebar-edit-mode/index.js +14 -11
  413. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  414. package/build-module/components/sidebar-edit-mode/page-panels/content-blocks-list.js +67 -0
  415. package/build-module/components/sidebar-edit-mode/page-panels/content-blocks-list.js.map +1 -0
  416. package/build-module/components/sidebar-edit-mode/page-panels/index.js +67 -0
  417. package/build-module/components/sidebar-edit-mode/page-panels/index.js.map +1 -0
  418. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js +4 -5
  419. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  420. package/build-module/components/sidebar-edit-mode/settings-header/index.js +36 -22
  421. package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  422. package/build-module/components/sidebar-edit-mode/sidebar-card/index.js +35 -0
  423. package/build-module/components/sidebar-edit-mode/sidebar-card/index.js.map +1 -0
  424. package/build-module/components/sidebar-edit-mode/sidebar-fixed-bottom.js +3 -4
  425. package/build-module/components/sidebar-edit-mode/sidebar-fixed-bottom.js.map +1 -1
  426. package/build-module/components/sidebar-edit-mode/{template-card → template-panel}/index.js +20 -19
  427. package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -0
  428. package/build-module/components/sidebar-edit-mode/{template-revisions/index.js → template-panel/last-revision.js} +7 -8
  429. package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -0
  430. package/build-module/components/sidebar-edit-mode/{template-card → template-panel}/template-actions.js +12 -16
  431. package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -0
  432. package/build-module/components/sidebar-edit-mode/{template-card → template-panel}/template-areas.js +15 -19
  433. package/build-module/components/sidebar-edit-mode/template-panel/template-areas.js.map +1 -0
  434. package/build-module/components/sidebar-navigation-item/index.js +7 -8
  435. package/build-module/components/sidebar-navigation-item/index.js.map +1 -1
  436. package/build-module/components/sidebar-navigation-screen/index.js +22 -15
  437. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  438. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +161 -15
  439. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  440. package/build-module/components/sidebar-navigation-screen-main/index.js +21 -32
  441. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  442. package/build-module/components/sidebar-navigation-screen-navigation-item/index.js +3 -5
  443. package/build-module/components/sidebar-navigation-screen-navigation-item/index.js.map +1 -1
  444. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js +138 -0
  445. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -0
  446. package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js +10 -0
  447. package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -0
  448. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +49 -106
  449. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  450. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +68 -0
  451. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -0
  452. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +14 -74
  453. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  454. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigator-button.js +39 -0
  455. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigator-button.js.map +1 -0
  456. package/build-module/components/sidebar-navigation-screen-page/index.js +79 -14
  457. package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
  458. package/build-module/components/sidebar-navigation-screen-page/page-details.js +131 -0
  459. package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +1 -0
  460. package/build-module/components/sidebar-navigation-screen-page/status-label.js +97 -0
  461. package/build-module/components/sidebar-navigation-screen-page/status-label.js.map +1 -0
  462. package/build-module/components/sidebar-navigation-screen-pages/index.js +125 -19
  463. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  464. package/build-module/components/sidebar-navigation-screen-template/index.js +22 -17
  465. package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
  466. package/build-module/components/sidebar-navigation-screen-template-part/index.js +86 -0
  467. package/build-module/components/sidebar-navigation-screen-template-part/index.js.map +1 -0
  468. package/build-module/components/sidebar-navigation-screen-templates/index.js +43 -24
  469. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  470. package/build-module/components/sidebar-navigation-subtitle/index.js +3 -4
  471. package/build-module/components/sidebar-navigation-subtitle/index.js.map +1 -1
  472. package/build-module/components/site-hub/index.js +21 -16
  473. package/build-module/components/site-hub/index.js.map +1 -1
  474. package/build-module/components/site-icon/index.js +4 -5
  475. package/build-module/components/site-icon/index.js.map +1 -1
  476. package/build-module/components/start-template-options/index.js +15 -21
  477. package/build-module/components/start-template-options/index.js.map +1 -1
  478. package/build-module/components/style-book/index.js +107 -38
  479. package/build-module/components/style-book/index.js.map +1 -1
  480. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +2 -2
  481. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  482. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +9 -10
  483. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  484. package/build-module/components/template-actions/index.js +92 -0
  485. package/build-module/components/template-actions/index.js.map +1 -0
  486. package/build-module/components/{list/actions → template-actions}/rename-menu-item.js +4 -5
  487. package/build-module/components/template-actions/rename-menu-item.js.map +1 -0
  488. package/build-module/components/template-part-converter/convert-to-regular.js +4 -5
  489. package/build-module/components/template-part-converter/convert-to-regular.js.map +1 -1
  490. package/build-module/components/template-part-converter/convert-to-template-part.js +8 -10
  491. package/build-module/components/template-part-converter/convert-to-template-part.js.map +1 -1
  492. package/build-module/components/template-part-converter/index.js +12 -18
  493. package/build-module/components/template-part-converter/index.js.map +1 -1
  494. package/build-module/components/use-edited-entity-record/index.js +8 -4
  495. package/build-module/components/use-edited-entity-record/index.js.map +1 -1
  496. package/build-module/components/welcome-guide/image.js +4 -5
  497. package/build-module/components/welcome-guide/image.js.map +1 -1
  498. package/build-module/hooks/commands/use-edit-mode-commands.js +84 -0
  499. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -0
  500. package/build-module/hooks/push-changes-to-global-styles/index.js +11 -8
  501. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  502. package/build-module/hooks/template-part-edit.js +5 -6
  503. package/build-module/hooks/template-part-edit.js.map +1 -1
  504. package/build-module/index.js +3 -6
  505. package/build-module/index.js.map +1 -1
  506. package/build-module/store/actions.js +127 -126
  507. package/build-module/store/actions.js.map +1 -1
  508. package/build-module/store/private-actions.js +7 -10
  509. package/build-module/store/private-actions.js.map +1 -1
  510. package/build-module/store/reducer.js +30 -33
  511. package/build-module/store/reducer.js.map +1 -1
  512. package/build-module/store/selectors.js +31 -11
  513. package/build-module/store/selectors.js.map +1 -1
  514. package/build-module/store/utils.js +1 -3
  515. package/build-module/store/utils.js.map +1 -1
  516. package/build-module/utils/get-is-list-page.js +3 -4
  517. package/build-module/utils/get-is-list-page.js.map +1 -1
  518. package/build-module/utils/is-previewing-theme.js +1 -3
  519. package/build-module/utils/is-previewing-theme.js.map +1 -1
  520. package/build-module/utils/is-template-revertable.js +1 -1
  521. package/build-module/utils/is-template-revertable.js.map +1 -1
  522. package/build-style/style-rtl.css +477 -232
  523. package/build-style/style.css +478 -232
  524. package/package.json +40 -37
  525. package/src/components/add-new-page/index.js +105 -0
  526. package/src/components/add-new-template/add-custom-generic-template-modal-content.js +82 -0
  527. package/src/components/add-new-template/{add-custom-template-modal.js → add-custom-template-modal-content.js} +13 -26
  528. package/src/components/add-new-template/new-template.js +141 -154
  529. package/src/components/add-new-template/style.scss +79 -66
  530. package/src/components/block-editor/index.js +27 -17
  531. package/src/components/create-template-part-modal/index.js +19 -25
  532. package/src/components/editor/index.js +30 -53
  533. package/src/components/editor/style.scss +11 -1
  534. package/src/components/editor-canvas-container/index.js +28 -19
  535. package/src/components/global-styles/screen-block.js +74 -3
  536. package/src/components/global-styles/screen-revisions/index.js +3 -11
  537. package/src/components/global-styles/screen-revisions/revisions-buttons.js +33 -25
  538. package/src/components/global-styles/screen-revisions/style.scss +3 -2
  539. package/src/components/global-styles/screen-revisions/test/use-global-styles-revisions.js +16 -3
  540. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +22 -24
  541. package/src/components/global-styles/screen-root.js +5 -3
  542. package/src/components/global-styles/style-variations-container.js +13 -18
  543. package/src/components/global-styles/style.scss +3 -0
  544. package/src/components/global-styles/ui.js +39 -9
  545. package/src/components/header-edit-mode/document-actions/index.js +112 -121
  546. package/src/components/header-edit-mode/document-actions/style.scss +78 -54
  547. package/src/components/header-edit-mode/index.js +18 -0
  548. package/src/components/header-edit-mode/style.scss +1 -0
  549. package/src/components/header-edit-mode/tools-more-menu-group/index.js +1 -6
  550. package/src/components/layout/hooks.js +46 -0
  551. package/src/components/layout/index.js +47 -122
  552. package/src/components/layout/style.scss +8 -2
  553. package/src/components/list/style.scss +1 -0
  554. package/src/components/list/table.js +6 -2
  555. package/src/components/page-actions/delete-page-menu-item.js +71 -0
  556. package/src/components/page-actions/index.js +36 -0
  557. package/src/components/page-content-lock/constants.js +5 -0
  558. package/src/components/page-content-lock/index.js +14 -0
  559. package/src/components/page-content-lock/use-disable-non-content-blocks.js +44 -0
  560. package/src/components/page-content-lock/use-page-content-lock-notifications.js +128 -0
  561. package/src/components/resizable-frame/index.js +263 -0
  562. package/src/components/resizable-frame/style.scss +71 -0
  563. package/src/components/revisions/index.js +7 -7
  564. package/src/components/save-button/index.js +6 -0
  565. package/src/components/save-hub/index.js +143 -38
  566. package/src/components/save-hub/style.scss +6 -0
  567. package/src/components/save-panel/index.js +62 -15
  568. package/src/components/secondary-sidebar/list-view-sidebar.js +10 -2
  569. package/src/components/sidebar/index.js +10 -8
  570. package/src/components/sidebar/style.scss +3 -4
  571. package/src/components/sidebar-edit-mode/index.js +16 -14
  572. package/src/components/sidebar-edit-mode/page-panels/content-blocks-list.js +77 -0
  573. package/src/components/sidebar-edit-mode/page-panels/index.js +89 -0
  574. package/src/components/sidebar-edit-mode/page-panels/style.scss +10 -0
  575. package/src/components/sidebar-edit-mode/settings-header/index.js +51 -28
  576. package/src/components/sidebar-edit-mode/sidebar-card/index.js +34 -0
  577. package/src/components/sidebar-edit-mode/sidebar-card/style.scss +34 -0
  578. package/src/components/sidebar-edit-mode/{template-card → template-panel}/index.js +22 -19
  579. package/src/components/sidebar-edit-mode/{template-revisions/index.js → template-panel/last-revision.js} +1 -2
  580. package/src/components/sidebar-edit-mode/{template-card → template-panel}/style.scss +2 -32
  581. package/src/components/sidebar-navigation-item/style.scss +9 -0
  582. package/src/components/sidebar-navigation-screen/index.js +74 -50
  583. package/src/components/sidebar-navigation-screen/style.scss +46 -6
  584. package/src/components/sidebar-navigation-screen-global-styles/index.js +212 -21
  585. package/src/components/sidebar-navigation-screen-global-styles/style.scss +15 -0
  586. package/src/components/sidebar-navigation-screen-main/index.js +35 -52
  587. package/src/components/sidebar-navigation-screen-navigation-menu/index.js +157 -0
  588. package/src/components/sidebar-navigation-screen-navigation-menus/constants.js +9 -0
  589. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +63 -117
  590. package/src/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +83 -0
  591. package/src/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +6 -72
  592. package/src/components/sidebar-navigation-screen-navigation-menus/navigator-button.js +47 -0
  593. package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +7 -21
  594. package/src/components/sidebar-navigation-screen-page/index.js +137 -24
  595. package/src/components/sidebar-navigation-screen-page/page-details.js +163 -0
  596. package/src/components/sidebar-navigation-screen-page/status-label.js +101 -0
  597. package/src/components/sidebar-navigation-screen-page/style.scss +80 -0
  598. package/src/components/sidebar-navigation-screen-pages/index.js +180 -44
  599. package/src/components/sidebar-navigation-screen-template/index.js +25 -22
  600. package/src/components/sidebar-navigation-screen-template-part/index.js +103 -0
  601. package/src/components/sidebar-navigation-screen-templates/index.js +52 -13
  602. package/src/components/sidebar-navigation-subtitle/style.scss +2 -2
  603. package/src/components/site-hub/index.js +29 -15
  604. package/src/components/site-hub/style.scss +26 -0
  605. package/src/components/start-template-options/style.scss +20 -21
  606. package/src/components/style-book/index.js +132 -43
  607. package/src/components/style-book/style.scss +19 -0
  608. package/src/components/{list/actions → template-actions}/index.js +31 -11
  609. package/src/components/use-edited-entity-record/index.js +12 -3
  610. package/src/hooks/commands/use-edit-mode-commands.js +79 -0
  611. package/src/hooks/push-changes-to-global-styles/index.js +13 -7
  612. package/src/store/actions.js +24 -6
  613. package/src/store/reducer.js +20 -0
  614. package/src/store/selectors.js +24 -0
  615. package/src/store/test/actions.js +31 -0
  616. package/src/store/test/reducer.js +44 -0
  617. package/src/store/test/selectors.js +57 -0
  618. package/src/store/test/utils.js +15 -5
  619. package/src/style.scss +6 -3
  620. package/src/utils/is-previewing-theme.js +1 -4
  621. package/build/components/add-new-template/add-custom-generic-template-modal.js.map +0 -1
  622. package/build/components/add-new-template/add-custom-template-modal.js.map +0 -1
  623. package/build/components/global-styles/border-panel.js +0 -135
  624. package/build/components/global-styles/border-panel.js.map +0 -1
  625. package/build/components/list/actions/index.js.map +0 -1
  626. package/build/components/list/actions/rename-menu-item.js.map +0 -1
  627. package/build/components/navigate-to-link/index.js +0 -51
  628. package/build/components/navigate-to-link/index.js.map +0 -1
  629. package/build/components/sidebar-edit-mode/template-card/index.js.map +0 -1
  630. package/build/components/sidebar-edit-mode/template-card/template-actions.js.map +0 -1
  631. package/build/components/sidebar-edit-mode/template-card/template-areas.js.map +0 -1
  632. package/build/components/sidebar-edit-mode/template-revisions/index.js.map +0 -1
  633. package/build/components/sidebar-navigation-screen-navigation-menus/loader.js +0 -19
  634. package/build/components/sidebar-navigation-screen-navigation-menus/loader.js.map +0 -1
  635. package/build/components/template-details/edit-template-title.js +0 -42
  636. package/build/components/template-details/edit-template-title.js.map +0 -1
  637. package/build/components/template-details/index.js +0 -103
  638. package/build/components/template-details/index.js.map +0 -1
  639. package/build/components/template-details/template-areas.js +0 -166
  640. package/build/components/template-details/template-areas.js.map +0 -1
  641. package/build/components/template-details/template-part-area-selector.js +0 -48
  642. package/build/components/template-details/template-part-area-selector.js.map +0 -1
  643. package/build-module/components/add-new-template/add-custom-generic-template-modal.js.map +0 -1
  644. package/build-module/components/add-new-template/add-custom-template-modal.js.map +0 -1
  645. package/build-module/components/global-styles/border-panel.js +0 -125
  646. package/build-module/components/global-styles/border-panel.js.map +0 -1
  647. package/build-module/components/list/actions/index.js +0 -86
  648. package/build-module/components/list/actions/index.js.map +0 -1
  649. package/build-module/components/list/actions/rename-menu-item.js.map +0 -1
  650. package/build-module/components/navigate-to-link/index.js +0 -39
  651. package/build-module/components/navigate-to-link/index.js.map +0 -1
  652. package/build-module/components/sidebar-edit-mode/template-card/index.js.map +0 -1
  653. package/build-module/components/sidebar-edit-mode/template-card/template-actions.js.map +0 -1
  654. package/build-module/components/sidebar-edit-mode/template-card/template-areas.js.map +0 -1
  655. package/build-module/components/sidebar-edit-mode/template-revisions/index.js.map +0 -1
  656. package/build-module/components/sidebar-navigation-screen-navigation-menus/loader.js +0 -11
  657. package/build-module/components/sidebar-navigation-screen-navigation-menus/loader.js.map +0 -1
  658. package/build-module/components/template-details/edit-template-title.js +0 -33
  659. package/build-module/components/template-details/edit-template-title.js.map +0 -1
  660. package/build-module/components/template-details/index.js +0 -83
  661. package/build-module/components/template-details/index.js.map +0 -1
  662. package/build-module/components/template-details/template-areas.js +0 -145
  663. package/build-module/components/template-details/template-areas.js.map +0 -1
  664. package/build-module/components/template-details/template-part-area-selector.js +0 -36
  665. package/build-module/components/template-details/template-part-area-selector.js.map +0 -1
  666. package/src/components/add-new-template/add-custom-generic-template-modal.js +0 -101
  667. package/src/components/global-styles/border-panel.js +0 -114
  668. package/src/components/navigate-to-link/index.js +0 -46
  669. package/src/components/sidebar-navigation-screen-navigation-menus/loader.js +0 -9
  670. package/src/components/sidebar-navigation-screen-pages/style.scss +0 -4
  671. package/src/components/template-details/edit-template-title.js +0 -41
  672. package/src/components/template-details/index.js +0 -113
  673. package/src/components/template-details/style.scss +0 -72
  674. package/src/components/template-details/template-areas.js +0 -167
  675. package/src/components/template-details/template-part-area-selector.js +0 -39
  676. /package/src/components/sidebar-edit-mode/{template-card → template-panel}/template-actions.js +0 -0
  677. /package/src/components/sidebar-edit-mode/{template-card → template-panel}/template-areas.js +0 -0
  678. /package/src/components/{list/actions → template-actions}/rename-menu-item.js +0 -0
@@ -4,10 +4,16 @@
4
4
  import {
5
5
  __experimentalItemGroup as ItemGroup,
6
6
  __experimentalItem as Item,
7
+ __experimentalTruncate as Truncate,
8
+ __experimentalVStack as VStack,
7
9
  } from '@wordpress/components';
10
+ import { useState } from '@wordpress/element';
8
11
  import { __ } from '@wordpress/i18n';
9
- import { useEntityRecords } from '@wordpress/core-data';
12
+ import { useEntityRecords, store as coreStore } from '@wordpress/core-data';
10
13
  import { decodeEntities } from '@wordpress/html-entities';
14
+ import { privateApis as routerPrivateApis } from '@wordpress/router';
15
+ import { layout, page, home, loop, plus } from '@wordpress/icons';
16
+ import { useSelect } from '@wordpress/data';
11
17
 
12
18
  /**
13
19
  * Internal dependencies
@@ -15,68 +21,198 @@ import { decodeEntities } from '@wordpress/html-entities';
15
21
  import SidebarNavigationScreen from '../sidebar-navigation-screen';
16
22
  import { useLink } from '../routes/link';
17
23
  import SidebarNavigationItem from '../sidebar-navigation-item';
18
- import SidebarNavigationSubtitle from '../sidebar-navigation-subtitle';
24
+ import SidebarButton from '../sidebar-button';
25
+ import AddNewPageModal from '../add-new-page';
26
+ import { unlock } from '../../private-apis';
19
27
 
20
- const PageItem = ( { postId, ...props } ) => {
28
+ const { useHistory } = unlock( routerPrivateApis );
29
+
30
+ const PageItem = ( { postType = 'page', postId, ...props } ) => {
21
31
  const linkInfo = useLink( {
22
- postType: 'page',
32
+ postType,
23
33
  postId,
24
34
  } );
25
35
  return <SidebarNavigationItem { ...linkInfo } { ...props } />;
26
36
  };
27
37
 
28
38
  export default function SidebarNavigationScreenPages() {
29
- const { records: pages, isResolving: isLoading } = useEntityRecords(
39
+ const { records: pages, isResolving: isLoadingPages } = useEntityRecords(
30
40
  'postType',
31
- 'page'
41
+ 'page',
42
+ {
43
+ status: 'any',
44
+ per_page: -1,
45
+ }
46
+ );
47
+ const { records: templates, isResolving: isLoadingTemplates } =
48
+ useEntityRecords( 'postType', 'wp_template', {
49
+ per_page: -1,
50
+ } );
51
+
52
+ const dynamicPageTemplates = templates?.filter( ( { slug } ) =>
53
+ [ '404', 'search' ].includes( slug )
32
54
  );
33
55
 
56
+ const homeTemplate =
57
+ templates?.find( ( template ) => template.slug === 'front-page' ) ||
58
+ templates?.find( ( template ) => template.slug === 'home' ) ||
59
+ templates?.find( ( template ) => template.slug === 'index' );
60
+
61
+ const pagesAndTemplates = pages?.concat( dynamicPageTemplates, [
62
+ homeTemplate,
63
+ ] );
64
+
65
+ const { frontPage, postsPage } = useSelect( ( select ) => {
66
+ const { getEntityRecord } = select( coreStore );
67
+
68
+ const siteSettings = getEntityRecord( 'root', 'site' );
69
+ return {
70
+ frontPage: siteSettings?.page_on_front,
71
+ postsPage: siteSettings?.page_for_posts,
72
+ };
73
+ }, [] );
74
+
75
+ const isHomePageBlog = frontPage === postsPage;
76
+
77
+ const reorderedPages = pages && [ ...pages ];
78
+
79
+ if ( ! isHomePageBlog && reorderedPages?.length ) {
80
+ const homePageIndex = reorderedPages.findIndex(
81
+ ( item ) => item.id === frontPage
82
+ );
83
+ const homePage = reorderedPages.splice( homePageIndex, 1 );
84
+ reorderedPages?.splice( 0, 0, ...homePage );
85
+
86
+ const postsPageIndex = reorderedPages.findIndex(
87
+ ( item ) => item.id === postsPage
88
+ );
89
+
90
+ const blogPage = reorderedPages.splice( postsPageIndex, 1 );
91
+
92
+ reorderedPages.splice( 1, 0, ...blogPage );
93
+ }
94
+
95
+ const [ showAddPage, setShowAddPage ] = useState( false );
96
+
97
+ const history = useHistory();
98
+
99
+ const handleNewPage = ( { type, id } ) => {
100
+ // Navigate to the created template editor.
101
+ history.push( {
102
+ postId: id,
103
+ postType: type,
104
+ canvas: 'edit',
105
+ } );
106
+ setShowAddPage( false );
107
+ };
108
+
34
109
  return (
35
- <SidebarNavigationScreen
36
- title={ __( 'Pages' ) }
37
- description={ __( 'Browse and edit pages on your site.' ) }
38
- content={
39
- <>
40
- { isLoading && (
41
- <ItemGroup>
42
- <Item>{ __( 'Loading pages' ) }</Item>
43
- </ItemGroup>
44
- ) }
45
- { ! isLoading && (
46
- <>
47
- <SidebarNavigationSubtitle>
48
- { __( 'Recent' ) }
49
- </SidebarNavigationSubtitle>
110
+ <>
111
+ { showAddPage && (
112
+ <AddNewPageModal
113
+ onSave={ handleNewPage }
114
+ onClose={ () => setShowAddPage( false ) }
115
+ />
116
+ ) }
117
+ <SidebarNavigationScreen
118
+ title={ __( 'Pages' ) }
119
+ description={ __( 'Browse and edit pages on your site.' ) }
120
+ actions={
121
+ <SidebarButton
122
+ icon={ plus }
123
+ label={ __( 'Draft a new page' ) }
124
+ onClick={ () => setShowAddPage( true ) }
125
+ />
126
+ }
127
+ content={
128
+ <>
129
+ { ( isLoadingPages || isLoadingTemplates ) && (
130
+ <ItemGroup>
131
+ <Item>{ __( 'Loading pages' ) }</Item>
132
+ </ItemGroup>
133
+ ) }
134
+ { ! ( isLoadingPages || isLoadingTemplates ) && (
50
135
  <ItemGroup>
51
- { ! pages?.length && (
136
+ { ! pagesAndTemplates?.length && (
52
137
  <Item>{ __( 'No page found' ) }</Item>
53
138
  ) }
54
- { pages?.map( ( page ) => (
139
+ { isHomePageBlog && homeTemplate && (
55
140
  <PageItem
56
- postId={ page.id }
57
- key={ page.id }
141
+ postType="wp_template"
142
+ postId={ homeTemplate.id }
143
+ key={ homeTemplate.id }
144
+ icon={ home }
58
145
  withChevron
59
146
  >
60
- { decodeEntities(
61
- page.title?.rendered
62
- ) ?? __( '(no title)' ) }
147
+ <Truncate numberOfLines={ 1 }>
148
+ { decodeEntities(
149
+ homeTemplate.title?.rendered ||
150
+ __( '(no title)' )
151
+ ) }
152
+ </Truncate>
63
153
  </PageItem>
64
- ) ) }
65
- <SidebarNavigationItem
66
- className="edit-site-sidebar-navigation-screen-pages__see-all"
67
- href="edit.php?post_type=page"
68
- onClick={ () => {
69
- document.location =
70
- 'edit.php?post_type=page';
71
- } }
72
- >
73
- { __( 'Manage all pages' ) }
74
- </SidebarNavigationItem>
154
+ ) }
155
+ { reorderedPages?.map( ( item ) => {
156
+ let itemIcon;
157
+ switch ( item.id ) {
158
+ case frontPage:
159
+ itemIcon = home;
160
+ break;
161
+ case postsPage:
162
+ itemIcon = loop;
163
+ break;
164
+ default:
165
+ itemIcon = page;
166
+ }
167
+ return (
168
+ <PageItem
169
+ postId={ item.id }
170
+ key={ item.id }
171
+ icon={ itemIcon }
172
+ withChevron
173
+ >
174
+ <Truncate numberOfLines={ 1 }>
175
+ { decodeEntities(
176
+ item?.title?.rendered ||
177
+ __( '(no title)' )
178
+ ) }
179
+ </Truncate>
180
+ </PageItem>
181
+ );
182
+ } ) }
183
+ <VStack className="edit-site-sidebar-navigation-screen__sticky-section">
184
+ { dynamicPageTemplates?.map( ( item ) => (
185
+ <PageItem
186
+ postType="wp_template"
187
+ postId={ item.id }
188
+ key={ item.id }
189
+ icon={ layout }
190
+ withChevron
191
+ >
192
+ <Truncate numberOfLines={ 1 }>
193
+ { decodeEntities(
194
+ item.title?.rendered ||
195
+ __( '(no title)' )
196
+ ) }
197
+ </Truncate>
198
+ </PageItem>
199
+ ) ) }
200
+ <SidebarNavigationItem
201
+ className="edit-site-sidebar-navigation-screen-pages__see-all"
202
+ href="edit.php?post_type=page"
203
+ onClick={ () => {
204
+ document.location =
205
+ 'edit.php?post_type=page';
206
+ } }
207
+ >
208
+ { __( 'Manage all pages' ) }
209
+ </SidebarNavigationItem>
210
+ </VStack>
75
211
  </ItemGroup>
76
- </>
77
- ) }
78
- </>
79
- }
80
- />
212
+ ) }
213
+ </>
214
+ }
215
+ />
216
+ </>
81
217
  );
82
218
  }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { __, sprintf, _x } from '@wordpress/i18n';
4
+ import { __, _x } from '@wordpress/i18n';
5
5
  import { useDispatch, useSelect } from '@wordpress/data';
6
6
  import { pencil } from '@wordpress/icons';
7
7
  import {
@@ -19,6 +19,7 @@ import { unlock } from '../../private-apis';
19
19
  import { store as editSiteStore } from '../../store';
20
20
  import SidebarButton from '../sidebar-button';
21
21
  import { useAddedBy } from '../list/added-by';
22
+ import TemplateActions from '../template-actions';
22
23
 
23
24
  function useTemplateTitleAndDescription( postType, postId ) {
24
25
  const { getDescription, getTitle, record } = useEditedEntityRecord(
@@ -36,17 +37,9 @@ function useTemplateTitleAndDescription( postType, postId ) {
36
37
  let descriptionText = getDescription();
37
38
 
38
39
  if ( ! descriptionText && addedBy.text ) {
39
- if ( record.type === 'wp_template' && record.is_custom ) {
40
- descriptionText = __(
41
- 'This is a custom template that can be applied manually to any Post or Page.'
42
- );
43
- } else if ( record.type === 'wp_template_part' ) {
44
- descriptionText = sprintf(
45
- // translators: %s: template part title e.g: "Header".
46
- __( 'This is your %s template part.' ),
47
- getTitle()
48
- );
49
- }
40
+ descriptionText = __(
41
+ 'This is a custom template that can be applied manually to any Post or Page.'
42
+ );
50
43
  }
51
44
 
52
45
  const description = (
@@ -73,9 +66,7 @@ function useTemplateTitleAndDescription( postType, postId ) {
73
66
 
74
67
  { addedBy.isCustomized && (
75
68
  <span className="edit-site-sidebar-navigation-screen-template__added-by-description-customized">
76
- { postType === 'wp_template'
77
- ? _x( '(Customized)', 'template' )
78
- : _x( '(Customized)', 'template part' ) }
69
+ { _x( '(Customized)', 'template' ) }
79
70
  </span>
80
71
  ) }
81
72
  </span>
@@ -87,8 +78,10 @@ function useTemplateTitleAndDescription( postType, postId ) {
87
78
  }
88
79
 
89
80
  export default function SidebarNavigationScreenTemplate() {
90
- const { params } = useNavigator();
91
- const { postType, postId } = params;
81
+ const navigator = useNavigator();
82
+ const {
83
+ params: { postType, postId },
84
+ } = navigator;
92
85
  const { setCanvasMode } = unlock( useDispatch( editSiteStore ) );
93
86
  const { title, description } = useTemplateTitleAndDescription(
94
87
  postType,
@@ -99,11 +92,21 @@ export default function SidebarNavigationScreenTemplate() {
99
92
  <SidebarNavigationScreen
100
93
  title={ title }
101
94
  actions={
102
- <SidebarButton
103
- onClick={ () => setCanvasMode( 'edit' ) }
104
- label={ __( 'Edit' ) }
105
- icon={ pencil }
106
- />
95
+ <>
96
+ <TemplateActions
97
+ postType={ postType }
98
+ postId={ postId }
99
+ toggleProps={ { as: SidebarButton } }
100
+ onRemove={ () => {
101
+ navigator.goTo( `/${ postType }/all` );
102
+ } }
103
+ />
104
+ <SidebarButton
105
+ onClick={ () => setCanvasMode( 'edit' ) }
106
+ label={ __( 'Edit' ) }
107
+ icon={ pencil }
108
+ />
109
+ </>
107
110
  }
108
111
  description={ description }
109
112
  />
@@ -0,0 +1,103 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { __, sprintf, _x } from '@wordpress/i18n';
5
+ import { useDispatch, useSelect } from '@wordpress/data';
6
+ import { pencil } from '@wordpress/icons';
7
+ import {
8
+ __experimentalUseNavigator as useNavigator,
9
+ Icon,
10
+ } from '@wordpress/components';
11
+ import { store as coreStore } from '@wordpress/core-data';
12
+
13
+ /**
14
+ * Internal dependencies
15
+ */
16
+ import SidebarNavigationScreen from '../sidebar-navigation-screen';
17
+ import useEditedEntityRecord from '../use-edited-entity-record';
18
+ import { unlock } from '../../private-apis';
19
+ import { store as editSiteStore } from '../../store';
20
+ import SidebarButton from '../sidebar-button';
21
+ import { useAddedBy } from '../list/added-by';
22
+
23
+ function useTemplateTitleAndDescription( postType, postId ) {
24
+ const { getDescription, getTitle, record } = useEditedEntityRecord(
25
+ postType,
26
+ postId
27
+ );
28
+ const currentTheme = useSelect(
29
+ ( select ) => select( coreStore ).getCurrentTheme(),
30
+ []
31
+ );
32
+ const addedBy = useAddedBy( postType, postId );
33
+ const isAddedByActiveTheme =
34
+ addedBy.type === 'theme' && record.theme === currentTheme?.stylesheet;
35
+ const title = getTitle();
36
+ let descriptionText = getDescription();
37
+
38
+ if ( ! descriptionText && addedBy.text ) {
39
+ descriptionText = sprintf(
40
+ // translators: %s: template part title e.g: "Header".
41
+ __( 'This is your %s template part.' ),
42
+ getTitle()
43
+ );
44
+ }
45
+
46
+ const description = (
47
+ <>
48
+ { descriptionText }
49
+
50
+ { addedBy.text && ! isAddedByActiveTheme && (
51
+ <span className="edit-site-sidebar-navigation-screen-template__added-by-description">
52
+ <span className="edit-site-sidebar-navigation-screen-template__added-by-description-author">
53
+ <span className="edit-site-sidebar-navigation-screen-template__added-by-description-author-icon">
54
+ { addedBy.imageUrl ? (
55
+ <img
56
+ src={ addedBy.imageUrl }
57
+ alt=""
58
+ width="24"
59
+ height="24"
60
+ />
61
+ ) : (
62
+ <Icon icon={ addedBy.icon } />
63
+ ) }
64
+ </span>
65
+ { addedBy.text }
66
+ </span>
67
+
68
+ { addedBy.isCustomized && (
69
+ <span className="edit-site-sidebar-navigation-screen-template__added-by-description-customized">
70
+ { _x( '(Customized)', 'template part' ) }
71
+ </span>
72
+ ) }
73
+ </span>
74
+ ) }
75
+ </>
76
+ );
77
+
78
+ return { title, description };
79
+ }
80
+
81
+ export default function SidebarNavigationScreenTemplatePart() {
82
+ const { params } = useNavigator();
83
+ const { postType, postId } = params;
84
+ const { setCanvasMode } = unlock( useDispatch( editSiteStore ) );
85
+ const { title, description } = useTemplateTitleAndDescription(
86
+ postType,
87
+ postId
88
+ );
89
+
90
+ return (
91
+ <SidebarNavigationScreen
92
+ title={ title }
93
+ actions={
94
+ <SidebarButton
95
+ onClick={ () => setCanvasMode( 'edit' ) }
96
+ label={ __( 'Edit' ) }
97
+ icon={ pencil }
98
+ />
99
+ }
100
+ description={ description }
101
+ />
102
+ );
103
+ }
@@ -11,6 +11,7 @@ import { useEntityRecords } from '@wordpress/core-data';
11
11
  import { useSelect } from '@wordpress/data';
12
12
  import { decodeEntities } from '@wordpress/html-entities';
13
13
  import { useViewportMatch } from '@wordpress/compose';
14
+ import { getTemplatePartIcon } from '@wordpress/editor';
14
15
 
15
16
  /**
16
17
  * Internal dependencies
@@ -36,14 +37,31 @@ const config = {
36
37
  },
37
38
  wp_template_part: {
38
39
  labels: {
39
- title: __( 'Template parts' ),
40
- loading: __( 'Loading template parts' ),
41
- notFound: __( 'No template parts found' ),
40
+ title: __( 'Library' ),
41
+ loading: __( 'Loading library' ),
42
+ notFound: __( 'No patterns found' ),
42
43
  manage: __( 'Manage all template parts' ),
44
+ reusableBlocks: __( 'Manage reusable blocks' ),
43
45
  description: __(
44
46
  'Template Parts are small pieces of a layout that can be reused across multiple templates and always appear the same way. Common template parts include the site header, footer, or sidebar.'
45
47
  ),
46
48
  },
49
+ sortCallback: ( items ) => {
50
+ const groupedByArea = items.reduce(
51
+ ( accumulator, item ) => {
52
+ const key = accumulator[ item.area ] ? item.area : 'rest';
53
+ accumulator[ key ].push( item );
54
+ return accumulator;
55
+ },
56
+ { header: [], footer: [], sidebar: [], rest: [] }
57
+ );
58
+ return [
59
+ ...groupedByArea.header,
60
+ ...groupedByArea.footer,
61
+ ...groupedByArea.sidebar,
62
+ ...groupedByArea.rest,
63
+ ];
64
+ },
47
65
  },
48
66
  };
49
67
 
@@ -73,17 +91,20 @@ export default function SidebarNavigationScreenTemplates() {
73
91
  per_page: -1,
74
92
  }
75
93
  );
76
- const sortedTemplates = templates ? [ ...templates ] : [];
94
+ let sortedTemplates = templates ? [ ...templates ] : [];
77
95
  sortedTemplates.sort( ( a, b ) =>
78
96
  a.title.rendered.localeCompare( b.title.rendered )
79
97
  );
98
+ if ( config[ postType ].sortCallback ) {
99
+ sortedTemplates = config[ postType ].sortCallback( sortedTemplates );
100
+ }
80
101
 
81
102
  const browseAllLink = useLink( {
82
103
  path: '/' + postType + '/all',
83
104
  } );
84
105
 
85
106
  const canCreate = ! isMobileViewport && ! isTemplatePartsMode;
86
-
107
+ const isTemplateList = postType === 'wp_template';
87
108
  return (
88
109
  <SidebarNavigationScreen
89
110
  isRoot={ isTemplatePartsMode }
@@ -115,6 +136,10 @@ export default function SidebarNavigationScreenTemplates() {
115
136
  postId={ template.id }
116
137
  key={ template.id }
117
138
  withChevron
139
+ icon={
140
+ ! isTemplateList &&
141
+ getTemplatePartIcon( template.area )
142
+ }
118
143
  >
119
144
  { decodeEntities(
120
145
  template.title?.rendered ||
@@ -123,14 +148,28 @@ export default function SidebarNavigationScreenTemplates() {
123
148
  </TemplateItem>
124
149
  ) ) }
125
150
  { ! isMobileViewport && (
126
- <SidebarNavigationItem
127
- className="edit-site-sidebar-navigation-screen-templates__see-all"
128
- { ...browseAllLink }
129
- children={
130
- config[ postType ].labels.manage
131
- }
132
- withChevron
133
- />
151
+ <>
152
+ <SidebarNavigationItem
153
+ className="edit-site-sidebar-navigation-screen-templates__see-all"
154
+ withChevron
155
+ { ...browseAllLink }
156
+ >
157
+ { config[ postType ].labels.manage }
158
+ </SidebarNavigationItem>
159
+ { !! config[ postType ].labels
160
+ .reusableBlocks && (
161
+ <SidebarNavigationItem
162
+ as="a"
163
+ href="edit.php?post_type=wp_block"
164
+ withChevron
165
+ >
166
+ {
167
+ config[ postType ].labels
168
+ .reusableBlocks
169
+ }
170
+ </SidebarNavigationItem>
171
+ ) }
172
+ </>
134
173
  ) }
135
174
  </ItemGroup>
136
175
  ) }
@@ -1,7 +1,7 @@
1
1
  .edit-site-sidebar-navigation-subtitle {
2
- color: $gray-100;
2
+ color: $gray-400;
3
3
  text-transform: uppercase;
4
4
  font-weight: 500;
5
5
  font-size: 11px;
6
- padding: $grid-unit-20 0 0 $grid-unit-20;
6
+ padding: $grid-unit-10 0;
7
7
  }
@@ -19,8 +19,8 @@ import { store as blockEditorStore } from '@wordpress/block-editor';
19
19
  import { store as coreStore } from '@wordpress/core-data';
20
20
  import { decodeEntities } from '@wordpress/html-entities';
21
21
  import { forwardRef } from '@wordpress/element';
22
- import { search } from '@wordpress/icons';
23
- import { privateApis as commandsPrivateApis } from '@wordpress/commands';
22
+ import { search, external } from '@wordpress/icons';
23
+ import { store as commandsStore } from '@wordpress/commands';
24
24
 
25
25
  /**
26
26
  * Internal dependencies
@@ -29,20 +29,23 @@ import { store as editSiteStore } from '../../store';
29
29
  import SiteIcon from '../site-icon';
30
30
  import { unlock } from '../../private-apis';
31
31
 
32
- const { store: commandsStore } = unlock( commandsPrivateApis );
33
-
34
32
  const HUB_ANIMATION_DURATION = 0.3;
35
33
 
36
34
  const SiteHub = forwardRef( ( props, ref ) => {
37
- const { canvasMode, dashboardLink } = useSelect( ( select ) => {
35
+ const { canvasMode, dashboardLink, homeUrl } = useSelect( ( select ) => {
38
36
  const { getCanvasMode, getSettings } = unlock(
39
37
  select( editSiteStore )
40
38
  );
41
39
 
40
+ const {
41
+ getUnstableBase, // Site index.
42
+ } = select( coreStore );
43
+
42
44
  return {
43
45
  canvasMode: getCanvasMode(),
44
46
  dashboardLink:
45
47
  getSettings().__experimentalDashboardLink || 'index.php',
48
+ homeUrl: getUnstableBase()?.home,
46
49
  };
47
50
  }, [] );
48
51
  const { open: openCommandCenter } = useDispatch( commandsStore );
@@ -87,7 +90,11 @@ const SiteHub = forwardRef( ( props, ref ) => {
87
90
  ease: 'easeOut',
88
91
  } }
89
92
  >
90
- <HStack justify="space-between" alignment="center">
93
+ <HStack
94
+ justify="space-between"
95
+ alignment="center"
96
+ className="edit-site-site-hub__container"
97
+ >
91
98
  <HStack
92
99
  justify="flex-start"
93
100
  className="edit-site-site-hub__text-content"
@@ -149,16 +156,23 @@ const SiteHub = forwardRef( ( props, ref ) => {
149
156
  { decodeEntities( siteTitle ) }
150
157
  </motion.div>
151
158
  </AnimatePresence>
159
+ <Button
160
+ href={ homeUrl }
161
+ target="_blank"
162
+ label={ __( 'View site' ) }
163
+ aria-label={ __( 'View site (opens in a new tab)' ) }
164
+ icon={ external }
165
+ className="edit-site-site-hub__site-view-link"
166
+ />
152
167
  </HStack>
153
- { window?.__experimentalEnableCommandCenter &&
154
- canvasMode === 'view' && (
155
- <Button
156
- className="edit-site-site-hub_toggle-command-center"
157
- icon={ search }
158
- onClick={ () => openCommandCenter() }
159
- label={ __( 'Open command center' ) }
160
- />
161
- ) }
168
+ { canvasMode === 'view' && (
169
+ <Button
170
+ className="edit-site-site-hub_toggle-command-center"
171
+ icon={ search }
172
+ onClick={ () => openCommandCenter() }
173
+ label={ __( 'Open command center' ) }
174
+ />
175
+ ) }
162
176
  </HStack>
163
177
  </motion.div>
164
178
  );