@wordpress/edit-site 6.11.0 → 6.12.1-next.082ed6819.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 (346) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-template/utils.js +1 -2
  3. package/build/components/add-new-template/utils.js.map +1 -1
  4. package/build/components/app/index.js +0 -5
  5. package/build/components/app/index.js.map +1 -1
  6. package/build/components/block-editor/use-editor-iframe-props.js +6 -8
  7. package/build/components/block-editor/use-editor-iframe-props.js.map +1 -1
  8. package/build/components/block-editor/use-site-editor-settings.js +4 -12
  9. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  10. package/build/components/editor/index.js +23 -27
  11. package/build/components/editor/index.js.map +1 -1
  12. package/build/components/editor/use-editor-title.js +37 -12
  13. package/build/components/editor/use-editor-title.js.map +1 -1
  14. package/build/components/editor/use-resolve-edited-entity.js +133 -0
  15. package/build/components/editor/use-resolve-edited-entity.js.map +1 -0
  16. package/build/components/editor-canvas-container/index.js +1 -1
  17. package/build/components/editor-canvas-container/index.js.map +1 -1
  18. package/build/components/global-styles/block-preview-panel.js +8 -10
  19. package/build/components/global-styles/block-preview-panel.js.map +1 -1
  20. package/build/components/global-styles/screen-block.js +18 -5
  21. package/build/components/global-styles/screen-block.js.map +1 -1
  22. package/build/components/global-styles/screen-revisions/revisions-buttons.js +24 -22
  23. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  24. package/build/components/global-styles/screen-style-variations.js +11 -5
  25. package/build/components/global-styles/screen-style-variations.js.map +1 -1
  26. package/build/components/global-styles/shadows-edit-panel.js +2 -3
  27. package/build/components/global-styles/shadows-edit-panel.js.map +1 -1
  28. package/build/components/global-styles/ui.js +42 -2
  29. package/build/components/global-styles/ui.js.map +1 -1
  30. package/build/components/global-styles-renderer/index.js +6 -8
  31. package/build/components/global-styles-renderer/index.js.map +1 -1
  32. package/build/components/global-styles-sidebar/index.js +17 -1
  33. package/build/components/global-styles-sidebar/index.js.map +1 -1
  34. package/build/components/layout/hooks.js +1 -10
  35. package/build/components/layout/hooks.js.map +1 -1
  36. package/build/components/layout/index.js +1 -0
  37. package/build/components/layout/index.js.map +1 -1
  38. package/build/components/page-patterns/fields.js +3 -7
  39. package/build/components/page-patterns/fields.js.map +1 -1
  40. package/build/components/page-patterns/header.js +2 -2
  41. package/build/components/page-patterns/header.js.map +1 -1
  42. package/build/components/page-patterns/use-patterns.js +4 -8
  43. package/build/components/page-patterns/use-patterns.js.map +1 -1
  44. package/build/components/page-templates/fields.js +1 -2
  45. package/build/components/page-templates/fields.js.map +1 -1
  46. package/build/components/post-edit/index.js +15 -11
  47. package/build/components/post-edit/index.js.map +1 -1
  48. package/build/components/post-list/index.js +13 -3
  49. package/build/components/post-list/index.js.map +1 -1
  50. package/build/components/posts-app/index.js +3 -4
  51. package/build/components/posts-app/index.js.map +1 -1
  52. package/build/components/posts-app-routes/home.js +48 -0
  53. package/build/components/posts-app-routes/home.js.map +1 -0
  54. package/build/components/posts-app-routes/index.js +37 -0
  55. package/build/components/posts-app-routes/index.js.map +1 -0
  56. package/build/components/posts-app-routes/posts-edit.js +44 -0
  57. package/build/components/posts-app-routes/posts-edit.js.map +1 -0
  58. package/build/components/posts-app-routes/posts-list-view-quick-edit.js +63 -0
  59. package/build/components/posts-app-routes/posts-list-view-quick-edit.js.map +1 -0
  60. package/build/components/posts-app-routes/posts-list-view.js +48 -0
  61. package/build/components/posts-app-routes/posts-list-view.js.map +1 -0
  62. package/build/components/posts-app-routes/posts-view-quick-edit.js +60 -0
  63. package/build/components/posts-app-routes/posts-view-quick-edit.js.map +1 -0
  64. package/build/components/posts-app-routes/posts-view.js +41 -0
  65. package/build/components/posts-app-routes/posts-view.js.map +1 -0
  66. package/build/components/sidebar/index.js +11 -3
  67. package/build/components/sidebar/index.js.map +1 -1
  68. package/build/components/sidebar-global-styles-wrapper/index.js +129 -0
  69. package/build/components/sidebar-global-styles-wrapper/index.js.map +1 -0
  70. package/build/components/sidebar-navigation-screen-details-footer/index.js +17 -23
  71. package/build/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
  72. package/build/components/sidebar-navigation-screen-global-styles/index.js +18 -90
  73. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  74. package/build/components/sidebar-navigation-screen-main/index.js +43 -42
  75. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  76. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +1 -1
  77. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  78. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +2 -3
  79. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
  80. package/build/components/site-editor-routes/index.js +1 -2
  81. package/build/components/site-editor-routes/index.js.map +1 -1
  82. package/build/components/site-editor-routes/styles-view.js +8 -2
  83. package/build/components/site-editor-routes/styles-view.js.map +1 -1
  84. package/build/components/site-hub/index.js +19 -6
  85. package/build/components/site-hub/index.js.map +1 -1
  86. package/build/components/style-book/constants.js +10 -3
  87. package/build/components/style-book/constants.js.map +1 -1
  88. package/build/components/style-book/examples.js +94 -2
  89. package/build/components/style-book/examples.js.map +1 -1
  90. package/build/components/style-book/index.js +70 -11
  91. package/build/components/style-book/index.js.map +1 -1
  92. package/build/components/welcome-guide/index.js +4 -2
  93. package/build/components/welcome-guide/index.js.map +1 -1
  94. package/build/components/welcome-guide/page.js +1 -9
  95. package/build/components/welcome-guide/page.js.map +1 -1
  96. package/build/components/welcome-guide/template.js +1 -12
  97. package/build/components/welcome-guide/template.js.map +1 -1
  98. package/build/hooks/commands/use-common-commands.js +15 -15
  99. package/build/hooks/commands/use-common-commands.js.map +1 -1
  100. package/build/index.js +1 -9
  101. package/build/index.js.map +1 -1
  102. package/build/posts.js +1 -0
  103. package/build/posts.js.map +1 -1
  104. package/build/store/actions.js +13 -0
  105. package/build/store/actions.js.map +1 -1
  106. package/build/store/selectors.js +21 -1
  107. package/build/store/selectors.js.map +1 -1
  108. package/build-module/components/add-new-template/utils.js +1 -2
  109. package/build-module/components/add-new-template/utils.js.map +1 -1
  110. package/build-module/components/app/index.js +0 -5
  111. package/build-module/components/app/index.js.map +1 -1
  112. package/build-module/components/block-editor/use-editor-iframe-props.js +6 -8
  113. package/build-module/components/block-editor/use-editor-iframe-props.js.map +1 -1
  114. package/build-module/components/block-editor/use-site-editor-settings.js +4 -12
  115. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  116. package/build-module/components/editor/index.js +23 -27
  117. package/build-module/components/editor/index.js.map +1 -1
  118. package/build-module/components/editor/use-editor-title.js +37 -12
  119. package/build-module/components/editor/use-editor-title.js.map +1 -1
  120. package/build-module/components/editor/use-resolve-edited-entity.js +125 -0
  121. package/build-module/components/editor/use-resolve-edited-entity.js.map +1 -0
  122. package/build-module/components/editor-canvas-container/index.js +1 -1
  123. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  124. package/build-module/components/global-styles/block-preview-panel.js +8 -10
  125. package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
  126. package/build-module/components/global-styles/screen-block.js +18 -5
  127. package/build-module/components/global-styles/screen-block.js.map +1 -1
  128. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +25 -23
  129. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  130. package/build-module/components/global-styles/screen-style-variations.js +11 -5
  131. package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
  132. package/build-module/components/global-styles/shadows-edit-panel.js +2 -3
  133. package/build-module/components/global-styles/shadows-edit-panel.js.map +1 -1
  134. package/build-module/components/global-styles/ui.js +42 -2
  135. package/build-module/components/global-styles/ui.js.map +1 -1
  136. package/build-module/components/global-styles-renderer/index.js +6 -8
  137. package/build-module/components/global-styles-renderer/index.js.map +1 -1
  138. package/build-module/components/global-styles-sidebar/index.js +18 -2
  139. package/build-module/components/global-styles-sidebar/index.js.map +1 -1
  140. package/build-module/components/layout/hooks.js +1 -9
  141. package/build-module/components/layout/hooks.js.map +1 -1
  142. package/build-module/components/layout/index.js +1 -0
  143. package/build-module/components/layout/index.js.map +1 -1
  144. package/build-module/components/page-patterns/fields.js +4 -8
  145. package/build-module/components/page-patterns/fields.js.map +1 -1
  146. package/build-module/components/page-patterns/header.js +2 -2
  147. package/build-module/components/page-patterns/header.js.map +1 -1
  148. package/build-module/components/page-patterns/use-patterns.js +4 -8
  149. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  150. package/build-module/components/page-templates/fields.js +1 -2
  151. package/build-module/components/page-templates/fields.js.map +1 -1
  152. package/build-module/components/post-edit/index.js +14 -10
  153. package/build-module/components/post-edit/index.js.map +1 -1
  154. package/build-module/components/post-list/index.js +13 -3
  155. package/build-module/components/post-list/index.js.map +1 -1
  156. package/build-module/components/posts-app/index.js +3 -4
  157. package/build-module/components/posts-app/index.js.map +1 -1
  158. package/build-module/components/posts-app-routes/home.js +40 -0
  159. package/build-module/components/posts-app-routes/home.js.map +1 -0
  160. package/build-module/components/posts-app-routes/index.js +30 -0
  161. package/build-module/components/posts-app-routes/index.js.map +1 -0
  162. package/build-module/components/posts-app-routes/posts-edit.js +36 -0
  163. package/build-module/components/posts-app-routes/posts-edit.js.map +1 -0
  164. package/build-module/components/posts-app-routes/posts-list-view-quick-edit.js +55 -0
  165. package/build-module/components/posts-app-routes/posts-list-view-quick-edit.js.map +1 -0
  166. package/build-module/components/posts-app-routes/posts-list-view.js +40 -0
  167. package/build-module/components/posts-app-routes/posts-list-view.js.map +1 -0
  168. package/build-module/components/posts-app-routes/posts-view-quick-edit.js +52 -0
  169. package/build-module/components/posts-app-routes/posts-view-quick-edit.js.map +1 -0
  170. package/build-module/components/posts-app-routes/posts-view.js +33 -0
  171. package/build-module/components/posts-app-routes/posts-view.js.map +1 -0
  172. package/build-module/components/sidebar/index.js +11 -3
  173. package/build-module/components/sidebar/index.js.map +1 -1
  174. package/build-module/components/sidebar-global-styles-wrapper/index.js +121 -0
  175. package/build-module/components/sidebar-global-styles-wrapper/index.js.map +1 -0
  176. package/build-module/components/sidebar-navigation-screen-details-footer/index.js +20 -26
  177. package/build-module/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
  178. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +19 -91
  179. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  180. package/build-module/components/sidebar-navigation-screen-main/index.js +43 -43
  181. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  182. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +1 -1
  183. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  184. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +3 -4
  185. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
  186. package/build-module/components/site-editor-routes/index.js +1 -2
  187. package/build-module/components/site-editor-routes/index.js.map +1 -1
  188. package/build-module/components/site-editor-routes/styles-view.js +8 -2
  189. package/build-module/components/site-editor-routes/styles-view.js.map +1 -1
  190. package/build-module/components/site-hub/index.js +19 -6
  191. package/build-module/components/site-hub/index.js.map +1 -1
  192. package/build-module/components/style-book/constants.js +10 -3
  193. package/build-module/components/style-book/constants.js.map +1 -1
  194. package/build-module/components/style-book/examples.js +94 -2
  195. package/build-module/components/style-book/examples.js.map +1 -1
  196. package/build-module/components/style-book/index.js +71 -12
  197. package/build-module/components/style-book/index.js.map +1 -1
  198. package/build-module/components/welcome-guide/index.js +4 -2
  199. package/build-module/components/welcome-guide/index.js.map +1 -1
  200. package/build-module/components/welcome-guide/page.js +1 -9
  201. package/build-module/components/welcome-guide/page.js.map +1 -1
  202. package/build-module/components/welcome-guide/template.js +1 -11
  203. package/build-module/components/welcome-guide/template.js.map +1 -1
  204. package/build-module/hooks/commands/use-common-commands.js +15 -15
  205. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  206. package/build-module/index.js +2 -10
  207. package/build-module/index.js.map +1 -1
  208. package/build-module/posts.js +1 -0
  209. package/build-module/posts.js.map +1 -1
  210. package/build-module/store/actions.js +13 -0
  211. package/build-module/store/actions.js.map +1 -1
  212. package/build-module/store/selectors.js +21 -1
  213. package/build-module/store/selectors.js.map +1 -1
  214. package/build-style/posts-rtl.css +106 -16
  215. package/build-style/posts.css +106 -16
  216. package/build-style/style-rtl.css +176 -78
  217. package/build-style/style.css +176 -78
  218. package/package.json +39 -40
  219. package/src/components/add-new-template/utils.js +2 -2
  220. package/src/components/app/index.js +0 -5
  221. package/src/components/block-editor/use-editor-iframe-props.js +2 -3
  222. package/src/components/block-editor/use-site-editor-settings.js +7 -21
  223. package/src/components/editor/index.js +31 -30
  224. package/src/components/editor/use-editor-title.js +50 -13
  225. package/src/components/editor/use-resolve-edited-entity.js +132 -0
  226. package/src/components/editor-canvas-container/index.js +1 -1
  227. package/src/components/editor-canvas-container/style.scss +0 -1
  228. package/src/components/global-styles/block-preview-panel.js +10 -10
  229. package/src/components/global-styles/screen-block.js +26 -8
  230. package/src/components/global-styles/screen-revisions/revisions-buttons.js +28 -31
  231. package/src/components/global-styles/screen-revisions/style.scss +11 -17
  232. package/src/components/global-styles/screen-style-variations.js +14 -5
  233. package/src/components/global-styles/shadows-edit-panel.js +4 -2
  234. package/src/components/global-styles/ui.js +41 -1
  235. package/src/components/global-styles-renderer/index.js +4 -10
  236. package/src/components/global-styles-sidebar/index.js +16 -2
  237. package/src/components/layout/hooks.js +1 -7
  238. package/src/components/layout/index.js +6 -1
  239. package/src/components/page-patterns/fields.js +6 -12
  240. package/src/components/page-patterns/header.js +3 -2
  241. package/src/components/page-patterns/style.scss +0 -5
  242. package/src/components/page-patterns/use-patterns.js +9 -7
  243. package/src/components/page-templates/fields.js +2 -3
  244. package/src/components/page-templates/style.scss +1 -0
  245. package/src/components/post-edit/index.js +37 -32
  246. package/src/components/post-edit/style.scss +7 -0
  247. package/src/components/post-list/index.js +10 -5
  248. package/src/components/post-list/style.scss +29 -3
  249. package/src/components/posts-app/index.js +3 -4
  250. package/src/components/posts-app-routes/home.js +36 -0
  251. package/src/components/posts-app-routes/index.js +36 -0
  252. package/src/components/posts-app-routes/posts-edit.js +31 -0
  253. package/src/components/posts-app-routes/posts-list-view-quick-edit.js +52 -0
  254. package/src/components/posts-app-routes/posts-list-view.js +40 -0
  255. package/src/components/posts-app-routes/posts-view-quick-edit.js +49 -0
  256. package/src/components/posts-app-routes/posts-view.js +35 -0
  257. package/src/components/sidebar/index.js +23 -7
  258. package/src/components/sidebar-global-styles-wrapper/index.js +150 -0
  259. package/src/components/sidebar-global-styles-wrapper/style.scss +35 -0
  260. package/src/components/sidebar-navigation-item/style.scss +2 -2
  261. package/src/components/sidebar-navigation-screen/style.scss +7 -2
  262. package/src/components/sidebar-navigation-screen-details-footer/index.js +27 -38
  263. package/src/components/sidebar-navigation-screen-details-footer/style.scss +0 -4
  264. package/src/components/sidebar-navigation-screen-global-styles/index.js +19 -103
  265. package/src/components/sidebar-navigation-screen-main/index.js +46 -45
  266. package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +8 -0
  267. package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +1 -1
  268. package/src/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +4 -4
  269. package/src/components/site-editor-routes/README.md +2 -2
  270. package/src/components/site-editor-routes/index.js +0 -2
  271. package/src/components/site-editor-routes/styles-view.js +11 -1
  272. package/src/components/site-hub/index.js +33 -16
  273. package/src/components/site-hub/style.scss +1 -1
  274. package/src/components/site-icon/style.scss +16 -0
  275. package/src/components/style-book/constants.ts +11 -3
  276. package/src/components/style-book/examples.tsx +128 -2
  277. package/src/components/style-book/index.js +86 -8
  278. package/src/components/welcome-guide/index.js +3 -3
  279. package/src/components/welcome-guide/page.js +1 -7
  280. package/src/components/welcome-guide/template.js +1 -8
  281. package/src/hooks/commands/use-common-commands.js +253 -246
  282. package/src/index.js +2 -13
  283. package/src/posts.js +1 -0
  284. package/src/store/actions.js +15 -0
  285. package/src/store/selectors.js +24 -1
  286. package/src/style.scss +2 -5
  287. package/build/components/async/index.js +0 -51
  288. package/build/components/async/index.js.map +0 -1
  289. package/build/components/post-fields/index.js +0 -290
  290. package/build/components/post-fields/index.js.map +0 -1
  291. package/build/components/posts-app/router.js +0 -85
  292. package/build/components/posts-app/router.js.map +0 -1
  293. package/build/components/sidebar-navigation-screen-details-panel/index.js +0 -54
  294. package/build/components/sidebar-navigation-screen-details-panel/index.js.map +0 -1
  295. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js +0 -21
  296. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js.map +0 -1
  297. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +0 -33
  298. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +0 -1
  299. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js +0 -21
  300. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js.map +0 -1
  301. package/build/components/site-editor-routes/styles-edit.js +0 -28
  302. package/build/components/site-editor-routes/styles-edit.js.map +0 -1
  303. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +0 -219
  304. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +0 -1
  305. package/build/components/use-edited-entity-record/index.js +0 -60
  306. package/build/components/use-edited-entity-record/index.js.map +0 -1
  307. package/build/hooks/commands/use-edit-mode-commands.js +0 -179
  308. package/build/hooks/commands/use-edit-mode-commands.js.map +0 -1
  309. package/build-module/components/async/index.js +0 -44
  310. package/build-module/components/async/index.js.map +0 -1
  311. package/build-module/components/post-fields/index.js +0 -283
  312. package/build-module/components/post-fields/index.js.map +0 -1
  313. package/build-module/components/posts-app/router.js +0 -77
  314. package/build-module/components/posts-app/router.js.map +0 -1
  315. package/build-module/components/sidebar-navigation-screen-details-panel/index.js +0 -29
  316. package/build-module/components/sidebar-navigation-screen-details-panel/index.js.map +0 -1
  317. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js +0 -14
  318. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js.map +0 -1
  319. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +0 -25
  320. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +0 -1
  321. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js +0 -14
  322. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js.map +0 -1
  323. package/build-module/components/site-editor-routes/styles-edit.js +0 -20
  324. package/build-module/components/site-editor-routes/styles-edit.js.map +0 -1
  325. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +0 -212
  326. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +0 -1
  327. package/build-module/components/use-edited-entity-record/index.js +0 -53
  328. package/build-module/components/use-edited-entity-record/index.js.map +0 -1
  329. package/build-module/hooks/commands/use-edit-mode-commands.js +0 -171
  330. package/build-module/hooks/commands/use-edit-mode-commands.js.map +0 -1
  331. package/src/components/async/index.js +0 -43
  332. package/src/components/post-fields/index.js +0 -361
  333. package/src/components/post-fields/style.scss +0 -3
  334. package/src/components/posts-app/router.js +0 -69
  335. package/src/components/sidebar-navigation-screen-details-panel/index.js +0 -40
  336. package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js +0 -14
  337. package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +0 -31
  338. package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js +0 -14
  339. package/src/components/sidebar-navigation-screen-details-panel/style.scss +0 -26
  340. package/src/components/site-editor-routes/styles-edit.js +0 -17
  341. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +0 -267
  342. package/src/components/use-edited-entity-record/index.js +0 -58
  343. package/src/hooks/commands/use-edit-mode-commands.js +0 -168
  344. package/src/store/test/actions.js +0 -83
  345. package/src/store/test/reducer.js +0 -69
  346. package/src/store/test/selectors.js +0 -41
