@wordpress/edit-site 6.12.1-next.082ed6819.0 → 6.13.1-next.cd6172eb0.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 (443) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-pattern/index.js +3 -16
  3. package/build/components/add-new-pattern/index.js.map +1 -1
  4. package/build/components/add-new-template/index.js +1 -5
  5. package/build/components/add-new-template/index.js.map +1 -1
  6. package/build/components/app/index.js +31 -29
  7. package/build/components/app/index.js.map +1 -1
  8. package/build/components/block-editor/use-editor-iframe-props.js +8 -8
  9. package/build/components/block-editor/use-editor-iframe-props.js.map +1 -1
  10. package/build/components/block-editor/use-navigate-to-entity-record.js +1 -5
  11. package/build/components/block-editor/use-navigate-to-entity-record.js.map +1 -1
  12. package/build/components/block-editor/use-site-editor-settings.js +4 -4
  13. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  14. package/build/components/dataviews-actions/index.js +1 -5
  15. package/build/components/dataviews-actions/index.js.map +1 -1
  16. package/build/components/editor/index.js +38 -22
  17. package/build/components/editor/index.js.map +1 -1
  18. package/build/components/editor/use-editor-title.js +5 -0
  19. package/build/components/editor/use-editor-title.js.map +1 -1
  20. package/build/components/editor/use-resolve-edited-entity.js +19 -4
  21. package/build/components/editor/use-resolve-edited-entity.js.map +1 -1
  22. package/build/components/global-styles/font-library-modal/context.js +0 -1
  23. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  24. package/build/components/global-styles/font-library-modal/font-collection.js +36 -26
  25. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  26. package/build/components/global-styles/font-library-modal/installed-fonts.js +0 -1
  27. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  28. package/build/components/global-styles/font-library-modal/upload-fonts.js +0 -1
  29. package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  30. package/build/components/global-styles-sidebar/index.js +5 -5
  31. package/build/components/global-styles-sidebar/index.js.map +1 -1
  32. package/build/components/layout/index.js +31 -13
  33. package/build/components/layout/index.js.map +1 -1
  34. package/build/components/page-patterns/delete-category-menu-item.js +1 -4
  35. package/build/components/page-patterns/delete-category-menu-item.js.map +1 -1
  36. package/build/components/page-patterns/fields.js +6 -11
  37. package/build/components/page-patterns/fields.js.map +1 -1
  38. package/build/components/page-patterns/index.js +14 -16
  39. package/build/components/page-patterns/index.js.map +1 -1
  40. package/build/components/page-templates/fields.js +8 -17
  41. package/build/components/page-templates/fields.js.map +1 -1
  42. package/build/components/page-templates/index.js +13 -12
  43. package/build/components/page-templates/index.js.map +1 -1
  44. package/build/components/post-edit/index.js +38 -3
  45. package/build/components/post-edit/index.js.map +1 -1
  46. package/build/components/post-list/index.js +25 -39
  47. package/build/components/post-list/index.js.map +1 -1
  48. package/build/components/posts-app/index.js +10 -16
  49. package/build/components/posts-app/index.js.map +1 -1
  50. package/build/components/posts-app-routes/index.js +3 -7
  51. package/build/components/posts-app-routes/index.js.map +1 -1
  52. package/build/components/posts-app-routes/{posts-edit.js → post-item.js} +9 -13
  53. package/build/components/posts-app-routes/post-item.js.map +1 -0
  54. package/build/components/posts-app-routes/posts.js +89 -0
  55. package/build/components/posts-app-routes/posts.js.map +1 -0
  56. package/build/components/resizable-frame/index.js +6 -5
  57. package/build/components/resizable-frame/index.js.map +1 -1
  58. package/build/components/save-panel/index.js +9 -6
  59. package/build/components/save-panel/index.js.map +1 -1
  60. package/build/components/sidebar-dataviews/add-new-view.js +7 -8
  61. package/build/components/sidebar-dataviews/add-new-view.js.map +1 -1
  62. package/build/components/sidebar-dataviews/dataview-item.js +5 -8
  63. package/build/components/sidebar-dataviews/dataview-item.js.map +1 -1
  64. package/build/components/sidebar-dataviews/index.js +4 -3
  65. package/build/components/sidebar-dataviews/index.js.map +1 -1
  66. package/build/components/sidebar-global-styles-wrapper/index.js +18 -18
  67. package/build/components/sidebar-global-styles-wrapper/index.js.map +1 -1
  68. package/build/components/sidebar-navigation-item/index.js +8 -5
  69. package/build/components/sidebar-navigation-item/index.js.map +1 -1
  70. package/build/components/sidebar-navigation-screen/index.js +2 -2
  71. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  72. package/build/components/sidebar-navigation-screen-global-styles/index.js +8 -19
  73. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  74. package/build/components/sidebar-navigation-screen-main/index.js +6 -14
  75. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  76. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -5
  77. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  78. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +2 -7
  79. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  80. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +1 -6
  81. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  82. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +14 -20
  83. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  84. package/build/components/sidebar-navigation-screen-patterns/category-item.js +5 -7
  85. package/build/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -1
  86. package/build/components/sidebar-navigation-screen-patterns/index.js +4 -5
  87. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  88. package/build/components/sidebar-navigation-screen-templates-browse/content.js +25 -16
  89. package/build/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  90. package/build/components/sidebar-navigation-screen-templates-browse/index.js +1 -14
  91. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  92. package/build/components/site-editor-routes/{home-view.js → home.js} +7 -8
  93. package/build/components/site-editor-routes/home.js.map +1 -0
  94. package/build/components/site-editor-routes/index.js +12 -18
  95. package/build/components/site-editor-routes/index.js.map +1 -1
  96. package/build/components/site-editor-routes/navigation-item.js +49 -0
  97. package/build/components/site-editor-routes/navigation-item.js.map +1 -0
  98. package/build/components/{posts-app-routes/home.js → site-editor-routes/navigation.js} +16 -18
  99. package/build/components/site-editor-routes/navigation.js.map +1 -0
  100. package/build/components/site-editor-routes/{pages-edit.js → page-item.js} +10 -17
  101. package/build/components/site-editor-routes/page-item.js.map +1 -0
  102. package/build/components/site-editor-routes/pages.js +87 -0
  103. package/build/components/site-editor-routes/pages.js.map +1 -0
  104. package/build/components/site-editor-routes/{home-edit.js → pattern-item.js} +11 -11
  105. package/build/components/site-editor-routes/pattern-item.js.map +1 -0
  106. package/build/components/site-editor-routes/{patterns-view.js → patterns.js} +6 -9
  107. package/build/components/site-editor-routes/patterns.js.map +1 -0
  108. package/build/components/site-editor-routes/{styles-view.js → styles.js} +28 -9
  109. package/build/components/site-editor-routes/styles.js.map +1 -0
  110. package/build/components/site-editor-routes/{templates-edit.js → template-item.js} +6 -11
  111. package/build/components/site-editor-routes/template-item.js.map +1 -0
  112. package/build/components/site-editor-routes/{patterns-edit.js → template-part-item.js} +6 -11
  113. package/build/components/site-editor-routes/template-part-item.js.map +1 -0
  114. package/build/components/site-editor-routes/{templates-list-view.js → templates.js} +20 -13
  115. package/build/components/site-editor-routes/templates.js.map +1 -0
  116. package/build/components/site-hub/index.js +3 -3
  117. package/build/components/site-hub/index.js.map +1 -1
  118. package/build/components/style-book/constants.js +8 -19
  119. package/build/components/style-book/constants.js.map +1 -1
  120. package/build/components/style-book/index.js +5 -0
  121. package/build/components/style-book/index.js.map +1 -1
  122. package/build/hooks/commands/use-common-commands.js +12 -48
  123. package/build/hooks/commands/use-common-commands.js.map +1 -1
  124. package/build/hooks/commands/use-set-command-context.js +2 -2
  125. package/build/hooks/commands/use-set-command-context.js.map +1 -1
  126. package/build/store/private-actions.js +7 -0
  127. package/build/store/private-actions.js.map +1 -1
  128. package/build/store/reducer.js +2 -0
  129. package/build/store/reducer.js.map +1 -1
  130. package/build/utils/is-previewing-theme.js +1 -1
  131. package/build/utils/is-previewing-theme.js.map +1 -1
  132. package/build/utils/use-activate-theme.js +9 -8
  133. package/build/utils/use-activate-theme.js.map +1 -1
  134. package/build-module/components/add-new-pattern/index.js +3 -16
  135. package/build-module/components/add-new-pattern/index.js.map +1 -1
  136. package/build-module/components/add-new-template/index.js +1 -5
  137. package/build-module/components/add-new-template/index.js.map +1 -1
  138. package/build-module/components/app/index.js +33 -31
  139. package/build-module/components/app/index.js.map +1 -1
  140. package/build-module/components/block-editor/use-editor-iframe-props.js +8 -8
  141. package/build-module/components/block-editor/use-editor-iframe-props.js.map +1 -1
  142. package/build-module/components/block-editor/use-navigate-to-entity-record.js +1 -5
  143. package/build-module/components/block-editor/use-navigate-to-entity-record.js.map +1 -1
  144. package/build-module/components/block-editor/use-site-editor-settings.js +4 -4
  145. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  146. package/build-module/components/dataviews-actions/index.js +1 -5
  147. package/build-module/components/dataviews-actions/index.js.map +1 -1
  148. package/build-module/components/editor/index.js +38 -22
  149. package/build-module/components/editor/index.js.map +1 -1
  150. package/build-module/components/editor/use-editor-title.js +5 -0
  151. package/build-module/components/editor/use-editor-title.js.map +1 -1
  152. package/build-module/components/editor/use-resolve-edited-entity.js +19 -4
  153. package/build-module/components/editor/use-resolve-edited-entity.js.map +1 -1
  154. package/build-module/components/global-styles/font-library-modal/context.js +0 -1
  155. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  156. package/build-module/components/global-styles/font-library-modal/font-collection.js +37 -27
  157. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  158. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +0 -1
  159. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  160. package/build-module/components/global-styles/font-library-modal/upload-fonts.js +0 -1
  161. package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  162. package/build-module/components/global-styles-sidebar/index.js +5 -5
  163. package/build-module/components/global-styles-sidebar/index.js.map +1 -1
  164. package/build-module/components/layout/index.js +33 -15
  165. package/build-module/components/layout/index.js.map +1 -1
  166. package/build-module/components/page-patterns/delete-category-menu-item.js +1 -4
  167. package/build-module/components/page-patterns/delete-category-menu-item.js.map +1 -1
  168. package/build-module/components/page-patterns/fields.js +6 -11
  169. package/build-module/components/page-patterns/fields.js.map +1 -1
  170. package/build-module/components/page-patterns/index.js +14 -16
  171. package/build-module/components/page-patterns/index.js.map +1 -1
  172. package/build-module/components/page-templates/fields.js +7 -14
  173. package/build-module/components/page-templates/fields.js.map +1 -1
  174. package/build-module/components/page-templates/index.js +13 -12
  175. package/build-module/components/page-templates/index.js.map +1 -1
  176. package/build-module/components/post-edit/index.js +38 -3
  177. package/build-module/components/post-edit/index.js.map +1 -1
  178. package/build-module/components/post-list/index.js +25 -39
  179. package/build-module/components/post-list/index.js.map +1 -1
  180. package/build-module/components/posts-app/index.js +11 -17
  181. package/build-module/components/posts-app/index.js.map +1 -1
  182. package/build-module/components/posts-app-routes/index.js +3 -7
  183. package/build-module/components/posts-app-routes/index.js.map +1 -1
  184. package/build-module/components/posts-app-routes/{posts-edit.js → post-item.js} +8 -12
  185. package/build-module/components/posts-app-routes/post-item.js.map +1 -0
  186. package/build-module/components/posts-app-routes/posts.js +81 -0
  187. package/build-module/components/posts-app-routes/posts.js.map +1 -0
  188. package/build-module/components/resizable-frame/index.js +6 -5
  189. package/build-module/components/resizable-frame/index.js.map +1 -1
  190. package/build-module/components/save-panel/index.js +9 -6
  191. package/build-module/components/save-panel/index.js.map +1 -1
  192. package/build-module/components/sidebar-dataviews/add-new-view.js +7 -8
  193. package/build-module/components/sidebar-dataviews/add-new-view.js.map +1 -1
  194. package/build-module/components/sidebar-dataviews/dataview-item.js +5 -8
  195. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
  196. package/build-module/components/sidebar-dataviews/index.js +4 -3
  197. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  198. package/build-module/components/sidebar-global-styles-wrapper/index.js +18 -18
  199. package/build-module/components/sidebar-global-styles-wrapper/index.js.map +1 -1
  200. package/build-module/components/sidebar-navigation-item/index.js +8 -5
  201. package/build-module/components/sidebar-navigation-item/index.js.map +1 -1
  202. package/build-module/components/sidebar-navigation-screen/index.js +2 -2
  203. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  204. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +9 -20
  205. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  206. package/build-module/components/sidebar-navigation-screen-main/index.js +6 -14
  207. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  208. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -5
  209. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  210. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +2 -7
  211. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  212. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +1 -6
  213. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  214. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +14 -20
  215. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  216. package/build-module/components/sidebar-navigation-screen-patterns/category-item.js +5 -7
  217. package/build-module/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -1
  218. package/build-module/components/sidebar-navigation-screen-patterns/index.js +4 -5
  219. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  220. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +25 -16
  221. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  222. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +1 -14
  223. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  224. package/build-module/components/site-editor-routes/{home-edit.js → home.js} +5 -7
  225. package/build-module/components/site-editor-routes/home.js.map +1 -0
  226. package/build-module/components/site-editor-routes/index.js +12 -18
  227. package/build-module/components/site-editor-routes/index.js.map +1 -1
  228. package/build-module/components/site-editor-routes/navigation-item.js +41 -0
  229. package/build-module/components/site-editor-routes/navigation-item.js.map +1 -0
  230. package/build-module/components/site-editor-routes/navigation.js +38 -0
  231. package/build-module/components/site-editor-routes/navigation.js.map +1 -0
  232. package/build-module/components/site-editor-routes/{pages-edit.js → page-item.js} +9 -16
  233. package/build-module/components/site-editor-routes/page-item.js.map +1 -0
  234. package/build-module/components/site-editor-routes/pages.js +79 -0
  235. package/build-module/components/site-editor-routes/pages.js.map +1 -0
  236. package/build-module/components/site-editor-routes/pattern-item.js +18 -0
  237. package/build-module/components/site-editor-routes/pattern-item.js.map +1 -0
  238. package/build-module/components/site-editor-routes/{patterns-view.js → patterns.js} +5 -8
  239. package/build-module/components/site-editor-routes/patterns.js.map +1 -0
  240. package/build-module/components/site-editor-routes/styles.js +44 -0
  241. package/build-module/components/site-editor-routes/styles.js.map +1 -0
  242. package/build-module/components/site-editor-routes/{templates-edit.js → template-item.js} +5 -10
  243. package/build-module/components/site-editor-routes/template-item.js.map +1 -0
  244. package/build-module/components/site-editor-routes/template-part-item.js +18 -0
  245. package/build-module/components/site-editor-routes/template-part-item.js.map +1 -0
  246. package/build-module/components/site-editor-routes/templates.js +33 -0
  247. package/build-module/components/site-editor-routes/templates.js.map +1 -0
  248. package/build-module/components/site-hub/index.js +3 -3
  249. package/build-module/components/site-hub/index.js.map +1 -1
  250. package/build-module/components/style-book/constants.js +8 -19
  251. package/build-module/components/style-book/constants.js.map +1 -1
  252. package/build-module/components/style-book/index.js +5 -0
  253. package/build-module/components/style-book/index.js.map +1 -1
  254. package/build-module/hooks/commands/use-common-commands.js +12 -48
  255. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  256. package/build-module/hooks/commands/use-set-command-context.js +2 -2
  257. package/build-module/hooks/commands/use-set-command-context.js.map +1 -1
  258. package/build-module/store/private-actions.js +6 -0
  259. package/build-module/store/private-actions.js.map +1 -1
  260. package/build-module/store/reducer.js +2 -0
  261. package/build-module/store/reducer.js.map +1 -1
  262. package/build-module/utils/is-previewing-theme.js +1 -1
  263. package/build-module/utils/is-previewing-theme.js.map +1 -1
  264. package/build-module/utils/use-activate-theme.js +9 -8
  265. package/build-module/utils/use-activate-theme.js.map +1 -1
  266. package/build-style/style-rtl.css +94 -12
  267. package/build-style/style.css +94 -12
  268. package/package.json +40 -40
  269. package/src/components/add-new-pattern/index.js +9 -17
  270. package/src/components/add-new-template/index.js +3 -5
  271. package/src/components/app/index.js +34 -35
  272. package/src/components/block-editor/use-editor-iframe-props.js +5 -4
  273. package/src/components/block-editor/use-navigate-to-entity-record.js +3 -1
  274. package/src/components/block-editor/use-site-editor-settings.js +6 -6
  275. package/src/components/dataviews-actions/index.js +1 -5
  276. package/src/components/editor/index.js +64 -29
  277. package/src/components/editor/use-editor-title.js +4 -0
  278. package/src/components/editor/use-resolve-edited-entity.js +17 -2
  279. package/src/components/global-styles/font-library-modal/font-collection.js +40 -27
  280. package/src/components/global-styles/font-library-modal/style.scss +12 -5
  281. package/src/components/global-styles/style.scss +4 -0
  282. package/src/components/global-styles-sidebar/index.js +4 -4
  283. package/src/components/layout/index.js +36 -6
  284. package/src/components/page-patterns/delete-category-menu-item.js +3 -4
  285. package/src/components/page-patterns/fields.js +12 -11
  286. package/src/components/page-patterns/index.js +16 -14
  287. package/src/components/page-templates/fields.js +4 -15
  288. package/src/components/page-templates/index.js +18 -13
  289. package/src/components/post-edit/index.js +36 -2
  290. package/src/components/post-list/index.js +43 -39
  291. package/src/components/posts-app/index.js +9 -18
  292. package/src/components/posts-app-routes/index.js +3 -14
  293. package/src/components/posts-app-routes/{posts-edit.js → post-item.js} +5 -9
  294. package/src/components/posts-app-routes/posts.js +66 -0
  295. package/src/components/resizable-frame/index.js +6 -7
  296. package/src/components/save-panel/index.js +11 -5
  297. package/src/components/sidebar-dataviews/add-new-view.js +9 -9
  298. package/src/components/sidebar-dataviews/dataview-item.js +5 -8
  299. package/src/components/sidebar-dataviews/index.js +2 -2
  300. package/src/components/sidebar-dataviews/style.scss +2 -2
  301. package/src/components/sidebar-global-styles-wrapper/index.js +24 -30
  302. package/src/components/sidebar-navigation-item/index.js +7 -5
  303. package/src/components/sidebar-navigation-item/style.scss +1 -2
  304. package/src/components/sidebar-navigation-screen/index.js +2 -2
  305. package/src/components/sidebar-navigation-screen/style.scss +2 -2
  306. package/src/components/sidebar-navigation-screen-global-styles/index.js +13 -34
  307. package/src/components/sidebar-navigation-screen-main/index.js +6 -10
  308. package/src/components/sidebar-navigation-screen-navigation-menu/more-menu.js +3 -5
  309. package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +2 -2
  310. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +6 -6
  311. package/src/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +9 -21
  312. package/src/components/sidebar-navigation-screen-patterns/category-item.js +5 -20
  313. package/src/components/sidebar-navigation-screen-patterns/index.js +3 -4
  314. package/src/components/sidebar-navigation-screen-templates-browse/content.js +24 -18
  315. package/src/components/sidebar-navigation-screen-templates-browse/index.js +1 -14
  316. package/src/components/site-editor-routes/{home-view.js → home.js} +4 -5
  317. package/src/components/site-editor-routes/index.js +22 -34
  318. package/src/components/site-editor-routes/navigation-item.js +39 -0
  319. package/src/components/site-editor-routes/navigation.js +34 -0
  320. package/src/components/site-editor-routes/{pages-edit.js → page-item.js} +6 -14
  321. package/src/components/site-editor-routes/pages.js +66 -0
  322. package/src/components/site-editor-routes/pattern-item.js +15 -0
  323. package/src/components/site-editor-routes/patterns.js +15 -0
  324. package/src/components/site-editor-routes/styles.js +39 -0
  325. package/src/components/site-editor-routes/template-item.js +15 -0
  326. package/src/components/site-editor-routes/template-part-item.js +15 -0
  327. package/src/components/site-editor-routes/templates.js +26 -0
  328. package/src/components/site-hub/index.js +3 -6
  329. package/src/components/style-book/constants.ts +8 -19
  330. package/src/components/style-book/index.js +5 -0
  331. package/src/hooks/commands/use-common-commands.js +14 -72
  332. package/src/hooks/commands/use-set-command-context.js +2 -2
  333. package/src/store/private-actions.js +7 -0
  334. package/src/store/reducer.js +2 -0
  335. package/src/utils/is-previewing-theme.js +1 -3
  336. package/src/utils/use-activate-theme.js +4 -3
  337. package/build/components/layout/router.js +0 -92
  338. package/build/components/layout/router.js.map +0 -1
  339. package/build/components/posts-app-routes/home.js.map +0 -1
  340. package/build/components/posts-app-routes/posts-edit.js.map +0 -1
  341. package/build/components/posts-app-routes/posts-list-view-quick-edit.js +0 -63
  342. package/build/components/posts-app-routes/posts-list-view-quick-edit.js.map +0 -1
  343. package/build/components/posts-app-routes/posts-list-view.js +0 -48
  344. package/build/components/posts-app-routes/posts-list-view.js.map +0 -1
  345. package/build/components/posts-app-routes/posts-view-quick-edit.js +0 -60
  346. package/build/components/posts-app-routes/posts-view-quick-edit.js.map +0 -1
  347. package/build/components/posts-app-routes/posts-view.js +0 -41
  348. package/build/components/posts-app-routes/posts-view.js.map +0 -1
  349. package/build/components/routes/link.js +0 -69
  350. package/build/components/routes/link.js.map +0 -1
  351. package/build/components/site-editor-routes/home-edit.js.map +0 -1
  352. package/build/components/site-editor-routes/home-view.js.map +0 -1
  353. package/build/components/site-editor-routes/navigation-edit.js +0 -29
  354. package/build/components/site-editor-routes/navigation-edit.js.map +0 -1
  355. package/build/components/site-editor-routes/navigation-item-edit.js +0 -31
  356. package/build/components/site-editor-routes/navigation-item-edit.js.map +0 -1
  357. package/build/components/site-editor-routes/navigation-item-view.js +0 -30
  358. package/build/components/site-editor-routes/navigation-item-view.js.map +0 -1
  359. package/build/components/site-editor-routes/navigation-view.js +0 -28
  360. package/build/components/site-editor-routes/navigation-view.js.map +0 -1
  361. package/build/components/site-editor-routes/pages-edit.js.map +0 -1
  362. package/build/components/site-editor-routes/pages-list-view-quick-edit.js +0 -64
  363. package/build/components/site-editor-routes/pages-list-view-quick-edit.js.map +0 -1
  364. package/build/components/site-editor-routes/pages-list-view.js +0 -47
  365. package/build/components/site-editor-routes/pages-list-view.js.map +0 -1
  366. package/build/components/site-editor-routes/pages-view-quick-edit.js +0 -61
  367. package/build/components/site-editor-routes/pages-view-quick-edit.js.map +0 -1
  368. package/build/components/site-editor-routes/pages-view.js +0 -42
  369. package/build/components/site-editor-routes/pages-view.js.map +0 -1
  370. package/build/components/site-editor-routes/patterns-edit.js.map +0 -1
  371. package/build/components/site-editor-routes/patterns-view.js.map +0 -1
  372. package/build/components/site-editor-routes/styles-view.js.map +0 -1
  373. package/build/components/site-editor-routes/templates-edit.js.map +0 -1
  374. package/build/components/site-editor-routes/templates-list-view.js.map +0 -1
  375. package/build/components/site-editor-routes/templates-view.js +0 -29
  376. package/build/components/site-editor-routes/templates-view.js.map +0 -1
  377. package/build-module/components/layout/router.js +0 -84
  378. package/build-module/components/layout/router.js.map +0 -1
  379. package/build-module/components/posts-app-routes/home.js +0 -40
  380. package/build-module/components/posts-app-routes/home.js.map +0 -1
  381. package/build-module/components/posts-app-routes/posts-edit.js.map +0 -1
  382. package/build-module/components/posts-app-routes/posts-list-view-quick-edit.js +0 -55
  383. package/build-module/components/posts-app-routes/posts-list-view-quick-edit.js.map +0 -1
  384. package/build-module/components/posts-app-routes/posts-list-view.js +0 -40
  385. package/build-module/components/posts-app-routes/posts-list-view.js.map +0 -1
  386. package/build-module/components/posts-app-routes/posts-view-quick-edit.js +0 -52
  387. package/build-module/components/posts-app-routes/posts-view-quick-edit.js.map +0 -1
  388. package/build-module/components/posts-app-routes/posts-view.js +0 -33
  389. package/build-module/components/posts-app-routes/posts-view.js.map +0 -1
  390. package/build-module/components/routes/link.js +0 -61
  391. package/build-module/components/routes/link.js.map +0 -1
  392. package/build-module/components/site-editor-routes/home-edit.js.map +0 -1
  393. package/build-module/components/site-editor-routes/home-view.js +0 -17
  394. package/build-module/components/site-editor-routes/home-view.js.map +0 -1
  395. package/build-module/components/site-editor-routes/navigation-edit.js +0 -21
  396. package/build-module/components/site-editor-routes/navigation-edit.js.map +0 -1
  397. package/build-module/components/site-editor-routes/navigation-item-edit.js +0 -23
  398. package/build-module/components/site-editor-routes/navigation-item-edit.js.map +0 -1
  399. package/build-module/components/site-editor-routes/navigation-item-view.js +0 -22
  400. package/build-module/components/site-editor-routes/navigation-item-view.js.map +0 -1
  401. package/build-module/components/site-editor-routes/navigation-view.js +0 -20
  402. package/build-module/components/site-editor-routes/navigation-view.js.map +0 -1
  403. package/build-module/components/site-editor-routes/pages-edit.js.map +0 -1
  404. package/build-module/components/site-editor-routes/pages-list-view-quick-edit.js +0 -56
  405. package/build-module/components/site-editor-routes/pages-list-view-quick-edit.js.map +0 -1
  406. package/build-module/components/site-editor-routes/pages-list-view.js +0 -39
  407. package/build-module/components/site-editor-routes/pages-list-view.js.map +0 -1
  408. package/build-module/components/site-editor-routes/pages-view-quick-edit.js +0 -53
  409. package/build-module/components/site-editor-routes/pages-view-quick-edit.js.map +0 -1
  410. package/build-module/components/site-editor-routes/pages-view.js +0 -34
  411. package/build-module/components/site-editor-routes/pages-view.js.map +0 -1
  412. package/build-module/components/site-editor-routes/patterns-edit.js +0 -23
  413. package/build-module/components/site-editor-routes/patterns-edit.js.map +0 -1
  414. package/build-module/components/site-editor-routes/patterns-view.js.map +0 -1
  415. package/build-module/components/site-editor-routes/styles-view.js +0 -25
  416. package/build-module/components/site-editor-routes/styles-view.js.map +0 -1
  417. package/build-module/components/site-editor-routes/templates-edit.js.map +0 -1
  418. package/build-module/components/site-editor-routes/templates-list-view.js +0 -26
  419. package/build-module/components/site-editor-routes/templates-list-view.js.map +0 -1
  420. package/build-module/components/site-editor-routes/templates-view.js +0 -21
  421. package/build-module/components/site-editor-routes/templates-view.js.map +0 -1
  422. package/src/components/layout/router.js +0 -86
  423. package/src/components/posts-app-routes/home.js +0 -36
  424. package/src/components/posts-app-routes/posts-list-view-quick-edit.js +0 -52
  425. package/src/components/posts-app-routes/posts-list-view.js +0 -40
  426. package/src/components/posts-app-routes/posts-view-quick-edit.js +0 -49
  427. package/src/components/posts-app-routes/posts-view.js +0 -35
  428. package/src/components/routes/link.js +0 -68
  429. package/src/components/site-editor-routes/home-edit.js +0 -17
  430. package/src/components/site-editor-routes/navigation-edit.js +0 -22
  431. package/src/components/site-editor-routes/navigation-item-edit.js +0 -26
  432. package/src/components/site-editor-routes/navigation-item-view.js +0 -25
  433. package/src/components/site-editor-routes/navigation-view.js +0 -21
  434. package/src/components/site-editor-routes/pages-list-view-quick-edit.js +0 -56
  435. package/src/components/site-editor-routes/pages-list-view.js +0 -44
  436. package/src/components/site-editor-routes/pages-view-quick-edit.js +0 -53
  437. package/src/components/site-editor-routes/pages-view.js +0 -39
  438. package/src/components/site-editor-routes/patterns-edit.js +0 -24
  439. package/src/components/site-editor-routes/patterns-view.js +0 -22
  440. package/src/components/site-editor-routes/styles-view.js +0 -26
  441. package/src/components/site-editor-routes/templates-edit.js +0 -22
  442. package/src/components/site-editor-routes/templates-list-view.js +0 -28
  443. package/src/components/site-editor-routes/templates-view.js +0 -22
