@wordpress/edit-site 5.26.0 → 5.27.1

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 (340) 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/tab-panel-layout.js +6 -2
  29. package/build/components/global-styles/font-library-modal/tab-panel-layout.js.map +1 -1
  30. package/build/components/global-styles/font-library-modal/utils/filter-fonts.js +17 -2
  31. package/build/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -1
  32. package/build/components/global-styles/font-library-modal/utils/index.js +103 -17
  33. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  34. package/build/components/global-styles/font-library-modal/utils/preview-styles.js +4 -3
  35. package/build/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
  36. package/build/components/global-styles/screen-block.js +10 -0
  37. package/build/components/global-styles/screen-block.js.map +1 -1
  38. package/build/components/global-styles/screen-typography.js +4 -1
  39. package/build/components/global-styles/screen-typography.js.map +1 -1
  40. package/build/components/layout/hooks.js +6 -5
  41. package/build/components/layout/hooks.js.map +1 -1
  42. package/build/components/layout/index.js +19 -28
  43. package/build/components/layout/index.js.map +1 -1
  44. package/build/components/layout/router.js +135 -0
  45. package/build/components/layout/router.js.map +1 -0
  46. package/build/components/page-pages/index.js +92 -69
  47. package/build/components/page-pages/index.js.map +1 -1
  48. package/build/components/page-patterns/dataviews-pattern-actions.js +11 -6
  49. package/build/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
  50. package/build/components/page-patterns/index.js +295 -15
  51. package/build/components/page-patterns/index.js.map +1 -1
  52. package/build/components/{page-templates/template-actions.js → page-templates-template-parts/actions.js} +51 -23
  53. package/build/components/page-templates-template-parts/actions.js.map +1 -0
  54. package/build/components/page-templates-template-parts/add-new-template-part.js.map +1 -0
  55. package/build/components/page-templates-template-parts/index.js +395 -0
  56. package/build/components/page-templates-template-parts/index.js.map +1 -0
  57. package/build/components/preferences-modal/index.js +9 -134
  58. package/build/components/preferences-modal/index.js.map +1 -1
  59. package/build/components/revisions/index.js +1 -1
  60. package/build/components/revisions/index.js.map +1 -1
  61. package/build/components/save-button/index.js +4 -2
  62. package/build/components/save-button/index.js.map +1 -1
  63. package/build/components/save-panel/index.js +6 -5
  64. package/build/components/save-panel/index.js.map +1 -1
  65. package/build/components/sidebar/index.js +3 -1
  66. package/build/components/sidebar/index.js.map +1 -1
  67. package/build/components/sidebar-dataviews/dataview-item.js +3 -1
  68. package/build/components/sidebar-dataviews/dataview-item.js.map +1 -1
  69. package/build/components/sidebar-dataviews/default-views.js +4 -2
  70. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  71. package/build/components/sidebar-dataviews/index.js +2 -2
  72. package/build/components/sidebar-dataviews/index.js.map +1 -1
  73. package/build/components/sidebar-navigation-screen/index.js +8 -7
  74. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  75. package/build/components/sidebar-navigation-screen-pages/index.js +2 -10
  76. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  77. package/build/components/sidebar-navigation-screen-pages-dataviews/index.js +26 -3
  78. package/build/components/sidebar-navigation-screen-pages-dataviews/index.js.map +1 -1
  79. package/build/components/sidebar-navigation-screen-templates/index.js +63 -8
  80. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  81. package/build/components/sidebar-navigation-screen-templates-browse/content.js +76 -0
  82. package/build/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -0
  83. package/build/components/sidebar-navigation-screen-templates-browse/index.js +9 -2
  84. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  85. package/build/components/site-hub/index.js +3 -1
  86. package/build/components/site-hub/index.js.map +1 -1
  87. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +47 -12
  88. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  89. package/build/components/sync-state-with-url/use-sync-path-with-url.js +25 -2
  90. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  91. package/build/hooks/commands/use-edit-mode-commands.js +33 -5
  92. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  93. package/build/hooks/push-changes-to-global-styles/index.js +13 -6
  94. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  95. package/build/hooks/template-part-edit.js +7 -6
  96. package/build/hooks/template-part-edit.js.map +1 -1
  97. package/build/index.js +1 -1
  98. package/build/index.js.map +1 -1
  99. package/build/store/actions.js +11 -29
  100. package/build/store/actions.js.map +1 -1
  101. package/build/store/private-actions.js +85 -1
  102. package/build/store/private-actions.js.map +1 -1
  103. package/build/store/selectors.js +2 -2
  104. package/build/store/selectors.js.map +1 -1
  105. package/build/utils/get-is-list-page.js +1 -1
  106. package/build/utils/get-is-list-page.js.map +1 -1
  107. package/build/utils/use-actual-current-theme.js +32 -0
  108. package/build/utils/use-actual-current-theme.js.map +1 -0
  109. package/build-module/components/actions/index.js +139 -36
  110. package/build-module/components/actions/index.js.map +1 -1
  111. package/build-module/components/editor-canvas-container/index.js +1 -1
  112. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  113. package/build-module/components/global-styles/font-families.js +3 -2
  114. package/build-module/components/global-styles/font-families.js.map +1 -1
  115. package/build-module/components/global-styles/font-family-item.js +4 -5
  116. package/build-module/components/global-styles/font-family-item.js.map +1 -1
  117. package/build-module/components/global-styles/font-library-modal/context.js +82 -42
  118. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  119. package/build-module/components/global-styles/font-library-modal/font-collection.js +49 -22
  120. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  121. package/build-module/components/global-styles/font-library-modal/fonts-grid.js +4 -1
  122. package/build-module/components/global-styles/font-library-modal/fonts-grid.js.map +1 -1
  123. package/build-module/components/global-styles/font-library-modal/index.js +4 -4
  124. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
  125. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +16 -8
  126. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  127. package/build-module/components/global-styles/font-library-modal/library-font-card.js +1 -1
  128. package/build-module/components/global-styles/font-library-modal/library-font-card.js.map +1 -1
  129. package/build-module/components/global-styles/font-library-modal/library-font-variant.js +2 -2
  130. package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  131. package/build-module/components/global-styles/font-library-modal/local-fonts.js +13 -4
  132. package/build-module/components/global-styles/font-library-modal/local-fonts.js.map +1 -1
  133. package/build-module/components/global-styles/font-library-modal/resolvers.js +45 -18
  134. package/build-module/components/global-styles/font-library-modal/resolvers.js.map +1 -1
  135. package/build-module/components/global-styles/font-library-modal/tab-panel-layout.js +6 -2
  136. package/build-module/components/global-styles/font-library-modal/tab-panel-layout.js.map +1 -1
  137. package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js +17 -2
  138. package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -1
  139. package/build-module/components/global-styles/font-library-modal/utils/index.js +99 -16
  140. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  141. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js +4 -3
  142. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
  143. package/build-module/components/global-styles/screen-block.js +10 -0
  144. package/build-module/components/global-styles/screen-block.js.map +1 -1
  145. package/build-module/components/global-styles/screen-typography.js +4 -1
  146. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  147. package/build-module/components/layout/hooks.js +6 -5
  148. package/build-module/components/layout/hooks.js.map +1 -1
  149. package/build-module/components/layout/index.js +19 -28
  150. package/build-module/components/layout/index.js.map +1 -1
  151. package/build-module/components/layout/router.js +127 -0
  152. package/build-module/components/layout/router.js.map +1 -0
  153. package/build-module/components/page-pages/index.js +91 -70
  154. package/build-module/components/page-pages/index.js.map +1 -1
  155. package/build-module/components/page-patterns/dataviews-pattern-actions.js +11 -6
  156. package/build-module/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
  157. package/build-module/components/page-patterns/index.js +296 -16
  158. package/build-module/components/page-patterns/index.js.map +1 -1
  159. package/build-module/components/{page-templates/template-actions.js → page-templates-template-parts/actions.js} +52 -24
  160. package/build-module/components/page-templates-template-parts/actions.js.map +1 -0
  161. package/build-module/components/page-templates-template-parts/add-new-template-part.js.map +1 -0
  162. package/build-module/components/page-templates-template-parts/index.js +385 -0
  163. package/build-module/components/page-templates-template-parts/index.js.map +1 -0
  164. package/build-module/components/preferences-modal/index.js +12 -136
  165. package/build-module/components/preferences-modal/index.js.map +1 -1
  166. package/build-module/components/revisions/index.js +1 -1
  167. package/build-module/components/revisions/index.js.map +1 -1
  168. package/build-module/components/save-button/index.js +4 -2
  169. package/build-module/components/save-button/index.js.map +1 -1
  170. package/build-module/components/save-panel/index.js +7 -6
  171. package/build-module/components/save-panel/index.js.map +1 -1
  172. package/build-module/components/sidebar/index.js +3 -1
  173. package/build-module/components/sidebar/index.js.map +1 -1
  174. package/build-module/components/sidebar-dataviews/dataview-item.js +3 -1
  175. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
  176. package/build-module/components/sidebar-dataviews/default-views.js +4 -2
  177. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  178. package/build-module/components/sidebar-dataviews/index.js +2 -2
  179. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  180. package/build-module/components/sidebar-navigation-screen/index.js +8 -7
  181. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  182. package/build-module/components/sidebar-navigation-screen-pages/index.js +2 -10
  183. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  184. package/build-module/components/sidebar-navigation-screen-pages-dataviews/index.js +27 -4
  185. package/build-module/components/sidebar-navigation-screen-pages-dataviews/index.js.map +1 -1
  186. package/build-module/components/sidebar-navigation-screen-templates/index.js +64 -9
  187. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  188. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +68 -0
  189. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -0
  190. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +9 -2
  191. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  192. package/build-module/components/site-hub/index.js +3 -1
  193. package/build-module/components/site-hub/index.js.map +1 -1
  194. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +47 -11
  195. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  196. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +25 -2
  197. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  198. package/build-module/hooks/commands/use-edit-mode-commands.js +33 -5
  199. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  200. package/build-module/hooks/push-changes-to-global-styles/index.js +13 -6
  201. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  202. package/build-module/hooks/template-part-edit.js +7 -6
  203. package/build-module/hooks/template-part-edit.js.map +1 -1
  204. package/build-module/index.js +1 -1
  205. package/build-module/index.js.map +1 -1
  206. package/build-module/store/actions.js +13 -30
  207. package/build-module/store/actions.js.map +1 -1
  208. package/build-module/store/private-actions.js +83 -0
  209. package/build-module/store/private-actions.js.map +1 -1
  210. package/build-module/store/selectors.js +2 -2
  211. package/build-module/store/selectors.js.map +1 -1
  212. package/build-module/utils/get-is-list-page.js +1 -1
  213. package/build-module/utils/get-is-list-page.js.map +1 -1
  214. package/build-module/utils/use-actual-current-theme.js +24 -0
  215. package/build-module/utils/use-actual-current-theme.js.map +1 -0
  216. package/build-style/style-rtl.css +316 -215
  217. package/build-style/style.css +316 -215
  218. package/package.json +42 -42
  219. package/src/components/actions/index.js +236 -84
  220. package/src/components/editor-canvas-container/index.js +1 -1
  221. package/src/components/global-styles/font-families.js +14 -8
  222. package/src/components/global-styles/font-family-item.js +7 -4
  223. package/src/components/global-styles/font-library-modal/context.js +156 -50
  224. package/src/components/global-styles/font-library-modal/font-collection.js +56 -21
  225. package/src/components/global-styles/font-library-modal/fonts-grid.js +6 -2
  226. package/src/components/global-styles/font-library-modal/index.js +4 -4
  227. package/src/components/global-styles/font-library-modal/installed-fonts.js +18 -8
  228. package/src/components/global-styles/font-library-modal/library-font-card.js +2 -1
  229. package/src/components/global-styles/font-library-modal/library-font-variant.js +10 -9
  230. package/src/components/global-styles/font-library-modal/local-fonts.js +14 -4
  231. package/src/components/global-styles/font-library-modal/resolvers.js +50 -17
  232. package/src/components/global-styles/font-library-modal/style.scss +23 -35
  233. package/src/components/global-styles/font-library-modal/tab-panel-layout.js +30 -26
  234. package/src/components/global-styles/font-library-modal/utils/filter-fonts.js +19 -2
  235. package/src/components/global-styles/font-library-modal/utils/index.js +136 -29
  236. package/src/components/global-styles/font-library-modal/utils/preview-styles.js +7 -3
  237. package/src/components/global-styles/font-library-modal/utils/test/filter-fonts.spec.js +40 -10
  238. package/src/components/global-styles/font-library-modal/utils/test/preview-styles.spec.js +5 -5
  239. package/src/components/global-styles/screen-block.js +10 -0
  240. package/src/components/global-styles/screen-typography.js +9 -3
  241. package/src/components/global-styles/style.scss +4 -0
  242. package/src/components/header-edit-mode/style.scss +15 -5
  243. package/src/components/layout/hooks.js +6 -5
  244. package/src/components/layout/index.js +80 -96
  245. package/src/components/layout/router.js +121 -0
  246. package/src/components/layout/style.scss +13 -16
  247. package/src/components/page/style.scss +1 -8
  248. package/src/components/page-pages/index.js +142 -148
  249. package/src/components/page-pages/style.scss +41 -2
  250. package/src/components/page-patterns/dataviews-pattern-actions.js +11 -6
  251. package/src/components/page-patterns/index.js +392 -14
  252. package/src/components/page-patterns/style.scss +36 -2
  253. package/src/components/{page-templates/template-actions.js → page-templates-template-parts/actions.js} +90 -37
  254. package/src/components/{page-templates → page-templates-template-parts}/index.js +198 -169
  255. package/src/components/page-templates-template-parts/style.scss +44 -0
  256. package/src/components/preferences-modal/index.js +8 -211
  257. package/src/components/revisions/index.js +1 -1
  258. package/src/components/save-button/index.js +7 -4
  259. package/src/components/save-panel/index.js +13 -12
  260. package/src/components/sidebar/index.js +4 -5
  261. package/src/components/sidebar-dataviews/dataview-item.js +2 -1
  262. package/src/components/sidebar-dataviews/default-views.js +4 -2
  263. package/src/components/sidebar-dataviews/index.js +8 -6
  264. package/src/components/sidebar-navigation-item/style.scss +1 -1
  265. package/src/components/sidebar-navigation-screen/index.js +19 -10
  266. package/src/components/sidebar-navigation-screen-pages/index.js +2 -10
  267. package/src/components/sidebar-navigation-screen-pages-dataviews/index.js +32 -6
  268. package/src/components/sidebar-navigation-screen-templates/index.js +85 -28
  269. package/src/components/sidebar-navigation-screen-templates/style.scss +9 -0
  270. package/src/components/sidebar-navigation-screen-templates-browse/content.js +73 -0
  271. package/src/components/sidebar-navigation-screen-templates-browse/index.js +10 -1
  272. package/src/components/site-hub/index.js +4 -1
  273. package/src/components/site-hub/style.scss +1 -12
  274. package/src/components/site-icon/style.scss +1 -1
  275. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +40 -10
  276. package/src/components/sync-state-with-url/use-sync-path-with-url.js +32 -0
  277. package/src/hooks/commands/use-edit-mode-commands.js +50 -3
  278. package/src/hooks/push-changes-to-global-styles/index.js +29 -23
  279. package/src/hooks/template-part-edit.js +12 -12
  280. package/src/index.js +1 -1
  281. package/src/store/actions.js +17 -51
  282. package/src/store/private-actions.js +133 -0
  283. package/src/store/selectors.js +2 -4
  284. package/src/style.scss +2 -1
  285. package/src/utils/get-is-list-page.js +3 -2
  286. package/src/utils/use-actual-current-theme.js +27 -0
  287. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +0 -58
  288. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +0 -1
  289. package/build/components/global-styles/font-library-modal/utils/get-notice-from-response.js +0 -71
  290. package/build/components/global-styles/font-library-modal/utils/get-notice-from-response.js.map +0 -1
  291. package/build/components/page-main/index.js +0 -44
  292. package/build/components/page-main/index.js.map +0 -1
  293. package/build/components/page-patterns/dataviews-patterns.js +0 -307
  294. package/build/components/page-patterns/dataviews-patterns.js.map +0 -1
  295. package/build/components/page-template-parts/add-new-template-part.js.map +0 -1
  296. package/build/components/page-template-parts/index.js +0 -81
  297. package/build/components/page-template-parts/index.js.map +0 -1
  298. package/build/components/page-templates/index.js +0 -352
  299. package/build/components/page-templates/index.js.map +0 -1
  300. package/build/components/page-templates/template-actions.js.map +0 -1
  301. package/build/components/post-preview/index.js +0 -29
  302. package/build/components/post-preview/index.js.map +0 -1
  303. package/build/components/preferences-modal/enable-feature.js +0 -36
  304. package/build/components/preferences-modal/enable-feature.js.map +0 -1
  305. package/build/components/preferences-modal/enable-panel-option.js +0 -33
  306. package/build/components/preferences-modal/enable-panel-option.js.map +0 -1
  307. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +0 -52
  308. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +0 -1
  309. package/build-module/components/global-styles/font-library-modal/utils/get-notice-from-response.js +0 -63
  310. package/build-module/components/global-styles/font-library-modal/utils/get-notice-from-response.js.map +0 -1
  311. package/build-module/components/page-main/index.js +0 -36
  312. package/build-module/components/page-main/index.js.map +0 -1
  313. package/build-module/components/page-patterns/dataviews-patterns.js +0 -299
  314. package/build-module/components/page-patterns/dataviews-patterns.js.map +0 -1
  315. package/build-module/components/page-template-parts/add-new-template-part.js.map +0 -1
  316. package/build-module/components/page-template-parts/index.js +0 -73
  317. package/build-module/components/page-template-parts/index.js.map +0 -1
  318. package/build-module/components/page-templates/index.js +0 -344
  319. package/build-module/components/page-templates/index.js.map +0 -1
  320. package/build-module/components/page-templates/template-actions.js.map +0 -1
  321. package/build-module/components/post-preview/index.js +0 -21
  322. package/build-module/components/post-preview/index.js.map +0 -1
  323. package/build-module/components/preferences-modal/enable-feature.js +0 -29
  324. package/build-module/components/preferences-modal/enable-feature.js.map +0 -1
  325. package/build-module/components/preferences-modal/enable-panel-option.js +0 -26
  326. package/build-module/components/preferences-modal/enable-panel-option.js.map +0 -1
  327. package/src/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +0 -58
  328. package/src/components/global-styles/font-library-modal/utils/get-notice-from-response.js +0 -62
  329. package/src/components/global-styles/font-library-modal/utils/test/getIntersectingFontFaces.spec.js +0 -271
  330. package/src/components/global-styles/font-library-modal/utils/test/makeFormDataFromFontFamily.spec.js +0 -58
  331. package/src/components/page-main/index.js +0 -38
  332. package/src/components/page-patterns/dataviews-patterns.js +0 -380
  333. package/src/components/page-template-parts/index.js +0 -99
  334. package/src/components/page-templates/style.scss +0 -13
  335. package/src/components/post-preview/index.js +0 -16
  336. package/src/components/preferences-modal/enable-feature.js +0 -31
  337. package/src/components/preferences-modal/enable-panel-option.js +0 -23
  338. /package/build/components/{page-template-parts → page-templates-template-parts}/add-new-template-part.js +0 -0
  339. /package/build-module/components/{page-template-parts → page-templates-template-parts}/add-new-template-part.js +0 -0
  340. /package/src/components/{page-template-parts → page-templates-template-parts}/add-new-template-part.js +0 -0
