@wordpress/edit-site 6.13.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 (442) hide show
  1. package/build/components/add-new-pattern/index.js +3 -16
  2. package/build/components/add-new-pattern/index.js.map +1 -1
  3. package/build/components/add-new-template/index.js +1 -5
  4. package/build/components/add-new-template/index.js.map +1 -1
  5. package/build/components/app/index.js +31 -29
  6. package/build/components/app/index.js.map +1 -1
  7. package/build/components/block-editor/use-editor-iframe-props.js +8 -8
  8. package/build/components/block-editor/use-editor-iframe-props.js.map +1 -1
  9. package/build/components/block-editor/use-navigate-to-entity-record.js +1 -5
  10. package/build/components/block-editor/use-navigate-to-entity-record.js.map +1 -1
  11. package/build/components/block-editor/use-site-editor-settings.js +4 -4
  12. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  13. package/build/components/dataviews-actions/index.js +1 -5
  14. package/build/components/dataviews-actions/index.js.map +1 -1
  15. package/build/components/editor/index.js +38 -22
  16. package/build/components/editor/index.js.map +1 -1
  17. package/build/components/editor/use-editor-title.js +5 -0
  18. package/build/components/editor/use-editor-title.js.map +1 -1
  19. package/build/components/editor/use-resolve-edited-entity.js +19 -4
  20. package/build/components/editor/use-resolve-edited-entity.js.map +1 -1
  21. package/build/components/global-styles/font-library-modal/context.js +0 -1
  22. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  23. package/build/components/global-styles/font-library-modal/font-collection.js +36 -26
  24. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  25. package/build/components/global-styles/font-library-modal/installed-fonts.js +0 -1
  26. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  27. package/build/components/global-styles/font-library-modal/upload-fonts.js +0 -1
  28. package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  29. package/build/components/global-styles-sidebar/index.js +5 -5
  30. package/build/components/global-styles-sidebar/index.js.map +1 -1
  31. package/build/components/layout/index.js +31 -13
  32. package/build/components/layout/index.js.map +1 -1
  33. package/build/components/page-patterns/delete-category-menu-item.js +1 -4
  34. package/build/components/page-patterns/delete-category-menu-item.js.map +1 -1
  35. package/build/components/page-patterns/fields.js +6 -11
  36. package/build/components/page-patterns/fields.js.map +1 -1
  37. package/build/components/page-patterns/index.js +14 -16
  38. package/build/components/page-patterns/index.js.map +1 -1
  39. package/build/components/page-templates/fields.js +8 -17
  40. package/build/components/page-templates/fields.js.map +1 -1
  41. package/build/components/page-templates/index.js +13 -12
  42. package/build/components/page-templates/index.js.map +1 -1
  43. package/build/components/post-edit/index.js +38 -3
  44. package/build/components/post-edit/index.js.map +1 -1
  45. package/build/components/post-list/index.js +25 -39
  46. package/build/components/post-list/index.js.map +1 -1
  47. package/build/components/posts-app/index.js +10 -16
  48. package/build/components/posts-app/index.js.map +1 -1
  49. package/build/components/posts-app-routes/index.js +3 -7
  50. package/build/components/posts-app-routes/index.js.map +1 -1
  51. package/build/components/posts-app-routes/{posts-edit.js → post-item.js} +9 -13
  52. package/build/components/posts-app-routes/post-item.js.map +1 -0
  53. package/build/components/posts-app-routes/posts.js +89 -0
  54. package/build/components/posts-app-routes/posts.js.map +1 -0
  55. package/build/components/resizable-frame/index.js +6 -5
  56. package/build/components/resizable-frame/index.js.map +1 -1
  57. package/build/components/save-panel/index.js +9 -6
  58. package/build/components/save-panel/index.js.map +1 -1
  59. package/build/components/sidebar-dataviews/add-new-view.js +7 -8
  60. package/build/components/sidebar-dataviews/add-new-view.js.map +1 -1
  61. package/build/components/sidebar-dataviews/dataview-item.js +5 -8
  62. package/build/components/sidebar-dataviews/dataview-item.js.map +1 -1
  63. package/build/components/sidebar-dataviews/index.js +4 -3
  64. package/build/components/sidebar-dataviews/index.js.map +1 -1
  65. package/build/components/sidebar-global-styles-wrapper/index.js +18 -18
  66. package/build/components/sidebar-global-styles-wrapper/index.js.map +1 -1
  67. package/build/components/sidebar-navigation-item/index.js +8 -5
  68. package/build/components/sidebar-navigation-item/index.js.map +1 -1
  69. package/build/components/sidebar-navigation-screen/index.js +2 -2
  70. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  71. package/build/components/sidebar-navigation-screen-global-styles/index.js +8 -19
  72. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  73. package/build/components/sidebar-navigation-screen-main/index.js +6 -14
  74. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  75. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -5
  76. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  77. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +2 -7
  78. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  79. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +1 -6
  80. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  81. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +14 -20
  82. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  83. package/build/components/sidebar-navigation-screen-patterns/category-item.js +5 -7
  84. package/build/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -1
  85. package/build/components/sidebar-navigation-screen-patterns/index.js +4 -5
  86. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  87. package/build/components/sidebar-navigation-screen-templates-browse/content.js +25 -16
  88. package/build/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  89. package/build/components/sidebar-navigation-screen-templates-browse/index.js +1 -14
  90. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  91. package/build/components/site-editor-routes/{home-view.js → home.js} +7 -8
  92. package/build/components/site-editor-routes/home.js.map +1 -0
  93. package/build/components/site-editor-routes/index.js +12 -18
  94. package/build/components/site-editor-routes/index.js.map +1 -1
  95. package/build/components/site-editor-routes/navigation-item.js +49 -0
  96. package/build/components/site-editor-routes/navigation-item.js.map +1 -0
  97. package/build/components/{posts-app-routes/home.js → site-editor-routes/navigation.js} +16 -18
  98. package/build/components/site-editor-routes/navigation.js.map +1 -0
  99. package/build/components/site-editor-routes/{pages-edit.js → page-item.js} +10 -17
  100. package/build/components/site-editor-routes/page-item.js.map +1 -0
  101. package/build/components/site-editor-routes/pages.js +87 -0
  102. package/build/components/site-editor-routes/pages.js.map +1 -0
  103. package/build/components/site-editor-routes/{home-edit.js → pattern-item.js} +11 -11
  104. package/build/components/site-editor-routes/pattern-item.js.map +1 -0
  105. package/build/components/site-editor-routes/{patterns-view.js → patterns.js} +6 -9
  106. package/build/components/site-editor-routes/patterns.js.map +1 -0
  107. package/build/components/site-editor-routes/{styles-view.js → styles.js} +28 -9
  108. package/build/components/site-editor-routes/styles.js.map +1 -0
  109. package/build/components/site-editor-routes/{templates-edit.js → template-item.js} +6 -11
  110. package/build/components/site-editor-routes/template-item.js.map +1 -0
  111. package/build/components/site-editor-routes/{patterns-edit.js → template-part-item.js} +6 -11
  112. package/build/components/site-editor-routes/template-part-item.js.map +1 -0
  113. package/build/components/site-editor-routes/{templates-list-view.js → templates.js} +20 -13
  114. package/build/components/site-editor-routes/templates.js.map +1 -0
  115. package/build/components/site-hub/index.js +3 -3
  116. package/build/components/site-hub/index.js.map +1 -1
  117. package/build/components/style-book/constants.js +8 -19
  118. package/build/components/style-book/constants.js.map +1 -1
  119. package/build/components/style-book/index.js +5 -0
  120. package/build/components/style-book/index.js.map +1 -1
  121. package/build/hooks/commands/use-common-commands.js +12 -48
  122. package/build/hooks/commands/use-common-commands.js.map +1 -1
  123. package/build/hooks/commands/use-set-command-context.js +2 -2
  124. package/build/hooks/commands/use-set-command-context.js.map +1 -1
  125. package/build/store/private-actions.js +7 -0
  126. package/build/store/private-actions.js.map +1 -1
  127. package/build/store/reducer.js +2 -0
  128. package/build/store/reducer.js.map +1 -1
  129. package/build/utils/is-previewing-theme.js +1 -1
  130. package/build/utils/is-previewing-theme.js.map +1 -1
  131. package/build/utils/use-activate-theme.js +9 -8
  132. package/build/utils/use-activate-theme.js.map +1 -1
  133. package/build-module/components/add-new-pattern/index.js +3 -16
  134. package/build-module/components/add-new-pattern/index.js.map +1 -1
  135. package/build-module/components/add-new-template/index.js +1 -5
  136. package/build-module/components/add-new-template/index.js.map +1 -1
  137. package/build-module/components/app/index.js +33 -31
  138. package/build-module/components/app/index.js.map +1 -1
  139. package/build-module/components/block-editor/use-editor-iframe-props.js +8 -8
  140. package/build-module/components/block-editor/use-editor-iframe-props.js.map +1 -1
  141. package/build-module/components/block-editor/use-navigate-to-entity-record.js +1 -5
  142. package/build-module/components/block-editor/use-navigate-to-entity-record.js.map +1 -1
  143. package/build-module/components/block-editor/use-site-editor-settings.js +4 -4
  144. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  145. package/build-module/components/dataviews-actions/index.js +1 -5
  146. package/build-module/components/dataviews-actions/index.js.map +1 -1
  147. package/build-module/components/editor/index.js +38 -22
  148. package/build-module/components/editor/index.js.map +1 -1
  149. package/build-module/components/editor/use-editor-title.js +5 -0
  150. package/build-module/components/editor/use-editor-title.js.map +1 -1
  151. package/build-module/components/editor/use-resolve-edited-entity.js +19 -4
  152. package/build-module/components/editor/use-resolve-edited-entity.js.map +1 -1
  153. package/build-module/components/global-styles/font-library-modal/context.js +0 -1
  154. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  155. package/build-module/components/global-styles/font-library-modal/font-collection.js +37 -27
  156. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  157. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +0 -1
  158. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  159. package/build-module/components/global-styles/font-library-modal/upload-fonts.js +0 -1
  160. package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  161. package/build-module/components/global-styles-sidebar/index.js +5 -5
  162. package/build-module/components/global-styles-sidebar/index.js.map +1 -1
  163. package/build-module/components/layout/index.js +33 -15
  164. package/build-module/components/layout/index.js.map +1 -1
  165. package/build-module/components/page-patterns/delete-category-menu-item.js +1 -4
  166. package/build-module/components/page-patterns/delete-category-menu-item.js.map +1 -1
  167. package/build-module/components/page-patterns/fields.js +6 -11
  168. package/build-module/components/page-patterns/fields.js.map +1 -1
  169. package/build-module/components/page-patterns/index.js +14 -16
  170. package/build-module/components/page-patterns/index.js.map +1 -1
  171. package/build-module/components/page-templates/fields.js +7 -14
  172. package/build-module/components/page-templates/fields.js.map +1 -1
  173. package/build-module/components/page-templates/index.js +13 -12
  174. package/build-module/components/page-templates/index.js.map +1 -1
  175. package/build-module/components/post-edit/index.js +38 -3
  176. package/build-module/components/post-edit/index.js.map +1 -1
  177. package/build-module/components/post-list/index.js +25 -39
  178. package/build-module/components/post-list/index.js.map +1 -1
  179. package/build-module/components/posts-app/index.js +11 -17
  180. package/build-module/components/posts-app/index.js.map +1 -1
  181. package/build-module/components/posts-app-routes/index.js +3 -7
  182. package/build-module/components/posts-app-routes/index.js.map +1 -1
  183. package/build-module/components/posts-app-routes/{posts-edit.js → post-item.js} +8 -12
  184. package/build-module/components/posts-app-routes/post-item.js.map +1 -0
  185. package/build-module/components/posts-app-routes/posts.js +81 -0
  186. package/build-module/components/posts-app-routes/posts.js.map +1 -0
  187. package/build-module/components/resizable-frame/index.js +6 -5
  188. package/build-module/components/resizable-frame/index.js.map +1 -1
  189. package/build-module/components/save-panel/index.js +9 -6
  190. package/build-module/components/save-panel/index.js.map +1 -1
  191. package/build-module/components/sidebar-dataviews/add-new-view.js +7 -8
  192. package/build-module/components/sidebar-dataviews/add-new-view.js.map +1 -1
  193. package/build-module/components/sidebar-dataviews/dataview-item.js +5 -8
  194. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
  195. package/build-module/components/sidebar-dataviews/index.js +4 -3
  196. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  197. package/build-module/components/sidebar-global-styles-wrapper/index.js +18 -18
  198. package/build-module/components/sidebar-global-styles-wrapper/index.js.map +1 -1
  199. package/build-module/components/sidebar-navigation-item/index.js +8 -5
  200. package/build-module/components/sidebar-navigation-item/index.js.map +1 -1
  201. package/build-module/components/sidebar-navigation-screen/index.js +2 -2
  202. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  203. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +9 -20
  204. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  205. package/build-module/components/sidebar-navigation-screen-main/index.js +6 -14
  206. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  207. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -5
  208. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  209. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +2 -7
  210. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  211. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +1 -6
  212. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  213. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +14 -20
  214. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  215. package/build-module/components/sidebar-navigation-screen-patterns/category-item.js +5 -7
  216. package/build-module/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -1
  217. package/build-module/components/sidebar-navigation-screen-patterns/index.js +4 -5
  218. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  219. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +25 -16
  220. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  221. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +1 -14
  222. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  223. package/build-module/components/site-editor-routes/{home-edit.js → home.js} +5 -7
  224. package/build-module/components/site-editor-routes/home.js.map +1 -0
  225. package/build-module/components/site-editor-routes/index.js +12 -18
  226. package/build-module/components/site-editor-routes/index.js.map +1 -1
  227. package/build-module/components/site-editor-routes/navigation-item.js +41 -0
  228. package/build-module/components/site-editor-routes/navigation-item.js.map +1 -0
  229. package/build-module/components/site-editor-routes/navigation.js +38 -0
  230. package/build-module/components/site-editor-routes/navigation.js.map +1 -0
  231. package/build-module/components/site-editor-routes/{pages-edit.js → page-item.js} +9 -16
  232. package/build-module/components/site-editor-routes/page-item.js.map +1 -0
  233. package/build-module/components/site-editor-routes/pages.js +79 -0
  234. package/build-module/components/site-editor-routes/pages.js.map +1 -0
  235. package/build-module/components/site-editor-routes/pattern-item.js +18 -0
  236. package/build-module/components/site-editor-routes/pattern-item.js.map +1 -0
  237. package/build-module/components/site-editor-routes/{patterns-view.js → patterns.js} +5 -8
  238. package/build-module/components/site-editor-routes/patterns.js.map +1 -0
  239. package/build-module/components/site-editor-routes/styles.js +44 -0
  240. package/build-module/components/site-editor-routes/styles.js.map +1 -0
  241. package/build-module/components/site-editor-routes/{templates-edit.js → template-item.js} +5 -10
  242. package/build-module/components/site-editor-routes/template-item.js.map +1 -0
  243. package/build-module/components/site-editor-routes/template-part-item.js +18 -0
  244. package/build-module/components/site-editor-routes/template-part-item.js.map +1 -0
  245. package/build-module/components/site-editor-routes/templates.js +33 -0
  246. package/build-module/components/site-editor-routes/templates.js.map +1 -0
  247. package/build-module/components/site-hub/index.js +3 -3
  248. package/build-module/components/site-hub/index.js.map +1 -1
  249. package/build-module/components/style-book/constants.js +8 -19
  250. package/build-module/components/style-book/constants.js.map +1 -1
  251. package/build-module/components/style-book/index.js +5 -0
  252. package/build-module/components/style-book/index.js.map +1 -1
  253. package/build-module/hooks/commands/use-common-commands.js +12 -48
  254. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  255. package/build-module/hooks/commands/use-set-command-context.js +2 -2
  256. package/build-module/hooks/commands/use-set-command-context.js.map +1 -1
  257. package/build-module/store/private-actions.js +6 -0
  258. package/build-module/store/private-actions.js.map +1 -1
  259. package/build-module/store/reducer.js +2 -0
  260. package/build-module/store/reducer.js.map +1 -1
  261. package/build-module/utils/is-previewing-theme.js +1 -1
  262. package/build-module/utils/is-previewing-theme.js.map +1 -1
  263. package/build-module/utils/use-activate-theme.js +9 -8
  264. package/build-module/utils/use-activate-theme.js.map +1 -1
  265. package/build-style/style-rtl.css +94 -12
  266. package/build-style/style.css +94 -12
  267. package/package.json +40 -40
  268. package/src/components/add-new-pattern/index.js +9 -17
  269. package/src/components/add-new-template/index.js +3 -5
  270. package/src/components/app/index.js +34 -35
  271. package/src/components/block-editor/use-editor-iframe-props.js +5 -4
  272. package/src/components/block-editor/use-navigate-to-entity-record.js +3 -1
  273. package/src/components/block-editor/use-site-editor-settings.js +6 -6
  274. package/src/components/dataviews-actions/index.js +1 -5
  275. package/src/components/editor/index.js +64 -29
  276. package/src/components/editor/use-editor-title.js +4 -0
  277. package/src/components/editor/use-resolve-edited-entity.js +17 -2
  278. package/src/components/global-styles/font-library-modal/font-collection.js +40 -27
  279. package/src/components/global-styles/font-library-modal/style.scss +12 -5
  280. package/src/components/global-styles/style.scss +4 -0
  281. package/src/components/global-styles-sidebar/index.js +4 -4
  282. package/src/components/layout/index.js +36 -6
  283. package/src/components/page-patterns/delete-category-menu-item.js +3 -4
  284. package/src/components/page-patterns/fields.js +12 -11
  285. package/src/components/page-patterns/index.js +16 -14
  286. package/src/components/page-templates/fields.js +4 -15
  287. package/src/components/page-templates/index.js +18 -13
  288. package/src/components/post-edit/index.js +36 -2
  289. package/src/components/post-list/index.js +43 -39
  290. package/src/components/posts-app/index.js +9 -18
  291. package/src/components/posts-app-routes/index.js +3 -14
  292. package/src/components/posts-app-routes/{posts-edit.js → post-item.js} +5 -9
  293. package/src/components/posts-app-routes/posts.js +66 -0
  294. package/src/components/resizable-frame/index.js +6 -7
  295. package/src/components/save-panel/index.js +11 -5
  296. package/src/components/sidebar-dataviews/add-new-view.js +9 -9
  297. package/src/components/sidebar-dataviews/dataview-item.js +5 -8
  298. package/src/components/sidebar-dataviews/index.js +2 -2
  299. package/src/components/sidebar-dataviews/style.scss +2 -2
  300. package/src/components/sidebar-global-styles-wrapper/index.js +24 -30
  301. package/src/components/sidebar-navigation-item/index.js +7 -5
  302. package/src/components/sidebar-navigation-item/style.scss +1 -2
  303. package/src/components/sidebar-navigation-screen/index.js +2 -2
  304. package/src/components/sidebar-navigation-screen/style.scss +2 -2
  305. package/src/components/sidebar-navigation-screen-global-styles/index.js +13 -34
  306. package/src/components/sidebar-navigation-screen-main/index.js +6 -10
  307. package/src/components/sidebar-navigation-screen-navigation-menu/more-menu.js +3 -5
  308. package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +2 -2
  309. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +6 -6
  310. package/src/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +9 -21
  311. package/src/components/sidebar-navigation-screen-patterns/category-item.js +5 -20
  312. package/src/components/sidebar-navigation-screen-patterns/index.js +3 -4
  313. package/src/components/sidebar-navigation-screen-templates-browse/content.js +24 -18
  314. package/src/components/sidebar-navigation-screen-templates-browse/index.js +1 -14
  315. package/src/components/site-editor-routes/{home-view.js → home.js} +4 -5
  316. package/src/components/site-editor-routes/index.js +22 -34
  317. package/src/components/site-editor-routes/navigation-item.js +39 -0
  318. package/src/components/site-editor-routes/navigation.js +34 -0
  319. package/src/components/site-editor-routes/{pages-edit.js → page-item.js} +6 -14
  320. package/src/components/site-editor-routes/pages.js +66 -0
  321. package/src/components/site-editor-routes/pattern-item.js +15 -0
  322. package/src/components/site-editor-routes/patterns.js +15 -0
  323. package/src/components/site-editor-routes/styles.js +39 -0
  324. package/src/components/site-editor-routes/template-item.js +15 -0
  325. package/src/components/site-editor-routes/template-part-item.js +15 -0
  326. package/src/components/site-editor-routes/templates.js +26 -0
  327. package/src/components/site-hub/index.js +3 -6
  328. package/src/components/style-book/constants.ts +8 -19
  329. package/src/components/style-book/index.js +5 -0
  330. package/src/hooks/commands/use-common-commands.js +14 -72
  331. package/src/hooks/commands/use-set-command-context.js +2 -2
  332. package/src/store/private-actions.js +7 -0
  333. package/src/store/reducer.js +2 -0
  334. package/src/utils/is-previewing-theme.js +1 -3
  335. package/src/utils/use-activate-theme.js +4 -3
  336. package/build/components/layout/router.js +0 -92
  337. package/build/components/layout/router.js.map +0 -1
  338. package/build/components/posts-app-routes/home.js.map +0 -1
  339. package/build/components/posts-app-routes/posts-edit.js.map +0 -1
  340. package/build/components/posts-app-routes/posts-list-view-quick-edit.js +0 -63
  341. package/build/components/posts-app-routes/posts-list-view-quick-edit.js.map +0 -1
  342. package/build/components/posts-app-routes/posts-list-view.js +0 -48
  343. package/build/components/posts-app-routes/posts-list-view.js.map +0 -1
  344. package/build/components/posts-app-routes/posts-view-quick-edit.js +0 -60
  345. package/build/components/posts-app-routes/posts-view-quick-edit.js.map +0 -1
  346. package/build/components/posts-app-routes/posts-view.js +0 -41
  347. package/build/components/posts-app-routes/posts-view.js.map +0 -1
  348. package/build/components/routes/link.js +0 -69
  349. package/build/components/routes/link.js.map +0 -1
  350. package/build/components/site-editor-routes/home-edit.js.map +0 -1
  351. package/build/components/site-editor-routes/home-view.js.map +0 -1
  352. package/build/components/site-editor-routes/navigation-edit.js +0 -29
  353. package/build/components/site-editor-routes/navigation-edit.js.map +0 -1
  354. package/build/components/site-editor-routes/navigation-item-edit.js +0 -31
  355. package/build/components/site-editor-routes/navigation-item-edit.js.map +0 -1
  356. package/build/components/site-editor-routes/navigation-item-view.js +0 -30
  357. package/build/components/site-editor-routes/navigation-item-view.js.map +0 -1
  358. package/build/components/site-editor-routes/navigation-view.js +0 -28
  359. package/build/components/site-editor-routes/navigation-view.js.map +0 -1
  360. package/build/components/site-editor-routes/pages-edit.js.map +0 -1
  361. package/build/components/site-editor-routes/pages-list-view-quick-edit.js +0 -64
  362. package/build/components/site-editor-routes/pages-list-view-quick-edit.js.map +0 -1
  363. package/build/components/site-editor-routes/pages-list-view.js +0 -47
  364. package/build/components/site-editor-routes/pages-list-view.js.map +0 -1
  365. package/build/components/site-editor-routes/pages-view-quick-edit.js +0 -61
  366. package/build/components/site-editor-routes/pages-view-quick-edit.js.map +0 -1
  367. package/build/components/site-editor-routes/pages-view.js +0 -42
  368. package/build/components/site-editor-routes/pages-view.js.map +0 -1
  369. package/build/components/site-editor-routes/patterns-edit.js.map +0 -1
  370. package/build/components/site-editor-routes/patterns-view.js.map +0 -1
  371. package/build/components/site-editor-routes/styles-view.js.map +0 -1
  372. package/build/components/site-editor-routes/templates-edit.js.map +0 -1
  373. package/build/components/site-editor-routes/templates-list-view.js.map +0 -1
  374. package/build/components/site-editor-routes/templates-view.js +0 -29
  375. package/build/components/site-editor-routes/templates-view.js.map +0 -1
  376. package/build-module/components/layout/router.js +0 -84
  377. package/build-module/components/layout/router.js.map +0 -1
  378. package/build-module/components/posts-app-routes/home.js +0 -40
  379. package/build-module/components/posts-app-routes/home.js.map +0 -1
  380. package/build-module/components/posts-app-routes/posts-edit.js.map +0 -1
  381. package/build-module/components/posts-app-routes/posts-list-view-quick-edit.js +0 -55
  382. package/build-module/components/posts-app-routes/posts-list-view-quick-edit.js.map +0 -1
  383. package/build-module/components/posts-app-routes/posts-list-view.js +0 -40
  384. package/build-module/components/posts-app-routes/posts-list-view.js.map +0 -1
  385. package/build-module/components/posts-app-routes/posts-view-quick-edit.js +0 -52
  386. package/build-module/components/posts-app-routes/posts-view-quick-edit.js.map +0 -1
  387. package/build-module/components/posts-app-routes/posts-view.js +0 -33
  388. package/build-module/components/posts-app-routes/posts-view.js.map +0 -1
  389. package/build-module/components/routes/link.js +0 -61
  390. package/build-module/components/routes/link.js.map +0 -1
  391. package/build-module/components/site-editor-routes/home-edit.js.map +0 -1
  392. package/build-module/components/site-editor-routes/home-view.js +0 -17
  393. package/build-module/components/site-editor-routes/home-view.js.map +0 -1
  394. package/build-module/components/site-editor-routes/navigation-edit.js +0 -21
  395. package/build-module/components/site-editor-routes/navigation-edit.js.map +0 -1
  396. package/build-module/components/site-editor-routes/navigation-item-edit.js +0 -23
  397. package/build-module/components/site-editor-routes/navigation-item-edit.js.map +0 -1
  398. package/build-module/components/site-editor-routes/navigation-item-view.js +0 -22
  399. package/build-module/components/site-editor-routes/navigation-item-view.js.map +0 -1
  400. package/build-module/components/site-editor-routes/navigation-view.js +0 -20
  401. package/build-module/components/site-editor-routes/navigation-view.js.map +0 -1
  402. package/build-module/components/site-editor-routes/pages-edit.js.map +0 -1
  403. package/build-module/components/site-editor-routes/pages-list-view-quick-edit.js +0 -56
  404. package/build-module/components/site-editor-routes/pages-list-view-quick-edit.js.map +0 -1
  405. package/build-module/components/site-editor-routes/pages-list-view.js +0 -39
  406. package/build-module/components/site-editor-routes/pages-list-view.js.map +0 -1
  407. package/build-module/components/site-editor-routes/pages-view-quick-edit.js +0 -53
  408. package/build-module/components/site-editor-routes/pages-view-quick-edit.js.map +0 -1
  409. package/build-module/components/site-editor-routes/pages-view.js +0 -34
  410. package/build-module/components/site-editor-routes/pages-view.js.map +0 -1
  411. package/build-module/components/site-editor-routes/patterns-edit.js +0 -23
  412. package/build-module/components/site-editor-routes/patterns-edit.js.map +0 -1
  413. package/build-module/components/site-editor-routes/patterns-view.js.map +0 -1
  414. package/build-module/components/site-editor-routes/styles-view.js +0 -25
  415. package/build-module/components/site-editor-routes/styles-view.js.map +0 -1
  416. package/build-module/components/site-editor-routes/templates-edit.js.map +0 -1
  417. package/build-module/components/site-editor-routes/templates-list-view.js +0 -26
  418. package/build-module/components/site-editor-routes/templates-list-view.js.map +0 -1
  419. package/build-module/components/site-editor-routes/templates-view.js +0 -21
  420. package/build-module/components/site-editor-routes/templates-view.js.map +0 -1
  421. package/src/components/layout/router.js +0 -86
  422. package/src/components/posts-app-routes/home.js +0 -36
  423. package/src/components/posts-app-routes/posts-list-view-quick-edit.js +0 -52
  424. package/src/components/posts-app-routes/posts-list-view.js +0 -40
  425. package/src/components/posts-app-routes/posts-view-quick-edit.js +0 -49
  426. package/src/components/posts-app-routes/posts-view.js +0 -35
  427. package/src/components/routes/link.js +0 -68
  428. package/src/components/site-editor-routes/home-edit.js +0 -17
  429. package/src/components/site-editor-routes/navigation-edit.js +0 -22
  430. package/src/components/site-editor-routes/navigation-item-edit.js +0 -26
  431. package/src/components/site-editor-routes/navigation-item-view.js +0 -25
  432. package/src/components/site-editor-routes/navigation-view.js +0 -21
  433. package/src/components/site-editor-routes/pages-list-view-quick-edit.js +0 -56
  434. package/src/components/site-editor-routes/pages-list-view.js +0 -44
  435. package/src/components/site-editor-routes/pages-view-quick-edit.js +0 -53
  436. package/src/components/site-editor-routes/pages-view.js +0 -39
  437. package/src/components/site-editor-routes/patterns-edit.js +0 -24
  438. package/src/components/site-editor-routes/patterns-view.js +0 -22
  439. package/src/components/site-editor-routes/styles-view.js +0 -26
  440. package/src/components/site-editor-routes/templates-edit.js +0 -22
  441. package/src/components/site-editor-routes/templates-list-view.js +0 -28
  442. package/src/components/site-editor-routes/templates-view.js +0 -22
