@wordpress/edit-site 5.26.0 → 5.27.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 (330) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/actions/index.js +139 -36
  3. package/build/components/actions/index.js.map +1 -1
  4. package/build/components/editor-canvas-container/index.js +1 -1
  5. package/build/components/editor-canvas-container/index.js.map +1 -1
  6. package/build/components/global-styles/font-families.js +3 -2
  7. package/build/components/global-styles/font-families.js.map +1 -1
  8. package/build/components/global-styles/font-family-item.js +3 -4
  9. package/build/components/global-styles/font-family-item.js.map +1 -1
  10. package/build/components/global-styles/font-library-modal/context.js +80 -41
  11. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  12. package/build/components/global-styles/font-library-modal/font-collection.js +49 -22
  13. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  14. package/build/components/global-styles/font-library-modal/fonts-grid.js +4 -1
  15. package/build/components/global-styles/font-library-modal/fonts-grid.js.map +1 -1
  16. package/build/components/global-styles/font-library-modal/index.js +4 -4
  17. package/build/components/global-styles/font-library-modal/index.js.map +1 -1
  18. package/build/components/global-styles/font-library-modal/installed-fonts.js +16 -8
  19. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  20. package/build/components/global-styles/font-library-modal/library-font-card.js +1 -1
  21. package/build/components/global-styles/font-library-modal/library-font-card.js.map +1 -1
  22. package/build/components/global-styles/font-library-modal/library-font-variant.js +2 -2
  23. package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  24. package/build/components/global-styles/font-library-modal/local-fonts.js +13 -4
  25. package/build/components/global-styles/font-library-modal/local-fonts.js.map +1 -1
  26. package/build/components/global-styles/font-library-modal/resolvers.js +49 -20
  27. package/build/components/global-styles/font-library-modal/resolvers.js.map +1 -1
  28. package/build/components/global-styles/font-library-modal/utils/filter-fonts.js +17 -2
  29. package/build/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -1
  30. package/build/components/global-styles/font-library-modal/utils/index.js +103 -17
  31. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  32. package/build/components/global-styles/font-library-modal/utils/preview-styles.js +4 -3
  33. package/build/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
  34. package/build/components/global-styles/screen-typography.js +4 -1
  35. package/build/components/global-styles/screen-typography.js.map +1 -1
  36. package/build/components/layout/hooks.js +6 -5
  37. package/build/components/layout/hooks.js.map +1 -1
  38. package/build/components/layout/index.js +19 -28
  39. package/build/components/layout/index.js.map +1 -1
  40. package/build/components/layout/router.js +135 -0
  41. package/build/components/layout/router.js.map +1 -0
  42. package/build/components/page-pages/index.js +92 -69
  43. package/build/components/page-pages/index.js.map +1 -1
  44. package/build/components/page-patterns/dataviews-pattern-actions.js +11 -6
  45. package/build/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
  46. package/build/components/page-patterns/index.js +295 -15
  47. package/build/components/page-patterns/index.js.map +1 -1
  48. package/build/components/{page-templates/template-actions.js → page-templates-template-parts/actions.js} +51 -23
  49. package/build/components/page-templates-template-parts/actions.js.map +1 -0
  50. package/build/components/page-templates-template-parts/add-new-template-part.js.map +1 -0
  51. package/build/components/page-templates-template-parts/index.js +395 -0
  52. package/build/components/page-templates-template-parts/index.js.map +1 -0
  53. package/build/components/preferences-modal/index.js +9 -134
  54. package/build/components/preferences-modal/index.js.map +1 -1
  55. package/build/components/revisions/index.js +1 -1
  56. package/build/components/revisions/index.js.map +1 -1
  57. package/build/components/save-button/index.js +4 -2
  58. package/build/components/save-button/index.js.map +1 -1
  59. package/build/components/save-panel/index.js +6 -5
  60. package/build/components/save-panel/index.js.map +1 -1
  61. package/build/components/sidebar/index.js +3 -1
  62. package/build/components/sidebar/index.js.map +1 -1
  63. package/build/components/sidebar-dataviews/dataview-item.js +3 -1
  64. package/build/components/sidebar-dataviews/dataview-item.js.map +1 -1
  65. package/build/components/sidebar-dataviews/default-views.js +4 -2
  66. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  67. package/build/components/sidebar-dataviews/index.js +2 -2
  68. package/build/components/sidebar-dataviews/index.js.map +1 -1
  69. package/build/components/sidebar-navigation-screen/index.js +8 -7
  70. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  71. package/build/components/sidebar-navigation-screen-pages/index.js +2 -10
  72. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  73. package/build/components/sidebar-navigation-screen-pages-dataviews/index.js +26 -3
  74. package/build/components/sidebar-navigation-screen-pages-dataviews/index.js.map +1 -1
  75. package/build/components/sidebar-navigation-screen-templates/index.js +63 -8
  76. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  77. package/build/components/sidebar-navigation-screen-templates-browse/content.js +76 -0
  78. package/build/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -0
  79. package/build/components/sidebar-navigation-screen-templates-browse/index.js +9 -2
  80. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  81. package/build/components/site-hub/index.js +3 -1
  82. package/build/components/site-hub/index.js.map +1 -1
  83. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +47 -12
  84. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  85. package/build/components/sync-state-with-url/use-sync-path-with-url.js +25 -2
  86. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  87. package/build/hooks/commands/use-edit-mode-commands.js +33 -5
  88. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  89. package/build/hooks/push-changes-to-global-styles/index.js +13 -6
  90. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  91. package/build/hooks/template-part-edit.js +7 -6
  92. package/build/hooks/template-part-edit.js.map +1 -1
  93. package/build/index.js +1 -1
  94. package/build/index.js.map +1 -1
  95. package/build/store/actions.js +11 -29
  96. package/build/store/actions.js.map +1 -1
  97. package/build/store/private-actions.js +85 -1
  98. package/build/store/private-actions.js.map +1 -1
  99. package/build/store/selectors.js +2 -2
  100. package/build/store/selectors.js.map +1 -1
  101. package/build/utils/get-is-list-page.js +1 -1
  102. package/build/utils/get-is-list-page.js.map +1 -1
  103. package/build/utils/use-actual-current-theme.js +32 -0
  104. package/build/utils/use-actual-current-theme.js.map +1 -0
  105. package/build-module/components/actions/index.js +139 -36
  106. package/build-module/components/actions/index.js.map +1 -1
  107. package/build-module/components/editor-canvas-container/index.js +1 -1
  108. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  109. package/build-module/components/global-styles/font-families.js +3 -2
  110. package/build-module/components/global-styles/font-families.js.map +1 -1
  111. package/build-module/components/global-styles/font-family-item.js +4 -5
  112. package/build-module/components/global-styles/font-family-item.js.map +1 -1
  113. package/build-module/components/global-styles/font-library-modal/context.js +82 -42
  114. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  115. package/build-module/components/global-styles/font-library-modal/font-collection.js +49 -22
  116. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  117. package/build-module/components/global-styles/font-library-modal/fonts-grid.js +4 -1
  118. package/build-module/components/global-styles/font-library-modal/fonts-grid.js.map +1 -1
  119. package/build-module/components/global-styles/font-library-modal/index.js +4 -4
  120. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
  121. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +16 -8
  122. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  123. package/build-module/components/global-styles/font-library-modal/library-font-card.js +1 -1
  124. package/build-module/components/global-styles/font-library-modal/library-font-card.js.map +1 -1
  125. package/build-module/components/global-styles/font-library-modal/library-font-variant.js +2 -2
  126. package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  127. package/build-module/components/global-styles/font-library-modal/local-fonts.js +13 -4
  128. package/build-module/components/global-styles/font-library-modal/local-fonts.js.map +1 -1
  129. package/build-module/components/global-styles/font-library-modal/resolvers.js +45 -18
  130. package/build-module/components/global-styles/font-library-modal/resolvers.js.map +1 -1
  131. package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js +17 -2
  132. package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -1
  133. package/build-module/components/global-styles/font-library-modal/utils/index.js +99 -16
  134. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  135. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js +4 -3
  136. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
  137. package/build-module/components/global-styles/screen-typography.js +4 -1
  138. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  139. package/build-module/components/layout/hooks.js +6 -5
  140. package/build-module/components/layout/hooks.js.map +1 -1
  141. package/build-module/components/layout/index.js +19 -28
  142. package/build-module/components/layout/index.js.map +1 -1
  143. package/build-module/components/layout/router.js +127 -0
  144. package/build-module/components/layout/router.js.map +1 -0
  145. package/build-module/components/page-pages/index.js +91 -70
  146. package/build-module/components/page-pages/index.js.map +1 -1
  147. package/build-module/components/page-patterns/dataviews-pattern-actions.js +11 -6
  148. package/build-module/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
  149. package/build-module/components/page-patterns/index.js +296 -16
  150. package/build-module/components/page-patterns/index.js.map +1 -1
  151. package/build-module/components/{page-templates/template-actions.js → page-templates-template-parts/actions.js} +52 -24
  152. package/build-module/components/page-templates-template-parts/actions.js.map +1 -0
  153. package/build-module/components/page-templates-template-parts/add-new-template-part.js.map +1 -0
  154. package/build-module/components/page-templates-template-parts/index.js +385 -0
  155. package/build-module/components/page-templates-template-parts/index.js.map +1 -0
  156. package/build-module/components/preferences-modal/index.js +12 -136
  157. package/build-module/components/preferences-modal/index.js.map +1 -1
  158. package/build-module/components/revisions/index.js +1 -1
  159. package/build-module/components/revisions/index.js.map +1 -1
  160. package/build-module/components/save-button/index.js +4 -2
  161. package/build-module/components/save-button/index.js.map +1 -1
  162. package/build-module/components/save-panel/index.js +7 -6
  163. package/build-module/components/save-panel/index.js.map +1 -1
  164. package/build-module/components/sidebar/index.js +3 -1
  165. package/build-module/components/sidebar/index.js.map +1 -1
  166. package/build-module/components/sidebar-dataviews/dataview-item.js +3 -1
  167. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
  168. package/build-module/components/sidebar-dataviews/default-views.js +4 -2
  169. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  170. package/build-module/components/sidebar-dataviews/index.js +2 -2
  171. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  172. package/build-module/components/sidebar-navigation-screen/index.js +8 -7
  173. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  174. package/build-module/components/sidebar-navigation-screen-pages/index.js +2 -10
  175. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  176. package/build-module/components/sidebar-navigation-screen-pages-dataviews/index.js +27 -4
  177. package/build-module/components/sidebar-navigation-screen-pages-dataviews/index.js.map +1 -1
  178. package/build-module/components/sidebar-navigation-screen-templates/index.js +64 -9
  179. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  180. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +68 -0
  181. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -0
  182. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +9 -2
  183. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  184. package/build-module/components/site-hub/index.js +3 -1
  185. package/build-module/components/site-hub/index.js.map +1 -1
  186. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +47 -11
  187. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  188. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +25 -2
  189. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  190. package/build-module/hooks/commands/use-edit-mode-commands.js +33 -5
  191. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  192. package/build-module/hooks/push-changes-to-global-styles/index.js +13 -6
  193. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  194. package/build-module/hooks/template-part-edit.js +7 -6
  195. package/build-module/hooks/template-part-edit.js.map +1 -1
  196. package/build-module/index.js +1 -1
  197. package/build-module/index.js.map +1 -1
  198. package/build-module/store/actions.js +13 -30
  199. package/build-module/store/actions.js.map +1 -1
  200. package/build-module/store/private-actions.js +83 -0
  201. package/build-module/store/private-actions.js.map +1 -1
  202. package/build-module/store/selectors.js +2 -2
  203. package/build-module/store/selectors.js.map +1 -1
  204. package/build-module/utils/get-is-list-page.js +1 -1
  205. package/build-module/utils/get-is-list-page.js.map +1 -1
  206. package/build-module/utils/use-actual-current-theme.js +24 -0
  207. package/build-module/utils/use-actual-current-theme.js.map +1 -0
  208. package/build-style/style-rtl.css +302 -188
  209. package/build-style/style.css +302 -188
  210. package/package.json +42 -42
  211. package/src/components/actions/index.js +236 -84
  212. package/src/components/editor-canvas-container/index.js +1 -1
  213. package/src/components/global-styles/font-families.js +14 -8
  214. package/src/components/global-styles/font-family-item.js +7 -4
  215. package/src/components/global-styles/font-library-modal/context.js +156 -50
  216. package/src/components/global-styles/font-library-modal/font-collection.js +56 -21
  217. package/src/components/global-styles/font-library-modal/fonts-grid.js +6 -2
  218. package/src/components/global-styles/font-library-modal/index.js +4 -4
  219. package/src/components/global-styles/font-library-modal/installed-fonts.js +18 -8
  220. package/src/components/global-styles/font-library-modal/library-font-card.js +2 -1
  221. package/src/components/global-styles/font-library-modal/library-font-variant.js +10 -9
  222. package/src/components/global-styles/font-library-modal/local-fonts.js +14 -4
  223. package/src/components/global-styles/font-library-modal/resolvers.js +50 -17
  224. package/src/components/global-styles/font-library-modal/style.scss +1 -0
  225. package/src/components/global-styles/font-library-modal/utils/filter-fonts.js +19 -2
  226. package/src/components/global-styles/font-library-modal/utils/index.js +136 -29
  227. package/src/components/global-styles/font-library-modal/utils/preview-styles.js +7 -3
  228. package/src/components/global-styles/font-library-modal/utils/test/filter-fonts.spec.js +40 -10
  229. package/src/components/global-styles/font-library-modal/utils/test/preview-styles.spec.js +5 -5
  230. package/src/components/global-styles/screen-typography.js +9 -3
  231. package/src/components/global-styles/style.scss +4 -0
  232. package/src/components/header-edit-mode/style.scss +15 -5
  233. package/src/components/layout/hooks.js +6 -5
  234. package/src/components/layout/index.js +80 -96
  235. package/src/components/layout/router.js +121 -0
  236. package/src/components/layout/style.scss +13 -16
  237. package/src/components/page/style.scss +1 -8
  238. package/src/components/page-pages/index.js +142 -148
  239. package/src/components/page-pages/style.scss +41 -2
  240. package/src/components/page-patterns/dataviews-pattern-actions.js +11 -6
  241. package/src/components/page-patterns/index.js +392 -14
  242. package/src/components/page-patterns/style.scss +36 -2
  243. package/src/components/{page-templates/template-actions.js → page-templates-template-parts/actions.js} +90 -37
  244. package/src/components/{page-templates → page-templates-template-parts}/index.js +198 -169
  245. package/src/components/page-templates-template-parts/style.scss +44 -0
  246. package/src/components/preferences-modal/index.js +8 -211
  247. package/src/components/revisions/index.js +1 -1
  248. package/src/components/save-button/index.js +7 -4
  249. package/src/components/save-panel/index.js +13 -12
  250. package/src/components/sidebar/index.js +4 -5
  251. package/src/components/sidebar-dataviews/dataview-item.js +2 -1
  252. package/src/components/sidebar-dataviews/default-views.js +4 -2
  253. package/src/components/sidebar-dataviews/index.js +8 -6
  254. package/src/components/sidebar-navigation-item/style.scss +1 -1
  255. package/src/components/sidebar-navigation-screen/index.js +19 -10
  256. package/src/components/sidebar-navigation-screen-pages/index.js +2 -10
  257. package/src/components/sidebar-navigation-screen-pages-dataviews/index.js +32 -6
  258. package/src/components/sidebar-navigation-screen-templates/index.js +85 -28
  259. package/src/components/sidebar-navigation-screen-templates/style.scss +9 -0
  260. package/src/components/sidebar-navigation-screen-templates-browse/content.js +73 -0
  261. package/src/components/sidebar-navigation-screen-templates-browse/index.js +10 -1
  262. package/src/components/site-hub/index.js +4 -1
  263. package/src/components/site-hub/style.scss +1 -12
  264. package/src/components/site-icon/style.scss +1 -1
  265. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +40 -10
  266. package/src/components/sync-state-with-url/use-sync-path-with-url.js +32 -0
  267. package/src/hooks/commands/use-edit-mode-commands.js +50 -3
  268. package/src/hooks/push-changes-to-global-styles/index.js +29 -23
  269. package/src/hooks/template-part-edit.js +12 -12
  270. package/src/index.js +1 -1
  271. package/src/store/actions.js +17 -51
  272. package/src/store/private-actions.js +133 -0
  273. package/src/store/selectors.js +2 -4
  274. package/src/style.scss +2 -1
  275. package/src/utils/get-is-list-page.js +3 -2
  276. package/src/utils/use-actual-current-theme.js +27 -0
  277. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +0 -58
  278. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +0 -1
  279. package/build/components/global-styles/font-library-modal/utils/get-notice-from-response.js +0 -71
  280. package/build/components/global-styles/font-library-modal/utils/get-notice-from-response.js.map +0 -1
  281. package/build/components/page-main/index.js +0 -44
  282. package/build/components/page-main/index.js.map +0 -1
  283. package/build/components/page-patterns/dataviews-patterns.js +0 -307
  284. package/build/components/page-patterns/dataviews-patterns.js.map +0 -1
  285. package/build/components/page-template-parts/add-new-template-part.js.map +0 -1
  286. package/build/components/page-template-parts/index.js +0 -81
  287. package/build/components/page-template-parts/index.js.map +0 -1
  288. package/build/components/page-templates/index.js +0 -352
  289. package/build/components/page-templates/index.js.map +0 -1
  290. package/build/components/page-templates/template-actions.js.map +0 -1
  291. package/build/components/post-preview/index.js +0 -29
  292. package/build/components/post-preview/index.js.map +0 -1
  293. package/build/components/preferences-modal/enable-feature.js +0 -36
  294. package/build/components/preferences-modal/enable-feature.js.map +0 -1
  295. package/build/components/preferences-modal/enable-panel-option.js +0 -33
  296. package/build/components/preferences-modal/enable-panel-option.js.map +0 -1
  297. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +0 -52
  298. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +0 -1
  299. package/build-module/components/global-styles/font-library-modal/utils/get-notice-from-response.js +0 -63
  300. package/build-module/components/global-styles/font-library-modal/utils/get-notice-from-response.js.map +0 -1
  301. package/build-module/components/page-main/index.js +0 -36
  302. package/build-module/components/page-main/index.js.map +0 -1
  303. package/build-module/components/page-patterns/dataviews-patterns.js +0 -299
  304. package/build-module/components/page-patterns/dataviews-patterns.js.map +0 -1
  305. package/build-module/components/page-template-parts/add-new-template-part.js.map +0 -1
  306. package/build-module/components/page-template-parts/index.js +0 -73
  307. package/build-module/components/page-template-parts/index.js.map +0 -1
  308. package/build-module/components/page-templates/index.js +0 -344
  309. package/build-module/components/page-templates/index.js.map +0 -1
  310. package/build-module/components/page-templates/template-actions.js.map +0 -1
  311. package/build-module/components/post-preview/index.js +0 -21
  312. package/build-module/components/post-preview/index.js.map +0 -1
  313. package/build-module/components/preferences-modal/enable-feature.js +0 -29
  314. package/build-module/components/preferences-modal/enable-feature.js.map +0 -1
  315. package/build-module/components/preferences-modal/enable-panel-option.js +0 -26
  316. package/build-module/components/preferences-modal/enable-panel-option.js.map +0 -1
  317. package/src/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +0 -58
  318. package/src/components/global-styles/font-library-modal/utils/get-notice-from-response.js +0 -62
  319. package/src/components/global-styles/font-library-modal/utils/test/getIntersectingFontFaces.spec.js +0 -271
  320. package/src/components/global-styles/font-library-modal/utils/test/makeFormDataFromFontFamily.spec.js +0 -58
  321. package/src/components/page-main/index.js +0 -38
  322. package/src/components/page-patterns/dataviews-patterns.js +0 -380
  323. package/src/components/page-template-parts/index.js +0 -99
  324. package/src/components/page-templates/style.scss +0 -13
  325. package/src/components/post-preview/index.js +0 -16
  326. package/src/components/preferences-modal/enable-feature.js +0 -31
  327. package/src/components/preferences-modal/enable-panel-option.js +0 -23
  328. /package/build/components/{page-template-parts → page-templates-template-parts}/add-new-template-part.js +0 -0
  329. /package/build-module/components/{page-template-parts → page-templates-template-parts}/add-new-template-part.js +0 -0
  330. /package/src/components/{page-template-parts → page-templates-template-parts}/add-new-template-part.js +0 -0