@@ -17,17 +17,14 @@ import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';
17
17
  import { CommandMenu, privateApis as commandsPrivateApis } from '@wordpress/commands';
18
18
  import { store as preferencesStore } from '@wordpress/preferences';
19
19
  import { privateApis as blockEditorPrivateApis, useBlockCommands, store as blockEditorStore } from '@wordpress/block-editor';
20
- import { privateApis as routerPrivateApis } from '@wordpress/router';
21
20
  import { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands';
22
21
 
23
22
  /**
24
23
  * Internal dependencies
25
24
  */
26
25
  import Sidebar from '../sidebar';
27
- import Editor from '../editor';
28
26
  import ErrorBoundary from '../error-boundary';
29
27
  import { store as editSiteStore } from '../../store';
30
- import getIsListPage from '../../utils/get-is-list-page';
31
28
  import Header from '../header-edit-mode';
32
29
  import useInitEditedEntityFromURL from '../sync-state-with-url/use-init-edited-entity-from-url';
33
30
  import SiteHub from '../site-hub';
@@ -39,17 +36,14 @@ import KeyboardShortcutsRegister from '../keyboard-shortcuts/register';
39
36
  import KeyboardShortcutsGlobal from '../keyboard-shortcuts/global';
40
37
  import { useCommonCommands } from '../../hooks/commands/use-common-commands';
41
38
  import { useEditModeCommands } from '../../hooks/commands/use-edit-mode-commands';
42
- import PageMain from '../page-main';
43
39
  import { useIsSiteEditorLoading } from './hooks';
40
+ import useLayoutAreas from './router';
44
41
  const {
45
42
  useCommands
46
43
  } = unlock(coreCommandsPrivateApis);
47
44
  const {
48
45
  useCommandContext
49
46
  } = unlock(commandsPrivateApis);
50
- const {
51
- useLocation
52
- } = unlock(routerPrivateApis);
53
47
  const {
54
48
  useGlobalStyle
55
49
  } = unlock(blockEditorPrivateApis);
@@ -62,12 +56,7 @@ export default function Layout() {
62
56
  useEditModeCommands();
63
57
  useCommonCommands();
64
58
  useBlockCommands();
65
- const {
66
- params
67
- } = useLocation();
68
59
  const isMobileViewport = useViewportMatch('medium', '<');
69
- const isListPage = getIsListPage(params, isMobileViewport);
70
- const isEditorPage = !isListPage;
71
60
  const {
72
61
  isDistractionFree,
73
62
  hasFixedToolbar,
@@ -91,19 +80,19 @@ export default function Layout() {
91
80
  hasBlockSelected: select(blockEditorStore).getBlockSelectionStart()
92
81
  };
93
82
  }, []);
94
- const isEditing = canvasMode === 'edit';
95
83
  const navigateRegionsProps = useNavigateRegions({
96
84
  previous: previousShortcut,
97
85
  next: nextShortcut
98
86
  });
99
87
  const disableMotion = useReducedMotion();
100
- const showSidebar = isMobileViewport && canvasMode === 'view' && !isListPage || !isMobileViewport && (canvasMode === 'view' || !isEditorPage);
101
- const showCanvas = isMobileViewport && isEditorPage && isEditing || !isMobileViewport || !isEditorPage;
102
- const isFullCanvas = isMobileViewport && isListPage || isEditorPage && isEditing;
103
88
  const [canvasResizer, canvasSize] = useResizeObserver();
104
89
  const [fullResizer] = useResizeObserver();
105
90
  const isEditorLoading = useIsSiteEditorLoading();
106
91
  const [isResizableFrameOversized, setIsResizableFrameOversized] = useState(false);
92
+ const {
93
+ areas,
94
+ widths
95
+ } = useLayoutAreas();
107
96
 
108
97
  // This determines which animation variant should apply to the header.
109
98
  // There is also a `isDistractionFreeHovering` state that gets priority
@@ -127,7 +116,7 @@ export default function Layout() {
127
116
 
128
117
  // Sets the right context for the command palette
129
118
  let commandContext = 'site-editor';
130
- if (canvasMode === 'edit' && isEditorPage) {
119
+ if (canvasMode === 'edit') {
131
120
  commandContext = 'site-editor-edit';
132
121
  }
133
122
  if (hasBlockSelected) {
@@ -147,9 +136,8 @@ export default function Layout() {
147
136
  ...navigateRegionsProps,
148
137
  ref: navigateRegionsProps.ref,
149
138
  className: classnames('edit-site-layout', navigateRegionsProps.className, {
150
- 'is-distraction-free': isDistractionFree && isEditing,
151
- 'is-full-canvas': isFullCanvas,
152
- 'is-edit-mode': isEditing,
139
+ 'is-distraction-free': isDistractionFree && canvasMode === 'edit',
140
+ 'is-full-canvas': canvasMode === 'edit',
153
141
  'has-fixed-toolbar': hasFixedToolbar,
154
142
  'is-block-toolbar-visible': hasBlockSelected
155
143
  })
@@ -188,7 +176,7 @@ export default function Layout() {
188
176
  className: "edit-site-layout__hub"
189
177
  }), createElement(AnimatePresence, {
190
178
  initial: false
191
- }, isEditorPage && isEditing && createElement(NavigableRegion, {
179
+ }, canvasMode === 'edit' && createElement(NavigableRegion, {
192
180
  key: "header",
193
181
  className: "edit-site-layout__header",
194
182
  ariaLabel: __('Editor top bar'),
@@ -228,7 +216,7 @@ export default function Layout() {
228
216
  }, createElement(NavigableRegion, {
229
217
  ariaLabel: __('Navigation'),
230
218
  className: "edit-site-layout__sidebar-region"
231
- }, createElement(AnimatePresence, null, showSidebar && createElement(motion.div, {
219
+ }, createElement(AnimatePresence, null, canvasMode === 'view' && createElement(motion.div, {
232
220
  initial: {
233
221
  opacity: 0
234
222
  },
@@ -246,10 +234,15 @@ export default function Layout() {
246
234
  ease: 'easeOut'
247
235
  },
248
236
  className: "edit-site-layout__sidebar"
249
- }, createElement(Sidebar, null)))), createElement(SavePanel, null), showCanvas && createElement(Fragment, null, isListPage && createElement(PageMain, null), isEditorPage && createElement("div", {
237
+ }, createElement(Sidebar, null)))), createElement(SavePanel, null), areas.content && canvasMode !== 'edit' && createElement("div", {
238
+ className: "edit-site-layout__area",
239
+ style: {
240
+ maxWidth: widths?.content
241
+ }
242
+ }, areas.content), areas.preview && createElement("div", {
250
243
  className: "edit-site-layout__canvas-container"
251
244
  }, canvasResizer, !!canvasSize.width && createElement(motion.div, {
252
- whileHover: isEditorPage && canvasMode === 'view' ? {
245
+ whileHover: canvasMode === 'view' ? {
253
246
  scale: 1.005,
254
247
  transition: {
255
248
  duration: disableMotion ? 0 : 0.5,
@@ -268,7 +261,7 @@ export default function Layout() {
268
261
  }
269
262
  }, createElement(ErrorBoundary, null, createElement(ResizableFrame, {
270
263
  isReady: !isEditorLoading,
271
- isFullWidth: isEditing,
264
+ isFullWidth: canvasMode === 'edit',
272
265
  defaultSize: {
273
266
  width: canvasSize.width - 24 /* $canvas-padding */,
274
267
  height: canvasSize.height
@@ -278,8 +271,6 @@ export default function Layout() {
278
271
  innerContentStyle: {
279
272
  background: gradientValue !== null && gradientValue !== void 0 ? gradientValue : backgroundColor
280
273
  }
281
- }, createElement(Editor, {
282
- isLoading: isEditorLoading
283
- })))))))));
274
+ }, areas.preview)))))));
284
275
  }
285
276
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","useSelect","__unstableMotion","motion","__unstableAnimatePresence","AnimatePresence","__unstableUseNavigateRegions","useNavigateRegions","useReducedMotion","useViewportMatch","useResizeObserver","__","useState","NavigableRegion","store","keyboardShortcutsStore","CommandMenu","privateApis","commandsPrivateApis","preferencesStore","blockEditorPrivateApis","useBlockCommands","blockEditorStore","routerPrivateApis","coreCommandsPrivateApis","Sidebar","Editor","ErrorBoundary","editSiteStore","getIsListPage","Header","useInitEditedEntityFromURL","SiteHub","ResizableFrame","useSyncCanvasModeWithURL","unlock","SavePanel","KeyboardShortcutsRegister","KeyboardShortcutsGlobal","useCommonCommands","useEditModeCommands","PageMain","useIsSiteEditorLoading","useCommands","useCommandContext","useLocation","useGlobalStyle","ANIMATION_DURATION","Layout","params","isMobileViewport","isListPage","isEditorPage","isDistractionFree","hasFixedToolbar","hasBlockSelected","canvasMode","previousShortcut","nextShortcut","select","getAllShortcutKeyCombinations","getCanvasMode","get","getBlockSelectionStart","isEditing","navigateRegionsProps","previous","next","disableMotion","showSidebar","showCanvas","isFullCanvas","canvasResizer","canvasSize","fullResizer","isEditorLoading","isResizableFrameOversized","setIsResizableFrameOversized","headerAnimationState","commandContext","backgroundColor","gradientValue","createElement","Fragment","ref","className","div","variants","opacity","transition","type","delay","delayChildren","isDistractionFreeHovering","view","edit","whileHover","undefined","animate","isTransparent","initial","key","ariaLabel","as","y","exit","duration","ease","width","scale","layout","isReady","isFullWidth","defaultSize","height","isOversized","setIsOversized","innerContentStyle","background","isLoading"],"sources":["@wordpress/edit-site/src/components/layout/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n\t__unstableUseNavigateRegions as useNavigateRegions,\n} from '@wordpress/components';\nimport {\n\tuseReducedMotion,\n\tuseViewportMatch,\n\tuseResizeObserver,\n} from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { NavigableRegion } from '@wordpress/interface';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport {\n\tCommandMenu,\n\tprivateApis as commandsPrivateApis,\n} from '@wordpress/commands';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tuseBlockCommands,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands';\n\n/**\n * Internal dependencies\n */\nimport Sidebar from '../sidebar';\nimport Editor from '../editor';\nimport ErrorBoundary from '../error-boundary';\nimport { store as editSiteStore } from '../../store';\nimport getIsListPage from '../../utils/get-is-list-page';\nimport Header from '../header-edit-mode';\nimport useInitEditedEntityFromURL from '../sync-state-with-url/use-init-edited-entity-from-url';\nimport SiteHub from '../site-hub';\nimport ResizableFrame from '../resizable-frame';\nimport useSyncCanvasModeWithURL from '../sync-state-with-url/use-sync-canvas-mode-with-url';\nimport { unlock } from '../../lock-unlock';\nimport SavePanel from '../save-panel';\nimport KeyboardShortcutsRegister from '../keyboard-shortcuts/register';\nimport KeyboardShortcutsGlobal from '../keyboard-shortcuts/global';\nimport { useCommonCommands } from '../../hooks/commands/use-common-commands';\nimport { useEditModeCommands } from '../../hooks/commands/use-edit-mode-commands';\nimport PageMain from '../page-main';\nimport { useIsSiteEditorLoading } from './hooks';\n\nconst { useCommands } = unlock( coreCommandsPrivateApis );\nconst { useCommandContext } = unlock( commandsPrivateApis );\nconst { useLocation } = unlock( routerPrivateApis );\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nconst ANIMATION_DURATION = 0.5;\n\nexport default function Layout() {\n\t// This ensures the edited entity id and type are initialized properly.\n\tuseInitEditedEntityFromURL();\n\tuseSyncCanvasModeWithURL();\n\tuseCommands();\n\tuseEditModeCommands();\n\tuseCommonCommands();\n\tuseBlockCommands();\n\n\tconst { params } = useLocation();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isListPage = getIsListPage( params, isMobileViewport );\n\tconst isEditorPage = ! isListPage;\n\n\tconst {\n\t\tisDistractionFree,\n\t\thasFixedToolbar,\n\t\thasBlockSelected,\n\t\tcanvasMode,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t} = useSelect( ( select ) => {\n\t\tconst { getAllShortcutKeyCombinations } = select(\n\t\t\tkeyboardShortcutsStore\n\t\t);\n\t\tconst { getCanvasMode } = unlock( select( editSiteStore ) );\n\t\treturn {\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\tpreviousShortcut: getAllShortcutKeyCombinations(\n\t\t\t\t'core/edit-site/previous-region'\n\t\t\t),\n\t\t\tnextShortcut: getAllShortcutKeyCombinations(\n\t\t\t\t'core/edit-site/next-region'\n\t\t\t),\n\t\t\thasFixedToolbar: select( preferencesStore ).get(\n\t\t\t\t'core',\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t\tisDistractionFree: select( preferencesStore ).get(\n\t\t\t\t'core',\n\t\t\t\t'distractionFree'\n\t\t\t),\n\t\t\thasBlockSelected:\n\t\t\t\tselect( blockEditorStore ).getBlockSelectionStart(),\n\t\t};\n\t}, [] );\n\tconst isEditing = canvasMode === 'edit';\n\tconst navigateRegionsProps = useNavigateRegions( {\n\t\tprevious: previousShortcut,\n\t\tnext: nextShortcut,\n\t} );\n\tconst disableMotion = useReducedMotion();\n\tconst showSidebar =\n\t\t( isMobileViewport && canvasMode === 'view' && ! isListPage ) ||\n\t\t( ! isMobileViewport && ( canvasMode === 'view' || ! isEditorPage ) );\n\tconst showCanvas =\n\t\t( isMobileViewport && isEditorPage && isEditing ) ||\n\t\t! isMobileViewport ||\n\t\t! isEditorPage;\n\tconst isFullCanvas =\n\t\t( isMobileViewport && isListPage ) || ( isEditorPage && isEditing );\n\tconst [ canvasResizer, canvasSize ] = useResizeObserver();\n\tconst [ fullResizer ] = useResizeObserver();\n\tconst isEditorLoading = useIsSiteEditorLoading();\n\tconst [ isResizableFrameOversized, setIsResizableFrameOversized ] =\n\t\tuseState( false );\n\n\t// This determines which animation variant should apply to the header.\n\t// There is also a `isDistractionFreeHovering` state that gets priority\n\t// when hovering the `edit-site-layout__header-container` in distraction\n\t// free mode. It's set via framer and trickles down to all the children\n\t// so they can use this variant state too.\n\t//\n\t// TODO: The issue with this is we want to have the hover state stick when hovering\n\t// a popover opened via the header. We'll probably need to lift this state to\n\t// handle it ourselves. Also, focusWithin the header needs to be handled.\n\tlet headerAnimationState;\n\n\tif ( canvasMode === 'view' ) {\n\t\t// We need 'view' to always take priority so 'isDistractionFree'\n\t\t// doesn't bleed over into the view (sidebar) state\n\t\theaderAnimationState = 'view';\n\t} else if ( isDistractionFree ) {\n\t\theaderAnimationState = 'isDistractionFree';\n\t} else {\n\t\theaderAnimationState = canvasMode; // edit, view, init\n\t}\n\n\t// Sets the right context for the command palette\n\tlet commandContext = 'site-editor';\n\n\tif ( canvasMode === 'edit' && isEditorPage ) {\n\t\tcommandContext = 'site-editor-edit';\n\t}\n\tif ( hasBlockSelected ) {\n\t\tcommandContext = 'block-selection-edit';\n\t}\n\tuseCommandContext( commandContext );\n\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst [ gradientValue ] = useGlobalStyle( 'color.gradient' );\n\n\t// Synchronizing the URL with the store value of canvasMode happens in an effect\n\t// This condition ensures the component is only rendered after the synchronization happens\n\t// which prevents any animations due to potential canvasMode value change.\n\tif ( canvasMode === 'init' ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<CommandMenu />\n\t\t\t<KeyboardShortcutsRegister />\n\t\t\t<KeyboardShortcutsGlobal />\n\t\t\t{ fullResizer }\n\t\t\t<div\n\t\t\t\t{ ...navigateRegionsProps }\n\t\t\t\tref={ navigateRegionsProps.ref }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'edit-site-layout',\n\t\t\t\t\tnavigateRegionsProps.className,\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-distraction-free': isDistractionFree && isEditing,\n\t\t\t\t\t\t'is-full-canvas': isFullCanvas,\n\t\t\t\t\t\t'is-edit-mode': isEditing,\n\t\t\t\t\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t\t\t\t\t\t'is-block-toolbar-visible': hasBlockSelected,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<motion.div\n\t\t\t\t\tclassName=\"edit-site-layout__header-container\"\n\t\t\t\t\tvariants={ {\n\t\t\t\t\t\tisDistractionFree: {\n\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\tdelay: 0.8,\n\t\t\t\t\t\t\t\tdelayChildren: 0.8,\n\t\t\t\t\t\t\t}, // How long to wait before the header exits\n\t\t\t\t\t\t},\n\t\t\t\t\t\tisDistractionFreeHovering: {\n\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\tdelay: 0.2,\n\t\t\t\t\t\t\t\tdelayChildren: 0.2,\n\t\t\t\t\t\t\t}, // How long to wait before the header shows\n\t\t\t\t\t\t},\n\t\t\t\t\t\tview: { opacity: 1 },\n\t\t\t\t\t\tedit: { opacity: 1 },\n\t\t\t\t\t} }\n\t\t\t\t\twhileHover={\n\t\t\t\t\t\tisDistractionFree\n\t\t\t\t\t\t\t? 'isDistractionFreeHovering'\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tanimate={ headerAnimationState }\n\t\t\t\t>\n\t\t\t\t\t<SiteHub\n\t\t\t\t\t\tisTransparent={ isResizableFrameOversized }\n\t\t\t\t\t\tclassName=\"edit-site-layout__hub\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<AnimatePresence initial={ false }>\n\t\t\t\t\t\t{ isEditorPage && isEditing && (\n\t\t\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\t\t\tkey=\"header\"\n\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__header\"\n\t\t\t\t\t\t\t\tariaLabel={ __( 'Editor top bar' ) }\n\t\t\t\t\t\t\t\tas={ motion.div }\n\t\t\t\t\t\t\t\tvariants={ {\n\t\t\t\t\t\t\t\t\tisDistractionFree: { opacity: 0, y: 0 },\n\t\t\t\t\t\t\t\t\tisDistractionFreeHovering: {\n\t\t\t\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tview: { opacity: 1, y: '-100%' },\n\t\t\t\t\t\t\t\t\tedit: { opacity: 1, y: 0 },\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\texit={ {\n\t\t\t\t\t\t\t\t\ty: '-100%',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tinitial={ {\n\t\t\t\t\t\t\t\t\topacity: isDistractionFree ? 1 : 0,\n\t\t\t\t\t\t\t\t\ty: isDistractionFree ? 0 : '-100%',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\tduration: disableMotion ? 0 : 0.2,\n\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Header />\n\t\t\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</AnimatePresence>\n\t\t\t\t</motion.div>\n\n\t\t\t\t<div className=\"edit-site-layout__content\">\n\t\t\t\t\t{ /*\n\t\t\t\t\t\tThe NavigableRegion must always be rendered and not use\n\t\t\t\t\t\t`inert` otherwise `useNavigateRegions` will fail.\n\t\t\t\t\t*/ }\n\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\tariaLabel={ __( 'Navigation' ) }\n\t\t\t\t\t\tclassName=\"edit-site-layout__sidebar-region\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<AnimatePresence>\n\t\t\t\t\t\t\t{ showSidebar && (\n\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\tinitial={ { opacity: 0 } }\n\t\t\t\t\t\t\t\t\tanimate={ { opacity: 1 } }\n\t\t\t\t\t\t\t\t\texit={ { opacity: 0 } }\n\t\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\t\tduration:\n\t\t\t\t\t\t\t\t\t\t\t// Disable transition in mobile to emulate a full page transition.\n\t\t\t\t\t\t\t\t\t\t\tdisableMotion || isMobileViewport\n\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t: ANIMATION_DURATION,\n\t\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__sidebar\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Sidebar />\n\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</AnimatePresence>\n\t\t\t\t\t</NavigableRegion>\n\n\t\t\t\t\t<SavePanel />\n\n\t\t\t\t\t{ showCanvas && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ isListPage && <PageMain /> }\n\t\t\t\t\t\t\t{ isEditorPage && (\n\t\t\t\t\t\t\t\t<div className=\"edit-site-layout__canvas-container\">\n\t\t\t\t\t\t\t\t\t{ canvasResizer }\n\t\t\t\t\t\t\t\t\t{ !! canvasSize.width && (\n\t\t\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\t\t\twhileHover={\n\t\t\t\t\t\t\t\t\t\t\t\tisEditorPage &&\n\t\t\t\t\t\t\t\t\t\t\t\tcanvasMode === 'view'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tscale: 1.005,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tduration:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisableMotion\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 0.5,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t\t\t\t: {}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tinitial={ false }\n\t\t\t\t\t\t\t\t\t\t\tlayout=\"position\"\n\t\t\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t\t\t'edit-site-layout__canvas',\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t'is-right-aligned':\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized,\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\t\t\t\tduration: disableMotion\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t: ANIMATION_DURATION,\n\t\t\t\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t\t\t<ResizableFrame\n\t\t\t\t\t\t\t\t\t\t\t\t\tisReady={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! isEditorLoading\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tisFullWidth={ isEditing }\n\t\t\t\t\t\t\t\t\t\t\t\t\tdefaultSize={ {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcanvasSize.width -\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24 /* $canvas-padding */,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\theight: canvasSize.height,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\tisOversized={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsOversized={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tinnerContentStyle={ {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbackground:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tgradientValue ??\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Editor\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisLoading={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisEditorLoading\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</ResizableFrame>\n\t\t\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","useSelect","__unstableMotion","motion","__unstableAnimatePresence","AnimatePresence","__unstableUseNavigateRegions","useNavigateRegions","useReducedMotion","useViewportMatch","useResizeObserver","__","useState","NavigableRegion","store","keyboardShortcutsStore","CommandMenu","privateApis","commandsPrivateApis","preferencesStore","blockEditorPrivateApis","useBlockCommands","blockEditorStore","coreCommandsPrivateApis","Sidebar","ErrorBoundary","editSiteStore","Header","useInitEditedEntityFromURL","SiteHub","ResizableFrame","useSyncCanvasModeWithURL","unlock","SavePanel","KeyboardShortcutsRegister","KeyboardShortcutsGlobal","useCommonCommands","useEditModeCommands","useIsSiteEditorLoading","useLayoutAreas","useCommands","useCommandContext","useGlobalStyle","ANIMATION_DURATION","Layout","isMobileViewport","isDistractionFree","hasFixedToolbar","hasBlockSelected","canvasMode","previousShortcut","nextShortcut","select","getAllShortcutKeyCombinations","getCanvasMode","get","getBlockSelectionStart","navigateRegionsProps","previous","next","disableMotion","canvasResizer","canvasSize","fullResizer","isEditorLoading","isResizableFrameOversized","setIsResizableFrameOversized","areas","widths","headerAnimationState","commandContext","backgroundColor","gradientValue","createElement","Fragment","ref","className","div","variants","opacity","transition","type","delay","delayChildren","isDistractionFreeHovering","view","edit","whileHover","undefined","animate","isTransparent","initial","key","ariaLabel","as","y","exit","duration","ease","content","style","maxWidth","preview","width","scale","layout","isReady","isFullWidth","defaultSize","height","isOversized","setIsOversized","innerContentStyle","background"],"sources":["@wordpress/edit-site/src/components/layout/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n\t__unstableUseNavigateRegions as useNavigateRegions,\n} from '@wordpress/components';\nimport {\n\tuseReducedMotion,\n\tuseViewportMatch,\n\tuseResizeObserver,\n} from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { NavigableRegion } from '@wordpress/interface';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport {\n\tCommandMenu,\n\tprivateApis as commandsPrivateApis,\n} from '@wordpress/commands';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tuseBlockCommands,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands';\n\n/**\n * Internal dependencies\n */\nimport Sidebar from '../sidebar';\nimport ErrorBoundary from '../error-boundary';\nimport { store as editSiteStore } from '../../store';\nimport Header from '../header-edit-mode';\nimport useInitEditedEntityFromURL from '../sync-state-with-url/use-init-edited-entity-from-url';\nimport SiteHub from '../site-hub';\nimport ResizableFrame from '../resizable-frame';\nimport useSyncCanvasModeWithURL from '../sync-state-with-url/use-sync-canvas-mode-with-url';\nimport { unlock } from '../../lock-unlock';\nimport SavePanel from '../save-panel';\nimport KeyboardShortcutsRegister from '../keyboard-shortcuts/register';\nimport KeyboardShortcutsGlobal from '../keyboard-shortcuts/global';\nimport { useCommonCommands } from '../../hooks/commands/use-common-commands';\nimport { useEditModeCommands } from '../../hooks/commands/use-edit-mode-commands';\nimport { useIsSiteEditorLoading } from './hooks';\nimport useLayoutAreas from './router';\n\nconst { useCommands } = unlock( coreCommandsPrivateApis );\nconst { useCommandContext } = unlock( commandsPrivateApis );\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nconst ANIMATION_DURATION = 0.5;\n\nexport default function Layout() {\n\t// This ensures the edited entity id and type are initialized properly.\n\tuseInitEditedEntityFromURL();\n\tuseSyncCanvasModeWithURL();\n\tuseCommands();\n\tuseEditModeCommands();\n\tuseCommonCommands();\n\tuseBlockCommands();\n\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\n\tconst {\n\t\tisDistractionFree,\n\t\thasFixedToolbar,\n\t\thasBlockSelected,\n\t\tcanvasMode,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t} = useSelect( ( select ) => {\n\t\tconst { getAllShortcutKeyCombinations } = select(\n\t\t\tkeyboardShortcutsStore\n\t\t);\n\t\tconst { getCanvasMode } = unlock( select( editSiteStore ) );\n\t\treturn {\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\tpreviousShortcut: getAllShortcutKeyCombinations(\n\t\t\t\t'core/edit-site/previous-region'\n\t\t\t),\n\t\t\tnextShortcut: getAllShortcutKeyCombinations(\n\t\t\t\t'core/edit-site/next-region'\n\t\t\t),\n\t\t\thasFixedToolbar: select( preferencesStore ).get(\n\t\t\t\t'core',\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t\tisDistractionFree: select( preferencesStore ).get(\n\t\t\t\t'core',\n\t\t\t\t'distractionFree'\n\t\t\t),\n\t\t\thasBlockSelected:\n\t\t\t\tselect( blockEditorStore ).getBlockSelectionStart(),\n\t\t};\n\t}, [] );\n\tconst navigateRegionsProps = useNavigateRegions( {\n\t\tprevious: previousShortcut,\n\t\tnext: nextShortcut,\n\t} );\n\tconst disableMotion = useReducedMotion();\n\tconst [ canvasResizer, canvasSize ] = useResizeObserver();\n\tconst [ fullResizer ] = useResizeObserver();\n\tconst isEditorLoading = useIsSiteEditorLoading();\n\tconst [ isResizableFrameOversized, setIsResizableFrameOversized ] =\n\t\tuseState( false );\n\tconst { areas, widths } = useLayoutAreas();\n\n\t// This determines which animation variant should apply to the header.\n\t// There is also a `isDistractionFreeHovering` state that gets priority\n\t// when hovering the `edit-site-layout__header-container` in distraction\n\t// free mode. It's set via framer and trickles down to all the children\n\t// so they can use this variant state too.\n\t//\n\t// TODO: The issue with this is we want to have the hover state stick when hovering\n\t// a popover opened via the header. We'll probably need to lift this state to\n\t// handle it ourselves. Also, focusWithin the header needs to be handled.\n\tlet headerAnimationState;\n\n\tif ( canvasMode === 'view' ) {\n\t\t// We need 'view' to always take priority so 'isDistractionFree'\n\t\t// doesn't bleed over into the view (sidebar) state\n\t\theaderAnimationState = 'view';\n\t} else if ( isDistractionFree ) {\n\t\theaderAnimationState = 'isDistractionFree';\n\t} else {\n\t\theaderAnimationState = canvasMode; // edit, view, init\n\t}\n\n\t// Sets the right context for the command palette\n\tlet commandContext = 'site-editor';\n\n\tif ( canvasMode === 'edit' ) {\n\t\tcommandContext = 'site-editor-edit';\n\t}\n\tif ( hasBlockSelected ) {\n\t\tcommandContext = 'block-selection-edit';\n\t}\n\tuseCommandContext( commandContext );\n\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst [ gradientValue ] = useGlobalStyle( 'color.gradient' );\n\n\t// Synchronizing the URL with the store value of canvasMode happens in an effect\n\t// This condition ensures the component is only rendered after the synchronization happens\n\t// which prevents any animations due to potential canvasMode value change.\n\tif ( canvasMode === 'init' ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<CommandMenu />\n\t\t\t<KeyboardShortcutsRegister />\n\t\t\t<KeyboardShortcutsGlobal />\n\t\t\t{ fullResizer }\n\t\t\t<div\n\t\t\t\t{ ...navigateRegionsProps }\n\t\t\t\tref={ navigateRegionsProps.ref }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'edit-site-layout',\n\t\t\t\t\tnavigateRegionsProps.className,\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-distraction-free':\n\t\t\t\t\t\t\tisDistractionFree && canvasMode === 'edit',\n\t\t\t\t\t\t'is-full-canvas': canvasMode === 'edit',\n\t\t\t\t\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t\t\t\t\t\t'is-block-toolbar-visible': hasBlockSelected,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<motion.div\n\t\t\t\t\tclassName=\"edit-site-layout__header-container\"\n\t\t\t\t\tvariants={ {\n\t\t\t\t\t\tisDistractionFree: {\n\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\tdelay: 0.8,\n\t\t\t\t\t\t\t\tdelayChildren: 0.8,\n\t\t\t\t\t\t\t}, // How long to wait before the header exits\n\t\t\t\t\t\t},\n\t\t\t\t\t\tisDistractionFreeHovering: {\n\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\tdelay: 0.2,\n\t\t\t\t\t\t\t\tdelayChildren: 0.2,\n\t\t\t\t\t\t\t}, // How long to wait before the header shows\n\t\t\t\t\t\t},\n\t\t\t\t\t\tview: { opacity: 1 },\n\t\t\t\t\t\tedit: { opacity: 1 },\n\t\t\t\t\t} }\n\t\t\t\t\twhileHover={\n\t\t\t\t\t\tisDistractionFree\n\t\t\t\t\t\t\t? 'isDistractionFreeHovering'\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tanimate={ headerAnimationState }\n\t\t\t\t>\n\t\t\t\t\t<SiteHub\n\t\t\t\t\t\tisTransparent={ isResizableFrameOversized }\n\t\t\t\t\t\tclassName=\"edit-site-layout__hub\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<AnimatePresence initial={ false }>\n\t\t\t\t\t\t{ canvasMode === 'edit' && (\n\t\t\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\t\t\tkey=\"header\"\n\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__header\"\n\t\t\t\t\t\t\t\tariaLabel={ __( 'Editor top bar' ) }\n\t\t\t\t\t\t\t\tas={ motion.div }\n\t\t\t\t\t\t\t\tvariants={ {\n\t\t\t\t\t\t\t\t\tisDistractionFree: { opacity: 0, y: 0 },\n\t\t\t\t\t\t\t\t\tisDistractionFreeHovering: {\n\t\t\t\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tview: { opacity: 1, y: '-100%' },\n\t\t\t\t\t\t\t\t\tedit: { opacity: 1, y: 0 },\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\texit={ {\n\t\t\t\t\t\t\t\t\ty: '-100%',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tinitial={ {\n\t\t\t\t\t\t\t\t\topacity: isDistractionFree ? 1 : 0,\n\t\t\t\t\t\t\t\t\ty: isDistractionFree ? 0 : '-100%',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\tduration: disableMotion ? 0 : 0.2,\n\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Header />\n\t\t\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</AnimatePresence>\n\t\t\t\t</motion.div>\n\n\t\t\t\t<div className=\"edit-site-layout__content\">\n\t\t\t\t\t{ /*\n\t\t\t\t\t\tThe NavigableRegion must always be rendered and not use\n\t\t\t\t\t\t`inert` otherwise `useNavigateRegions` will fail.\n\t\t\t\t\t*/ }\n\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\tariaLabel={ __( 'Navigation' ) }\n\t\t\t\t\t\tclassName=\"edit-site-layout__sidebar-region\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<AnimatePresence>\n\t\t\t\t\t\t\t{ canvasMode === 'view' && (\n\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\tinitial={ { opacity: 0 } }\n\t\t\t\t\t\t\t\t\tanimate={ { opacity: 1 } }\n\t\t\t\t\t\t\t\t\texit={ { opacity: 0 } }\n\t\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\t\tduration:\n\t\t\t\t\t\t\t\t\t\t\t// Disable transition in mobile to emulate a full page transition.\n\t\t\t\t\t\t\t\t\t\t\tdisableMotion || isMobileViewport\n\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t: ANIMATION_DURATION,\n\t\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__sidebar\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Sidebar />\n\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</AnimatePresence>\n\t\t\t\t\t</NavigableRegion>\n\n\t\t\t\t\t<SavePanel />\n\n\t\t\t\t\t{ areas.content && canvasMode !== 'edit' && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"edit-site-layout__area\"\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tmaxWidth: widths?.content,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ areas.content }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ areas.preview && (\n\t\t\t\t\t\t<div className=\"edit-site-layout__canvas-container\">\n\t\t\t\t\t\t\t{ canvasResizer }\n\t\t\t\t\t\t\t{ !! canvasSize.width && (\n\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\twhileHover={\n\t\t\t\t\t\t\t\t\t\tcanvasMode === 'view'\n\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\tscale: 1.005,\n\t\t\t\t\t\t\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tduration: disableMotion\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 0.5,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t\t: {}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tinitial={ false }\n\t\t\t\t\t\t\t\t\tlayout=\"position\"\n\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t'edit-site-layout__canvas',\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t'is-right-aligned':\n\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\t\tduration: disableMotion\n\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t: ANIMATION_DURATION,\n\t\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t<ResizableFrame\n\t\t\t\t\t\t\t\t\t\t\tisReady={ ! isEditorLoading }\n\t\t\t\t\t\t\t\t\t\t\tisFullWidth={\n\t\t\t\t\t\t\t\t\t\t\t\tcanvasMode === 'edit'\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdefaultSize={ {\n\t\t\t\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t\t\t\tcanvasSize.width -\n\t\t\t\t\t\t\t\t\t\t\t\t\t24 /* $canvas-padding */,\n\t\t\t\t\t\t\t\t\t\t\t\theight: canvasSize.height,\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\tisOversized={\n\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tsetIsOversized={\n\t\t\t\t\t\t\t\t\t\t\t\tsetIsResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tinnerContentStyle={ {\n\t\t\t\t\t\t\t\t\t\t\t\tbackground:\n\t\t\t\t\t\t\t\t\t\t\t\t\tgradientValue ??\n\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor,\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ areas.preview }\n\t\t\t\t\t\t\t\t\t\t</ResizableFrame>\n\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -0,0 +1,127 @@
1
+ import { createElement } from "react";
2
+ /**
3
+ * WordPress dependencies
4
+ */
5
+ import { privateApis as routerPrivateApis } from '@wordpress/router';
6
+
7
+ /**
8
+ * Internal dependencies
9
+ */
10
+ import { unlock } from '../../lock-unlock';
11
+ import { useIsSiteEditorLoading } from './hooks';
12
+ import Editor from '../editor';
13
+ import PagePages from '../page-pages';
14
+ import PagePatterns from '../page-patterns';
15
+ import PageTemplatesTemplateParts from '../page-templates-template-parts';
16
+ import { TEMPLATE_POST_TYPE, TEMPLATE_PART_POST_TYPE } from '../../utils/constants';
17
+ const {
18
+ useLocation
19
+ } = unlock(routerPrivateApis);
20
+ export default function useLayoutAreas() {
21
+ const isSiteEditorLoading = useIsSiteEditorLoading();
22
+ const {
23
+ params
24
+ } = useLocation();
25
+ const {
26
+ postType,
27
+ postId,
28
+ path,
29
+ layout,
30
+ isCustom
31
+ } = params !== null && params !== void 0 ? params : {};
32
+ // Regular page
33
+ if (path === '/page') {
34
+ return {
35
+ areas: {
36
+ content: undefined,
37
+ preview: createElement(Editor, {
38
+ isLoading: isSiteEditorLoading
39
+ })
40
+ },
41
+ widths: {
42
+ content: undefined
43
+ }
44
+ };
45
+ }
46
+
47
+ // List layout is still experimental.
48
+ // Extracted it here out of the conditionals so it doesn't unintentionally becomes stable.
49
+ const isListLayout = isCustom !== 'true' && layout === 'list' && window?.__experimentalAdminViews;
50
+ if (path === '/pages') {
51
+ return {
52
+ areas: {
53
+ content: createElement(PagePages, null),
54
+ preview: isListLayout && createElement(Editor, {
55
+ isLoading: isSiteEditorLoading
56
+ })
57
+ },
58
+ widths: {
59
+ content: isListLayout ? 380 : undefined
60
+ }
61
+ };
62
+ }
63
+
64
+ // Regular other post types
65
+ if (postType && postId) {
66
+ return {
67
+ areas: {
68
+ preview: createElement(Editor, {
69
+ isLoading: isSiteEditorLoading
70
+ })
71
+ }
72
+ };
73
+ }
74
+
75
+ // Templates
76
+ if (path === '/wp_template/all') {
77
+ return {
78
+ areas: {
79
+ content: createElement(PageTemplatesTemplateParts, {
80
+ postType: TEMPLATE_POST_TYPE
81
+ }),
82
+ preview: isListLayout && createElement(Editor, {
83
+ isLoading: isSiteEditorLoading
84
+ })
85
+ },
86
+ widths: {
87
+ content: isListLayout ? 380 : undefined
88
+ }
89
+ };
90
+ }
91
+
92
+ // Template parts
93
+ if (path === '/wp_template_part/all') {
94
+ return {
95
+ areas: {
96
+ content: createElement(PageTemplatesTemplateParts, {
97
+ postType: TEMPLATE_PART_POST_TYPE
98
+ }),
99
+ preview: isListLayout && createElement(Editor, {
100
+ isLoading: isSiteEditorLoading
101
+ })
102
+ },
103
+ widths: {
104
+ content: isListLayout ? 380 : undefined
105
+ }
106
+ };
107
+ }
108
+
109
+ // Patterns
110
+ if (path === '/patterns') {
111
+ return {
112
+ areas: {
113
+ content: createElement(PagePatterns, null)
114
+ }
115
+ };
116
+ }
117
+
118
+ // Fallback shows the home page preview
119
+ return {
120
+ areas: {
121
+ preview: createElement(Editor, {
122
+ isLoading: isSiteEditorLoading
123
+ })
124
+ }
125
+ };
126
+ }
127
+ //# sourceMappingURL=router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["privateApis","routerPrivateApis","unlock","useIsSiteEditorLoading","Editor","PagePages","PagePatterns","PageTemplatesTemplateParts","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","useLocation","useLayoutAreas","isSiteEditorLoading","params","postType","postId","path","layout","isCustom","areas","content","undefined","preview","createElement","isLoading","widths","isListLayout","window","__experimentalAdminViews"],"sources":["@wordpress/edit-site/src/components/layout/router.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { useIsSiteEditorLoading } from './hooks';\nimport Editor from '../editor';\nimport PagePages from '../page-pages';\nimport PagePatterns from '../page-patterns';\nimport PageTemplatesTemplateParts from '../page-templates-template-parts';\n\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nexport default function useLayoutAreas() {\n\tconst isSiteEditorLoading = useIsSiteEditorLoading();\n\tconst { params } = useLocation();\n\tconst { postType, postId, path, layout, isCustom } = params ?? {};\n\t// Regular page\n\tif ( path === '/page' ) {\n\t\treturn {\n\t\t\tareas: {\n\t\t\t\tcontent: undefined,\n\t\t\t\tpreview: <Editor isLoading={ isSiteEditorLoading } />,\n\t\t\t},\n\t\t\twidths: {\n\t\t\t\tcontent: undefined,\n\t\t\t},\n\t\t};\n\t}\n\n\t// List layout is still experimental.\n\t// Extracted it here out of the conditionals so it doesn't unintentionally becomes stable.\n\tconst isListLayout =\n\t\tisCustom !== 'true' &&\n\t\tlayout === 'list' &&\n\t\twindow?.__experimentalAdminViews;\n\n\tif ( path === '/pages' ) {\n\t\treturn {\n\t\t\tareas: {\n\t\t\t\tcontent: <PagePages />,\n\t\t\t\tpreview: isListLayout && (\n\t\t\t\t\t<Editor isLoading={ isSiteEditorLoading } />\n\t\t\t\t),\n\t\t\t},\n\t\t\twidths: {\n\t\t\t\tcontent: isListLayout ? 380 : undefined,\n\t\t\t},\n\t\t};\n\t}\n\n\t// Regular other post types\n\tif ( postType && postId ) {\n\t\treturn {\n\t\t\tareas: {\n\t\t\t\tpreview: <Editor isLoading={ isSiteEditorLoading } />,\n\t\t\t},\n\t\t};\n\t}\n\n\t// Templates\n\tif ( path === '/wp_template/all' ) {\n\t\treturn {\n\t\t\tareas: {\n\t\t\t\tcontent: (\n\t\t\t\t\t<PageTemplatesTemplateParts\n\t\t\t\t\t\tpostType={ TEMPLATE_POST_TYPE }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tpreview: isListLayout && (\n\t\t\t\t\t<Editor isLoading={ isSiteEditorLoading } />\n\t\t\t\t),\n\t\t\t},\n\t\t\twidths: {\n\t\t\t\tcontent: isListLayout ? 380 : undefined,\n\t\t\t},\n\t\t};\n\t}\n\n\t// Template parts\n\tif ( path === '/wp_template_part/all' ) {\n\t\treturn {\n\t\t\tareas: {\n\t\t\t\tcontent: (\n\t\t\t\t\t<PageTemplatesTemplateParts\n\t\t\t\t\t\tpostType={ TEMPLATE_PART_POST_TYPE }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tpreview: isListLayout && (\n\t\t\t\t\t<Editor isLoading={ isSiteEditorLoading } />\n\t\t\t\t),\n\t\t\t},\n\t\t\twidths: {\n\t\t\t\tcontent: isListLayout ? 380 : undefined,\n\t\t\t},\n\t\t};\n\t}\n\n\t// Patterns\n\tif ( path === '/patterns' ) {\n\t\treturn {\n\t\t\tareas: {\n\t\t\t\tcontent: <PagePatterns />,\n\t\t\t},\n\t\t};\n\t}\n\n\t// Fallback shows the home page preview\n\treturn {\n\t\tareas: { preview: <Editor isLoading={ isSiteEditorLoading } /> },\n\t};\n}\n"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
5
- import { __experimentalView as View, __experimentalVStack as VStack, Button } from '@wordpress/components';
5
+ import { Button } from '@wordpress/components';
6
6
  import { __ } from '@wordpress/i18n';
