@wordpress/edit-site 5.13.0 → 5.14.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 (470) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-page/index.js +1 -7
  3. package/build/components/add-new-page/index.js.map +1 -1
  4. package/build/components/add-new-pattern/index.js +11 -11
  5. package/build/components/add-new-pattern/index.js.map +1 -1
  6. package/build/components/add-new-template/add-custom-generic-template-modal-content.js +2 -2
  7. package/build/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -1
  8. package/build/components/add-new-template/new-template.js +69 -14
  9. package/build/components/add-new-template/new-template.js.map +1 -1
  10. package/build/components/block-editor/editor-canvas.js +1 -1
  11. package/build/components/block-editor/editor-canvas.js.map +1 -1
  12. package/build/components/block-editor/inserter-media-categories.js +1 -22
  13. package/build/components/block-editor/inserter-media-categories.js.map +1 -1
  14. package/build/components/block-editor/site-editor-canvas.js +29 -32
  15. package/build/components/block-editor/site-editor-canvas.js.map +1 -1
  16. package/build/components/block-editor/use-site-editor-settings.js +9 -12
  17. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  18. package/build/components/canvas-spinner/index.js +1 -18
  19. package/build/components/canvas-spinner/index.js.map +1 -1
  20. package/build/components/create-pattern-modal/index.js +9 -9
  21. package/build/components/create-pattern-modal/index.js.map +1 -1
  22. package/build/components/create-template-part-modal/index.js +1 -1
  23. package/build/components/create-template-part-modal/index.js.map +1 -1
  24. package/build/components/editor/index.js +11 -1
  25. package/build/components/editor/index.js.map +1 -1
  26. package/build/components/global-styles/palette.js +1 -1
  27. package/build/components/global-styles/palette.js.map +1 -1
  28. package/build/components/global-styles/ui.js +7 -2
  29. package/build/components/global-styles/ui.js.map +1 -1
  30. package/build/components/header-edit-mode/document-actions/index.js +9 -1
  31. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  32. package/build/components/header-edit-mode/index.js +41 -10
  33. package/build/components/header-edit-mode/index.js.map +1 -1
  34. package/build/components/header-edit-mode/more-menu/index.js +47 -17
  35. package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
  36. package/build/components/keyboard-shortcut-help-modal/index.js +17 -4
  37. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  38. package/build/components/keyboard-shortcuts/edit-mode.js +32 -1
  39. package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  40. package/build/components/keyboard-shortcuts/register.js +9 -0
  41. package/build/components/keyboard-shortcuts/register.js.map +1 -1
  42. package/build/components/layout/index.js +103 -26
  43. package/build/components/layout/index.js.map +1 -1
  44. package/build/components/page/header.js +1 -1
  45. package/build/components/page/header.js.map +1 -1
  46. package/build/components/page/index.js +3 -1
  47. package/build/components/page/index.js.map +1 -1
  48. package/build/components/page-actions/delete-page-menu-item.js +2 -1
  49. package/build/components/page-actions/delete-page-menu-item.js.map +1 -1
  50. package/build/components/page-content-focus-manager/back-to-page-notification.js +9 -3
  51. package/build/components/page-content-focus-manager/back-to-page-notification.js.map +1 -1
  52. package/build/components/page-main/index.js +8 -4
  53. package/build/components/page-main/index.js.map +1 -1
  54. package/build/components/{page-library → page-patterns}/grid-item.js +61 -33
  55. package/build/components/page-patterns/grid-item.js.map +1 -0
  56. package/build/components/{page-library → page-patterns}/grid.js +1 -1
  57. package/build/components/page-patterns/grid.js.map +1 -0
  58. package/build/components/{page-library → page-patterns}/index.js +6 -6
  59. package/build/components/page-patterns/index.js.map +1 -0
  60. package/build/components/{page-library → page-patterns}/no-patterns.js +1 -1
  61. package/build/components/page-patterns/no-patterns.js.map +1 -0
  62. package/build/components/{page-library → page-patterns}/patterns-list.js +9 -7
  63. package/build/components/page-patterns/patterns-list.js.map +1 -0
  64. package/build/components/page-patterns/search-items.js.map +1 -0
  65. package/build/components/{page-library/use-library-settings.js → page-patterns/use-pattern-settings.js} +3 -3
  66. package/build/components/page-patterns/use-pattern-settings.js.map +1 -0
  67. package/build/components/{page-library → page-patterns}/use-patterns.js +12 -2
  68. package/build/components/page-patterns/use-patterns.js.map +1 -0
  69. package/build/components/{page-library → page-patterns}/utils.js +3 -3
  70. package/build/components/page-patterns/utils.js.map +1 -0
  71. package/build/components/page-template-parts/index.js +103 -0
  72. package/build/components/page-template-parts/index.js.map +1 -0
  73. package/build/components/page-templates/index.js +1 -0
  74. package/build/components/page-templates/index.js.map +1 -1
  75. package/build/components/preferences-modal/enable-feature.js +5 -1
  76. package/build/components/preferences-modal/enable-feature.js.map +1 -1
  77. package/build/components/preferences-modal/index.js +43 -4
  78. package/build/components/preferences-modal/index.js.map +1 -1
  79. package/build/components/sidebar/index.js +6 -6
  80. package/build/components/sidebar/index.js.map +1 -1
  81. package/build/components/sidebar-edit-mode/index.js +4 -2
  82. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  83. package/build/components/sidebar-edit-mode/settings-header/index.js +7 -1
  84. package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  85. package/build/components/sidebar-navigation-screen/index.js +7 -3
  86. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  87. package/build/components/sidebar-navigation-screen-global-styles/index.js +69 -5
  88. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  89. package/build/components/sidebar-navigation-screen-main/index.js +2 -2
  90. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  91. package/build/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +7 -16
  92. package/build/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +1 -1
  93. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js +10 -11
  94. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -1
  95. package/build/components/sidebar-navigation-screen-navigation-menu/index.js +6 -6
  96. package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  97. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +10 -1
  98. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
  99. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +9 -3
  100. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  101. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +5 -1
  102. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  103. package/build/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js +29 -0
  104. package/build/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js.map +1 -0
  105. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +27 -4
  106. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  107. package/build/components/sidebar-navigation-screen-page/page-details.js +11 -4
  108. package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  109. package/build/components/sidebar-navigation-screen-page/status-label.js +1 -1
  110. package/build/components/sidebar-navigation-screen-page/status-label.js.map +1 -1
  111. package/build/components/sidebar-navigation-screen-pages/index.js +1 -1
  112. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  113. package/build/components/sidebar-navigation-screen-pattern/index.js +13 -8
  114. package/build/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  115. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +1 -1
  116. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  117. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +23 -0
  118. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  119. package/build/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/category-item.js +4 -4
  120. package/build/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -0
  121. package/build/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/index.js +55 -15
  122. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -0
  123. package/build/components/sidebar-navigation-screen-patterns/use-default-pattern-categories.js.map +1 -0
  124. package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js +30 -0
  125. package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +1 -0
  126. package/build/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-pattern-categories.js +2 -20
  127. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -0
  128. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -0
  129. package/build/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-theme-patterns.js +1 -1
  130. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -0
  131. package/build/components/sidebar-navigation-screen-templates/index.js +11 -63
  132. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  133. package/build/components/sidebar-navigation-screen-templates-browse/index.js +4 -2
  134. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  135. package/build/components/site-hub/index.js +1 -1
  136. package/build/components/site-hub/index.js.map +1 -1
  137. package/build/components/sync-state-with-url/use-sync-path-with-url.js +1 -1
  138. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  139. package/build/components/template-actions/index.js +22 -6
  140. package/build/components/template-actions/index.js.map +1 -1
  141. package/build/components/welcome-guide/editor.js +1 -1
  142. package/build/components/welcome-guide/editor.js.map +1 -1
  143. package/build/components/welcome-guide/index.js +5 -1
  144. package/build/components/welcome-guide/index.js.map +1 -1
  145. package/build/components/welcome-guide/page.js +70 -0
  146. package/build/components/welcome-guide/page.js.map +1 -0
  147. package/build/components/welcome-guide/styles.js +1 -1
  148. package/build/components/welcome-guide/styles.js.map +1 -1
  149. package/build/components/welcome-guide/template.js +71 -0
  150. package/build/components/welcome-guide/template.js.map +1 -0
  151. package/build/hooks/commands/use-common-commands.js +37 -0
  152. package/build/hooks/commands/use-common-commands.js.map +1 -1
  153. package/build/hooks/commands/use-edit-mode-commands.js +195 -44
  154. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  155. package/build/index.js +9 -0
  156. package/build/index.js.map +1 -1
  157. package/build/store/actions.js +5 -2
  158. package/build/store/actions.js.map +1 -1
  159. package/build/store/selectors.js +2 -1
  160. package/build/store/selectors.js.map +1 -1
  161. package/build/utils/get-is-list-page.js +2 -2
  162. package/build/utils/get-is-list-page.js.map +1 -1
  163. package/build/utils/template-part-create.js +2 -2
  164. package/build/utils/template-part-create.js.map +1 -1
  165. package/build-module/components/add-new-page/index.js +1 -6
  166. package/build-module/components/add-new-page/index.js.map +1 -1
  167. package/build-module/components/add-new-pattern/index.js +11 -11
  168. package/build-module/components/add-new-pattern/index.js.map +1 -1
  169. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js +1 -1
  170. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -1
  171. package/build-module/components/add-new-template/new-template.js +72 -17
  172. package/build-module/components/add-new-template/new-template.js.map +1 -1
  173. package/build-module/components/block-editor/editor-canvas.js +1 -1
  174. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  175. package/build-module/components/block-editor/inserter-media-categories.js +1 -22
  176. package/build-module/components/block-editor/inserter-media-categories.js.map +1 -1
  177. package/build-module/components/block-editor/site-editor-canvas.js +29 -32
  178. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
  179. package/build-module/components/block-editor/use-site-editor-settings.js +9 -12
  180. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  181. package/build-module/components/canvas-spinner/index.js +1 -15
  182. package/build-module/components/canvas-spinner/index.js.map +1 -1
  183. package/build-module/components/create-pattern-modal/index.js +9 -9
  184. package/build-module/components/create-pattern-modal/index.js.map +1 -1
  185. package/build-module/components/create-template-part-modal/index.js +1 -1
  186. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  187. package/build-module/components/editor/index.js +11 -1
  188. package/build-module/components/editor/index.js.map +1 -1
  189. package/build-module/components/global-styles/palette.js +1 -1
  190. package/build-module/components/global-styles/palette.js.map +1 -1
  191. package/build-module/components/global-styles/ui.js +8 -3
  192. package/build-module/components/global-styles/ui.js.map +1 -1
  193. package/build-module/components/header-edit-mode/document-actions/index.js +10 -2
  194. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  195. package/build-module/components/header-edit-mode/index.js +43 -12
  196. package/build-module/components/header-edit-mode/index.js.map +1 -1
  197. package/build-module/components/header-edit-mode/more-menu/index.js +44 -20
  198. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
  199. package/build-module/components/keyboard-shortcut-help-modal/index.js +15 -6
  200. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  201. package/build-module/components/keyboard-shortcuts/edit-mode.js +29 -1
  202. package/build-module/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  203. package/build-module/components/keyboard-shortcuts/register.js +9 -0
  204. package/build-module/components/keyboard-shortcuts/register.js.map +1 -1
  205. package/build-module/components/layout/index.js +103 -26
  206. package/build-module/components/layout/index.js.map +1 -1
  207. package/build-module/components/page/header.js +1 -1
  208. package/build-module/components/page/header.js.map +1 -1
  209. package/build-module/components/page/index.js +2 -1
  210. package/build-module/components/page/index.js.map +1 -1
  211. package/build-module/components/page-actions/delete-page-menu-item.js +2 -1
  212. package/build-module/components/page-actions/delete-page-menu-item.js.map +1 -1
  213. package/build-module/components/page-content-focus-manager/back-to-page-notification.js +9 -3
  214. package/build-module/components/page-content-focus-manager/back-to-page-notification.js.map +1 -1
  215. package/build-module/components/page-main/index.js +6 -3
  216. package/build-module/components/page-main/index.js.map +1 -1
  217. package/build-module/components/{page-library → page-patterns}/grid-item.js +65 -35
  218. package/build-module/components/page-patterns/grid-item.js.map +1 -0
  219. package/build-module/components/{page-library → page-patterns}/grid.js +1 -1
  220. package/build-module/components/page-patterns/grid.js.map +1 -0
  221. package/build-module/components/{page-library → page-patterns}/index.js +5 -5
  222. package/build-module/components/page-patterns/index.js.map +1 -0
  223. package/build-module/components/{page-library → page-patterns}/no-patterns.js +1 -1
  224. package/build-module/components/page-patterns/no-patterns.js.map +1 -0
  225. package/build-module/components/{page-library → page-patterns}/patterns-list.js +9 -7
  226. package/build-module/components/page-patterns/patterns-list.js.map +1 -0
  227. package/build-module/components/page-patterns/search-items.js.map +1 -0
  228. package/build-module/components/{page-library/use-library-settings.js → page-patterns/use-pattern-settings.js} +2 -2
  229. package/build-module/components/page-patterns/use-pattern-settings.js.map +1 -0
  230. package/build-module/components/{page-library → page-patterns}/use-patterns.js +12 -2
  231. package/build-module/components/page-patterns/use-patterns.js.map +1 -0
  232. package/build-module/components/{page-library → page-patterns}/utils.js +3 -3
  233. package/build-module/components/page-patterns/utils.js.map +1 -0
  234. package/build-module/components/page-template-parts/index.js +82 -0
  235. package/build-module/components/page-template-parts/index.js.map +1 -0
  236. package/build-module/components/page-templates/index.js +1 -0
  237. package/build-module/components/page-templates/index.js.map +1 -1
  238. package/build-module/components/preferences-modal/enable-feature.js +5 -1
  239. package/build-module/components/preferences-modal/enable-feature.js.map +1 -1
  240. package/build-module/components/preferences-modal/index.js +38 -5
  241. package/build-module/components/preferences-modal/index.js.map +1 -1
  242. package/build-module/components/sidebar/index.js +5 -5
  243. package/build-module/components/sidebar/index.js.map +1 -1
  244. package/build-module/components/sidebar-edit-mode/index.js +4 -2
  245. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  246. package/build-module/components/sidebar-edit-mode/settings-header/index.js +6 -1
  247. package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  248. package/build-module/components/sidebar-navigation-screen/index.js +7 -3
  249. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  250. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +67 -5
  251. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  252. package/build-module/components/sidebar-navigation-screen-main/index.js +2 -2
  253. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  254. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +8 -17
  255. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +1 -1
  256. package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js +10 -9
  257. package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -1
  258. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js +5 -6
  259. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  260. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +11 -1
  261. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
  262. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +8 -4
  263. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  264. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +5 -1
  265. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  266. package/build-module/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js +20 -0
  267. package/build-module/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js.map +1 -0
  268. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +26 -6
  269. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  270. package/build-module/components/sidebar-navigation-screen-page/page-details.js +11 -4
  271. package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  272. package/build-module/components/sidebar-navigation-screen-page/status-label.js +1 -1
  273. package/build-module/components/sidebar-navigation-screen-page/status-label.js.map +1 -1
  274. package/build-module/components/sidebar-navigation-screen-pages/index.js +2 -2
  275. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  276. package/build-module/components/sidebar-navigation-screen-pattern/index.js +12 -7
  277. package/build-module/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  278. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +1 -1
  279. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  280. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +21 -0
  281. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  282. package/build-module/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/category-item.js +4 -4
  283. package/build-module/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -0
  284. package/build-module/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/index.js +54 -16
  285. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -0
  286. package/build-module/components/sidebar-navigation-screen-patterns/use-default-pattern-categories.js.map +1 -0
  287. package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js +20 -0
  288. package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +1 -0
  289. package/build-module/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-pattern-categories.js +2 -17
  290. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -0
  291. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -0
  292. package/build-module/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-theme-patterns.js +1 -1
  293. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -0
  294. package/build-module/components/sidebar-navigation-screen-templates/index.js +12 -62
  295. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  296. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +4 -2
  297. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  298. package/build-module/components/site-hub/index.js +1 -1
  299. package/build-module/components/site-hub/index.js.map +1 -1
  300. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +1 -1
  301. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  302. package/build-module/components/template-actions/index.js +24 -7
  303. package/build-module/components/template-actions/index.js.map +1 -1
  304. package/build-module/components/welcome-guide/editor.js +1 -1
  305. package/build-module/components/welcome-guide/editor.js.map +1 -1
  306. package/build-module/components/welcome-guide/index.js +3 -1
  307. package/build-module/components/welcome-guide/index.js.map +1 -1
  308. package/build-module/components/welcome-guide/page.js +59 -0
  309. package/build-module/components/welcome-guide/page.js.map +1 -0
  310. package/build-module/components/welcome-guide/styles.js +1 -1
  311. package/build-module/components/welcome-guide/styles.js.map +1 -1
  312. package/build-module/components/welcome-guide/template.js +60 -0
  313. package/build-module/components/welcome-guide/template.js.map +1 -0
  314. package/build-module/hooks/commands/use-common-commands.js +37 -1
  315. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  316. package/build-module/hooks/commands/use-edit-mode-commands.js +193 -46
  317. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  318. package/build-module/index.js +4 -0
  319. package/build-module/index.js.map +1 -1
  320. package/build-module/store/actions.js +5 -2
  321. package/build-module/store/actions.js.map +1 -1
  322. package/build-module/store/selectors.js +2 -1
  323. package/build-module/store/selectors.js.map +1 -1
  324. package/build-module/utils/get-is-list-page.js +2 -2
  325. package/build-module/utils/get-is-list-page.js.map +1 -1
  326. package/build-module/utils/template-part-create.js +1 -1
  327. package/build-module/utils/template-part-create.js.map +1 -1
  328. package/build-style/style-rtl.css +167 -51
  329. package/build-style/style.css +167 -51
  330. package/package.json +39 -39
  331. package/src/components/add-new-page/index.js +1 -6
  332. package/src/components/add-new-pattern/index.js +11 -13
  333. package/src/components/add-new-template/add-custom-generic-template-modal-content.js +1 -1
  334. package/src/components/add-new-template/new-template.js +120 -24
  335. package/src/components/add-new-template/style.scss +30 -2
  336. package/src/components/block-editor/editor-canvas.js +3 -1
  337. package/src/components/block-editor/inserter-media-categories.js +1 -21
  338. package/src/components/block-editor/site-editor-canvas.js +7 -1
  339. package/src/components/block-editor/use-site-editor-settings.js +8 -12
  340. package/src/components/canvas-spinner/index.js +1 -11
  341. package/src/components/canvas-spinner/style.scss +4 -0
  342. package/src/components/create-pattern-modal/index.js +11 -12
  343. package/src/components/create-template-part-modal/index.js +1 -1
  344. package/src/components/editor/index.js +16 -1
  345. package/src/components/editor/style.scss +4 -0
  346. package/src/components/global-styles/palette.js +10 -9
  347. package/src/components/global-styles/stories/index.js +1 -0
  348. package/src/components/global-styles/ui.js +34 -24
  349. package/src/components/header-edit-mode/document-actions/index.js +9 -1
  350. package/src/components/header-edit-mode/document-actions/style.scss +8 -0
  351. package/src/components/header-edit-mode/index.js +112 -62
  352. package/src/components/header-edit-mode/more-menu/index.js +74 -30
  353. package/src/components/keyboard-shortcut-help-modal/index.js +21 -7
  354. package/src/components/keyboard-shortcuts/edit-mode.js +35 -2
  355. package/src/components/keyboard-shortcuts/register.js +10 -0
  356. package/src/components/layout/index.js +140 -76
  357. package/src/components/layout/style.scss +47 -1
  358. package/src/components/page/header.js +1 -1
  359. package/src/components/page/index.js +5 -1
  360. package/src/components/page-actions/delete-page-menu-item.js +1 -0
  361. package/src/components/page-content-focus-manager/back-to-page-notification.js +7 -2
  362. package/src/components/page-main/index.js +6 -3
  363. package/src/components/{page-library → page-patterns}/grid-item.js +83 -34
  364. package/src/components/{page-library → page-patterns}/grid.js +1 -1
  365. package/src/components/{page-library → page-patterns}/index.js +5 -5
  366. package/src/components/{page-library → page-patterns}/no-patterns.js +1 -1
  367. package/src/components/{page-library → page-patterns}/patterns-list.js +13 -9
  368. package/src/components/{page-library → page-patterns}/style.scss +19 -15
  369. package/src/components/{page-library/use-library-settings.js → page-patterns/use-pattern-settings.js} +1 -1
  370. package/src/components/{page-library → page-patterns}/use-patterns.js +11 -2
  371. package/src/components/{page-library → page-patterns}/utils.js +3 -3
  372. package/src/components/page-template-parts/index.js +105 -0
  373. package/src/components/page-templates/index.js +1 -1
  374. package/src/components/preferences-modal/enable-feature.js +5 -2
  375. package/src/components/preferences-modal/index.js +35 -4
  376. package/src/components/sidebar/index.js +6 -6
  377. package/src/components/sidebar-button/style.scss +1 -1
  378. package/src/components/sidebar-edit-mode/index.js +4 -2
  379. package/src/components/sidebar-edit-mode/settings-header/index.js +7 -2
  380. package/src/components/sidebar-navigation-item/style.scss +2 -1
  381. package/src/components/sidebar-navigation-screen/index.js +4 -2
  382. package/src/components/sidebar-navigation-screen/style.scss +7 -2
  383. package/src/components/sidebar-navigation-screen-details-panel/style.scss +1 -1
  384. package/src/components/sidebar-navigation-screen-global-styles/index.js +57 -17
  385. package/src/components/sidebar-navigation-screen-main/index.js +2 -2
  386. package/src/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +14 -35
  387. package/src/components/sidebar-navigation-screen-navigation-menu/edit-button.js +8 -11
  388. package/src/components/sidebar-navigation-screen-navigation-menu/index.js +9 -8
  389. package/src/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +12 -1
  390. package/src/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +16 -7
  391. package/src/components/sidebar-navigation-screen-navigation-menu/style.scss +2 -7
  392. package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +5 -1
  393. package/src/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js +24 -0
  394. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +39 -8
  395. package/src/components/sidebar-navigation-screen-page/page-details.js +8 -3
  396. package/src/components/sidebar-navigation-screen-page/status-label.js +1 -1
  397. package/src/components/sidebar-navigation-screen-pages/index.js +2 -2
  398. package/src/components/sidebar-navigation-screen-pattern/index.js +13 -6
  399. package/src/components/sidebar-navigation-screen-pattern/style.scss +29 -0
  400. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +1 -1
  401. package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +43 -1
  402. package/src/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/category-item.js +4 -4
  403. package/src/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/index.js +75 -22
  404. package/src/components/sidebar-navigation-screen-patterns/style.scss +3 -0
  405. package/src/components/sidebar-navigation-screen-patterns/use-my-patterns.js +23 -0
  406. package/src/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-pattern-categories.js +1 -18
  407. package/src/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-theme-patterns.js +1 -1
  408. package/src/components/sidebar-navigation-screen-template/style.scss +15 -15
  409. package/src/components/sidebar-navigation-screen-templates/index.js +15 -82
  410. package/src/components/sidebar-navigation-screen-templates-browse/index.js +2 -0
  411. package/src/components/site-hub/index.js +1 -1
  412. package/src/components/site-hub/style.scss +4 -3
  413. package/src/components/start-template-options/style.scss +0 -3
  414. package/src/components/sync-state-with-url/use-sync-path-with-url.js +1 -1
  415. package/src/components/template-actions/index.js +38 -8
  416. package/src/components/welcome-guide/editor.js +1 -1
  417. package/src/components/welcome-guide/index.js +4 -0
  418. package/src/components/welcome-guide/page.js +75 -0
  419. package/src/components/welcome-guide/style.scss +15 -1
  420. package/src/components/welcome-guide/styles.js +1 -1
  421. package/src/components/welcome-guide/template.js +82 -0
  422. package/src/hooks/commands/use-common-commands.js +32 -1
  423. package/src/hooks/commands/use-edit-mode-commands.js +182 -38
  424. package/src/index.js +4 -0
  425. package/src/store/actions.js +8 -1
  426. package/src/store/selectors.js +5 -0
  427. package/src/store/test/selectors.js +2 -0
  428. package/src/style.scss +3 -2
  429. package/src/utils/get-is-list-page.js +4 -3
  430. package/src/utils/template-part-create.js +1 -1
  431. package/build/components/page-library/grid-item.js.map +0 -1
  432. package/build/components/page-library/grid.js.map +0 -1
  433. package/build/components/page-library/index.js.map +0 -1
  434. package/build/components/page-library/no-patterns.js.map +0 -1
  435. package/build/components/page-library/patterns-list.js.map +0 -1
  436. package/build/components/page-library/search-items.js.map +0 -1
  437. package/build/components/page-library/use-library-settings.js.map +0 -1
  438. package/build/components/page-library/use-patterns.js.map +0 -1
  439. package/build/components/page-library/utils.js.map +0 -1
  440. package/build/components/sidebar-navigation-screen-library/category-item.js.map +0 -1
  441. package/build/components/sidebar-navigation-screen-library/index.js.map +0 -1
  442. package/build/components/sidebar-navigation-screen-library/use-default-pattern-categories.js.map +0 -1
  443. package/build/components/sidebar-navigation-screen-library/use-pattern-categories.js.map +0 -1
  444. package/build/components/sidebar-navigation-screen-library/use-template-part-areas.js.map +0 -1
  445. package/build/components/sidebar-navigation-screen-library/use-theme-patterns.js.map +0 -1
  446. package/build-module/components/page-library/grid-item.js.map +0 -1
  447. package/build-module/components/page-library/grid.js.map +0 -1
  448. package/build-module/components/page-library/index.js.map +0 -1
  449. package/build-module/components/page-library/no-patterns.js.map +0 -1
  450. package/build-module/components/page-library/patterns-list.js.map +0 -1
  451. package/build-module/components/page-library/search-items.js.map +0 -1
  452. package/build-module/components/page-library/use-library-settings.js.map +0 -1
  453. package/build-module/components/page-library/use-patterns.js.map +0 -1
  454. package/build-module/components/page-library/utils.js.map +0 -1
  455. package/build-module/components/sidebar-navigation-screen-library/category-item.js.map +0 -1
  456. package/build-module/components/sidebar-navigation-screen-library/index.js.map +0 -1
  457. package/build-module/components/sidebar-navigation-screen-library/use-default-pattern-categories.js.map +0 -1
  458. package/build-module/components/sidebar-navigation-screen-library/use-pattern-categories.js.map +0 -1
  459. package/build-module/components/sidebar-navigation-screen-library/use-template-part-areas.js.map +0 -1
  460. package/build-module/components/sidebar-navigation-screen-library/use-theme-patterns.js.map +0 -1
  461. package/src/components/sidebar-navigation-screen-library/style.scss +0 -7
  462. /package/build/components/{page-library → page-patterns}/search-items.js +0 -0
  463. /package/build/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-default-pattern-categories.js +0 -0
  464. /package/build/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-template-part-areas.js +0 -0
  465. /package/build-module/components/{page-library → page-patterns}/search-items.js +0 -0
  466. /package/build-module/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-default-pattern-categories.js +0 -0
  467. /package/build-module/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-template-part-areas.js +0 -0
  468. /package/src/components/{page-library → page-patterns}/search-items.js +0 -0
  469. /package/src/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-default-pattern-categories.js +0 -0
  470. /package/src/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-template-part-areas.js +0 -0