@@ -54,6 +54,7 @@ import {
54
54
  useResolveEditedEntity,
55
55
  useSyncDeprecatedEntityIntoState,
56
56
  } from './use-resolve-edited-entity';
57
+ import { addQueryArgs } from '@wordpress/url';
57
58
 
58
59
  const { Editor, BackButton } = unlock( editorPrivateApis );
59
60
  const { useHistory, useLocation } = unlock( routerPrivateApis );
@@ -83,10 +84,44 @@ const siteIconVariants = {
83
84
  },
84
85
  };
85
86
 
87
+ function getListPathForPostType( postType ) {
88
+ switch ( postType ) {
89
+ case 'navigation':
90
+ return '/navigation';
91
+ case 'wp_block':
92
+ return '/pattern?postType=wp_block';
93
+ case 'wp_template_part':
94
+ return '/pattern?postType=wp_template_part';
95
+ case 'wp_template':
96
+ return '/template';
97
+ case 'page':
98
+ return '/page';
99
+ case 'post':
100
+ return '/';
101
+ }
102
+ throw 'Unknown post type';
103
+ }
104
+
105
+ function getNavigationPath( location, postType ) {
106
+ const { path, name } = location;
107
+ if (
108
+ [
109
+ 'pattern-item',
110
+ 'template-part-item',
111
+ 'page-item',
112
+ 'template-item',
113
+ 'post-item',
114
+ ].includes( name )
115
+ ) {
116
+ return getListPathForPostType( postType );
117
+ }
118
+ return addQueryArgs( path, { canvas: undefined } );
119
+ }
120
+
86
121
  export default function EditSiteEditor( { isPostsList = false } ) {
87
122
  const disableMotion = useReducedMotion();
88
- const { params } = useLocation();
89
- const { canvas = 'view' } = params;
123
+ const location = useLocation();
124
+ const { canvas = 'view' } = location.query;
90
125
  const isLoading = useIsSiteEditorLoading();
91
126
  useAdaptEditorToCanvas( canvas );
92
127
  const entity = useResolveEditedEntity();
@@ -157,9 +192,11 @@ export default function EditSiteEditor( { isPostsList = false } ) {
157
192
  case 'move-to-trash':
158
193
  case 'delete-post':
159
194
  {
160
- history.push( {
161
- postType: items[ 0 ].type,
162
- } );
195
+ history.navigate(
196
+ getListPathForPostType(
197
+ postWithTemplate ? context.postType : postType
198
+ )
199
+ );
163
200
  }
164
201
  break;
165
202
  case 'duplicate-post':
@@ -182,11 +219,9 @@ export default function EditSiteEditor( { isPostsList = false } ) {
182
219
  {
183
220
  label: __( 'Edit' ),
184
221
  onClick: () => {
185
- history.push( {
186
- postId: newItem.id,
187
- postType: newItem.type,
188
- canvas: 'edit',
189
- } );
222
+ history.navigate(
223
+ `/${ newItem.type }/${ newItem.id }?canvas=edit`
224
+ );
190
225
  },
191
226
  },
192
227
  ],
@@ -196,7 +231,13 @@ export default function EditSiteEditor( { isPostsList = false } ) {
196
231
  break;
197
232
  }
198
233
  },
199
- [ history, createSuccessNotice ]
234
+ [
235
+ postType,
236
+ context?.postType,
237
+ postWithTemplate,
238
+ history,
239
+ createSuccessNotice,
240
+ ]
200
241
  );
