@wordpress/edit-site 5.11.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 (587) hide show
  1. package/CHANGELOG.md +2 -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-content.js +4 -5
  5. package/build/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -1
  6. package/build/components/add-new-template/add-custom-template-modal-content.js +19 -22
  7. package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  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 +19 -26
  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 +13 -10
  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 +25 -29
  33. package/build/components/create-template-part-modal/index.js.map +1 -1
  34. package/build/components/editor/index.js +26 -17
  35. package/build/components/editor/index.js.map +1 -1
  36. package/build/components/editor-canvas-container/index.js +7 -8
  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 +9 -10
  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 +8 -8
  69. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  70. package/build/components/global-styles/screen-revisions/revisions-buttons.js +14 -19
  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 +5 -11
  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 +3 -3
  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 +5 -6
  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 +40 -21
  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 +102 -23
  93. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  94. package/build/components/header-edit-mode/index.js +2 -6
  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/index.js +4 -12
  107. package/build/components/layout/index.js.map +1 -1
  108. package/build/components/list/added-by.js +13 -23
  109. package/build/components/list/added-by.js.map +1 -1
  110. package/build/components/list/header.js +4 -7
  111. package/build/components/list/header.js.map +1 -1
  112. package/build/components/list/index.js +2 -4
  113. package/build/components/list/index.js.map +1 -1
  114. package/build/components/list/table.js +35 -40
  115. package/build/components/list/table.js.map +1 -1
  116. package/build/components/page-actions/delete-page-menu-item.js +70 -0
  117. package/build/components/page-actions/delete-page-menu-item.js.map +1 -0
  118. package/build/components/page-actions/index.js +43 -0
  119. package/build/components/page-actions/index.js.map +1 -0
  120. package/build/components/page-content-lock/constants.js +9 -0
  121. package/build/components/page-content-lock/constants.js.map +1 -0
  122. package/build/components/page-content-lock/index.js +29 -0
  123. package/build/components/page-content-lock/index.js.map +1 -0
  124. package/build/components/page-content-lock/use-disable-non-content-blocks.js +49 -0
  125. package/build/components/page-content-lock/use-disable-non-content-blocks.js.map +1 -0
  126. package/build/components/page-content-lock/use-page-content-lock-notifications.js +112 -0
  127. package/build/components/page-content-lock/use-page-content-lock-notifications.js.map +1 -0
  128. package/build/components/preferences-modal/index.js +4 -5
  129. package/build/components/preferences-modal/index.js.map +1 -1
  130. package/build/components/resizable-frame/index.js +20 -12
  131. package/build/components/resizable-frame/index.js.map +1 -1
  132. package/build/components/revisions/index.js +11 -14
  133. package/build/components/revisions/index.js.map +1 -1
  134. package/build/components/routes/link.js +8 -12
  135. package/build/components/routes/link.js.map +1 -1
  136. package/build/components/routes/use-title.js +1 -5
  137. package/build/components/routes/use-title.js.map +1 -1
  138. package/build/components/save-button/index.js +13 -7
  139. package/build/components/save-button/index.js.map +1 -1
  140. package/build/components/save-hub/index.js +97 -5
  141. package/build/components/save-hub/index.js.map +1 -1
  142. package/build/components/save-panel/index.js +63 -17
  143. package/build/components/save-panel/index.js.map +1 -1
  144. package/build/components/secondary-sidebar/list-view-sidebar.js +8 -3
  145. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  146. package/build/components/sidebar/index.js +7 -5
  147. package/build/components/sidebar/index.js.map +1 -1
  148. package/build/components/sidebar-edit-mode/default-sidebar.js +11 -12
  149. package/build/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
  150. package/build/components/sidebar-edit-mode/index.js +13 -10
  151. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  152. package/build/components/sidebar-edit-mode/page-panels/content-blocks-list.js +79 -0
  153. package/build/components/sidebar-edit-mode/page-panels/content-blocks-list.js.map +1 -0
  154. package/build/components/sidebar-edit-mode/page-panels/index.js +86 -0
  155. package/build/components/sidebar-edit-mode/page-panels/index.js.map +1 -0
  156. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js +4 -5
  157. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  158. package/build/components/sidebar-edit-mode/settings-header/index.js +39 -21
  159. package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  160. package/build/components/sidebar-edit-mode/sidebar-card/index.js +46 -0
  161. package/build/components/sidebar-edit-mode/sidebar-card/index.js.map +1 -0
  162. package/build/components/sidebar-edit-mode/sidebar-fixed-bottom.js +3 -4
  163. package/build/components/sidebar-edit-mode/sidebar-fixed-bottom.js.map +1 -1
  164. package/build/components/sidebar-edit-mode/{template-card → template-panel}/index.js +22 -18
  165. package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -0
  166. package/build/components/sidebar-edit-mode/{template-revisions/index.js → template-panel/last-revision.js} +7 -8
  167. package/{build-module/components/sidebar-edit-mode/template-revisions/index.js.map → build/components/sidebar-edit-mode/template-panel/last-revision.js.map} +1 -1
  168. package/build/components/sidebar-edit-mode/{template-card → template-panel}/template-actions.js +12 -16
  169. package/build/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -0
  170. package/build/components/sidebar-edit-mode/{template-card → template-panel}/template-areas.js +15 -19
  171. package/build/components/sidebar-edit-mode/template-panel/template-areas.js.map +1 -0
  172. package/build/components/sidebar-navigation-item/index.js +7 -8
  173. package/build/components/sidebar-navigation-item/index.js.map +1 -1
  174. package/build/components/sidebar-navigation-screen/index.js +21 -14
  175. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  176. package/build/components/sidebar-navigation-screen-global-styles/index.js +103 -13
  177. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  178. package/build/components/sidebar-navigation-screen-navigation-item/index.js +3 -5
  179. package/build/components/sidebar-navigation-screen-navigation-item/index.js.map +1 -1
  180. package/build/components/sidebar-navigation-screen-navigation-menu/index.js +7 -10
  181. package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  182. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +17 -23
  183. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  184. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +20 -23
  185. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  186. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +4 -5
  187. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  188. package/build/components/sidebar-navigation-screen-navigation-menus/navigator-button.js +8 -9
  189. package/build/components/sidebar-navigation-screen-navigation-menus/navigator-button.js.map +1 -1
  190. package/build/components/sidebar-navigation-screen-page/index.js +81 -10
  191. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
  192. package/build/components/sidebar-navigation-screen-page/page-details.js +148 -0
  193. package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -0
  194. package/build/components/sidebar-navigation-screen-page/status-label.js +110 -0
  195. package/build/components/sidebar-navigation-screen-page/status-label.js.map +1 -0
  196. package/build/components/sidebar-navigation-screen-pages/index.js +128 -17
  197. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  198. package/build/components/sidebar-navigation-screen-template/index.js +22 -16
  199. package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
  200. package/build/components/sidebar-navigation-screen-template-part/index.js +105 -0
  201. package/build/components/sidebar-navigation-screen-template-part/index.js.map +1 -0
  202. package/build/components/sidebar-navigation-screen-templates/index.js +13 -18
  203. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  204. package/build/components/sidebar-navigation-subtitle/index.js +3 -4
  205. package/build/components/sidebar-navigation-subtitle/index.js.map +1 -1
  206. package/build/components/site-hub/index.js +20 -13
  207. package/build/components/site-hub/index.js.map +1 -1
  208. package/build/components/site-icon/index.js +4 -5
  209. package/build/components/site-icon/index.js.map +1 -1
  210. package/build/components/start-template-options/index.js +15 -21
  211. package/build/components/start-template-options/index.js.map +1 -1
  212. package/build/components/style-book/index.js +35 -39
  213. package/build/components/style-book/index.js.map +1 -1
  214. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +2 -2
  215. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  216. package/build/components/sync-state-with-url/use-sync-path-with-url.js +9 -10
  217. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  218. package/build/components/{list/actions → template-actions}/index.js +34 -31
  219. package/build/components/template-actions/index.js.map +1 -0
  220. package/build/components/{list/actions → template-actions}/rename-menu-item.js +4 -5
  221. package/build/components/template-actions/rename-menu-item.js.map +1 -0
  222. package/build/components/template-part-converter/convert-to-regular.js +4 -5
  223. package/build/components/template-part-converter/convert-to-regular.js.map +1 -1
  224. package/build/components/template-part-converter/convert-to-template-part.js +8 -10
  225. package/build/components/template-part-converter/convert-to-template-part.js.map +1 -1
  226. package/build/components/template-part-converter/index.js +12 -18
  227. package/build/components/template-part-converter/index.js.map +1 -1
  228. package/build/components/welcome-guide/image.js +4 -5
  229. package/build/components/welcome-guide/image.js.map +1 -1
  230. package/build/hooks/commands/use-edit-mode-commands.js +6 -8
  231. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  232. package/build/hooks/push-changes-to-global-styles/index.js +11 -8
  233. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  234. package/build/hooks/template-part-edit.js +5 -6
  235. package/build/hooks/template-part-edit.js.map +1 -1
  236. package/build/index.js +3 -6
  237. package/build/index.js.map +1 -1
  238. package/build/store/actions.js +129 -125
  239. package/build/store/actions.js.map +1 -1
  240. package/build/store/private-actions.js +7 -10
  241. package/build/store/private-actions.js.map +1 -1
  242. package/build/store/reducer.js +32 -33
  243. package/build/store/reducer.js.map +1 -1
  244. package/build/store/selectors.js +35 -11
  245. package/build/store/selectors.js.map +1 -1
  246. package/build/store/utils.js +1 -3
  247. package/build/store/utils.js.map +1 -1
  248. package/build/utils/get-is-list-page.js +3 -4
  249. package/build/utils/get-is-list-page.js.map +1 -1
  250. package/build/utils/is-previewing-theme.js +1 -3
  251. package/build/utils/is-previewing-theme.js.map +1 -1
  252. package/build/utils/is-template-revertable.js +1 -1
  253. package/build/utils/is-template-revertable.js.map +1 -1
  254. package/build-module/components/add-new-page/index.js +93 -0
  255. package/build-module/components/add-new-page/index.js.map +1 -0
  256. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js +4 -5
  257. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -1
  258. package/build-module/components/add-new-template/add-custom-template-modal-content.js +19 -22
  259. package/build-module/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  260. package/build-module/components/add-new-template/index.js +4 -5
  261. package/build-module/components/add-new-template/index.js.map +1 -1
  262. package/build-module/components/add-new-template/new-template-part.js +9 -12
  263. package/build-module/components/add-new-template/new-template-part.js.map +1 -1
  264. package/build-module/components/add-new-template/new-template.js +18 -26
  265. package/build-module/components/add-new-template/new-template.js.map +1 -1
  266. package/build-module/components/add-new-template/utils.js +71 -120
  267. package/build-module/components/add-new-template/utils.js.map +1 -1
  268. package/build-module/components/block-editor/back-button.js +1 -3
  269. package/build-module/components/block-editor/back-button.js.map +1 -1
  270. package/build-module/components/block-editor/block-inspector-button.js +3 -4
  271. package/build-module/components/block-editor/block-inspector-button.js.map +1 -1
  272. package/build-module/components/block-editor/editor-canvas.js +6 -7
  273. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  274. package/build-module/components/block-editor/index.js +12 -10
  275. package/build-module/components/block-editor/index.js.map +1 -1
  276. package/build-module/components/block-editor/inserter-media-categories.js +25 -42
  277. package/build-module/components/block-editor/inserter-media-categories.js.map +1 -1
  278. package/build-module/components/block-editor/resizable-editor.js +6 -7
  279. package/build-module/components/block-editor/resizable-editor.js.map +1 -1
  280. package/build-module/components/block-editor/resize-handle.js +5 -7
  281. package/build-module/components/block-editor/resize-handle.js.map +1 -1
  282. package/build-module/components/code-editor/code-editor-text-area.js +5 -6
  283. package/build-module/components/code-editor/code-editor-text-area.js.map +1 -1
  284. package/build-module/components/create-template-part-modal/index.js +25 -29
  285. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  286. package/build-module/components/editor/index.js +26 -17
  287. package/build-module/components/editor/index.js.map +1 -1
  288. package/build-module/components/editor-canvas-container/index.js +7 -8
  289. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  290. package/build-module/components/error-boundary/warning.js +8 -10
  291. package/build-module/components/error-boundary/warning.js.map +1 -1
  292. package/build-module/components/global-styles/block-preview-panel.js +7 -10
  293. package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
  294. package/build-module/components/global-styles/color-indicator-wrapper.js +4 -5
  295. package/build-module/components/global-styles/color-indicator-wrapper.js.map +1 -1
  296. package/build-module/components/global-styles/color-palette-panel.js +3 -4
  297. package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
  298. package/build-module/components/global-styles/dimensions-panel.js +1 -3
  299. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  300. package/build-module/components/global-styles/global-styles-provider.js +8 -10
  301. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  302. package/build-module/components/global-styles/gradients-palette-panel.js +3 -4
  303. package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -1
  304. package/build-module/components/global-styles/header.js +4 -5
  305. package/build-module/components/global-styles/header.js.map +1 -1
  306. package/build-module/components/global-styles/icon-with-current-color.js +4 -5
  307. package/build-module/components/global-styles/icon-with-current-color.js.map +1 -1
  308. package/build-module/components/global-styles/navigation-button.js +5 -6
  309. package/build-module/components/global-styles/navigation-button.js.map +1 -1
  310. package/build-module/components/global-styles/palette.js +10 -14
  311. package/build-module/components/global-styles/palette.js.map +1 -1
  312. package/build-module/components/global-styles/preview.js +41 -51
  313. package/build-module/components/global-styles/preview.js.map +1 -1
  314. package/build-module/components/global-styles/screen-block-list.js +4 -7
  315. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  316. package/build-module/components/global-styles/screen-block.js +9 -10
  317. package/build-module/components/global-styles/screen-block.js.map +1 -1
  318. package/build-module/components/global-styles/screen-color-palette.js +3 -4
  319. package/build-module/components/global-styles/screen-color-palette.js.map +1 -1
  320. package/build-module/components/global-styles/screen-revisions/index.js +8 -8
  321. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  322. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +14 -19
  323. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  324. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +5 -10
  325. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  326. package/build-module/components/global-styles/screen-root.js +3 -3
  327. package/build-module/components/global-styles/screen-root.js.map +1 -1
  328. package/build-module/components/global-styles/screen-typography-element.js +3 -4
  329. package/build-module/components/global-styles/screen-typography-element.js.map +1 -1
  330. package/build-module/components/global-styles/screen-typography.js +5 -6
  331. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  332. package/build-module/components/global-styles/style-variations-container.js +5 -6
  333. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  334. package/build-module/components/global-styles/subtitle.js +4 -5
  335. package/build-module/components/global-styles/subtitle.js.map +1 -1
  336. package/build-module/components/global-styles/typography-panel.js +4 -5
  337. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  338. package/build-module/components/global-styles/typography-preview.js +5 -6
  339. package/build-module/components/global-styles/typography-preview.js.map +1 -1
  340. package/build-module/components/global-styles/ui.js +40 -21
  341. package/build-module/components/global-styles/ui.js.map +1 -1
  342. package/build-module/components/global-styles/variations-panel.js +5 -6
  343. package/build-module/components/global-styles/variations-panel.js.map +1 -1
  344. package/build-module/components/header-edit-mode/document-actions/index.js +102 -24
  345. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  346. package/build-module/components/header-edit-mode/index.js +2 -6
  347. package/build-module/components/header-edit-mode/index.js.map +1 -1
  348. package/build-module/components/header-edit-mode/more-menu/index.js +49 -53
  349. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
  350. package/build-module/components/header-edit-mode/tools-more-menu-group/index.js +5 -13
  351. package/build-module/components/header-edit-mode/tools-more-menu-group/index.js.map +1 -1
  352. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +3 -4
  353. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
  354. package/build-module/components/keyboard-shortcut-help-modal/index.js +39 -49
  355. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  356. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +10 -12
  357. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  358. package/build-module/components/layout/index.js +4 -12
  359. package/build-module/components/layout/index.js.map +1 -1
  360. package/build-module/components/list/added-by.js +13 -23
  361. package/build-module/components/list/added-by.js.map +1 -1
  362. package/build-module/components/list/header.js +4 -7
  363. package/build-module/components/list/header.js.map +1 -1
  364. package/build-module/components/list/index.js +2 -4
  365. package/build-module/components/list/index.js.map +1 -1
  366. package/build-module/components/list/table.js +34 -39
  367. package/build-module/components/list/table.js.map +1 -1
  368. package/build-module/components/page-actions/delete-page-menu-item.js +58 -0
  369. package/build-module/components/page-actions/delete-page-menu-item.js.map +1 -0
  370. package/build-module/components/page-actions/index.js +30 -0
  371. package/build-module/components/page-actions/index.js.map +1 -0
  372. package/build-module/components/page-content-lock/constants.js +2 -0
  373. package/build-module/components/page-content-lock/constants.js.map +1 -0
  374. package/build-module/components/page-content-lock/index.js +14 -0
  375. package/build-module/components/page-content-lock/index.js.map +1 -0
  376. package/build-module/components/page-content-lock/use-disable-non-content-blocks.js +36 -0
  377. package/build-module/components/page-content-lock/use-disable-non-content-blocks.js.map +1 -0
  378. package/build-module/components/page-content-lock/use-page-content-lock-notifications.js +98 -0
  379. package/build-module/components/page-content-lock/use-page-content-lock-notifications.js.map +1 -0
  380. package/build-module/components/preferences-modal/index.js +4 -5
  381. package/build-module/components/preferences-modal/index.js.map +1 -1
  382. package/build-module/components/resizable-frame/index.js +20 -12
  383. package/build-module/components/resizable-frame/index.js.map +1 -1
  384. package/build-module/components/revisions/index.js +11 -13
  385. package/build-module/components/revisions/index.js.map +1 -1
  386. package/build-module/components/routes/link.js +8 -12
  387. package/build-module/components/routes/link.js.map +1 -1
  388. package/build-module/components/routes/use-title.js +1 -5
  389. package/build-module/components/routes/use-title.js.map +1 -1
  390. package/build-module/components/save-button/index.js +13 -7
  391. package/build-module/components/save-button/index.js.map +1 -1
  392. package/build-module/components/save-hub/index.js +95 -8
  393. package/build-module/components/save-hub/index.js.map +1 -1
  394. package/build-module/components/save-panel/index.js +62 -19
  395. package/build-module/components/save-panel/index.js.map +1 -1
  396. package/build-module/components/secondary-sidebar/list-view-sidebar.js +9 -3
  397. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  398. package/build-module/components/sidebar/index.js +6 -5
  399. package/build-module/components/sidebar/index.js.map +1 -1
  400. package/build-module/components/sidebar-edit-mode/default-sidebar.js +11 -12
  401. package/build-module/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
  402. package/build-module/components/sidebar-edit-mode/index.js +14 -11
  403. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  404. package/build-module/components/sidebar-edit-mode/page-panels/content-blocks-list.js +67 -0
  405. package/build-module/components/sidebar-edit-mode/page-panels/content-blocks-list.js.map +1 -0
  406. package/build-module/components/sidebar-edit-mode/page-panels/index.js +67 -0
  407. package/build-module/components/sidebar-edit-mode/page-panels/index.js.map +1 -0
  408. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js +4 -5
  409. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  410. package/build-module/components/sidebar-edit-mode/settings-header/index.js +36 -22
  411. package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  412. package/build-module/components/sidebar-edit-mode/sidebar-card/index.js +35 -0
  413. package/build-module/components/sidebar-edit-mode/sidebar-card/index.js.map +1 -0
  414. package/build-module/components/sidebar-edit-mode/sidebar-fixed-bottom.js +3 -4
  415. package/build-module/components/sidebar-edit-mode/sidebar-fixed-bottom.js.map +1 -1
  416. package/build-module/components/sidebar-edit-mode/{template-card → template-panel}/index.js +20 -19
  417. package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -0
  418. package/build-module/components/sidebar-edit-mode/{template-revisions/index.js → template-panel/last-revision.js} +7 -8
  419. package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -0
  420. package/build-module/components/sidebar-edit-mode/{template-card → template-panel}/template-actions.js +12 -16
  421. package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -0
  422. package/build-module/components/sidebar-edit-mode/{template-card → template-panel}/template-areas.js +15 -19
  423. package/build-module/components/sidebar-edit-mode/template-panel/template-areas.js.map +1 -0
  424. package/build-module/components/sidebar-navigation-item/index.js +7 -8
  425. package/build-module/components/sidebar-navigation-item/index.js.map +1 -1
  426. package/build-module/components/sidebar-navigation-screen/index.js +22 -15
  427. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  428. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +104 -14
  429. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  430. package/build-module/components/sidebar-navigation-screen-navigation-item/index.js +3 -5
  431. package/build-module/components/sidebar-navigation-screen-navigation-item/index.js.map +1 -1
  432. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js +7 -10
  433. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  434. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +17 -23
  435. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  436. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +20 -23
  437. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  438. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +4 -5
  439. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  440. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigator-button.js +8 -9
  441. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigator-button.js.map +1 -1
  442. package/build-module/components/sidebar-navigation-screen-page/index.js +79 -14
  443. package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
  444. package/build-module/components/sidebar-navigation-screen-page/page-details.js +131 -0
  445. package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +1 -0
  446. package/build-module/components/sidebar-navigation-screen-page/status-label.js +97 -0
  447. package/build-module/components/sidebar-navigation-screen-page/status-label.js.map +1 -0
  448. package/build-module/components/sidebar-navigation-screen-pages/index.js +125 -19
  449. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  450. package/build-module/components/sidebar-navigation-screen-template/index.js +22 -17
  451. package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
  452. package/build-module/components/sidebar-navigation-screen-template-part/index.js +86 -0
  453. package/build-module/components/sidebar-navigation-screen-template-part/index.js.map +1 -0
  454. package/build-module/components/sidebar-navigation-screen-templates/index.js +13 -18
  455. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  456. package/build-module/components/sidebar-navigation-subtitle/index.js +3 -4
  457. package/build-module/components/sidebar-navigation-subtitle/index.js.map +1 -1
  458. package/build-module/components/site-hub/index.js +21 -14
  459. package/build-module/components/site-hub/index.js.map +1 -1
  460. package/build-module/components/site-icon/index.js +4 -5
  461. package/build-module/components/site-icon/index.js.map +1 -1
  462. package/build-module/components/start-template-options/index.js +15 -21
  463. package/build-module/components/start-template-options/index.js.map +1 -1
  464. package/build-module/components/style-book/index.js +35 -39
  465. package/build-module/components/style-book/index.js.map +1 -1
  466. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +2 -2
  467. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  468. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +9 -10
  469. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  470. package/build-module/components/{list/actions → template-actions}/index.js +34 -31
  471. package/build-module/components/template-actions/index.js.map +1 -0
  472. package/build-module/components/{list/actions → template-actions}/rename-menu-item.js +4 -5
  473. package/build-module/components/template-actions/rename-menu-item.js.map +1 -0
  474. package/build-module/components/template-part-converter/convert-to-regular.js +4 -5
  475. package/build-module/components/template-part-converter/convert-to-regular.js.map +1 -1
  476. package/build-module/components/template-part-converter/convert-to-template-part.js +8 -10
  477. package/build-module/components/template-part-converter/convert-to-template-part.js.map +1 -1
  478. package/build-module/components/template-part-converter/index.js +12 -18
  479. package/build-module/components/template-part-converter/index.js.map +1 -1
  480. package/build-module/components/welcome-guide/image.js +4 -5
  481. package/build-module/components/welcome-guide/image.js.map +1 -1
  482. package/build-module/hooks/commands/use-edit-mode-commands.js +6 -8
  483. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  484. package/build-module/hooks/push-changes-to-global-styles/index.js +11 -8
  485. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  486. package/build-module/hooks/template-part-edit.js +5 -6
  487. package/build-module/hooks/template-part-edit.js.map +1 -1
  488. package/build-module/index.js +3 -6
  489. package/build-module/index.js.map +1 -1
  490. package/build-module/store/actions.js +125 -126
  491. package/build-module/store/actions.js.map +1 -1
  492. package/build-module/store/private-actions.js +7 -10
  493. package/build-module/store/private-actions.js.map +1 -1
  494. package/build-module/store/reducer.js +30 -33
  495. package/build-module/store/reducer.js.map +1 -1
  496. package/build-module/store/selectors.js +31 -11
  497. package/build-module/store/selectors.js.map +1 -1
  498. package/build-module/store/utils.js +1 -3
  499. package/build-module/store/utils.js.map +1 -1
  500. package/build-module/utils/get-is-list-page.js +3 -4
  501. package/build-module/utils/get-is-list-page.js.map +1 -1
  502. package/build-module/utils/is-previewing-theme.js +1 -3
  503. package/build-module/utils/is-previewing-theme.js.map +1 -1
  504. package/build-module/utils/is-template-revertable.js +1 -1
  505. package/build-module/utils/is-template-revertable.js.map +1 -1
  506. package/build-style/style-rtl.css +281 -59
  507. package/build-style/style.css +281 -59
  508. package/package.json +39 -36
  509. package/src/components/add-new-page/index.js +105 -0
  510. package/src/components/add-new-template/new-template.js +2 -1
  511. package/src/components/block-editor/index.js +25 -14
  512. package/src/components/editor/index.js +14 -8
  513. package/src/components/editor/style.scss +6 -11
  514. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +7 -5
  515. package/src/components/global-styles/ui.js +28 -0
  516. package/src/components/header-edit-mode/document-actions/index.js +126 -32
  517. package/src/components/header-edit-mode/document-actions/style.scss +64 -9
  518. package/src/components/header-edit-mode/tools-more-menu-group/index.js +1 -6
  519. package/src/components/layout/index.js +3 -9
  520. package/src/components/list/table.js +6 -2
  521. package/src/components/page-actions/delete-page-menu-item.js +71 -0
  522. package/src/components/page-actions/index.js +36 -0
  523. package/src/components/page-content-lock/constants.js +5 -0
  524. package/src/components/page-content-lock/index.js +14 -0
  525. package/src/components/page-content-lock/use-disable-non-content-blocks.js +44 -0
  526. package/src/components/page-content-lock/use-page-content-lock-notifications.js +128 -0
  527. package/src/components/resizable-frame/index.js +15 -5
  528. package/src/components/resizable-frame/style.scss +20 -18
  529. package/src/components/revisions/index.js +6 -7
  530. package/src/components/save-button/index.js +6 -0
  531. package/src/components/save-hub/index.js +143 -38
  532. package/src/components/save-hub/style.scss +6 -0
  533. package/src/components/save-panel/index.js +62 -15
  534. package/src/components/secondary-sidebar/list-view-sidebar.js +8 -1
  535. package/src/components/sidebar/index.js +6 -4
  536. package/src/components/sidebar/style.scss +3 -4
  537. package/src/components/sidebar-edit-mode/index.js +16 -14
  538. package/src/components/sidebar-edit-mode/page-panels/content-blocks-list.js +77 -0
  539. package/src/components/sidebar-edit-mode/page-panels/index.js +89 -0
  540. package/src/components/sidebar-edit-mode/page-panels/style.scss +10 -0
  541. package/src/components/sidebar-edit-mode/settings-header/index.js +51 -28
  542. package/src/components/sidebar-edit-mode/sidebar-card/index.js +34 -0
  543. package/src/components/sidebar-edit-mode/sidebar-card/style.scss +34 -0
  544. package/src/components/sidebar-edit-mode/{template-card → template-panel}/index.js +22 -19
  545. package/src/components/sidebar-edit-mode/{template-card → template-panel}/style.scss +2 -32
  546. package/src/components/sidebar-navigation-screen/index.js +74 -50
  547. package/src/components/sidebar-navigation-screen/style.scss +45 -4
  548. package/src/components/sidebar-navigation-screen-global-styles/index.js +118 -12
  549. package/src/components/sidebar-navigation-screen-global-styles/style.scss +15 -0
  550. package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +1 -1
  551. package/src/components/sidebar-navigation-screen-page/index.js +137 -24
  552. package/src/components/sidebar-navigation-screen-page/page-details.js +163 -0
  553. package/src/components/sidebar-navigation-screen-page/status-label.js +101 -0
  554. package/src/components/sidebar-navigation-screen-page/style.scss +80 -0
  555. package/src/components/sidebar-navigation-screen-pages/index.js +180 -44
  556. package/src/components/sidebar-navigation-screen-template/index.js +25 -22
  557. package/src/components/sidebar-navigation-screen-template-part/index.js +103 -0
  558. package/src/components/sidebar-navigation-screen-templates/index.js +1 -1
  559. package/src/components/sidebar-navigation-subtitle/style.scss +2 -2
  560. package/src/components/site-hub/index.js +21 -6
  561. package/src/components/site-hub/style.scss +26 -0
  562. package/src/components/{list/actions → template-actions}/index.js +19 -6
  563. package/src/hooks/push-changes-to-global-styles/index.js +13 -7
  564. package/src/store/actions.js +20 -1
  565. package/src/store/reducer.js +20 -0
  566. package/src/store/selectors.js +24 -0
  567. package/src/store/test/actions.js +31 -0
  568. package/src/store/test/reducer.js +44 -0
  569. package/src/store/test/selectors.js +57 -0
  570. package/src/style.scss +5 -2
  571. package/src/utils/is-previewing-theme.js +1 -4
  572. package/build/components/list/actions/index.js.map +0 -1
  573. package/build/components/list/actions/rename-menu-item.js.map +0 -1
  574. package/build/components/sidebar-edit-mode/template-card/index.js.map +0 -1
  575. package/build/components/sidebar-edit-mode/template-card/template-actions.js.map +0 -1
  576. package/build/components/sidebar-edit-mode/template-card/template-areas.js.map +0 -1
  577. package/build/components/sidebar-edit-mode/template-revisions/index.js.map +0 -1
  578. package/build-module/components/list/actions/index.js.map +0 -1
  579. package/build-module/components/list/actions/rename-menu-item.js.map +0 -1
  580. package/build-module/components/sidebar-edit-mode/template-card/index.js.map +0 -1
  581. package/build-module/components/sidebar-edit-mode/template-card/template-actions.js.map +0 -1
  582. package/build-module/components/sidebar-edit-mode/template-card/template-areas.js.map +0 -1
  583. package/src/components/sidebar-navigation-screen-pages/style.scss +0 -4
  584. /package/src/components/sidebar-edit-mode/{template-revisions/index.js → template-panel/last-revision.js} +0 -0
  585. /package/src/components/sidebar-edit-mode/{template-card → template-panel}/template-actions.js +0 -0
  586. /package/src/components/sidebar-edit-mode/{template-card → template-panel}/template-areas.js +0 -0
  587. /package/src/components/{list/actions → template-actions}/rename-menu-item.js +0 -0