@@ -31,17 +31,14 @@ import {
31
31
  useBlockCommands,
32
32
  store as blockEditorStore,
33
33
  } from '@wordpress/block-editor';
34
- import { privateApis as routerPrivateApis } from '@wordpress/router';
35
34
  import { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands';
36
35
 
37
36
  /**
38
37
  * Internal dependencies
39
38
  */
40
39
  import Sidebar from '../sidebar';
41
- import Editor from '../editor';
42
40
  import ErrorBoundary from '../error-boundary';
43
41
  import { store as editSiteStore } from '../../store';
44
- import getIsListPage from '../../utils/get-is-list-page';
45
42
  import Header from '../header-edit-mode';
46
43
  import useInitEditedEntityFromURL from '../sync-state-with-url/use-init-edited-entity-from-url';
47
44
  import SiteHub from '../site-hub';
@@ -53,12 +50,11 @@ import KeyboardShortcutsRegister from '../keyboard-shortcuts/register';
53
50
  import KeyboardShortcutsGlobal from '../keyboard-shortcuts/global';
54
51
  import { useCommonCommands } from '../../hooks/commands/use-common-commands';
55
52
  import { useEditModeCommands } from '../../hooks/commands/use-edit-mode-commands';
56
- import PageMain from '../page-main';
57
53
  import { useIsSiteEditorLoading } from './hooks';
54
+ import useLayoutAreas from './router';
58
55
 
59
56
  const { useCommands } = unlock( coreCommandsPrivateApis );
60
57
  const { useCommandContext } = unlock( commandsPrivateApis );
61
- const { useLocation } = unlock( routerPrivateApis );
62
58
  const { useGlobalStyle } = unlock( blockEditorPrivateApis );
63
59
 
64
60
  const ANIMATION_DURATION = 0.5;
@@ -72,10 +68,7 @@ export default function Layout() {
72
68
  useCommonCommands();
73
69
  useBlockCommands();
74
70
 
75
- const { params } = useLocation();
76
71
  const isMobileViewport = useViewportMatch( 'medium', '<' );
77
- const isListPage = getIsListPage( params, isMobileViewport );
78
- const isEditorPage = ! isListPage;
79
72
 
80
73
  const {
81
74
  isDistractionFree,
@@ -109,26 +102,17 @@ export default function Layout() {
109
102
  select( blockEditorStore ).getBlockSelectionStart(),
110
103
  };
111
104
  }, [] );
112
- const isEditing = canvasMode === 'edit';
113
105
  const navigateRegionsProps = useNavigateRegions( {
114
106
  previous: previousShortcut,
115
107
  next: nextShortcut,
116
108
  } );
117
109
  const disableMotion = useReducedMotion();
118
- const showSidebar =
119
- ( isMobileViewport && canvasMode === 'view' && ! isListPage ) ||
120
- ( ! isMobileViewport && ( canvasMode === 'view' || ! isEditorPage ) );
121
- const showCanvas =
122
- ( isMobileViewport && isEditorPage && isEditing ) ||
123
- ! isMobileViewport ||
124
- ! isEditorPage;
125
- const isFullCanvas =
126
- ( isMobileViewport && isListPage ) || ( isEditorPage && isEditing );
127
110
  const [ canvasResizer, canvasSize ] = useResizeObserver();
128
111
  const [ fullResizer ] = useResizeObserver();
129
112
  const isEditorLoading = useIsSiteEditorLoading();
130
113
  const [ isResizableFrameOversized, setIsResizableFrameOversized ] =
131
114
  useState( false );
115
+ const { areas, widths } = useLayoutAreas();
132
116
 
133
117
  // This determines which animation variant should apply to the header.
134
118
  // There is also a `isDistractionFreeHovering` state that gets priority
@@ -154,7 +138,7 @@ export default function Layout() {
154
138
  // Sets the right context for the command palette
155
139
  let commandContext = 'site-editor';
156
140
 
157
- if ( canvasMode === 'edit' && isEditorPage ) {
141
+ if ( canvasMode === 'edit' ) {
158
142
  commandContext = 'site-editor-edit';
159
143
  }
160
144
  if ( hasBlockSelected ) {
@@ -185,9 +169,9 @@ export default function Layout() {
185
169
  'edit-site-layout',
186
170
  navigateRegionsProps.className,
187
171
  {
188
- 'is-distraction-free': isDistractionFree && isEditing,
189
- 'is-full-canvas': isFullCanvas,
190
- 'is-edit-mode': isEditing,
172
+ 'is-distraction-free':
173
+ isDistractionFree && canvasMode === 'edit',
174
+ 'is-full-canvas': canvasMode === 'edit',
191
175
  'has-fixed-toolbar': hasFixedToolbar,
192
176
  'is-block-toolbar-visible': hasBlockSelected,
193
177
  }
@@ -228,7 +212,7 @@ export default function Layout() {
228
212
  />
229
213
 
230
214
  <AnimatePresence initial={ false }>
231
- { isEditorPage && isEditing && (
215
+ { canvasMode === 'edit' && (
232
216
  <NavigableRegion
233
217
  key="header"
234
218
  className="edit-site-layout__header"
@@ -272,7 +256,7 @@ export default function Layout() {
272
256
  className="edit-site-layout__sidebar-region"
273
257
  >
274
258
  <AnimatePresence>
275
- { showSidebar && (
259
+ { canvasMode === 'view' && (
276
260
  <motion.div
277
261
  initial={ { opacity: 0 } }
278
262
  animate={ { opacity: 1 } }
@@ -296,82 +280,82 @@ export default function Layout() {
296
280
 
297
281
  <SavePanel />
298
282
 
299
- { showCanvas && (
300
- <>
301
- { isListPage && <PageMain /> }
302
- { isEditorPage && (
303
- <div className="edit-site-layout__canvas-container">
304
- { canvasResizer }
305
- { !! canvasSize.width && (
306
- <motion.div
307
- whileHover={
308
- isEditorPage &&
309
- canvasMode === 'view'
310
- ? {
311
- scale: 1.005,
312
- transition: {
313
- duration:
314
- disableMotion
315
- ? 0
316
- : 0.5,
317
- ease: 'easeOut',
318
- },
319
- }
320
- : {}
283
+ { areas.content && canvasMode !== 'edit' && (
284
+ <div
285
+ className="edit-site-layout__area"
286
+ style={ {
287
+ maxWidth: widths?.content,
288
+ } }
289
+ >
290
+ { areas.content }
291
+ </div>
292
+ ) }
293
+
294
+ { areas.preview && (
295
+ <div className="edit-site-layout__canvas-container">
296
+ { canvasResizer }
297
+ { !! canvasSize.width && (
298
+ <motion.div
299
+ whileHover={
300
+ canvasMode === 'view'
301
+ ? {
302
+ scale: 1.005,
303
+ transition: {
304
+ duration: disableMotion
305
+ ? 0
306
+ : 0.5,
307
+ ease: 'easeOut',
308
+ },
309
+ }
310
+ : {}
311
+ }
312
+ initial={ false }
313
+ layout="position"
314
+ className={ classnames(
315
+ 'edit-site-layout__canvas',
316
+ {
317
+ 'is-right-aligned':
318
+ isResizableFrameOversized,
319
+ }
320
+ ) }
321
+ transition={ {
322
+ type: 'tween',
323
+ duration: disableMotion
324
+ ? 0
325
+ : ANIMATION_DURATION,
326
+ ease: 'easeOut',
327
+ } }
328
+ >
329
+ <ErrorBoundary>
330
+ <ResizableFrame
331
+ isReady={ ! isEditorLoading }
332
+ isFullWidth={
333
+ canvasMode === 'edit'
321
334
  }
322
- initial={ false }
323
- layout="position"
324
- className={ classnames(
325
- 'edit-site-layout__canvas',
326
- {
327
- 'is-right-aligned':
328
- isResizableFrameOversized,
329
- }
330
- ) }
331
- transition={ {
332
- type: 'tween',
333
- duration: disableMotion
334
- ? 0
335
- : ANIMATION_DURATION,
336
- ease: 'easeOut',
335
+ defaultSize={ {
336
+ width:
337
+ canvasSize.width -
338
+ 24 /* $canvas-padding */,
339
+ height: canvasSize.height,
340
+ } }
341
+ isOversized={
342
+ isResizableFrameOversized
343
+ }
344
+ setIsOversized={
345
+ setIsResizableFrameOversized
346
+ }
347
+ innerContentStyle={ {
348
+ background:
349
+ gradientValue ??
350
+ backgroundColor,
337
351
  } }
338
352
  >
339
- <ErrorBoundary>
340
- <ResizableFrame
341
- isReady={
342
- ! isEditorLoading
343
- }
344
- isFullWidth={ isEditing }
345
- defaultSize={ {
346
- width:
347
- canvasSize.width -
348
- 24 /* $canvas-padding */,
349
- height: canvasSize.height,
350
- } }
351
- isOversized={
352
- isResizableFrameOversized
353
- }
354
- setIsOversized={
355
- setIsResizableFrameOversized
356
- }
357
- innerContentStyle={ {
358
- background:
359
- gradientValue ??
360
- backgroundColor,
361
- } }
362
- >
363
- <Editor
364
- isLoading={
365
- isEditorLoading
366
- }
367
- />
368
- </ResizableFrame>
369
- </ErrorBoundary>
370
- </motion.div>
371
- ) }
372
- </div>
353
+ { areas.preview }
354
+ </ResizableFrame>
355
+ </ErrorBoundary>
356
+ </motion.div>
373
357
  ) }
374
- </>
358
+ </div>
375
359
  ) }
376
360
  </div>
377
361
  </div>
@@ -0,0 +1,121 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { privateApis as routerPrivateApis } from '@wordpress/router';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import { unlock } from '../../lock-unlock';
10
+ import { useIsSiteEditorLoading } from './hooks';
11
+ import Editor from '../editor';
12
+ import PagePages from '../page-pages';
13
+ import PagePatterns from '../page-patterns';
14
+ import PageTemplatesTemplateParts from '../page-templates-template-parts';
15
+
16
+ import {
17
+ TEMPLATE_POST_TYPE,
18
+ TEMPLATE_PART_POST_TYPE,
19
+ } from '../../utils/constants';
20
+
21
+ const { useLocation } = unlock( routerPrivateApis );
22
+
23
+ export default function useLayoutAreas() {
24
+ const isSiteEditorLoading = useIsSiteEditorLoading();
25
+ const { params } = useLocation();
26
+ const { postType, postId, path, layout, isCustom } = params ?? {};
27
+ // Regular page
28
+ if ( path === '/page' ) {
29
+ return {
30
+ areas: {
31
+ content: undefined,
32
+ preview: <Editor isLoading={ isSiteEditorLoading } />,
33
+ },
34
+ widths: {
35
+ content: undefined,
36
+ },
37
+ };
38
+ }
39
+
40
+ // List layout is still experimental.
41
+ // Extracted it here out of the conditionals so it doesn't unintentionally becomes stable.
42
+ const isListLayout =
43
+ isCustom !== 'true' &&
44
+ layout === 'list' &&
45
+ window?.__experimentalAdminViews;
46
+
47
+ if ( path === '/pages' ) {
48
+ return {
49
+ areas: {
50
+ content: <PagePages />,
51
+ preview: isListLayout && (
52
+ <Editor isLoading={ isSiteEditorLoading } />
53
+ ),
54
+ },
55
+ widths: {
56
+ content: isListLayout ? 380 : undefined,
57
+ },
58
+ };
59
+ }
60
+
61
+ // Regular other post types
62
+ if ( postType && postId ) {
63
+ return {
64
+ areas: {
65
+ preview: <Editor isLoading={ isSiteEditorLoading } />,
66
+ },
67
+ };
68
+ }
69
+
70
+ // Templates
71
+ if ( path === '/wp_template/all' ) {
72
+ return {
73
+ areas: {
74
+ content: (
75
+ <PageTemplatesTemplateParts
76
+ postType={ TEMPLATE_POST_TYPE }
77
+ />
78
+ ),
79
+ preview: isListLayout && (
80
+ <Editor isLoading={ isSiteEditorLoading } />
81
+ ),
82
+ },
83
+ widths: {
84
+ content: isListLayout ? 380 : undefined,
85
+ },
86
+ };
87
+ }
88
+
89
+ // Template parts
90
+ if ( path === '/wp_template_part/all' ) {
91
+ return {
92
+ areas: {
93
+ content: (
94
+ <PageTemplatesTemplateParts
95
+ postType={ TEMPLATE_PART_POST_TYPE }
96
+ />
97
+ ),
98
+ preview: isListLayout && (
99
+ <Editor isLoading={ isSiteEditorLoading } />
100
+ ),
101
+ },
102
+ widths: {
103
+ content: isListLayout ? 380 : undefined,
104
+ },
105
+ };
106
+ }
107
+
108
+ // Patterns
109
+ if ( path === '/patterns' ) {
110
+ return {
111
+ areas: {
112
+ content: <PagePatterns />,
113
+ },
114
+ };
115
+ }
116
+
117
+ // Fallback shows the home page preview
118
+ return {
119
+ areas: { preview: <Editor isLoading={ isSiteEditorLoading } /> },
120
+ };
121
+ }
@@ -14,11 +14,6 @@
14
14
  height: $header-height;
15
15
  z-index: z-index(".edit-site-layout__hub");
16
16
 
17
- .edit-site-layout.is-full-canvas.is-edit-mode & {
18
- width: $header-height;
19
- padding-right: 0;
20
- }
21
-
22
17
  @include break-medium {
23
18
  width: calc(#{$nav-sidebar-width} - #{$grid-unit-30});
24
19
  }
@@ -30,7 +25,7 @@
30
25
  box-shadow: none;
31
26
 
32
27
  @include break-medium {
33
- width: auto;
28
+ width: $header-height;
34
29
  padding-right: 0;
35
30
  }
36
31
  }
@@ -156,20 +151,13 @@
156
151
  }
157
152
  }
158
153
 
159
- .edit-site-template-pages-list-view,
160
- .edit-site-page-pages-list-view {
161
- max-width: $nav-sidebar-width;
162
- }
163
-
164
154
  // This shouldn't be necessary (we should have a way to say that a skeletton is relative
165
155
  .edit-site-layout__canvas .interface-interface-skeleton,
166
- .edit-site-page-pages-preview .interface-interface-skeleton,
167
156
  .edit-site-template-pages-preview .interface-interface-skeleton {
168
157
  position: relative !important;
169
158
  min-height: 100% !important;
170
159
  }
171
160
 
172
- .edit-site-page-pages-preview,
173
161
  .edit-site-template-pages-preview {
174
162
  height: 100%;
175
163
  }
@@ -187,7 +175,7 @@
187
175
  justify-content: center;
188
176
  border-bottom: 1px solid transparent;
189
177
 
190
- .edit-site-layout.is-full-canvas.is-edit-mode & {
178
+ .edit-site-layout.is-full-canvas & {
191
179
  border-bottom-color: $gray-200;
192
180
  transition: border-bottom-color 0.15s 0.4s ease-out;
193
181
  }
@@ -261,8 +249,7 @@
261
249
  }
262
250
  }
263
251
 
264
- .is-edit-mode.is-distraction-free {
265
-
252
+ .edit-site-layout.is-distraction-free {
266
253
  .edit-site-layout__header-container {
267
254
  height: $header-height;
268
255
  position: absolute;
@@ -300,3 +287,13 @@
300
287
  }
301
288
 
302
289
  }
290
+
291
+ .edit-site-layout__area {
292
+ flex-grow: 1;
293
+ margin: 0;
294
+ overflow: hidden;
295
+ @include break-medium() {
296
+ border-radius: 8px;
297
+ margin: $canvas-padding $canvas-padding $canvas-padding 0;
298
+ }
299
+ }
@@ -1,14 +1,7 @@
1
1
  .edit-site-page {
2
2
  color: $gray-800;
3
3
  background: $white;
4
- flex-grow: 1;
5
- overflow: hidden;
6
- margin: 0;
7
- margin-top: $header-height;
8
- @include break-medium() {
9
- border-radius: 8px;
10
- margin: $canvas-padding $canvas-padding $canvas-padding 0;
11
- }
4
+ height: 100%;
12
5
  }
13
6
 
14
7
  .edit-site-page-header {