@@ -20,6 +20,7 @@ import { store as preferencesStore } from '@wordpress/preferences';
20
20
  import { moreVertical } from '@wordpress/icons';
21
21
  import { store as coreStore } from '@wordpress/core-data';
22
22
  import { useEffect } from '@wordpress/element';
23
+ import { usePrevious } from '@wordpress/compose';
23
24
 
24
25
  /**
25
26
  * Internal dependencies
@@ -201,6 +202,11 @@ function GlobalStylesStyleBook() {
201
202
  navigator.goTo( '/colors/palette' );
202
203
  return;
203
204
  }
205
+ if ( blockName === 'typography' ) {
206
+ // Go to typography Global Styles.
207
+ navigator.goTo( '/typography' );
208
+ return;
209
+ }
204
210
 
205
211
  // Now go to the selected block.
206
212
  navigator.goTo( '/blocks/' + encodeURIComponent( blockName ) );
@@ -291,18 +297,52 @@ function GlobalStylesEditorCanvasContainerLink() {
291
297
  }, [ editorCanvasContainerView, isRevisionsOpen, goTo ] );
292
298
  }
293
299
 
294
- function GlobalStylesUI() {
300
+ function useNavigatorSync( parentPath, onPathChange ) {
301
+ const navigator = useNavigator();
302
+ const { path: childPath } = navigator.location;
303
+ const previousParentPath = usePrevious( parentPath );
304
+ const previousChildPath = usePrevious( childPath );
305
+ useEffect( () => {
306
+ if ( parentPath !== childPath ) {
307
+ if ( parentPath !== previousParentPath ) {
308
+ navigator.goTo( parentPath );
309
+ } else if ( childPath !== previousChildPath ) {
310
+ onPathChange( childPath );
311
+ }
312
+ }
313
+ }, [
314
+ onPathChange,
315
+ parentPath,
316
+ previousChildPath,
317
+ previousParentPath,
318
+ childPath,
319
+ navigator,
320
+ ] );
321
+ }
322
+
323
+ // This component is used to wrap the hook in order to conditionally execute it
324
+ // when the parent component is used on controlled mode.
325
+ function NavigationSync( { path: parentPath, onPathChange, children } ) {
326
+ useNavigatorSync( parentPath, onPathChange );
327
+ return children;
328
+ }
329
+
330
+ function GlobalStylesUI( { path, onPathChange } ) {
295
331
  const blocks = getBlockTypes();
296
332
  const editorCanvasContainerView = useSelect(
297
333
  ( select ) =>
298
334
  unlock( select( editSiteStore ) ).getEditorCanvasContainerView(),
299
335
  []
300
336
  );
337
+
301
338
  return (
302
339
  <Navigator
303
340
  className="edit-site-global-styles-sidebar__navigator-provider"
304
341
  initialPath="/"
305
342
  >
343
+ { path && onPathChange && (
344
+ <NavigationSync path={ path } onPathChange={ onPathChange } />
345
+ ) }
306
346
  <GlobalStylesNavigationScreen path="/">
307
347
  <ScreenRoot />
308
348
  </GlobalStylesNavigationScreen>
@@ -10,17 +10,11 @@ import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
10
10
  */