@@ -0,0 +1,80 @@
1
+ .edit-site-sidebar-navigation-screen-page__featured-image-wrapper {
2
+ background-color: $gray-800;
3
+ margin-bottom: $grid-unit-20;
4
+ min-height: 128px;
5
+ border-radius: $grid-unit-05;
6
+ }
7
+
8
+ .edit-site-sidebar-navigation-screen-page__featured-image {
9
+ border-radius: 2px;
10
+ height: 128px;
11
+ overflow: hidden;
12
+ width: 100%;
13
+ background-size: cover;
14
+ background-position: 50% 50%;
15
+ display: flex;
16
+ align-items: center;
17
+ justify-content: center;
18
+ color: $gray-600;
19
+ img {
20
+ object-fit: cover;
21
+ height: 100%;
22
+ width: 100%;
23
+ object-position: 50% 50%;
24
+ }
25
+ }
26
+
27
+ .edit-site-sidebar-navigation-screen-page__featured-image-description {
28
+ font-size: $helptext-font-size;
29
+ }
30
+
31
+ .edit-site-sidebar-navigation-screen-page__excerpt {
32
+ font-size: $helptext-font-size;
33
+ }
34
+
35
+ .edit-site-sidebar-navigation-screen-page__modified {
36
+ margin: 0 0 $grid-unit-20 0;
37
+ color: $gray-600;
38
+ margin-left: $grid-unit-20;
39
+ .components-text {
40
+ color: $gray-600;
41
+ }
42
+ }
43
+
44
+ .edit-site-sidebar-navigation-screen-page__status {
45
+ display: inline-flex;
46
+
47
+ time {
48
+ display: contents;
49
+ }
50
+
51
+ svg {
52
+ height: 16px;
53
+ width: 16px;
54
+ margin-right: $grid-unit-10;
55
+ fill: $alert-yellow;
56
+ }
57
+
58
+ &.has-publish-status svg,
59
+ &.has-future-status svg {
60
+ fill: $alert-green;
61
+ }
62
+ }
63
+
64
+ .edit-site-sidebar-navigation-screen-page__footer {
65
+ padding-top: $grid-unit-10;
66
+ padding-bottom: $grid-unit-10;
67
+ padding-left: $grid-unit-20;
68
+ }
69
+
70
+ .edit-site-sidebar-navigation-screen-page__details {
71
+ .edit-site-sidebar-navigation-screen-page__details-label {
72
+ color: $gray-600;
73
+ width: 100px;
74
+ }
75
+
76
+ .edit-site-sidebar-navigation-screen-page__details-value.edit-site-sidebar-navigation-screen-page__details-value {
77
+ color: $gray-200;
78
+ }
79
+ }
80
+
@@ -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
+ }
@@ -43,7 +43,7 @@ const config = {
43
43
  manage: __( 'Manage all template parts' ),
44
44
  reusableBlocks: __( 'Manage reusable blocks' ),
45
45
  description: __(
46
- 'Manage what patterns are available when editing your site.'
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.'
47
47
  ),
48
48
  },