7
7
  import { useEntityRecords, store as coreStore } from '@wordpress/core-data';
8
8
  import { decodeEntities } from '@wordpress/html-entities';
@@ -11,17 +11,15 @@ import { dateI18n, getDate, getSettings } from '@wordpress/date';
11
11
  import { privateApis as routerPrivateApis } from '@wordpress/router';
12
12
  import { useSelect, useDispatch } from '@wordpress/data';
13
13
  import { DataViews } from '@wordpress/dataviews';
14
- import { ENTER, SPACE } from '@wordpress/keycodes';
15
14
 
16
15
  /**
17
16
  * Internal dependencies
18
17
  */
19
18
  import Page from '../page';
20
- import Link from '../routes/link';
19
+ import { default as Link, useLink } from '../routes/link';
21
20
  import { DEFAULT_VIEWS, DEFAULT_CONFIG_PER_VIEW_TYPE } from '../sidebar-dataviews/default-views';
22
21
  import { ENUMERATION_TYPE, LAYOUT_GRID, LAYOUT_TABLE, LAYOUT_LIST, OPERATOR_IN, OPERATOR_NOT_IN } from '../../utils/constants';
23
22
  import { trashPostAction, usePermanentlyDeletePostAction, useRestorePostAction, postRevisionsAction, viewPostAction, useEditPostAction } from '../actions';