201
242
 
202
243
  // Replace the title and icon displayed in the DocumentBar when there's an overlay visible.
@@ -268,26 +309,20 @@ export default function EditSiteEditor( { isPostsList = false } ) {
268
309
  // come here through `posts list` and are in focus mode editing a template, template part etc..
269
310
  if (
270
311
  isPostsList &&
271
- params?.focusMode
312
+ location.query?.focusMode
272
313
  ) {
273
- history.push(
274
- {
275
- page: 'gutenberg-posts-dashboard',
276
- postType: 'post',
277
- },
278
- undefined,
279
- {
280
- transition:
281
- 'canvas-mode-view-transition',
282
- }
283
- );
314
+ history.navigate( '/', {
315
+ transition:
316
+ 'canvas-mode-view-transition',
317
+ } );
284
318
  } else {
285
- history.push(
286
- {
287
- ...params,
288
- canvas: undefined,
289
- },
290
- undefined,
319
+ history.navigate(
320
+ getNavigationPath(
321
+ location,
322
+ postWithTemplate
323
+ ? context.postType
324
+ : postType
325
+ ),
291
326
  {
292
327
  transition:
293
328
  'canvas-mode-view-transition',
@@ -22,6 +22,10 @@ function useEditorTitle( postType, postId ) {
22
22
  const { getEditedEntityRecord, hasFinishedResolution } =
23
23
  select( coreStore );
24
24
 
25
+ if ( ! postId ) {
26
+ return { isLoaded: false };
27
+ }
28
+
25
29
  const _record = getEditedEntityRecord(
26
30
  'postType',
27
31
  postType,
@@ -30,8 +30,23 @@ const postTypesWithoutParentTemplate = [
30
30
  const authorizedPostTypes = [ 'page', 'post' ];
31
31
 
32
32
  export function useResolveEditedEntity() {
33
- const { params = {} } = useLocation();
34
- const { postId, postType } = params;
33
+ const { name, params = {}, query } = useLocation();
34
+ const { postId = query?.postId } = params; // Fallback to query param for postId for list view routes.
35
+ let postType;
36
+ if ( name === 'navigation-item' ) {
37
+ postType = NAVIGATION_POST_TYPE;
38
+ } else if ( name === 'pattern-item' ) {
39
+ postType = PATTERN_TYPES.user;
40
+ } else if ( name === 'template-part-item' ) {
41
+ postType = TEMPLATE_PART_POST_TYPE;
42
+ } else if ( name === 'template-item' || name === 'templates' ) {
43
+ postType = TEMPLATE_POST_TYPE;
44
+ } else if ( name === 'page-item' || name === 'pages' ) {
45
+ postType = 'page';
46
+ } else if ( name === 'post-item' || name === 'posts' ) {
47
+ postType = 'post';
48
+ }
49
+
35
50
  const homePage = useSelect( ( select ) => {
36
51
  const { getHomePage } = unlock( select( coreDataStore ) );
37
52
  return getHomePage();
@@ -27,7 +27,13 @@ import {
27
27
  } from '@wordpress/components';
28
28
  import { debounce } from '@wordpress/compose';
29
29
  import { sprintf, __, _x, isRTL } from '@wordpress/i18n';
30
- import { moreVertical, chevronLeft, chevronRight } from '@wordpress/icons';
30
+ import {
31
+ moreVertical,
32
+ next,
33
+ previous,
34
+ chevronLeft,
35
+ chevronRight,
36
+ } from '@wordpress/icons';
31
37
 
32
38
  /**
33
39
  * Internal dependencies
@@ -486,37 +492,30 @@ function FontCollection( { slug } ) {
486
492
 
487
493
  { ! selectedFont && (
488
494
  <HStack
489
- spacing={ 4 }
490
- justify="center"
495
+ expanded={ false }
491
496
  className="font-library-modal__footer"
497
+ justify="end"
498
+ spacing={ 6 }
492
499
  >
493
- <Button
494
- label={ __( 'Previous page' ) }
495
- size="compact"
496
- onClick={ () => setPage( page - 1 ) }
497
- disabled={ page === 1 }
498
- showTooltip
499
- accessibleWhenDisabled
500
- icon={ isRTL() ? chevronRight : chevronLeft }
501
- tooltipPosition="top"
502
- />
503
500
  <HStack
504
501
  justify="flex-start"
505
502
  expanded={ false }
506
- spacing={ 2 }
503
+ spacing={ 1 }
507
504
  className="font-library-modal__page-selection"
508
505
  >
509
506
  { createInterpolateElement(
510
507
  sprintf(
511
- // translators: %s: Total number of pages.
508
+ // translators: 1: Current page number, 2: Total number of pages.
512
509
  _x(
513
- 'Page <CurrentPageControl /> of %s',
510
+ '<div>Page</div>%1$s<div>of %2$s</div>',
514
511
  'paging'
515
512
  ),
513
+ '<CurrentPage />',
516
514
  totalPages
517
515
  ),
518
516
  {
519
- CurrentPageControl: (
517
+ div: <div aria-hidden />,
518
+ CurrentPage: (
520
519
  <SelectControl
521
520
  aria-label={ __(
522
521
  'Current page'
@@ -535,22 +534,36 @@ function FontCollection( { slug } ) {
535
534
  parseInt( newPage )
536
535
  )
537
536
  }
538
- size="compact"
537
+ size="small"
539
538
  __nextHasNoMarginBottom
539
+ variant="minimal"
540
540
  />
541
541
  ),
542
542
  }
543
543
  ) }
544
544
  </HStack>
545
- <Button
546
- label={ __( 'Next page' ) }
547
- size="compact"
548
- onClick={ () => setPage( page + 1 ) }
549
- disabled={ page === totalPages }
550
- accessibleWhenDisabled
551
- icon={ isRTL() ? chevronLeft : chevronRight }
552
- tooltipPosition="top"
553
- />
545
+ <HStack expanded={ false } spacing={ 1 }>
546
+ <Button
547
+ onClick={ () => setPage( page - 1 ) }
548
+ disabled={ page === 1 }
549
+ accessibleWhenDisabled
550
+ label={ __( 'Previous page' ) }
551
+ icon={ isRTL() ? next : previous }
552
+ showTooltip
553
+ size="compact"
554
+ tooltipPosition="top"
555
+ />
556
+ <Button
557
+ onClick={ () => setPage( page + 1 ) }
558
+ disabled={ page === totalPages }
559
+ accessibleWhenDisabled
560
+ label={ __( 'Next page' ) }
561
+ icon={ isRTL() ? previous : next }
562
+ showTooltip
563
+ size="compact"
564
+ tooltipPosition="top"
565
+ />
566
+ </HStack>
554
567
  </HStack>
555
568
  ) }
556
569
  </>
@@ -64,9 +64,15 @@ $footer-height: 70px;
64
64
 
65
65
  .font-library-modal__page-selection {
66
66
  font-size: 11px;
67
- text-transform: uppercase;
68
67
  font-weight: 500;
69
- color: $gray-900;
68
+ text-transform: uppercase;
69
+
70
+ @include break-small() {
71
+ .components-select-control__input {
72
+ font-size: 11px !important;
73
+ font-weight: 500;
74
+ }
75
+ }
70
76
  }
71
77
 
72
78
  // TODO: See if this can be removed after https://github.com/WordPress/gutenberg/issues/38730
@@ -124,7 +130,7 @@ $footer-height: 70px;
124
130
  white-space: nowrap;
125
131
  flex-shrink: 0;
126
132
  transition: opacity 0.3s ease-in-out;
127
- @include reduce-motion("transition");
133
+ @include reduce-motion( "transition" );
128
134
  }
129
135
  }
130
136
 
@@ -147,7 +153,6 @@ $footer-height: 70px;
147
153
  }
148
154
  }
149
155
 
150
-
151
156
  .font-library-modal__upload-area {
152
157
  align-items: center;
153
158
  display: flex;
@@ -200,7 +205,9 @@ button.font-library-modal__upload-area {
200
205
  }
201
206
 
202
207
  .font-library-modal__select-all {
203
- padding: $grid-unit-20 $grid-unit-20 $grid-unit-20 $grid-unit-20 + $border-width;
208
+ padding:
209
+ $grid-unit-20 $grid-unit-20 $grid-unit-20 $grid-unit-20 +
210
+ $border-width;
204
211
 
205
212
  .components-checkbox-control__label {
206
213
  padding-left: $grid-unit-20;
@@ -226,6 +226,10 @@
226
226
  // The &#{&} is a workaround for the specificity of the Card component.
227
227
  &#{&},
228
228
  &#{&} .edit-site-global-styles-screen-root__active-style-tile-preview {
229
+ box-shadow: none;
229
230
  border-radius: $radius-small;
231
+ .block-editor-iframe__container {
232
+ border: 1px solid $gray-200;
233
+ }
230
234
  }
231
235
  }
@@ -28,8 +28,8 @@ const { interfaceStore } = unlock( editorPrivateApis );
28
28
  const { useLocation } = unlock( routerPrivateApis );
29
29
 
30
30
  export default function GlobalStylesSidebar() {
31
- const { params } = useLocation();
32
- const { canvas = 'view', path } = params;
31
+ const { query } = useLocation();
32
+ const { canvas = 'view', name } = query;
33
33
  const {
34
34
  shouldClearCanvasContainerView,
35
35
  isStyleBookOpened,
@@ -133,14 +133,14 @@ export default function GlobalStylesSidebar() {
133
133
  const previousActiveAreaRef = useRef( null );
134
134
 
135
135
  useEffect( () => {
136
- if ( path?.startsWith( '/wp_global_styles' ) && canvas === 'edit' ) {
136
+ if ( name === 'styles' && canvas === 'edit' ) {
137
137
  previousActiveAreaRef.current =
138
138
  getActiveComplementaryArea( 'core' );
139
139
  enableComplementaryArea( 'core', 'edit-site/global-styles' );
140
140
  } else if ( previousActiveAreaRef.current ) {
141
141
  enableComplementaryArea( 'core', previousActiveAreaRef.current );
142
142
  }
143
- }, [ path, enableComplementaryArea, canvas, getActiveComplementaryArea ] );
143
+ }, [ name, enableComplementaryArea, canvas, getActiveComplementaryArea ] );
144
144
 
145
145
  return (
146
146
  <DefaultSidebar
@@ -10,6 +10,7 @@ import {
10
10
  __unstableMotion as motion,
11
11
  __unstableAnimatePresence as AnimatePresence,
12
12
  __unstableUseNavigateRegions as useNavigateRegions,
13
+ SlotFillProvider,
13
14
  } from '@wordpress/components';
14
15
  import {
15
16
  useReducedMotion,
@@ -17,16 +18,20 @@ import {
17
18
  useResizeObserver,
18
19
  usePrevious,
19
20
  } from '@wordpress/compose';
20
- import { __ } from '@wordpress/i18n';
21
+ import { __, sprintf } from '@wordpress/i18n';
21
22
  import { useState, useRef, useEffect } from '@wordpress/element';
22
23
  import { CommandMenu } from '@wordpress/commands';
23
24
  import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
24
25
  import {
25
26
  EditorSnackbars,
27
+ UnsavedChangesWarning,
26
28
  privateApis as editorPrivateApis,
27
29
  } from '@wordpress/editor';
28
30
  import { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands';
29
31
  import { privateApis as routerPrivateApis } from '@wordpress/router';
32
+ import { PluginArea } from '@wordpress/plugins';
33
+ import { store as noticesStore } from '@wordpress/notices';
34
+ import { useDispatch } from '@wordpress/data';
30
35
 
31
36
  /**
32
37
  * Internal dependencies
@@ -44,14 +49,14 @@ import SavePanel from '../save-panel';
44
49
 
45
50
  const { useCommands } = unlock( coreCommandsPrivateApis );
46
51
  const { useGlobalStyle } = unlock( blockEditorPrivateApis );
47
- const { NavigableRegion } = unlock( editorPrivateApis );
52
+ const { NavigableRegion, GlobalStylesProvider } = unlock( editorPrivateApis );
48
53
  const { useLocation } = unlock( routerPrivateApis );
49
54
 
50
55
  const ANIMATION_DURATION = 0.3;
51
56
 
52
- export default function Layout( { route } ) {
53
- const { params } = useLocation();
54
- const { canvas = 'view' } = params;
57
+ function Layout() {
58
+ const { query, name: routeKey, areas, widths } = useLocation();
59
+ const { canvas = 'view' } = query;
55
60
  useCommands();
56
61
  const isMobileViewport = useViewportMatch( 'medium', '<' );
57
62
  const toggleRef = useRef();
@@ -61,7 +66,6 @@ export default function Layout( { route } ) {
61
66
  const isEditorLoading = useIsSiteEditorLoading();
62
67
  const [ isResizableFrameOversized, setIsResizableFrameOversized ] =
63
68
  useState( false );
64
- const { name: routeKey, areas, widths } = route;
65
69
  const animationRef = useMovingAnimation( {
66
70
  triggerAnimationOnChange: routeKey + '-' + canvas,
67
71
  } );
@@ -78,6 +82,7 @@ export default function Layout( { route } ) {
78
82
 
79
83
  return (
80
84
  <>
85
+ <UnsavedChangesWarning />
81
86
  <CommandMenu />
82
87
  { canvas === 'view' && <SaveKeyboardShortcut /> }
83
88
  <div
@@ -231,3 +236,28 @@ export default function Layout( { route } ) {
231
236
  </>
232
237
  );
233
238
  }
239
+
240
+ export default function LayoutWithGlobalStylesProvider( props ) {
241
+ const { createErrorNotice } = useDispatch( noticesStore );
242
+ function onPluginAreaError( name ) {
243
+ createErrorNotice(
244
+ sprintf(
245
+ /* translators: %s: plugin name */
246
+ __(
247
+ 'The "%s" plugin has encountered an error and cannot be rendered.'
248
+ ),
249
+ name
250
+ )
251
+ );
252
+ }
253
+
254
+ return (
255
+ <SlotFillProvider>
256
+ <GlobalStylesProvider>
257
+ { /** This needs to be within the SlotFillProvider */ }
258
+ <PluginArea onError={ onPluginAreaError } />
259
+ <Layout { ...props } />
260
+ </GlobalStylesProvider>
261
+ </SlotFillProvider>
262
+ );
263
+ }
@@ -59,10 +59,9 @@ export default function DeleteCategoryMenuItem( { category, onClose } ) {
59
59
  );
60
60
 
61
61
  onClose?.();
62
- history.push( {
63
- postType: PATTERN_TYPES.user,
64
- categoryId: PATTERN_DEFAULT_CATEGORY,
65
- } );
62
+ history.navigate(
63
+ `/pattern?categoryId=${ PATTERN_DEFAULT_CATEGORY }`
64
+ );
66
65
  } catch ( error ) {
67
66
  const errorMessage =
68
67
  error.message && error.code !== 'unknown_error'
@@ -21,6 +21,7 @@ import {
21
21
  import { Icon, lockSmall } from '@wordpress/icons';
22
22
  import { parse } from '@wordpress/blocks';
23
23
  import { decodeEntities } from '@wordpress/html-entities';
24
+ import { privateApis as routerPrivateApis } from '@wordpress/router';
24
25
 
25
26
  /**
26
27
  * Internal dependencies
@@ -32,10 +33,10 @@ import {
32
33
  OPERATOR_IS,
33
34
  } from '../../utils/constants';
34
35
  import { unlock } from '../../lock-unlock';
35
- import { useLink } from '../routes/link';
36
36
  import { useAddedBy } from '../page-templates/hooks';
37
37
  import { defaultGetTitle } from './search-items';
38
38
 
39
+ const { useLink } = unlock( routerPrivateApis );
39
40
  const { useGlobalStyle } = unlock( blockEditorPrivateApis );
40
41
 
41
42
  function PreviewWrapper( { item, onClick, ariaDescribedBy, children } ) {
@@ -59,11 +60,11 @@ function PreviewField( { item } ) {
59
60
  const isUserPattern = item.type === PATTERN_TYPES.user;
60
61
  const isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;
61
62
  const [ backgroundColor ] = useGlobalStyle( 'color.background' );
62
- const { onClick } = useLink( {
63
- postType: item.type,
64
- postId: isUserPattern || isTemplatePart ? item.id : item.name,
65
- canvas: 'edit',
66
- } );
63
+ const { onClick } = useLink(
64
+ `/${ item.type }/${
65
+ isUserPattern || isTemplatePart ? item.id : item.name
66
+ }?canvas=edit`
67
+ );
67
68
  const blocks = useMemo( () => {
68
69
  return (
69
70
  item.blocks ??
@@ -114,11 +115,11 @@ export const previewField = {
114
115
  function TitleField( { item } ) {
115
116
  const isUserPattern = item.type === PATTERN_TYPES.user;
116
117
  const isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;
117
- const { onClick } = useLink( {
118
- postType: item.type,
119
- postId: isUserPattern || isTemplatePart ? item.id : item.name,
120
- canvas: 'edit',
121
- } );
118
+ const { onClick } = useLink(
119
+ `/${ item.type }/${
120
+ isUserPattern || isTemplatePart ? item.id : item.name
121
+ }?canvas=edit`
122
+ );
122
123
  const title = decodeEntities( defaultGetTitle( item ) );
123
124
  return (
124
125
  <HStack alignment="center" justify="flex-start" spacing={ 2 }>
@@ -72,17 +72,16 @@ const DEFAULT_VIEW = {
72
72
 
73
73
  export default function DataviewsPatterns() {
74
74
  const {
75
- params: { postType, categoryId: categoryIdFromURL },
75
+ query: { postType = 'wp_block', categoryId: categoryIdFromURL },
76
76
  } = useLocation();
77
- const type = postType || PATTERN_TYPES.user;
78
77
  const categoryId = categoryIdFromURL || PATTERN_DEFAULT_CATEGORY;
79
78
  const [ view, setView ] = useState( DEFAULT_VIEW );
80
79
  const previousCategoryId = usePrevious( categoryId );
81
- const previousPostType = usePrevious( type );
80
+ const previousPostType = usePrevious( postType );
82
81
  const viewSyncStatus = view.filters?.find(
83
82
  ( { field } ) => field === 'sync-status'
84
83
  )?.value;
85
- const { patterns, isResolving } = usePatterns( type, categoryId, {
84
+ const { patterns, isResolving } = usePatterns( postType, categoryId, {
86
85
  search: view.search,
87
86
  syncStatus: viewSyncStatus,
88
87
  } );
@@ -108,9 +107,9 @@ export default function DataviewsPatterns() {
108
107
  const fields = useMemo( () => {
109
108
  const _fields = [ previewField, titleField ];
110
109
 
111
- if ( type === PATTERN_TYPES.user ) {
110
+ if ( postType === PATTERN_TYPES.user ) {
112
111
  _fields.push( patternStatusField );
113
- } else if ( type === TEMPLATE_PART_POST_TYPE ) {
112
+ } else if ( postType === TEMPLATE_PART_POST_TYPE ) {
114
113
  _fields.push( {
115
114
  ...templatePartAuthorField,
116
115
  elements: authors,
@@ -118,24 +117,27 @@ export default function DataviewsPatterns() {
118
117
  }
119
118
 
120
119
  return _fields;
121
- }, [ type, authors ] );
120
+ }, [ postType, authors ] );
122
121
 
123
122
  // Reset the page number when the category changes.
124
123
  useEffect( () => {
125
- if ( previousCategoryId !== categoryId || previousPostType !== type ) {
124
+ if (
125
+ previousCategoryId !== categoryId ||
126
+ previousPostType !== postType
127
+ ) {
126
128
  setView( ( prevView ) => ( { ...prevView, page: 1 } ) );
127
129
  }
128
- }, [ categoryId, previousCategoryId, previousPostType, type ] );
130
+ }, [ categoryId, previousCategoryId, previousPostType, postType ] );
129
131
  const { data, paginationInfo } = useMemo( () => {
130
132
  // Search is managed server-side as well as filters for patterns.
131
133
  // However, the author filter in template parts is done client-side.
132
134
  const viewWithoutFilters = { ...view };
133
135
  delete viewWithoutFilters.search;
134
- if ( type !== TEMPLATE_PART_POST_TYPE ) {
136
+ if ( postType !== TEMPLATE_PART_POST_TYPE ) {
135
137
  viewWithoutFilters.filters = [];
136
138
  }
137
139
  return filterSortAndPaginate( patterns, viewWithoutFilters, fields );
138
- }, [ patterns, view, fields, type ] );
140
+ }, [ patterns, view, fields, postType ] );
139
141
 
140
142
  const dataWithPermissions = useAugmentPatternsWithPermissions( data );
141
143
 
@@ -150,11 +152,11 @@ export default function DataviewsPatterns() {
150
152
  const editAction = useEditPostAction();
151
153
 
152
154
  const actions = useMemo( () => {
153
- if ( type === TEMPLATE_PART_POST_TYPE ) {
155
+ if ( postType === TEMPLATE_PART_POST_TYPE ) {
154
156
  return [ editAction, ...templatePartActions ].filter( Boolean );
155
157
  }
156
158
  return [ editAction, ...patternActions ].filter( Boolean );
157
- }, [ editAction, type, templatePartActions, patternActions ] );
159
+ }, [ editAction, postType, templatePartActions, patternActions ] );
158
160
  const id = useId();
159
161
  const settings = usePatternSettings();
160
162
  // Wrap everything in a block editor provider.
@@ -169,7 +171,7 @@ export default function DataviewsPatterns() {
169
171
  >
170
172
  <PatternsHeader
171
173
  categoryId={ categoryId }
172
- type={ type }
174
+ type={ postType }
173
175
  titleId={ `${ id }-title` }
174
176
  descriptionId={ `${ id }-description` }
175
177
  />
@@ -16,16 +16,16 @@ import {
16
16
  privateApis as blockEditorPrivateApis,
17
17
  } from '@wordpress/block-editor';
18
18
  import { EditorProvider } from '@wordpress/editor';
19
+ import { privateApis as routerPrivateApis } from '@wordpress/router';
19
20
 
20
21
  /**
21
22
  * Internal dependencies
22
23
  */
23
- import { default as Link, useLink } from '../routes/link';
24
24
  import { useAddedBy } from './hooks';
25
-
26
25
  import usePatternSettings from '../page-patterns/use-pattern-settings';
27
26
  import { unlock } from '../../lock-unlock';
28
27
 
28
+ const { useLink, Link } = unlock( routerPrivateApis );
29
29
  const { useGlobalStyle } = unlock( blockEditorPrivateApis );
30
30
 
31
31
  function PreviewField( { item } ) {
@@ -34,11 +34,7 @@ function PreviewField( { item } ) {
34
34
  const blocks = useMemo( () => {
35
35
  return parse( item.content.raw );
36
36
  }, [ item.content.raw ] );
37
- const { onClick } = useLink( {
38
- postId: item.id,
39
- postType: item.type,
40
- canvas: 'edit',
41
- } );
37
+ const { onClick } = useLink( `/${ item.type }/${ item.id }?canvas=edit` );
42
38
 
43
39
  const isEmpty = ! blocks?.length;
44
40
  // Wrap everything in a block editor provider to ensure 'styles' that are needed
@@ -80,15 +76,8 @@ export const previewField = {
80
76
  };
81
77
 
82
78
  function TitleField( { item } ) {
83
- const linkProps = {
84
- params: {
85
- postId: item.id,
86
- postType: item.type,
87
- canvas: 'edit',
88
- },
89
- };
90
79
  return (
91
- <Link { ...linkProps }>
80
+ <Link to={ `/${ item.type }/${ item.id }?canvas=edit` }>
92
81
  { decodeEntities( item.title?.rendered ) || __( '(no title)' ) }
93
82
  </Link>
94
83
  );