@@ -7,6 +7,7 @@ import { privateApis as corePrivateApis } from '@wordpress/core-data';
7
7
  import { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';
8
8
  import { privateApis as routerPrivateApis } from '@wordpress/router';
9
9
  import { privateApis as editorPrivateApis } from '@wordpress/editor';
10
+ import { addQueryArgs } from '@wordpress/url';
10
11
 
11
12
  /**
12
13
  * Internal dependencies
@@ -93,8 +94,8 @@ const DEFAULT_VIEW = {
93
94
  };
94
95
 
95
96
  export default function PageTemplates() {
96
- const { params } = useLocation();
97
- const { activeView = 'all', layout, postId } = params;
97
+ const { path, query } = useLocation();
98
+ const { activeView = 'all', layout, postId } = query;
98
99
  const [ selection, setSelection ] = useState( [ postId ] );
99
100
 
100
101
  const defaultView = useMemo( () => {
@@ -118,8 +119,10 @@ export default function PageTemplates() {
118
119
  }, [ layout, activeView ] );
119
120
  const [ view, setView ] = useState( defaultView );
120
121
  useEffect( () => {
122
+ const usedType = layout ?? DEFAULT_VIEW.type;
121
123
  setView( ( currentView ) => ( {
122
124
  ...currentView,
125
+ type: usedType,
123
126
  filters:
124
127
  activeView !== 'all'
125
128
  ? [
@@ -131,7 +134,7 @@ export default function PageTemplates() {
131
134
  ]
132
135
  : [],
133
136
  } ) );
134
- }, [ activeView ] );
137
+ }, [ activeView, layout ] );
135
138
 
136
139
  const { records, isResolving: isLoadingData } =
137
140
  useEntityRecordsWithPermissions( 'postType', TEMPLATE_POST_TYPE, {
@@ -142,13 +145,14 @@ export default function PageTemplates() {
142
145
  ( items ) => {
143
146
  setSelection( items );
144
147
  if ( view?.type === LAYOUT_LIST ) {
145
- history.push( {
146
- ...params,
147
- postId: items.length === 1 ? items[ 0 ] : undefined,
148
- } );
148
+ history.navigate(
149
+ addQueryArgs( path, {
150
+ postId: items.length === 1 ? items[ 0 ] : undefined,
151
+ } )
152
+ );
149
153
  }
150
154
  },
151
- [ history, params, view?.type ]
155
+ [ history, path, view?.type ]
152
156
  );
153
157
 
154
158
  const authors = useMemo( () => {
@@ -195,15 +199,16 @@ export default function PageTemplates() {
195
199
  const onChangeView = useCallback(
196
200
  ( newView ) => {
197
201
  if ( newView.type !== view.type ) {
198
- history.push( {
199
- ...params,
200
- layout: newView.type,
201
- } );
202
+ history.navigate(
203
+ addQueryArgs( path, {
204
+ layout: newView.type,
205
+ } )
206
+ );
202
207
  }
203
208
 
204
209
  setView( newView );
205
210
  },
206
- [ view.type, setView, history, params ]
211
+ [ view.type, setView, history, path ]
207
212
  );
208
213
 
209
214
  return (
@@ -19,6 +19,8 @@ import { privateApis as editorPrivateApis } from '@wordpress/editor';
19
19
  */
20
20
  import Page from '../page';
21
21
  import { unlock } from '../../lock-unlock';
22
+ import usePatternSettings from '../page-patterns/use-pattern-settings';
23
+ import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
22
24
 
23
25
  const { PostCardPanel, usePostFields } = unlock( editorPrivateApis );
24
26
 
@@ -49,7 +51,7 @@ function PostEditForm( { postType, postId } ) {
49
51
  );
50
52
  const [ multiEdits, setMultiEdits ] = useState( {} );
51
53
  const { editEntityRecord } = useDispatch( coreDataStore );
52
- const { fields: _fields } = usePostFields();
54
+ const { fields: _fields } = usePostFields( { postType } );
53
55
  const fields = useMemo(
54
56
  () =>
55
57
  _fields?.map( ( field ) => {
@@ -85,6 +87,12 @@ function PostEditForm( { postType, postId } ) {
85
87
  'slug',
86
88
  'parent',
87
89
  'comment_status',
90
+ {
91
+ label: __( 'Template' ),
92
+ labelPosition: 'side',
93
+ id: 'template',
94
+ layout: 'regular',
95
+ },
88
96
  ].filter(
89
97
  ( field ) =>
90
98
  ids.length === 1 ||
@@ -123,6 +131,32 @@ function PostEditForm( { postType, postId } ) {
123
131
  setMultiEdits( {} );
124
132
  }, [ ids ] );
125
133
 
134
+ const { ExperimentalBlockEditorProvider } = unlock(
135
+ blockEditorPrivateApis
136
+ );
137
+ const settings = usePatternSettings();
138
+
139
+ /**
140
+ * The template field depends on the block editor settings.
141
+ * This is a workaround to ensure that the block editor settings are available.
142
+ * For more information, see: https://github.com/WordPress/gutenberg/issues/67521
143
+ */
144
+ const fieldsWithDependency = useMemo( () => {
145
+ return fields.map( ( field ) => {
146
+ if ( field.id === 'template' ) {
147
+ return {
148
+ ...field,
149
+ Edit: ( data ) => (
150
+ <ExperimentalBlockEditorProvider settings={ settings }>
151
+ <field.Edit { ...data } />
152
+ </ExperimentalBlockEditorProvider>
153
+ ),
154
+ };
155
+ }
156
+ return field;
157
+ } );
158
+ }, [ fields, settings ] );
159
+
126
160
  return (
127
161
  <VStack spacing={ 4 }>
128
162
  { ids.length === 1 && (
@@ -130,7 +164,7 @@ function PostEditForm( { postType, postId } ) {
130
164
  ) }
131
165
  <DataForm
132
166
  data={ ids.length === 1 ? record : multiEdits }
133
- fields={ fields }
167
+ fields={ fieldsWithDependency }
134
168
  form={ form }
135
169
  onChange={ onChange }
136
170
  />
@@ -13,6 +13,8 @@ import { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';
13
13
  import { privateApis as editorPrivateApis } from '@wordpress/editor';
14
14
  import { __ } from '@wordpress/i18n';
15
15
  import { drawerRight } from '@wordpress/icons';
16
+ import { usePrevious } from '@wordpress/compose';
17
+ import { addQueryArgs } from '@wordpress/url';
16
18
 
17
19
  /**
18
20
  * Internal dependencies
@@ -31,7 +33,6 @@ import {
31
33
  import AddNewPostModal from '../add-new-post';
32
34
  import { unlock } from '../../lock-unlock';
33
35
  import { useEditPostAction } from '../dataviews-actions';
34
- import { usePrevious } from '@wordpress/compose';
35
36
 
36
37
  const { usePostActions, usePostFields } = unlock( editorPrivateApis );
37
38
  const { useLocation, useHistory } = unlock( routerPrivateApis );
@@ -70,7 +71,8 @@ const getCustomView = ( editedEntityRecord ) => {
70
71
  */
71
72
  function useView( postType ) {
72
73
  const {
73
- params: { activeView = 'all', isCustom = 'false', layout },
74
+ path,
75
+ query: { activeView = 'all', isCustom = 'false', layout },
74
76
  } = useLocation();
75
77
  const history = useHistory();
76
78
 
@@ -112,16 +114,15 @@ function useView( postType ) {
112
114
 
113
115
  const setViewWithUrlUpdate = useCallback(
114
116
  ( newView ) => {
115
- const { params } = history.getLocationWithParams();
116
-
117
- if ( newView.type === LAYOUT_LIST && ! params?.layout ) {
117
+ if ( newView.type === LAYOUT_LIST && ! layout ) {
118
118
  // Skip updating the layout URL param if
119
119
  // it is not present and the newView.type is LAYOUT_LIST.
120
- } else if ( newView.type !== params?.layout ) {
121
- history.push( {
122
- ...params,
123
- layout: newView.type,
124
- } );
120
+ } else if ( newView.type !== layout ) {
121
+ history.navigate(
122
+ addQueryArgs( path, {
123
+ layout: newView.type,
124
+ } )
125
+ );
125
126
  }
126
127
 
127
128
  setView( newView );
@@ -137,7 +138,14 @@ function useView( postType ) {
137
138
  );
138
139
  }
139
140
  },
140
- [ history, isCustom, editEntityRecord, editedEntityRecord?.id ]
141
+ [
142
+ history,
143
+ isCustom,
144
+ editEntityRecord,
145
+ editedEntityRecord?.id,
146
+ layout,
147
+ path,
148
+ ]
141
149
  );
142
150
 
143
151
  // When layout URL param changes, update the view type
@@ -186,20 +194,20 @@ export default function PostList( { postType } ) {
186
194
  quickEdit = false,
187
195
  isCustom,
188
196
  activeView = 'all',
189
- } = location.params;
197
+ } = location.query;
190
198
  const [ selection, setSelection ] = useState( postId?.split( ',' ) ?? [] );
191
199
  const onChangeSelection = useCallback(
192
200
  ( items ) => {
193
201
  setSelection( items );
194
- const { params } = history.getLocationWithParams();
195
- if ( ( params.isCustom ?? 'false' ) === 'false' ) {
196
- history.push( {
197
- ...params,
198
- postId: items.join( ',' ),
199
- } );
202
+ if ( ( location.query.isCustom ?? 'false' ) === 'false' ) {
203
+ history.navigate(
204
+ addQueryArgs( location.path, {
205
+ postId: items.join( ',' ),
206
+ } )
207
+ );
200
208
  }
201
209
  },
202
- [ history ]
210
+ [ location.path, location.query.isCustom, history ]
203
211
  );
204
212
 
205
213
  const getActiveViewFilters = ( views, match ) => {
@@ -207,7 +215,9 @@ export default function PostList( { postType } ) {
207
215
  return found?.filters ?? [];
208
216
  };
209
217
 
210
- const { isLoading: isLoadingFields, fields: _fields } = usePostFields();
218
+ const { isLoading: isLoadingFields, fields: _fields } = usePostFields( {
219
+ postType,
220
+ } );
211
221
  const fields = useMemo( () => {
212
222
  const activeViewFilters = getActiveViewFilters(
213
223
  defaultViews,
@@ -311,12 +321,13 @@ export default function PostList( { postType } ) {
311
321
 
312
322
  useEffect( () => {
313
323
  if ( postIdWasDeleted ) {
314
- history.push( {
315
- ...history.getLocationWithParams().params,
316
- postId: undefined,
317
- } );
324
+ history.navigate(
325
+ addQueryArgs( location.path, {
326
+ postId: undefined,
327
+ } )
328
+ );
318
329
  }
319
- }, [ postIdWasDeleted, history ] );
330
+ }, [ history, postIdWasDeleted, location.path ] );
320
331
 
321
332
  const paginationInfo = useMemo(
322
333
  () => ( {
@@ -355,11 +366,7 @@ export default function PostList( { postType } ) {
355
366
  const openModal = () => setShowAddPostModal( true );
356
367
  const closeModal = () => setShowAddPostModal( false );
357
368
  const handleNewPage = ( { type, id } ) => {
358
- history.push( {
359
- postId: id,
360
- postType: type,
361
- canvas: 'edit',
362
- } );
369
+ history.navigate( `/${ type }/${ id }?canvas=edit` );
363
370
  closeModal();
364
371
  };
365
372
 
@@ -401,11 +408,7 @@ export default function PostList( { postType } ) {
401
408
  onChangeSelection={ onChangeSelection }
402
409
  isItemClickable={ ( item ) => item.status !== 'trash' }
403
410
  onClickItem={ ( { id } ) => {
404
- history.push( {
405
- postId: id,
406
- postType,
407
- canvas: 'edit',
408
- } );
411
+ history.navigate( `/${ postType }/${ id }?canvas=edit` );
409
412
  } }
410
413
  getItemId={ getItemId }
411
414
  defaultLayouts={ defaultLayouts }
@@ -419,10 +422,11 @@ export default function PostList( { postType } ) {
419
422
  icon={ drawerRight }
420
423
  label={ __( 'Details' ) }
421
424
  onClick={ () => {
422
- history.push( {
423
- ...location.params,
424
- quickEdit: quickEdit ? undefined : true,
425
- } );
425
+ history.navigate(
426
+ addQueryArgs( location.path, {
427
+ quickEdit: quickEdit ? undefined : true,
428
+ } )
429
+ );
426
430
  } }
427
431
  />
428
432
  )
@@ -1,11 +1,8 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import {
5
- UnsavedChangesWarning,
6
- privateApis as editorPrivateApis,
7
- } from '@wordpress/editor';
8
4
  import { privateApis as routerPrivateApis } from '@wordpress/router';
5
+ import { useSelect } from '@wordpress/data';
9
6
 
10
7
  /**
11
8
  * Internal dependencies
@@ -13,24 +10,18 @@ import { privateApis as routerPrivateApis } from '@wordpress/router';
13
10
  import Layout from '../layout';
14
11
  import { useRegisterPostsAppRoutes } from '../posts-app-routes';
15
12
  import { unlock } from '../../lock-unlock';
16
- import useActiveRoute from '../layout/router';
13
+ import { store as editSiteStore } from '../../store';
17
14
 
18
15
  const { RouterProvider } = unlock( routerPrivateApis );
19
- const { GlobalStylesProvider } = unlock( editorPrivateApis );
20
-
21
- function PostsLayout() {
22
- useRegisterPostsAppRoutes();
23
- const route = useActiveRoute();
24
- return <Layout route={ route } />;
25
- }
26
16
 
27
17
  export default function PostsApp() {
18
+ useRegisterPostsAppRoutes();
19
+ const routes = useSelect( ( select ) => {
20
+ return unlock( select( editSiteStore ) ).getRoutes();
21
+ }, [] );
28
22
  return (
29
- <GlobalStylesProvider>
30
- <UnsavedChangesWarning />
31
- <RouterProvider>
32
- <PostsLayout />
33
- </RouterProvider>
34
- </GlobalStylesProvider>
23
+ <RouterProvider routes={ routes } pathArg="p">
24
+ <Layout />
25
+ </RouterProvider>
35
26
  );
36
27
  }
@@ -9,21 +9,10 @@ import { useEffect } from '@wordpress/element';
9
9
  */
10
10
  import { unlock } from '../../lock-unlock';
11
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';
12
+ import { postsRoute } from './posts';
13
+ import { postItemRoute } from './post-item';
18
14
 
19
- const routes = [
20
- postsListViewQuickEditRoute,
21
- postsListViewRoute,
22
- postsViewQuickEditRoute,
23
- postsViewRoute,
24
- postsEditRoute,
25
- homeRoute,
26
- ];
15
+ const routes = [ postItemRoute, postsRoute ];
27
16
 
28
17
  export function useRegisterPostsAppRoutes() {
29
18
  const registry = useRegistry();
@@ -6,25 +6,21 @@ import { __ } from '@wordpress/i18n';
6
6
  /**
7
7
  * Internal dependencies
8
8
  */
9
- import PostList from '../post-list';
9
+ import Editor from '../editor';
10
10
  import DataViewsSidebarContent from '../sidebar-dataviews';
11
11
  import SidebarNavigationScreen from '../sidebar-navigation-screen';
12
- import Editor from '../editor';
13
12
 
14
- export const postsEditRoute = {
15
- name: 'posts-edit',
16
- match: ( params ) => {
17
- return params.postType === 'post' && params.canvas === 'edit';
18
- },
13
+ export const postItemRoute = {
14
+ name: 'post-item',
15
+ path: '/post/:postId',
19
16
  areas: {
20
17
  sidebar: (
21
18
  <SidebarNavigationScreen
22
19
  title={ __( 'Posts' ) }
23
20
  isRoot
24
- content={ <DataViewsSidebarContent /> }
21
+ content={ <DataViewsSidebarContent postType="post" /> }
25
22
  />
26
23
  ),
27
- content: <PostList postType="post" />,
28
24
  mobile: <Editor isPostsList />,
29
25
  preview: <Editor isPostsList />,
30
26
  },
@@ -0,0 +1,66 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { privateApis as routerPrivateApis } from '@wordpress/router';
5
+ import { __ } from '@wordpress/i18n';
6
+
7
+ /**
8
+ * Internal dependencies
9
+ */
10
+ import Editor from '../editor';
11
+ import SidebarNavigationScreen from '../sidebar-navigation-screen';
12
+ import DataViewsSidebarContent from '../sidebar-dataviews';
13
+ import PostList from '../post-list';
14
+ import { unlock } from '../../lock-unlock';
15
+ import { PostEdit } from '../post-edit';
16
+
17
+ const { useLocation } = unlock( routerPrivateApis );
18
+
19
+ function MobilePostsView() {
20
+ const { query = {} } = useLocation();
21
+ const { canvas = 'view' } = query;
22
+
23
+ return canvas === 'edit' ? <Editor /> : <PostList postType="post" />;
24
+ }
25
+
26
+ export const postsRoute = {
27
+ name: 'posts',
28
+ path: '/',
29
+ areas: {
30
+ sidebar: (
31
+ <SidebarNavigationScreen
32
+ title={ __( 'Posts' ) }
33
+ isRoot
34
+ content={ <DataViewsSidebarContent postType="post" /> }
35
+ />
36
+ ),
37
+ content: <PostList postType="post" />,
38
+ preview( { query } ) {
39
+ const isListView =
40
+ ( query.layout === 'list' || ! query.layout ) &&
41
+ query.isCustom !== 'true';
42
+ return isListView ? <Editor isPostsList /> : undefined;
43
+ },
44
+ mobile: <MobilePostsView />,
45
+ edit( { query } ) {
46
+ const hasQuickEdit =
47
+ ( query.layout ?? 'list' ) === 'list' && !! query.quickEdit;
48
+ return hasQuickEdit ? (
49
+ <PostEdit postType="post" postId={ query.postId } />
50
+ ) : undefined;
51
+ },
52
+ },
53
+ widths: {
54
+ content( { query } ) {
55
+ const isListView =
56
+ ( query.layout === 'list' || ! query.layout ) &&
57
+ query.isCustom !== 'true';
58
+ return isListView ? 380 : undefined;
59
+ },
60
+ edit( { query } ) {
61
+ const hasQuickEdit =
62
+ ( query.layout ?? 'list' ) === 'list' && !! query.quickEdit;
63
+ return hasQuickEdit ? 380 : undefined;
64
+ },
65
+ },
66
+ };
@@ -20,6 +20,7 @@ import { privateApis as routerPrivateApis } from '@wordpress/router';
20
20
  * Internal dependencies
21
21
  */
22
22
  import { unlock } from '../../lock-unlock';
23
+ import { addQueryArgs } from '@wordpress/url';
23
24
 
24
25
  const { useLocation, useHistory } = unlock( routerPrivateApis );
25
26
 
@@ -88,8 +89,8 @@ function ResizableFrame( {
88
89
  innerContentStyle,
89
90
  } ) {
90
91
  const history = useHistory();
91
- const { params } = useLocation();
92
- const { canvas = 'view' } = params;
92
+ const { path, query } = useLocation();
93
+ const { canvas = 'view' } = query;
93
94
  const disableMotion = useReducedMotion();
94
95
  const [ frameSize, setFrameSize ] = useState( INITIAL_FRAME_SIZE );
95
96
  // The width of the resizable frame when a new resize gesture starts.
@@ -158,12 +159,10 @@ function ResizableFrame( {
158
159
  setFrameSize( INITIAL_FRAME_SIZE );
159
160
  } else {
160
161
  // Trigger full screen if the frame is resized far enough to the left.
161
- history.push(
162
- {
163
- ...params,
162
+ history.navigate(
163
+ addQueryArgs( path, {
164
164
  canvas: 'edit',
165
- },
166
- undefined,
165
+ } ),
167
166
  {
168
167
  transition: 'canvas-mode-edit-transition',
169
168
  }
@@ -31,7 +31,7 @@ const { EntitiesSavedStatesExtensible, NavigableRegion } =
31
31
  unlock( privateApis );
32
32
  const { useLocation } = unlock( routerPrivateApis );
33
33
 
34
- const EntitiesSavedStatesForPreview = ( { onClose } ) => {
34
+ const EntitiesSavedStatesForPreview = ( { onClose, renderDialog } ) => {
35
35
  const isDirtyProps = useEntitiesSavedStatesIsDirty();
36
36
  let activateSaveLabel;
37
37
  if ( isDirtyProps.isDirty ) {
@@ -75,14 +75,20 @@ const EntitiesSavedStatesForPreview = ( { onClose } ) => {
75
75
  onSave,
76
76
  saveEnabled: true,
77
77
  saveLabel: activateSaveLabel,
78
+ renderDialog,
78
79
  } }
79
80
  />
80
81
  );
81
82
  };
82
83
 
83
- const _EntitiesSavedStates = ( { onClose, renderDialog = undefined } ) => {
84
+ const _EntitiesSavedStates = ( { onClose, renderDialog } ) => {
84
85
  if ( isPreviewingTheme() ) {
85
- return <EntitiesSavedStatesForPreview onClose={ onClose } />;
86
+ return (
87
+ <EntitiesSavedStatesForPreview
88
+ onClose={ onClose }
89
+ renderDialog={ renderDialog }
90
+ />
91
+ );
86
92
  }
87
93
  return (
88
94
  <EntitiesSavedStates close={ onClose } renderDialog={ renderDialog } />
@@ -90,8 +96,8 @@ const _EntitiesSavedStates = ( { onClose, renderDialog = undefined } ) => {
90
96
  };
91
97
 
92
98
  export default function SavePanel() {
93
- const { params } = useLocation();
94
- const { canvas = 'view' } = params;
99
+ const { query } = useLocation();
100
+ const { canvas = 'view' } = query;
95
101
  const { isSaveViewOpen, isDirty, isSaving } = useSelect( ( select ) => {
96
102
  const {
97
103
  __experimentalGetDirtyEntityRecords,
@@ -14,6 +14,7 @@ import { store as coreStore } from '@wordpress/core-data';
14
14
  import { useState } from '@wordpress/element';
15
15
  import { plus } from '@wordpress/icons';
16
16
  import { privateApis as routerPrivateApis } from '@wordpress/router';
17
+ import { addQueryArgs } from '@wordpress/url';
17
18
 
18
19
  /**
19
20
  * Internal dependencies
@@ -22,10 +23,11 @@ import SidebarNavigationItem from '../sidebar-navigation-item';
22
23
  import { useDefaultViews } from './default-views';
23
24
  import { unlock } from '../../lock-unlock';
24
25
 
25
- const { useHistory } = unlock( routerPrivateApis );
26
+ const { useLocation, useHistory } = unlock( routerPrivateApis );
26
27
 
27
28
  function AddNewItemModalContent( { type, setIsAdding } ) {
28
29
  const history = useHistory();
30
+ const { path } = useLocation();
29
31
  const { saveEntityRecord } = useDispatch( coreStore );
30
32
  const [ title, setTitle ] = useState( '' );
31
33
  const [ isSaving, setIsSaving ] = useState( false );
@@ -64,14 +66,12 @@ function AddNewItemModalContent( { type, setIsAdding } ) {
64
66
  content: JSON.stringify( defaultViews[ 0 ].view ),
65
67
  }
66
68
  );
67
- const {
68
- params: { postType },
69
- } = history.getLocationWithParams();
70
- history.push( {
71
- postType,
72
- activeView: savedRecord.id,
73
- isCustom: 'true',
74
- } );
69
+ history.navigate(
70
+ addQueryArgs( path, {
71
+ activeView: savedRecord.id,
72
+ isCustom: 'true',
73
+ } )
74
+ );
75
75
  setIsSaving( false );
76
76
  setIsAdding( false );
77
77
  } }
@@ -9,11 +9,11 @@ import clsx from 'clsx';
9
9
  import { privateApis as routerPrivateApis } from '@wordpress/router';
10
10
  import { __experimentalHStack as HStack } from '@wordpress/components';
11
11
  import { VIEW_LAYOUTS } from '@wordpress/dataviews';
12
+ import { addQueryArgs } from '@wordpress/url';
12
13
 
13
14
  /**
14
15
  * Internal dependencies
15
16
  */
16
- import { useLink } from '../routes/link';
17
17
  import SidebarNavigationItem from '../sidebar-navigation-item';
18
18
  import { unlock } from '../../lock-unlock';
19
19
  const { useLocation } = unlock( routerPrivateApis );
@@ -28,9 +28,7 @@ export default function DataViewItem( {
28
28
  isCustom,
29
29
  suffix,
30
30
  } ) {
31
- const {
32
- params: { postType },
33
- } = useLocation();
31
+ const { path } = useLocation();
34
32
 
35
33
  const iconToUse =
36
34
  icon || VIEW_LAYOUTS.find( ( v ) => v.type === type ).icon;
@@ -39,12 +37,11 @@ export default function DataViewItem( {
39
37
  if ( activeView === 'all' ) {
40
38
  activeView = undefined;
41
39
  }
42
- const linkInfo = useLink( {
43
- postType,
40
+ const query = {
44
41
  layout: type,
45
42
  activeView,
46
43
  isCustom: isCustom ? 'true' : undefined,
47
- } );
44
+ };
48
45
  return (
49
46
  <HStack
50
47
  justify="flex-start"
@@ -54,7 +51,7 @@ export default function DataViewItem( {
54
51
  >
55
52
  <SidebarNavigationItem
56
53
  icon={ iconToUse }
57
- { ...linkInfo }
54
+ to={ addQueryArgs( path, query ) }
58
55
  aria-current={ isActive ? 'true' : undefined }
59
56
  >
60
57
  { title }
@@ -14,9 +14,9 @@ import CustomDataViewsList from './custom-dataviews-list';
14
14
 
15
15
  const { useLocation } = unlock( routerPrivateApis );
16
16
 
17
- export default function DataViewsSidebarContent() {
17
+ export default function DataViewsSidebarContent( { postType } ) {
18
18
  const {
19
- params: { postType, activeView = 'all', isCustom = 'false' },
19
+ query: { activeView = 'all', isCustom = 'false' },
20
20
  } = useLocation();
21
21
  const defaultViews = useDefaultViews( { postType } );
22
22
  if ( ! postType ) {
@@ -19,11 +19,11 @@
19
19
  &:focus,
20
20
  &[aria-current] {
21
21
  color: $gray-200;
22
- background: $gray-800;
23
22
  }
24
23
 
25
24
  &.is-selected {
26
- background: var(--wp-admin-theme-color);
25
+ background: $gray-800;
26
+ font-weight: $font-weight-medium;
27
27
  color: $white;
28
28
  }
29
29
  }