@@ -72,24 +72,36 @@ export default function Layout() {
72
72
  const isMobileViewport = useViewportMatch( 'medium', '<' );
73
73
  const isListPage = getIsListPage( params, isMobileViewport );
74
74
  const isEditorPage = ! isListPage;
75
- const { hasFixedToolbar, canvasMode, previousShortcut, nextShortcut } =
76
- useSelect( ( select ) => {
77
- const { getAllShortcutKeyCombinations } = select(
78
- keyboardShortcutsStore
79
- );
80
- const { getCanvasMode } = unlock( select( editSiteStore ) );
81
- return {
82
- canvasMode: getCanvasMode(),
83
- previousShortcut: getAllShortcutKeyCombinations(
84
- 'core/edit-site/previous-region'
85
- ),
86
- nextShortcut: getAllShortcutKeyCombinations(
87
- 'core/edit-site/next-region'
88
- ),
89
- hasFixedToolbar:
90
- select( preferencesStore ).get( 'fixedToolbar' ),
91
- };
92
- }, [] );
75
+
76
+ const {
77
+ isDistractionFree,
78
+ hasFixedToolbar,
79
+ canvasMode,
80
+ previousShortcut,
81
+ nextShortcut,
82
+ } = useSelect( ( select ) => {
83
+ const { getAllShortcutKeyCombinations } = select(
84
+ keyboardShortcutsStore
85
+ );
86
+ const { getCanvasMode } = unlock( select( editSiteStore ) );
87
+ return {
88
+ canvasMode: getCanvasMode(),
89
+ previousShortcut: getAllShortcutKeyCombinations(
90
+ 'core/edit-site/previous-region'
91
+ ),
92
+ nextShortcut: getAllShortcutKeyCombinations(
93
+ 'core/edit-site/next-region'
94
+ ),
95
+ hasFixedToolbar: select( preferencesStore ).get(
96
+ 'core/edit-site',
97
+ 'fixedToolbar'
98
+ ),
99
+ isDistractionFree: select( preferencesStore ).get(
100
+ 'core/edit-site',
101
+ 'distractionFree'
102
+ ),
103
+ };
104
+ }, [] );
93
105
  const isEditing = canvasMode === 'edit';
94
106
  const navigateRegionsProps = useNavigateRegions( {
95
107
  previous: previousShortcut,
@@ -110,7 +122,28 @@ export default function Layout() {
110
122
  const [ isResizing ] = useState( false );
111
123
  const isEditorLoading = useIsSiteEditorLoading();
112
124
 
113
- // Sets the right context for the command center
125
+ // This determines which animation variant should apply to the header.
126
+ // There is also a `isDistractionFreeHovering` state that gets priority
127
+ // when hovering the `edit-site-layout__header-container` in distraction
128
+ // free mode. It's set via framer and trickles down to all the children
129
+ // so they can use this variant state too.
130
+ //
131
+ // TODO: The issue with this is we want to have the hover state stick when hovering
132
+ // a popover opened via the header. We'll probably need to lift this state to
133
+ // handle it ourselves. Also, focusWithin the header needs to be handled.
134
+ let headerAnimationState;
135
+
136
+ if ( canvasMode === 'view' ) {
137
+ // We need 'view' to always take priority so 'isDistractionFree'
138
+ // doesn't bleed over into the view (sidebar) state
139
+ headerAnimationState = 'view';
140
+ } else if ( isDistractionFree ) {
141
+ headerAnimationState = 'isDistractionFree';
142
+ } else {
143
+ headerAnimationState = canvasMode; // edit, view, init
144
+ }
145
+
146
+ // Sets the right context for the command palette
114
147
  const commandContext =
115
148
  canvasMode === 'edit' && isEditorPage
116
149
  ? 'site-editor-edit'
@@ -140,81 +173,112 @@ export default function Layout() {
140
173
  'edit-site-layout',
141
174
  navigateRegionsProps.className,
142
175
  {
176
+ 'is-distraction-free': isDistractionFree && isEditing,
143
177
  'is-full-canvas': isFullCanvas,
144
178
  'is-edit-mode': isEditing,
145
179
  'has-fixed-toolbar': hasFixedToolbar,
146
180
  }
147
181
  ) }
148
182
  >
149
- <SiteHub ref={ hubRef } className="edit-site-layout__hub" />
150
-
151
- <AnimatePresence initial={ false }>
152
- { isEditorPage && isEditing && (
153
- <NavigableRegion
154
- className="edit-site-layout__header"
155
- ariaLabel={ __( 'Editor top bar' ) }
156
- as={ motion.div }
157
- animate={ {
158
- y: 0,
159
- } }
160
- initial={ {
161
- y: '-100%',
162
- } }
163
- exit={ {
164
- y: '-100%',
165
- } }
166
- transition={ {
183
+ <motion.div
184
+ className="edit-site-layout__header-container"
185
+ variants={ {
186
+ isDistractionFree: {
187
+ opacity: 0,
188
+ transition: {
167
189
  type: 'tween',
168
- duration: disableMotion
169
- ? 0
170
- : ANIMATION_DURATION,
171
- ease: 'easeOut',
172
- } }
173
- >
174
- { isEditing && <Header /> }
175
- </NavigableRegion>
176
- ) }
177
- </AnimatePresence>
190
+ delay: 0.8,
191
+ delayChildren: 0.8,
192
+ }, // How long to wait before the header exits
193
+ },
194
+ isDistractionFreeHovering: {
195
+ opacity: 1,
196
+ transition: {
197
+ type: 'tween',
198
+ delay: 0.2,
199
+ delayChildren: 0.2,
200
+ }, // How long to wait before the header shows
201
+ },
202
+ view: { opacity: 1 },
203
+ edit: { opacity: 1 },
204
+ } }
205
+ whileHover={
206
+ isDistractionFree
207
+ ? 'isDistractionFreeHovering'
208
+ : undefined
209
+ }
210
+ animate={ headerAnimationState }
211
+ >
212
+ <SiteHub
213
+ as={ motion.div }
214
+ variants={ {
215
+ isDistractionFree: { x: '-100%' },
216
+ isDistractionFreeHovering: { x: 0 },
217
+ view: { x: 0 },
218
+ edit: { x: 0 },
219
+ } }
220
+ ref={ hubRef }
221
+ className="edit-site-layout__hub"
222
+ />
178
223
 
179
- <div className="edit-site-layout__content">
180
224
  <AnimatePresence initial={ false }>
181
- {
182
- <motion.div
183
- initial={ {
184
- opacity: 0,
225
+ { isEditorPage && isEditing && (
226
+ <NavigableRegion
227
+ key="header"
228
+ className="edit-site-layout__header"
229
+ ariaLabel={ __( 'Editor top bar' ) }
230
+ as={ motion.div }
231
+ variants={ {
232
+ isDistractionFree: { opacity: 0, y: 0 },
233
+ isDistractionFreeHovering: {
234
+ opacity: 1,
235
+ y: 0,
236
+ },
237
+ view: { opacity: 1, y: '-100%' },
238
+ edit: { opacity: 1, y: 0 },
185
239
  } }
186
- animate={
187
- showSidebar
188
- ? { opacity: 1, display: 'block' }
189
- : {
190
- opacity: 0,
191
- transitionEnd: {
192
- display: 'none',
193
- },
194
- }
195
- }
196
240
  exit={ {
197
- opacity: 0,
241
+ y: '-100%',
242
+ } }
243
+ initial={ {
244
+ opacity: isDistractionFree ? 1 : 0,
245
+ y: isDistractionFree ? 0 : '-100%',
198
246
  } }
199
247
  transition={ {
200
248
  type: 'tween',
201
- duration:
202
- // Disable transition in mobile to emulate a full page transition.
203
- disableMotion || isMobileViewport
204
- ? 0
205
- : ANIMATION_DURATION,
249
+ duration: disableMotion ? 0 : 0.2,
206
250
  ease: 'easeOut',
207
251
  } }
208
- className="edit-site-layout__sidebar"
209
252
  >
210
- <NavigableRegion
211
- ariaLabel={ __( 'Navigation' ) }
212
- >
213
- <Sidebar />
214
- </NavigableRegion>
215
- </motion.div>
216
- }
253
+ <Header />
254
+ </NavigableRegion>
255
+ ) }
217
256
  </AnimatePresence>
257
+ </motion.div>
258
+
259
+ <div className="edit-site-layout__content">
260
+ <motion.div
261
+ // The sidebar is needed for routing on mobile
262
+ // (https://github.com/WordPress/gutenberg/pull/51558/files#r1231763003),
263
+ // so we can't remove the element entirely. Using `inert` will make
264
+ // it inaccessible to screen readers and keyboard navigation.
265
+ inert={ showSidebar ? undefined : 'inert' }
266
+ animate={ { opacity: showSidebar ? 1 : 0 } }
267
+ transition={ {
268
+ type: 'tween',
269
+ duration:
270
+ // Disable transition in mobile to emulate a full page transition.
271
+ disableMotion || isMobileViewport
272
+ ? 0
273
+ : ANIMATION_DURATION,
274
+ ease: 'easeOut',
275
+ } }
276
+ className="edit-site-layout__sidebar"
277
+ >
278
+ <NavigableRegion ariaLabel={ __( 'Navigation' ) }>
279
+ <Sidebar />
280
+ </NavigableRegion>
281
+ </motion.div>
218
282
 
219
283
  <SavePanel />
220
284
 
@@ -1,7 +1,7 @@
1
1
  .edit-site-layout {
2
2
  height: 100%;
3
3
  background: $gray-900;
4
- color: $white;
4
+ color: $gray-400;
5
5
  display: flex;
6
6
  flex-direction: column;
7
7
  }
@@ -36,6 +36,10 @@
36
36
  }
37
37
  }
38
38
 
39
+ .edit-site-layout__header-container {
40
+ z-index: z-index(".edit-site-layout__header-container");
41
+ }
42
+
39
43
  .edit-site-layout__header {
40
44
  height: $header-height;
41
45
  display: flex;
@@ -249,6 +253,9 @@
249
253
  // so the fixed toolbar can be positioned on top of it
250
254
  // but only on desktop
251
255
  @include break-medium() {
256
+ .edit-site-layout__canvas-container {
257
+ z-index: 5;
258
+ }
252
259
  .edit-site-site-hub {
253
260
  z-index: 4;
254
261
  }
@@ -258,3 +265,42 @@
258
265
  }
259
266
  }
260
267
 
268
+ .is-edit-mode.is-distraction-free {
269
+
270
+ .edit-site-layout__header-container {
271
+ height: $header-height;
272
+ position: absolute;
273
+ top: 0;
274
+ left: 0;
275
+ right: 0;
276
+ z-index: z-index(".edit-site-layout__header-container");
277
+ width: 100%;
278
+
279
+ // We need ! important because we override inline styles
280
+ // set by the motion component.
281
+ &:focus-within {
282
+ opacity: 1 !important;
283
+ div {
284
+ transform: translateX(0) translateY(0) translateZ(0) !important;
285
+ }
286
+
287
+ .edit-site-layout__header {
288
+ opacity: 1 !important;
289
+ }
290
+ }
291
+ }
292
+
293
+ .edit-site-site-hub,
294
+ .edit-site-layout__header {
295
+ position: absolute;
296
+ top: 0;
297
+ z-index: z-index(".edit-site-layout__header");
298
+ }
299
+ .edit-site-site-hub {
300
+ z-index: z-index(".edit-site-layout__hub");
301
+ }
302
+ .edit-site-layout__header {
303
+ width: 100%;
304
+ }
305
+
306
+ }
@@ -18,7 +18,7 @@ export default function Header( { title, subTitle, actions } ) {
18
18
  <HStack as="header" alignment="left" className="edit-site-page-header">
19
19
  <FlexBlock className="edit-site-page-header__page-title">
20
20
  <Heading
21
- as="h1"
21
+ as="h2"
22
22
  level={ 4 }
23
23
  className="edit-site-page-header__title"
24
24
  >
@@ -7,6 +7,7 @@ import classnames from 'classnames';
7
7
  * WordPress dependencies
8
8
  */
9
9
  import { NavigableRegion } from '@wordpress/interface';
10
+ import { EditorSnackbars } from '@wordpress/editor';
10
11
 
11
12
  /**
12
13
  * Internal dependencies
@@ -32,7 +33,10 @@ export default function Page( {
32
33
  actions={ actions }
33
34
  />
34
35
  ) }
35
- <div className="edit-site-page-content">{ children }</div>
36
+ <div className="edit-site-page-content">
37
+ { children }
38
+ <EditorSnackbars />
39
+ </div>
36
40
  </NavigableRegion>
37
41
  );
38
42
  }
@@ -63,6 +63,7 @@ export default function DeletePageMenuItem( { postId, onRemove } ) {
63
63
  isOpen={ isModalOpen }
64
64
  onConfirm={ removePage }
65
65
  onCancel={ () => setIsModalOpen( false ) }
66
+ confirmButtonText={ __( 'Delete' ) }
66
67
  >
67
68
  { __( 'Are you sure you want to delete this page?' ) }
68
69
  </ConfirmDialog>
@@ -25,8 +25,11 @@ export default function BackToPageNotification() {
25
25
  * switches from focusing on editing page content to editing a template.
26
26
  */
27
27
  export function useBackToPageNotification() {
28
- const hasPageContentFocus = useSelect(
29
- ( select ) => select( editSiteStore ).hasPageContentFocus(),
28
+ const { isPage, hasPageContentFocus } = useSelect(
29
+ ( select ) => ( {
30
+ isPage: select( editSiteStore ).isPage(),
31
+ hasPageContentFocus: select( editSiteStore ).hasPageContentFocus(),
32
+ } ),
30
33
  []
31
34
  );
32
35
 
@@ -39,6 +42,7 @@ export function useBackToPageNotification() {
39
42
  useEffect( () => {
40
43
  if (
41
44
  ! alreadySeen.current &&
45
+ isPage &&
42
46
  prevHasPageContentFocus.current &&
43
47
  ! hasPageContentFocus
44
48
  ) {
@@ -57,6 +61,7 @@ export function useBackToPageNotification() {
57
61
  prevHasPageContentFocus.current = hasPageContentFocus;
58
62
  }, [
59
63
  alreadySeen,
64
+ isPage,
60
65
  prevHasPageContentFocus,
61
66
  hasPageContentFocus,
62
67
  createInfoNotice,
@@ -6,8 +6,9 @@ import { privateApis as routerPrivateApis } from '@wordpress/router';
6
6
  /**
7
7
  * Internal dependencies
8
8
  */
9
+ import PagePatterns from '../page-patterns';
10
+ import PageTemplateParts from '../page-template-parts';
9
11
  import PageTemplates from '../page-templates';
10
- import PageLibrary from '../page-library';
11
12
  import { unlock } from '../../lock-unlock';
12
13
 
13
14
  const { useLocation } = unlock( routerPrivateApis );
@@ -19,8 +20,10 @@ export default function PageMain() {
19
20
 
20
21
  if ( path === '/wp_template/all' ) {
21
22
  return <PageTemplates />;
22
- } else if ( path === '/library' ) {
23
- return <PageLibrary />;
23
+ } else if ( path === '/wp_template_part/all' ) {
24
+ return <PageTemplateParts />;
25
+ } else if ( path === '/patterns' ) {
26
+ return <PagePatterns />;
24
27
  }
25
28
 
26
29
  return null;
@@ -12,15 +12,22 @@ import {
12
12
  DropdownMenu,
13
13
  MenuGroup,
14
14
  MenuItem,
15
- __experimentalHeading as Heading,
16
15
  __experimentalHStack as HStack,
17
16
  __unstableCompositeItem as CompositeItem,
17
+ Tooltip,
18
+ Flex,
18
19
  } from '@wordpress/components';
19
- import { useInstanceId } from '@wordpress/compose';
20
20
  import { useDispatch } from '@wordpress/data';
21
- import { useState } from '@wordpress/element';
21
+ import { useState, useId } from '@wordpress/element';
22
22
  import { __, sprintf } from '@wordpress/i18n';
23
- import { Icon, moreHorizontal } from '@wordpress/icons';
23
+ import {
24
+ Icon,
25
+ header,
26
+ footer,
27
+ symbolFilled,
28
+ moreHorizontal,
29
+ lockSmall,
30
+ } from '@wordpress/icons';
24
31
  import { store as noticesStore } from '@wordpress/notices';
25
32
  import { store as reusableBlocksStore } from '@wordpress/reusable-blocks';
26
33
  import { DELETE, BACKSPACE } from '@wordpress/keycodes';
@@ -31,9 +38,10 @@ import { DELETE, BACKSPACE } from '@wordpress/keycodes';
31
38
  import { PATTERNS, USER_PATTERNS } from './utils';
32
39
  import { useLink } from '../routes/link';
33
40
 
41
+ const THEME_PATTERN_TOOLTIP = __( 'Theme patterns cannot be edited.' );
42
+
34
43
  export default function GridItem( { categoryId, composite, icon, item } ) {
35
- const instanceId = useInstanceId( GridItem );
36
- const descriptionId = `edit-site-library__pattern-description-${ instanceId }`;
44
+ const descriptionId = useId();
37
45
  const [ isDeleteDialogOpen, setIsDeleteDialogOpen ] = useState( false );
38
46
 
39
47
  const { __experimentalDeleteReusableBlock } =
@@ -46,14 +54,19 @@ export default function GridItem( { categoryId, composite, icon, item } ) {
46
54
  postId: item.type === USER_PATTERNS ? item.id : item.name,
47
55
  categoryId,
48
56
  categoryType: item.type,
49
- canvas: 'edit',
50
57
  } );
51
58
 
59
+ const onKeyDown = ( event ) => {
60
+ if ( DELETE === event.keyCode || BACKSPACE === event.keyCode ) {
61
+ setIsDeleteDialogOpen( true );
62
+ }
63
+ };
64
+
52
65
  const isEmpty = ! item.blocks?.length;
53
- const patternClassNames = classnames( 'edit-site-library__pattern', {
66
+ const patternClassNames = classnames( 'edit-site-patterns__pattern', {
54
67
  'is-placeholder': isEmpty,
55
68
  } );
56
- const previewClassNames = classnames( 'edit-site-library__preview', {
69
+ const previewClassNames = classnames( 'edit-site-patterns__preview', {
57
70
  'is-inactive': item.type === PATTERNS,
58
71
  } );
59
72
 
@@ -72,14 +85,27 @@ export default function GridItem( { categoryId, composite, icon, item } ) {
72
85
  }
73
86
  };
74
87
 
75
- let ariaDescription;
76
- if ( item.type === USER_PATTERNS ) {
88
+ const isUserPattern = item.type === USER_PATTERNS;
89
+ const ariaDescriptions = [];
90
+ if ( isUserPattern ) {
77
91
  // User patterns don't have descriptions, but can be edited and deleted, so include some help text.
78
- ariaDescription = __(
79
- 'Press Enter to edit, or Delete to delete the pattern.'
92
+ ariaDescriptions.push(
93
+ __( 'Press Enter to edit, or Delete to delete the pattern.' )
80
94
  );
81
95
  } else if ( item.description ) {
82
- ariaDescription = item.description;
96
+ ariaDescriptions.push( item.description );
97
+ }
98
+ if ( item.type === PATTERNS ) {
99
+ ariaDescriptions.push( THEME_PATTERN_TOOLTIP );
100
+ }
101
+
102
+ let itemIcon = icon;
103
+ if ( categoryId === 'header' ) {
104
+ itemIcon = header;
105
+ } else if ( categoryId === 'footer' ) {
106
+ itemIcon = footer;
107
+ } else if ( categoryId === 'uncategorized' ) {
108
+ itemIcon = symbolFilled;
83
109
  }
84
110
 
85
111
  return (
@@ -91,53 +117,76 @@ export default function GridItem( { categoryId, composite, icon, item } ) {
91
117
  as="div"
92
118
  { ...composite }
93
119
  onClick={ item.type !== PATTERNS ? onClick : undefined }
120
+ onKeyDown={ isUserPattern ? onKeyDown : undefined }
94
121
  aria-label={ item.title }
95
122
  aria-describedby={
96
- ariaDescription ? descriptionId : undefined
123
+ ariaDescriptions.length
124
+ ? ariaDescriptions
125
+ .map(
126
+ ( _, index ) =>
127
+ `${ descriptionId }-${ index }`
128
+ )
129
+ .join( ' ' )
130
+ : undefined
97
131
  }
98
- onKeyDown={ ( event ) => {
99
- if (
100
- DELETE === event.keyCode ||
101
- BACKSPACE === event.keyCode
102
- ) {
103
- setIsDeleteDialogOpen( true );
104
- }
105
- } }
106
132
  >
107
133
  { isEmpty && __( 'Empty pattern' ) }
108
134
  { ! isEmpty && <BlockPreview blocks={ item.blocks } /> }
109
135
  </CompositeItem>
110
- { ariaDescription && (
136
+ { ariaDescriptions.map( ( ariaDescription, index ) => (
111
137
  <div
112
- aria-hidden="true"
113
- style={ { display: 'none' } }
114
- id={ descriptionId }
138
+ key={ index }
139
+ hidden
140
+ id={ `${ descriptionId }-${ index }` }
115
141
  >
116
142
  { ariaDescription }
117
143
  </div>
118
- ) }
144
+ ) ) }
119
145
  <HStack
120
146
  aria-hidden="true"
121
- className="edit-site-library__footer"
147
+ className="edit-site-patterns__footer"
122
148
  justify="space-between"
123
149
  >
124
150
  <HStack
125
151
  alignment="center"
126
152
  justify="left"
127
153
  spacing={ 3 }
128
- className="edit-site-library__pattern-title"
154
+ className="edit-site-patterns__pattern-title"
129
155
  >
130
- { icon && <Icon icon={ icon } /> }
131
- <Heading level={ 5 }>{ item.title }</Heading>
156
+ { icon && (
157
+ <Icon
158
+ className="edit-site-patterns__pattern-icon"
159
+ icon={ itemIcon }
160
+ />
161
+ ) }
162
+ <Flex as="span" gap={ 0 } justify="left">
163
+ { item.title }
164
+ { item.type === PATTERNS && (
165
+ <Tooltip
166
+ position="top center"
167
+ text={ __(
168
+ 'Theme patterns cannot be edited.'
169
+ ) }
170
+ >
171
+ <span className="edit-site-patterns__pattern-lock-icon">
172
+ <Icon
173
+ style={ { fill: 'currentcolor' } }
174
+ icon={ lockSmall }
175
+ size={ 24 }
176
+ />
177
+ </span>
178
+ </Tooltip>
179
+ ) }
180
+ </Flex>
132
181
  </HStack>
133
182
  { item.type === USER_PATTERNS && (
134
183
  <DropdownMenu
135
184
  icon={ moreHorizontal }
136
185
  label={ __( 'Actions' ) }
137
- className="edit-site-library__dropdown"
186
+ className="edit-site-patterns__dropdown"
138
187
  popoverProps={ { placement: 'bottom-end' } }
139
188
  toggleProps={ {
140
- className: 'edit-site-library__button',
189
+ className: 'edit-site-patterns__button',
141
190
  isSmall: true,
142
191
  describedBy: sprintf(
143
192
  /* translators: %s: pattern name */
@@ -22,7 +22,7 @@ export default function Grid( { categoryId, label, icon, items } ) {
22
22
  <Composite
23
23
  { ...composite }
24
24
  role="listbox"
25
- className="edit-site-library__grid"
25
+ className="edit-site-patterns__grid"
26
26
  aria-label={ label }
27
27
  >
28
28
  { items.map( ( item ) => (
@@ -11,16 +11,16 @@ import { getQueryArgs } from '@wordpress/url';
11
11
  import { DEFAULT_CATEGORY, DEFAULT_TYPE } from './utils';
12
12
  import Page from '../page';
13
13
  import PatternsList from './patterns-list';
14
- import useLibrarySettings from './use-library-settings';
14
+ import usePatternSettings from './use-pattern-settings';
15
15
  import { unlock } from '../../lock-unlock';
16
16
 
17
17
  const { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );
18
18
 
19
- export default function PageLibrary() {
19
+ export default function PagePatterns() {
20
20
  const { categoryType, categoryId } = getQueryArgs( window.location.href );
21
21
  const type = categoryType || DEFAULT_TYPE;
22
22
  const category = categoryId || DEFAULT_CATEGORY;
23
- const settings = useLibrarySettings();
23
+ const settings = usePatternSettings();
24
24
 
25
25
  // Wrap everything in a block editor provider.
26
26
  // This ensures 'styles' that are needed for the previews are synced
@@ -28,8 +28,8 @@ export default function PageLibrary() {
28
28
  return (
29
29
  <ExperimentalBlockEditorProvider settings={ settings }>
30
30
  <Page
31
- className="edit-site-library"
32
- title={ __( 'Library content' ) }
31
+ className="edit-site-patterns"
32
+ title={ __( 'Patterns content' ) }
33
33
  hideTitleFromUI
34
34
  >
35
35
  <PatternsList type={ type } categoryId={ category } />
@@ -5,7 +5,7 @@ import { __ } from '@wordpress/i18n';
5
5
 
6
6
  export default function NoPatterns() {
7
7
  return (
8
- <div className="edit-site-library__no-results">
8
+ <div className="edit-site-patterns__no-results">
9
9
  { __( 'No patterns found.' ) }
10
10
  </div>
11
11
  );