24
- import PostPreview from '../post-preview';
25
23
  import AddNewPageModal from '../add-new-page';
26
24
  import Media from '../media';
27
25
  import { unlock } from '../../lock-unlock';
@@ -30,16 +28,29 @@ const {
30
28
  useHistory
31
29
  } = unlock(routerPrivateApis);
32
30
  const EMPTY_ARRAY = [];
33
- function useView(type) {
31
+ const SUPPORTED_LAYOUTS = window?.__experimentalAdminViews ? [LAYOUT_GRID, LAYOUT_TABLE, LAYOUT_LIST] : [LAYOUT_GRID, LAYOUT_TABLE];
32
+ function useView(postType) {
34
33
  const {
35
- params: {
36
- activeView = 'all',
37
- isCustom = 'false'
38
- }
34
+ params
39
35
  } = useLocation();
40
- const selectedDefaultView = isCustom === 'false' && DEFAULT_VIEWS[type].find(({
41
- slug
42
- }) => slug === activeView)?.view;
36
+ const {
37
+ activeView = 'all',
38
+ isCustom = 'false',
39
+ layout
40
+ } = params;
41
+ const history = useHistory();
42
+ const selectedDefaultView = useMemo(() => {
43
+ const defaultView = isCustom === 'false' && DEFAULT_VIEWS[postType].find(({
44
+ slug
45
+ }) => slug === activeView)?.view;
46
+ if (isCustom === 'false' && layout) {
47
+ return {
48
+ ...defaultView,
49
+ type: layout
50
+ };
51
+ }
52
+ return defaultView;
53
+ }, [isCustom, activeView, layout, postType]);
43
54
  const [view, setView] = useState(selectedDefaultView);
44
55
  useEffect(() => {
45
56
  if (selectedDefaultView) {
@@ -60,20 +71,38 @@ function useView(type) {
60
71
  editEntityRecord
61
72
  } = useDispatch(coreStore);
62
73
  const customView = useMemo(() => {
63
- return editedViewRecord?.content && JSON.parse(editedViewRecord?.content);
74
+ const storedView = editedViewRecord?.content && JSON.parse(editedViewRecord?.content);
75
+ if (!storedView) {
76
+ return storedView;
77
+ }
78
+ return {
79
+ ...storedView,
80
+ layout: {
81
+ ...(DEFAULT_CONFIG_PER_VIEW_TYPE[storedView?.type] || {})
82
+ }
83
+ };
64
84
  }, [editedViewRecord?.content]);
65
85
  const setCustomView = useCallback(viewToSet => {
66
86
  editEntityRecord('postType', 'wp_dataviews', editedViewRecord?.id, {
67
87
  content: JSON.stringify(viewToSet)
68
88
  });
69
89
  }, [editEntityRecord, editedViewRecord?.id]);
90
+ const setDefaultViewAndUpdateUrl = useCallback(viewToSet => {
91
+ if (viewToSet.type !== view?.type) {
92
+ history.push({
93
+ ...params,
94
+ layout: viewToSet.type
95
+ });
96
+ }
97
+ setView(viewToSet);
98
+ }, [params, view?.type, history]);
70
99
  if (isCustom === 'false') {
71
- return [view, setView];
100
+ return [view, setDefaultViewAndUpdateUrl];
72
101
  } else if (isCustom === 'true' && customView) {
73
102
  return [customView, setCustomView];
74
103
  }
75
104
  // Loading state where no the view was not found on custom views or default views.
76
- return [DEFAULT_VIEWS[type][0].view, setView];
105
+ return [DEFAULT_VIEWS[postType][0].view, setDefaultViewAndUpdateUrl];
77
106
  }
78
107
 
79
108
  // See https://github.com/WordPress/gutenberg/issues/55886
@@ -99,20 +128,51 @@ const STATUSES = [{
99
128
  }];
100
129
  const DEFAULT_STATUSES = 'draft,future,pending,private,publish'; // All but 'trash'.
101
130
 
131
+ function FeaturedImage({
132
+ item,
133
+ viewType
134
+ }) {
135
+ const {
136
+ onClick
137
+ } = useLink({
138
+ postId: item.id,
139
+ postType: item.type,
140
+ canvas: 'edit'
141
+ });
142
+ const hasMedia = !!item.featured_media;
143
+ return createElement("span", {
144
+ className: {
145
+ 'edit-site-page-pages__media-wrapper': viewType === LAYOUT_TABLE
146
+ }
147
+ }, createElement("button", {
148
+ className: "page-pages-preview-field__button",
149
+ type: "button",
150
+ onClick: onClick,
151
+ "aria-label": item.title?.rendered || __('(no title)')
152
+ }, hasMedia && createElement(Media, {
153
+ className: "edit-site-page-pages__featured-image",
154
+ id: item.featured_media,
155
+ size: viewType === LAYOUT_GRID ? ['large', 'full', 'medium', 'thumbnail'] : ['thumbnail', 'medium', 'large', 'full']
156
+ })));
157
+ }
102
158
  export default function PagePages() {
103
159
  const postType = 'page';
104
160
  const [view, setView] = useView(postType);
105
- const [pageId, setPageId] = useState(null);
106
161
  const history = useHistory();
107
- const onSelectionChange = useCallback(items => setPageId(items?.length === 1 ? items[0].id : null), [setPageId]);
108
- const onDetailsChange = useCallback(items => {
109
- if (!!postType && items?.length === 1) {
162
+ const {
163
+ params
164
+ } = useLocation();
165
+ const {
166
+ isCustom = 'false'
167
+ } = params;
168
+ const onSelectionChange = useCallback(items => {
169
+ if (isCustom === 'false' && view?.type === LAYOUT_LIST) {
110
170
  history.push({
111
- postId: items[0].id,
112
- postType
171
+ ...params,
172
+ postId: items.length === 1 ? items[0].id : undefined
113
173
  });
114
174
  }
115
- }, [history, postType]);
175
+ }, [history, params, view?.type, isCustom]);
116
176
  const queryArgs = useMemo(() => {
117
177
  const filters = {};
118
178
  view.filters.forEach(filter => {
@@ -162,11 +222,10 @@ export default function PagePages() {
162
222
  }) => item.featured_media,
163
223
  render: ({
164
224
  item
165
- }) => !!item.featured_media ? createElement(Media, {
166
- className: "edit-site-page-pages__featured-image",
167
- id: item.featured_media,
168
- size: view.type === LAYOUT_GRID ? ['large', 'full', 'medium', 'thumbnail'] : ['thumbnail', 'medium', 'large', 'full']
169
- }) : null,
225
+ }) => createElement(FeaturedImage, {
226
+ item: item,
227
+ viewType: view.type
228
+ }),
170
229
  enableSorting: false
171
230
  }, {
172
231
  header: __('Title'),
@@ -177,18 +236,13 @@ export default function PagePages() {
177
236
  render: ({
178
237
  item
179
238
  }) => {
180
- return createElement(VStack, {
181
- spacing: 1
182
- }, createElement(View, {
183
- as: "span",
184
- className: "dataviews-view-grid__title-field"
185
- }, [LAYOUT_TABLE, LAYOUT_GRID].includes(view.type) ? createElement(Link, {
239
+ return [LAYOUT_TABLE, LAYOUT_GRID].includes(view.type) ? createElement(Link, {
186
240
  params: {
187
241
  postId: item.id,
188
242
  postType: item.type,
189
243
  canvas: 'edit'
190
244
  }
191
- }, decodeEntities(item.title?.rendered) || __('(no title)')) : decodeEntities(item.title?.rendered) || __('(no title)')));
245
+ }, decodeEntities(item.title?.rendered) || __('(no title)')) : decodeEntities(item.title?.rendered) || __('(no title)');
192
246
  },
193
247
  maxWidth: 400,
194
248
  enableHiding: false
@@ -275,8 +329,7 @@ export default function PagePages() {
275
329
  }, [history]);
276
330
 
277
331
  // TODO: we need to handle properly `data={ data || EMPTY_ARRAY }` for when `isLoading`.
278
- return createElement(Fragment, null, createElement(Page, {
279
- className: view.type === LAYOUT_LIST ? 'edit-site-page-pages-list-view' : null,
332
+ return createElement(Page, {
280
333
  title: __('Pages'),
281
334
  actions: createElement(Fragment, null, createElement(Button, {
282
335
  variant: "primary",
@@ -294,39 +347,7 @@ export default function PagePages() {
294
347
  view: view,
295
348
  onChangeView: onChangeView,
296
349
  onSelectionChange: onSelectionChange,
297
- onDetailsChange: onDetailsChange
298
- })), view.type === LAYOUT_LIST && createElement(Page, null, createElement("div", {
299
- className: "edit-site-page-pages-preview",
300
- tabIndex: 0,
301
- role: "button",
302
- onKeyDown: event => {
303
- const {
304
- keyCode
305
- } = event;
306
- if (keyCode === ENTER || keyCode === SPACE) {
307
- history.push({
308
- postId: pageId,
309
- postType,
310
- canvas: 'edit'
311
- });
312
- }
313
- },
314
- onClick: () => history.push({
315
- postId: pageId,
316
- postType,
317
- canvas: 'edit'
318
- })
319
- }, pageId !== null ? createElement(PostPreview, {
320
- postId: pageId,
321
- postType: postType
322
- }) : createElement("div", {
323
- style: {
324
- display: 'flex',
325
- flexDirection: 'column',
326
- justifyContent: 'center',
327
- textAlign: 'center',
328
- height: '100%'
329
- }
330
- }, createElement("p", null, __('Select a page to preview'))))));
350
+ supportedLayouts: SUPPORTED_LAYOUTS
351
+ }));
331
352
  }
332
353
  //# sourceMappingURL=index.js.map