11
11
  import { store as editSiteStore } from '../../store';
12
12
  import { unlock } from '../../lock-unlock';
13
- import { TEMPLATE_POST_TYPE } from '../../utils/constants';
14
13
 
15
14
  const { useGlobalStylesOutput } = unlock( blockEditorPrivateApis );
16
15
 
17
- function useGlobalStylesRenderer() {
18
- const postType = useSelect( ( select ) => {
19
- return select( editSiteStore ).getEditedPostType();
20
- } );
21
- const [ styles, settings ] = useGlobalStylesOutput(
22
- postType !== TEMPLATE_POST_TYPE
23
- );
16
+ function useGlobalStylesRenderer( disableRootPadding ) {
17
+ const [ styles, settings ] = useGlobalStylesOutput( disableRootPadding );
24
18
  const { getSettings } = useSelect( editSiteStore );
25
19
  const { updateSettings } = useDispatch( editSiteStore );
26
20
 
@@ -41,8 +35,8 @@ function useGlobalStylesRenderer() {
41
35
  }, [ styles, settings, updateSettings, getSettings ] );
42
36
  }
43
37
 
44
- export function GlobalStylesRenderer() {
45
- useGlobalStylesRenderer();
38
+ export function GlobalStylesRenderer( { disableRootPadding } ) {
39
+ useGlobalStylesRenderer( disableRootPadding );
46
40
 
47
41
  return null;
48
42
  }
@@ -5,7 +5,7 @@ import { FlexItem, Flex, Button } from '@wordpress/components';
5
5
  import { __ } from '@wordpress/i18n';
6
6
  import { styles, seen, backup } from '@wordpress/icons';
7
7
  import { useSelect, useDispatch } from '@wordpress/data';
8
- import { useEffect } from '@wordpress/element';
8
+ import { useEffect, useRef } from '@wordpress/element';
9
9
  import { store as preferencesStore } from '@wordpress/preferences';
10
10
  import {
11
11
  store as editorStore,
@@ -29,7 +29,7 @@ const { useLocation } = unlock( routerPrivateApis );
29
29
 
30
30
  export default function GlobalStylesSidebar() {
31
31
  const { params } = useLocation();
32
- const { canvas = 'view' } = params;
32
+ const { canvas = 'view', path } = params;
33
33
  const {
34
34
  shouldClearCanvasContainerView,
35
35
  isStyleBookOpened,
@@ -128,6 +128,20 @@ export default function GlobalStylesSidebar() {
128
128
  );
129
129
  };
130
130
 
131
+ const { getActiveComplementaryArea } = useSelect( interfaceStore );
132
+ const { enableComplementaryArea } = useDispatch( interfaceStore );
133
+ const previousActiveAreaRef = useRef( null );
134
+
135
+ useEffect( () => {
136
+ if ( path?.startsWith( '/wp_global_styles' ) && canvas === 'edit' ) {
137
+ previousActiveAreaRef.current =
138
+ getActiveComplementaryArea( 'core' );
139
+ enableComplementaryArea( 'core', 'edit-site/global-styles' );
140
+ } else if ( previousActiveAreaRef.current ) {
141
+ enableComplementaryArea( 'core', previousActiveAreaRef.current );
142
+ }
143
+ }, [ path, enableComplementaryArea, canvas, getActiveComplementaryArea ] );
144
+
131
145
  return (
132
146
  <DefaultSidebar
133
147
  className="edit-site-global-styles-sidebar"
@@ -5,15 +5,9 @@ import { useEffect, useState } from '@wordpress/element';
5
5
  import { useSelect } from '@wordpress/data';
6
6
  import { store as coreStore } from '@wordpress/core-data';
7
7
 
8
- /**
9
- * Internal dependencies
10
- */
11
- import useEditedEntityRecord from '../use-edited-entity-record';
12
-
13
8
  const MAX_LOADING_TIME = 10000; // 10 seconds
14
9
 
15
10
  export function useIsSiteEditorLoading() {
16
- const { isLoaded: hasLoadedPost } = useEditedEntityRecord();
17
11
  const [ loaded, setLoaded ] = useState( false );
18
12
  const inLoadingPause = useSelect(
19
13
  ( select ) => {
@@ -64,5 +58,5 @@ export function useIsSiteEditorLoading() {
64
58
  }
65
59
  }, [ inLoadingPause ] );
66
60
 
67
- return ! loaded || ! hasLoadedPost;
61
+ return ! loaded;
68
62
  }
@@ -125,7 +125,12 @@ export default function Layout( { route } ) {
125
125
  isResizableFrameOversized
126
126
  }
127
127
  />
128
- <SidebarContent routeKey={ routeKey }>
128
+ <SidebarContent
129
+ shouldAnimate={
130
+ routeKey !== 'styles-view'
131
+ }
132
+ routeKey={ routeKey }
133
+ >
129
134
  { areas.sidebar }
130
135
  </SidebarContent>
131
136
  <SaveHub />
@@ -10,7 +10,7 @@ import {
10
10
  __experimentalHStack as HStack,
11
11
  Button,
12
12
  Tooltip,
13
- Flex,
13
+ FlexBlock,
14
14
  } from '@wordpress/components';
15
15
  import { __, _x } from '@wordpress/i18n';
16
16
  import { useState, useMemo, useId } from '@wordpress/element';
@@ -25,7 +25,6 @@ import { decodeEntities } from '@wordpress/html-entities';
25
25
  /**
26
26
  * Internal dependencies
27
27
  */
28
- import { Async } from '../async';
29
28
  import {
30
29
  PATTERN_TYPES,
31
30
  TEMPLATE_PART_POST_TYPE,
@@ -45,7 +44,7 @@ function PreviewWrapper( { item, onClick, ariaDescribedBy, children } ) {
45
44
  className="page-patterns-preview-field__button"
46
45
  type="button"
47
46
  onClick={ item.type !== PATTERN_TYPES.theme ? onClick : undefined }
48
- aria-label={ item.title }
47
+ aria-label={ defaultGetTitle( item ) }
49
48
  aria-describedby={ ariaDescribedBy }
50
49
  aria-disabled={ item.type === PATTERN_TYPES.theme }
51
50
  >
@@ -88,12 +87,12 @@ function PreviewField( { item } ) {
88
87
  { isEmpty && isTemplatePart && __( 'Empty template part' ) }
89
88
  { isEmpty && ! isTemplatePart && __( 'Empty pattern' ) }
90
89
  { ! isEmpty && (
91
- <Async>
90
+ <BlockPreview.Async>
92
91
  <BlockPreview
93
92
  blocks={ blocks }
94
93
  viewportWidth={ item.viewportWidth }
95
94
  />
96
- </Async>
95
+ </BlockPreview.Async>
97
96
  ) }
98
97
  </PreviewWrapper>
99
98
  { !! description && (
@@ -123,12 +122,7 @@ function TitleField( { item } ) {
123
122
  const title = decodeEntities( defaultGetTitle( item ) );
124
123
  return (
125
124
  <HStack alignment="center" justify="flex-start" spacing={ 2 }>
126
- <Flex
127
- as="div"
128
- gap={ 0 }
129
- justify="flex-start"
130
- className="edit-site-patterns__pattern-title"
131
- >
125
+ <FlexBlock className="edit-site-patterns__pattern-title">
132
126
  { item.type === PATTERN_TYPES.theme ? (
133
127
  title
134
128
  ) : (
@@ -143,7 +137,7 @@ function TitleField( { item } ) {
143
137
  { title }
144
138
  </Button>
145
139
  ) }
146
- </Flex>
140
+ </FlexBlock>
147
141
  { item.type === PATTERN_TYPES.theme && (
148
142
  <Tooltip
149
143
  placement="top"
@@ -9,7 +9,7 @@ import {
9
9
  __experimentalText as Text,
10
10
  __experimentalVStack as VStack,
11
11
  } from '@wordpress/components';
12
- import { store as editorStore } from '@wordpress/editor';
12
+ import { store as coreStore } from '@wordpress/core-data';
13
13
  import { useSelect } from '@wordpress/data';
14
14
  import { __, sprintf } from '@wordpress/i18n';
15
15
  import { moreVertical } from '@wordpress/icons';
@@ -32,7 +32,8 @@ export default function PatternsHeader( {
32
32
  const { patternCategories } = usePatternCategories();
33
33
  const templatePartAreas = useSelect(
34
34
  ( select ) =>
35
- select( editorStore ).__experimentalGetDefaultTemplatePartAreas(),
35
+ select( coreStore ).getEntityRecord( 'root', '__unstableBase' )
36
+ ?.default_template_part_areas || [],
36
37
  []
37
38
  );
38
39
 
@@ -41,10 +41,6 @@
41
41
  flex-shrink: 0;
42
42
  }
43
43
 
44
- .edit-site-patterns__pattern-lock-icon {
45
- min-width: min-content;
46
- }
47
-
48
44
  .edit-site-patterns__section-header {
49
45
  border-bottom: 1px solid #f0f0f0;
50
46
  padding: $grid-unit-20 $grid-unit-60;
@@ -77,7 +73,6 @@
77
73
 
78
74
  .edit-site-patterns__pattern-title {
79
75
  display: block;
80
- width: 100%;
81
76
  white-space: nowrap;
82
77
  overflow: hidden;
83
78
  text-overflow: ellipsis;
@@ -4,7 +4,6 @@
4
4
  import { parse } from '@wordpress/blocks';
5
5
  import { useSelect, createSelector } from '@wordpress/data';
6
6
  import { store as coreStore } from '@wordpress/core-data';
7
- import { store as editorStore } from '@wordpress/editor';
8
7
  import { useMemo } from '@wordpress/element';
9
8
 
10
9
  /**
@@ -28,8 +27,7 @@ const selectTemplateParts = createSelector(
28
27
  ( select, categoryId, search = '' ) => {
29
28
  const { getEntityRecords, isResolving: isResolvingSelector } =
30
29
  select( coreStore );
31
- const { __experimentalGetDefaultTemplatePartAreas } =
32
- select( editorStore );
30
+
33
31
  const query = { per_page: -1 };
34
32
  const templateParts =
35
33
  getEntityRecords( 'postType', TEMPLATE_PART_POST_TYPE, query ) ??
@@ -38,7 +36,10 @@ const selectTemplateParts = createSelector(
38
36
  // In the case where a custom template part area has been removed we need
39
37
  // the current list of areas to cross check against so orphaned template
40
38
  // parts can be treated as uncategorized.
41
- const knownAreas = __experimentalGetDefaultTemplatePartAreas() || [];
39
+ const knownAreas =
40
+ select( coreStore ).getEntityRecord( 'root', '__unstableBase' )
41
+ ?.default_template_part_areas || [];
42
+
42
43
  const templatePartAreas = knownAreas.map( ( area ) => area.area );
43
44
 
44
45
  const templatePartHasCategory = ( item, category ) => {
@@ -78,7 +79,8 @@ const selectTemplateParts = createSelector(
78
79
  TEMPLATE_PART_POST_TYPE,
79
80
  { per_page: -1 },
80
81
  ] ),
81
- select( editorStore ).__experimentalGetDefaultTemplatePartAreas(),
82
+ select( coreStore ).getEntityRecord( 'root', '__unstableBase' )
83
+ ?.default_template_part_areas,
82
84
  ]
83
85
  );
84
86
 
@@ -156,7 +158,7 @@ const selectPatterns = createSelector(
156
158
  categoryId,
157
159
  hasCategory: ( item, currentCategory ) => {
158
160
  if ( item.type === PATTERN_TYPES.user ) {
159
- return item.wp_pattern_category.some(
161
+ return item.wp_pattern_category?.some(
160
162
  ( catId ) =>
161
163
  userPatternCategories.find(
162
164
  ( cat ) => cat.id === catId
@@ -173,7 +175,7 @@ const selectPatterns = createSelector(
173
175
  return (
174
176
  userPatternCategories?.length &&
175
177
  ( ! item.wp_pattern_category?.length ||
176
- ! item.wp_pattern_category.some( ( catId ) =>
178
+ ! item.wp_pattern_category?.some( ( catId ) =>
177
179
  userPatternCategories.find(
178
180
  ( cat ) => cat.id === catId
179
181
  )
@@ -20,7 +20,6 @@ import { EditorProvider } from '@wordpress/editor';
20
20
  /**
21
21
  * Internal dependencies
22
22
  */
23
- import { Async } from '../async';
24
23
  import { default as Link, useLink } from '../routes/link';
25
24
  import { useAddedBy } from './hooks';
26
25
 
@@ -63,9 +62,9 @@ function PreviewField( { item } ) {
63
62
  >
64
63
  { isEmpty && __( 'Empty template' ) }
65
64
  { ! isEmpty && (
66
- <Async>
65
+ <BlockPreview.Async>
67
66
  <BlockPreview blocks={ blocks } />
68
- </Async>
67
+ </BlockPreview.Async>
69
68
  ) }
70
69
  </button>
71
70
  </div>
@@ -60,6 +60,7 @@
60
60
 
61
61
  .dataviews-view-table & {
62
62
  margin-bottom: $grid-unit-10;
63
+ display: block;
63
64
  }
64
65
  }
65
66
 
@@ -18,10 +18,17 @@ import { privateApis as editorPrivateApis } from '@wordpress/editor';
18
18
  * Internal dependencies
19
19
  */
20
20
  import Page from '../page';
21
- import usePostFields from '../post-fields';
22
21
  import { unlock } from '../../lock-unlock';
23
22
 
24
- const { PostCardPanel } = unlock( editorPrivateApis );
23
+ const { PostCardPanel, usePostFields } = unlock( editorPrivateApis );
24
+
25
+ const fieldsWithBulkEditSupport = [
26
+ 'title',
27
+ 'status',
28
+ 'date',
29
+ 'author',
30
+ 'comment_status',
31
+ ];
25
32
 
26
33
  function PostEditForm( { postType, postId } ) {
27
34
  const ids = useMemo( () => postId.split( ',' ), [ postId ] );
@@ -58,27 +65,34 @@ function PostEditForm( { postType, postId } ) {
58
65
  } ),
59
66
  [ _fields ]
60
67
  );
61
- const form = {
62
- type: 'panel',
63
- fields: [
64
- 'featured_media',
65
- 'title',
66
- 'author',
67
- 'date',
68
- 'slug',
69
- 'parent',
70
- 'comment_status',
71
- ],
72
- };
73
-
74
- const fieldsWithBulkEditSupport = [
75
- 'title',
76
- 'status',
77
- 'date',
78
- 'author',
79
- 'comment_status',
80
- ];
81
68
 
69
+ const form = useMemo(
70
+ () => ( {
71
+ type: 'panel',
72
+ fields: [
73
+ {
74
+ id: 'featured_media',
75
+ layout: 'regular',
76
+ },
77
+ 'title',
78
+ {
79
+ id: 'status',
80
+ label: __( 'Status & Visibility' ),
81
+ children: [ 'status', 'password' ],
82
+ },
83
+ 'author',
84
+ 'date',
85
+ 'slug',
86
+ 'parent',
87
+ 'comment_status',
88
+ ].filter(
89
+ ( field ) =>
90
+ ids.length === 1 ||
91
+ fieldsWithBulkEditSupport.includes( field )
92
+ ),
93
+ } ),
94
+ [ ids ]
95
+ );
82
96
  const onChange = ( edits ) => {
83
97
  for ( const id of ids ) {
84
98
  if (
@@ -117,16 +131,7 @@ function PostEditForm( { postType, postId } ) {
117
131
  <DataForm
118
132
  data={ ids.length === 1 ? record : multiEdits }
119
133
  fields={ fields }
120
- form={
121
- ids.length === 1
122
- ? form
123
- : {
124
- ...form,
125
- fields: form.fields.filter( ( field ) =>
126
- fieldsWithBulkEditSupport.includes( field )
127
- ),
128
- }
129
- }
134
+ form={ form }
130
135
  onChange={ onChange }
131
136
  />
132
137
  </VStack>
@@ -7,3 +7,10 @@
7
7
  justify-content: center;
8
8
  }
9
9
  }
10
+
11
+ .dataforms-layouts-panel__field-dropdown {
12
+ .fields-controls__password {
13
+ border-top: $border-width solid $gray-200;
14
+ padding-top: $grid-unit-20;
15
+ }
16
+ }
@@ -32,9 +32,8 @@ import AddNewPostModal from '../add-new-post';
32
32
  import { unlock } from '../../lock-unlock';
33
33
  import { useEditPostAction } from '../dataviews-actions';
34
34
  import { usePrevious } from '@wordpress/compose';
35
- import usePostFields from '../post-fields';
36
35
 
37
- const { usePostActions } = unlock( editorPrivateApis );
36
+ const { usePostActions, usePostFields } = unlock( editorPrivateApis );
38
37
  const { useLocation, useHistory } = unlock( routerPrivateApis );
39
38
  const { useEntityRecordsWithPermissions } = unlock( coreDataPrivateApis );
40
39
  const EMPTY_ARRAY = [];
@@ -208,9 +207,7 @@ export default function PostList( { postType } ) {
208
207
  return found?.filters ?? [];
209
208
  };
210
209
 
211
- const { isLoading: isLoadingFields, fields: _fields } = usePostFields(
212
- view.type
213
- );
210
+ const { isLoading: isLoadingFields, fields: _fields } = usePostFields();
214
211
  const fields = useMemo( () => {
215
212
  const activeViewFilters = getActiveViewFilters(
216
213
  defaultViews,
@@ -402,6 +399,14 @@ export default function PostList( { postType } ) {
402
399
  onChangeView={ setView }
403
400
  selection={ selection }
404
401
  onChangeSelection={ onChangeSelection }
402
+ isItemClickable={ ( item ) => item.status !== 'trash' }
403
+ onClickItem={ ( { id } ) => {
404
+ history.push( {
405
+ postId: id,
406
+ postType,
407
+ canvas: 'edit',
408
+ } );
409
+ } }
405
410
  getItemId={ getItemId }
406
411
  defaultLayouts={ defaultLayouts }
407
412
  header={
@@ -9,7 +9,9 @@
9
9
  width: 100%;
10
10
  border-radius: $grid-unit-05;
11
11
 
12
- &.is-layout-table:not(:has(.edit-site-post-list__featured-image-button)),
12
+ &.is-layout-table:not(
13
+ :has(.edit-site-post-list__featured-image-button)
14
+ ),
13
15
  &.is-layout-table .edit-site-post-list__featured-image-button {
14
16
  width: $grid-unit-40;
15
17
  height: $grid-unit-40;
@@ -46,7 +48,9 @@
46
48
  border-radius: $grid-unit-05;
47
49
 
48
50
  &:focus-visible {
49
- box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
51
+ box-shadow:
52
+ 0 0 0 var(--wp-admin-border-width-focus)
53
+ var(--wp-admin-theme-color);
50
54
  // Windows High Contrast mode will show this outline, but not the box-shadow.
51
55
  outline: 2px solid transparent;
52
56
  }
@@ -54,7 +58,9 @@
54
58
 
55
59
  .dataviews-view-grid__card.is-selected {
56
60
  .edit-site-post-list__featured-image-button::after {
57
- box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
61
+ box-shadow:
62
+ inset 0 0 0 var(--wp-admin-border-width-focus)
63
+ var(--wp-admin-theme-color);
58
64
  background: rgba(var(--wp-admin-theme-color--rgb), 0.04);
59
65
  }
60
66
  }
@@ -64,6 +70,26 @@
64
70
  overflow: hidden;
65
71
  }
66
72
 
73
+ .dataviews-view-grid__primary-field.dataviews-view-grid__primary-field--clickable
74
+ .edit-site-post-list__title
75
+ span,
76
+ .dataviews-view-table__primary-field > .dataviews-view-table__cell-content--clickable
77
+ .edit-site-post-list__title
78
+ span {
79
+ text-decoration: none;
80
+ text-overflow: ellipsis;
81
+ white-space: nowrap;
82
+ overflow: hidden;
83
+ display: block;
84
+ flex-grow: 0;
85
+ color: $gray-900;
86
+
87
+ &:hover {
88
+ color: var(--wp-admin-theme-color);
89
+ }
90
+ @include link-reset();
91
+ }
92
+
67
93
  .edit-site-post-list__title-badge {
68
94
  background: $gray-100;
69
95
  color: $gray-800;
@@ -10,17 +10,16 @@ import { privateApis as routerPrivateApis } from '@wordpress/router';
10
10
  /**
11
11
  * Internal dependencies
12
12
  */
13
- import useInitEditedEntityFromURL from '../sync-state-with-url/use-init-edited-entity-from-url';
14
13
  import Layout from '../layout';
15
- import useActiveRoute from './router';
14
+ import { useRegisterPostsAppRoutes } from '../posts-app-routes';
16
15
  import { unlock } from '../../lock-unlock';
16
+ import useActiveRoute from '../layout/router';
17
17
 
18
18
  const { RouterProvider } = unlock( routerPrivateApis );
19
19
  const { GlobalStylesProvider } = unlock( editorPrivateApis );
20
20
 
21
21
  function PostsLayout() {
22
- // This ensures the edited entity id and type are initialized properly.
23
- useInitEditedEntityFromURL();
22
+ useRegisterPostsAppRoutes();
24
23
  const route = useActiveRoute();
25
24
  return <Layout route={ route } />;
26
25
  }
@@ -0,0 +1,36 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { privateApis as routerPrivateApis } from '@wordpress/router';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import Editor from '../editor';
10
+ import SidebarNavigationScreenMain from '../sidebar-navigation-screen-main';
11
+ import { unlock } from '../../lock-unlock';
12
+
13
+ const { useLocation } = unlock( routerPrivateApis );
14
+
15
+ function HomeMobileView() {
16
+ const { params = {} } = useLocation();
17
+ const { canvas = 'view' } = params;
18
+
19
+ return canvas === 'edit' ? (
20
+ <Editor isPostsList />
21
+ ) : (
22
+ <SidebarNavigationScreenMain />
23
+ );
24
+ }
25
+
26
+ export const homeRoute = {
27
+ name: 'home',
28
+ match: () => {
29
+ return true;
30
+ },
31
+ areas: {
32
+ sidebar: <SidebarNavigationScreenMain />,
33
+ preview: <Editor isPostsList />,
34
+ mobile: HomeMobileView,
35
+ },
36
+ };
@@ -0,0 +1,36 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { useRegistry, useDispatch } from '@wordpress/data';
5
+ import { useEffect } from '@wordpress/element';
6
+
7
+ /**
8
+ * Internal dependencies
9
+ */
10
+ import { unlock } from '../../lock-unlock';
11
+ import { store as siteEditorStore } from '../../store';
12
+ import { homeRoute } from './home';
13
+ import { postsListViewQuickEditRoute } from './posts-list-view-quick-edit';
14
+ import { postsListViewRoute } from './posts-list-view';
15
+ import { postsViewQuickEditRoute } from './posts-view-quick-edit';
16
+ import { postsViewRoute } from './posts-view';
17
+ import { postsEditRoute } from './posts-edit';
18
+
19
+ const routes = [
20
+ postsListViewQuickEditRoute,
21
+ postsListViewRoute,
22
+ postsViewQuickEditRoute,
23
+ postsViewRoute,
24
+ postsEditRoute,
25
+ homeRoute,
26
+ ];
27
+
28
+ export function useRegisterPostsAppRoutes() {
29
+ const registry = useRegistry();
30
+ const { registerRoute } = unlock( useDispatch( siteEditorStore ) );
31
+ useEffect( () => {
32
+ registry.batch( () => {
33
+ routes.forEach( registerRoute );
34
+ } );
35
+ }, [ registry, registerRoute ] );
36
+ }