49
49
  sortCallback: ( items ) => {
@@ -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,6 +156,14 @@ 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
168
  { canvasMode === 'view' && (
154
169
  <Button
@@ -3,6 +3,31 @@
3
3
  align-items: center;
4
4
  justify-content: space-between;
5
5
  gap: $grid-unit-10;
6
+
7
+ .edit-site-site-hub__container {
8
+ gap: 0;
9
+ }
10
+
11
+ .edit-site-site-hub__site-view-link {
12
+ flex-grow: 0;
13
+ @include break-mobile() {
14
+ opacity: 0;
15
+ transition: opacity 0.2s ease-in-out;
16
+ }
17
+ &:focus {
18
+ outline: none;
19
+ box-shadow: none;
20
+ opacity: 1;
21
+ }
22
+ svg {
23
+ fill: $white;
24
+ }
25
+ }
26
+ &:hover {
27
+ .edit-site-site-hub__site-view-link {
28
+ opacity: 1;
29
+ }
30
+ }
6
31
  }
7
32
 
8
33
  .edit-site-site-hub__post-type {
@@ -29,6 +54,7 @@
29
54
 
30
55
  .edit-site-site-hub__site-title {
31
56
  margin-left: $grid-unit-05;
57
+ flex-grow: 1;
32
58
  }
33
59
 
34
60
  .edit-site-site-hub_toggle-command-center {