@wordpress/edit-site 5.18.1-next.5a1d1283.0 → 5.19.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (687) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-pattern/index.js +65 -4
  3. package/build/components/add-new-pattern/index.js.map +1 -1
  4. package/build/components/add-new-template/index.js +3 -2
  5. package/build/components/add-new-template/index.js.map +1 -1
  6. package/build/components/add-new-template/new-template.js +6 -1
  7. package/build/components/add-new-template/new-template.js.map +1 -1
  8. package/build/components/add-new-template/utils.js +6 -1
  9. package/build/components/add-new-template/utils.js.map +1 -1
  10. package/build/components/app/index.js +2 -7
  11. package/build/components/app/index.js.map +1 -1
  12. package/build/components/block-editor/back-button.js +3 -2
  13. package/build/components/block-editor/back-button.js.map +1 -1
  14. package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js +73 -0
  15. package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +1 -0
  16. package/build/components/block-editor/block-editor-provider/index.js +31 -0
  17. package/build/components/block-editor/block-editor-provider/index.js.map +1 -0
  18. package/build/components/block-editor/{providers → block-editor-provider}/navigation-block-editor-provider.js +2 -1
  19. package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +1 -0
  20. package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js +76 -0
  21. package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +1 -0
  22. package/build/components/block-editor/editor-canvas.js +20 -16
  23. package/build/components/block-editor/editor-canvas.js.map +1 -1
  24. package/build/components/block-editor/index.js +2 -9
  25. package/build/components/block-editor/index.js.map +1 -1
  26. package/build/components/block-editor/site-editor-canvas.js +2 -4
  27. package/build/components/block-editor/site-editor-canvas.js.map +1 -1
  28. package/build/components/block-editor/use-site-editor-settings.js +8 -4
  29. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  30. package/build/components/canvas-loader/index.js +18 -1
  31. package/build/components/canvas-loader/index.js.map +1 -1
  32. package/build/components/create-template-part-modal/index.js +8 -12
  33. package/build/components/create-template-part-modal/index.js.map +1 -1
  34. package/build/components/editor/index.js +7 -9
  35. package/build/components/editor/index.js.map +1 -1
  36. package/build/components/global-styles/dimensions-panel.js +5 -4
  37. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  38. package/build/components/global-styles/font-families.js +68 -0
  39. package/build/components/global-styles/font-families.js.map +1 -0
  40. package/build/components/global-styles/font-family-item.js +47 -0
  41. package/build/components/global-styles/font-family-item.js.map +1 -0
  42. package/build/components/global-styles/font-library-modal/collection-font-details.js +49 -0
  43. package/build/components/global-styles/font-library-modal/collection-font-details.js.map +1 -0
  44. package/build/components/global-styles/font-library-modal/collection-font-variant.js +55 -0
  45. package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -0
  46. package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js +31 -0
  47. package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +1 -0
  48. package/build/components/global-styles/font-library-modal/context.js +309 -0
  49. package/build/components/global-styles/font-library-modal/context.js.map +1 -0
  50. package/build/components/global-styles/font-library-modal/font-card.js +61 -0
  51. package/build/components/global-styles/font-library-modal/font-card.js.map +1 -0
  52. package/build/components/global-styles/font-library-modal/font-collection.js +172 -0
  53. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -0
  54. package/build/components/global-styles/font-library-modal/font-demo.js +86 -0
  55. package/build/components/global-styles/font-library-modal/font-demo.js.map +1 -0
  56. package/build/components/global-styles/font-library-modal/font-variant.js +51 -0
  57. package/build/components/global-styles/font-library-modal/font-variant.js.map +1 -0
  58. package/build/components/global-styles/font-library-modal/fonts-grid.js +54 -0
  59. package/build/components/global-styles/font-library-modal/fonts-grid.js.map +1 -0
  60. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +41 -0
  61. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -0
  62. package/build/components/global-styles/font-library-modal/index.js +65 -0
  63. package/build/components/global-styles/font-library-modal/index.js.map +1 -0
  64. package/build/components/global-styles/font-library-modal/installed-fonts.js +128 -0
  65. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -0
  66. package/build/components/global-styles/font-library-modal/library-font-card.js +39 -0
  67. package/build/components/global-styles/font-library-modal/library-font-card.js.map +1 -0
  68. package/build/components/global-styles/font-library-modal/library-font-details.js +44 -0
  69. package/build/components/global-styles/font-library-modal/library-font-details.js.map +1 -0
  70. package/build/components/global-styles/font-library-modal/library-font-variant.js +59 -0
  71. package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -0
  72. package/build/components/global-styles/font-library-modal/local-fonts.js +143 -0
  73. package/build/components/global-styles/font-library-modal/local-fonts.js.map +1 -0
  74. package/build/components/global-styles/font-library-modal/resolvers.js +53 -0
  75. package/build/components/global-styles/font-library-modal/resolvers.js.map +1 -0
  76. package/build/components/global-styles/font-library-modal/tab-layout.js +45 -0
  77. package/build/components/global-styles/font-library-modal/tab-layout.js.map +1 -0
  78. package/build/components/global-styles/font-library-modal/utils/constants.js +31 -0
  79. package/build/components/global-styles/font-library-modal/utils/constants.js.map +1 -0
  80. package/build/components/global-styles/font-library-modal/utils/filter-fonts.js +21 -0
  81. package/build/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -0
  82. package/build/components/global-styles/font-library-modal/utils/fonts-outline.js +20 -0
  83. package/build/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -0
  84. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +58 -0
  85. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -0
  86. package/build/components/global-styles/font-library-modal/utils/index.js +155 -0
  87. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -0
  88. package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js +22 -0
  89. package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +1 -0
  90. package/build/components/global-styles/font-library-modal/utils/preview-styles.js +76 -0
  91. package/build/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -0
  92. package/build/components/global-styles/font-library-modal/utils/sort-font-faces.js +36 -0
  93. package/build/components/global-styles/font-library-modal/utils/sort-font-faces.js.map +1 -0
  94. package/build/components/global-styles/font-library-modal/utils/toggleFont.js +92 -0
  95. package/build/components/global-styles/font-library-modal/utils/toggleFont.js.map +1 -0
  96. package/build/components/global-styles/global-styles-provider.js +7 -12
  97. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  98. package/build/components/global-styles/screen-block.js +34 -21
  99. package/build/components/global-styles/screen-block.js.map +1 -1
  100. package/build/components/global-styles/screen-revisions/index.js +1 -3
  101. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  102. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +0 -1
  103. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  104. package/build/components/global-styles/screen-typography.js +4 -72
  105. package/build/components/global-styles/screen-typography.js.map +1 -1
  106. package/build/components/global-styles/style-variations-container.js +3 -5
  107. package/build/components/global-styles/style-variations-container.js.map +1 -1
  108. package/build/components/global-styles/typogrphy-elements.js +96 -0
  109. package/build/components/global-styles/typogrphy-elements.js.map +1 -0
  110. package/build/components/header-edit-mode/document-actions/index.js +9 -8
  111. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  112. package/build/components/header-edit-mode/index.js +4 -1
  113. package/build/components/header-edit-mode/index.js.map +1 -1
  114. package/build/components/layout/index.js +5 -1
  115. package/build/components/layout/index.js.map +1 -1
  116. package/build/components/list/added-by.js +13 -8
  117. package/build/components/list/added-by.js.map +1 -1
  118. package/build/components/list/index.js +2 -1
  119. package/build/components/list/index.js.map +1 -1
  120. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +2 -3
  121. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  122. package/build/components/page-patterns/duplicate-menu-item.js +56 -20
  123. package/build/components/page-patterns/duplicate-menu-item.js.map +1 -1
  124. package/build/components/page-patterns/grid-item.js +48 -22
  125. package/build/components/page-patterns/grid-item.js.map +1 -1
  126. package/build/components/page-patterns/header.js +3 -7
  127. package/build/components/page-patterns/header.js.map +1 -1
  128. package/build/components/page-patterns/index.js +3 -3
  129. package/build/components/page-patterns/index.js.map +1 -1
  130. package/build/components/page-patterns/patterns-list.js +7 -7
  131. package/build/components/page-patterns/patterns-list.js.map +1 -1
  132. package/build/components/page-patterns/rename-menu-item.js +6 -5
  133. package/build/components/page-patterns/rename-menu-item.js.map +1 -1
  134. package/build/components/page-patterns/search-items.js +8 -2
  135. package/build/components/page-patterns/search-items.js.map +1 -1
  136. package/build/components/page-patterns/use-patterns.js +71 -51
  137. package/build/components/page-patterns/use-patterns.js.map +1 -1
  138. package/build/components/page-patterns/utils.js +1 -20
  139. package/build/components/page-patterns/utils.js.map +1 -1
  140. package/build/components/page-template-parts/add-new-template-part.js +3 -2
  141. package/build/components/page-template-parts/add-new-template-part.js.map +1 -1
  142. package/build/components/page-template-parts/index.js +2 -1
  143. package/build/components/page-template-parts/index.js.map +1 -1
  144. package/build/components/page-templates/index.js +3 -2
  145. package/build/components/page-templates/index.js.map +1 -1
  146. package/build/components/save-hub/index.js +2 -1
  147. package/build/components/save-hub/index.js.map +1 -1
  148. package/build/components/secondary-sidebar/list-view-sidebar.js +24 -17
  149. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  150. package/build/components/sidebar-edit-mode/page-panels/edit-template.js +53 -26
  151. package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  152. package/build/components/sidebar-edit-mode/page-panels/hooks.js +65 -0
  153. package/build/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -0
  154. package/build/components/sidebar-edit-mode/page-panels/index.js +1 -4
  155. package/build/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
  156. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +2 -1
  157. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  158. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +56 -0
  159. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -0
  160. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js +91 -0
  161. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -0
  162. package/build/components/sidebar-edit-mode/settings-header/index.js +2 -6
  163. package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  164. package/build/components/sidebar-edit-mode/template-panel/index.js +11 -9
  165. package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  166. package/build/components/sidebar-edit-mode/template-panel/last-revision.js +6 -4
  167. package/build/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -1
  168. package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js +218 -0
  169. package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -0
  170. package/build/components/sidebar-navigation-screen/index.js +6 -4
  171. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  172. package/build/components/sidebar-navigation-screen-details-footer/index.js +32 -4
  173. package/build/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
  174. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +4 -2
  175. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -1
  176. package/build/components/sidebar-navigation-screen-global-styles/index.js +4 -31
  177. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  178. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js +2 -1
  179. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -1
  180. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +2 -1
  181. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  182. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +3 -2
  183. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  184. package/build/components/sidebar-navigation-screen-page/index.js +3 -3
  185. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
  186. package/build/components/sidebar-navigation-screen-page/page-details.js +2 -1
  187. package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  188. package/build/components/sidebar-navigation-screen-pages/index.js +5 -4
  189. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  190. package/build/components/sidebar-navigation-screen-pattern/index.js +20 -9
  191. package/build/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  192. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +3 -2
  193. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
  194. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -1
  195. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  196. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +2 -1
  197. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
  198. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +41 -11
  199. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  200. package/build/components/sidebar-navigation-screen-patterns/index.js +9 -37
  201. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  202. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +44 -5
  203. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  204. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +7 -2
  205. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
  206. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -1
  207. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  208. package/build/components/sidebar-navigation-screen-template/home-template-details.js +2 -1
  209. package/build/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
  210. package/build/components/sidebar-navigation-screen-template/index.js +2 -2
  211. package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
  212. package/build/components/sidebar-navigation-screen-templates/index.js +5 -4
  213. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  214. package/build/components/sidebar-navigation-screen-templates-browse/index.js +3 -2
  215. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  216. package/build/components/start-template-options/index.js +20 -2
  217. package/build/components/start-template-options/index.js.map +1 -1
  218. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -4
  219. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  220. package/build/components/sync-state-with-url/use-sync-path-with-url.js +4 -3
  221. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  222. package/build/components/template-actions/index.js +8 -4
  223. package/build/components/template-actions/index.js.map +1 -1
  224. package/build/components/template-actions/rename-menu-item.js +9 -3
  225. package/build/components/template-actions/rename-menu-item.js.map +1 -1
  226. package/build/components/welcome-guide/styles.js +2 -2
  227. package/build/components/welcome-guide/styles.js.map +1 -1
  228. package/build/hooks/commands/use-edit-mode-commands.js +4 -3
  229. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  230. package/build/hooks/navigation-menu-edit.js +2 -1
  231. package/build/hooks/navigation-menu-edit.js.map +1 -1
  232. package/build/hooks/push-changes-to-global-styles/index.js +5 -37
  233. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  234. package/build/hooks/template-part-edit.js +2 -1
  235. package/build/hooks/template-part-edit.js.map +1 -1
  236. package/build/store/actions.js +38 -14
  237. package/build/store/actions.js.map +1 -1
  238. package/build/store/constants.js +1 -9
  239. package/build/store/constants.js.map +1 -1
  240. package/build/store/private-actions.js +21 -1
  241. package/build/store/private-actions.js.map +1 -1
  242. package/build/store/private-selectors.js +23 -0
  243. package/build/store/private-selectors.js.map +1 -1
  244. package/build/store/reducer.js +19 -1
  245. package/build/store/reducer.js.map +1 -1
  246. package/build/store/selectors.js +3 -2
  247. package/build/store/selectors.js.map +1 -1
  248. package/build/utils/constants.js +64 -2
  249. package/build/utils/constants.js.map +1 -1
  250. package/build/utils/is-template-removable.js +6 -1
  251. package/build/utils/is-template-removable.js.map +1 -1
  252. package/build/utils/is-template-revertable.js +6 -1
  253. package/build/utils/is-template-revertable.js.map +1 -1
  254. package/build/utils/template-part-create.js +6 -1
  255. package/build/utils/template-part-create.js.map +1 -1
  256. package/build-module/components/add-new-pattern/index.js +69 -8
  257. package/build-module/components/add-new-pattern/index.js.map +1 -1
  258. package/build-module/components/add-new-template/index.js +3 -2
  259. package/build-module/components/add-new-template/index.js.map +1 -1
  260. package/build-module/components/add-new-template/new-template.js +6 -1
  261. package/build-module/components/add-new-template/new-template.js.map +1 -1
  262. package/build-module/components/add-new-template/utils.js +6 -1
  263. package/build-module/components/add-new-template/utils.js.map +1 -1
  264. package/build-module/components/app/index.js +2 -7
  265. package/build-module/components/app/index.js.map +1 -1
  266. package/build-module/components/block-editor/back-button.js +3 -2
  267. package/build-module/components/block-editor/back-button.js.map +1 -1
  268. package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js +65 -0
  269. package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +1 -0
  270. package/build-module/components/block-editor/block-editor-provider/index.js +23 -0
  271. package/build-module/components/block-editor/block-editor-provider/index.js.map +1 -0
  272. package/build-module/components/block-editor/{providers → block-editor-provider}/navigation-block-editor-provider.js +2 -1
  273. package/build-module/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +1 -0
  274. package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js +70 -0
  275. package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +1 -0
  276. package/build-module/components/block-editor/editor-canvas.js +21 -17
  277. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  278. package/build-module/components/block-editor/index.js +1 -8
  279. package/build-module/components/block-editor/index.js.map +1 -1
  280. package/build-module/components/block-editor/site-editor-canvas.js +5 -7
  281. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
  282. package/build-module/components/block-editor/use-site-editor-settings.js +8 -4
  283. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  284. package/build-module/components/canvas-loader/index.js +18 -1
  285. package/build-module/components/canvas-loader/index.js.map +1 -1
  286. package/build-module/components/create-template-part-modal/index.js +8 -12
  287. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  288. package/build-module/components/editor/index.js +7 -9
  289. package/build-module/components/editor/index.js.map +1 -1
  290. package/build-module/components/global-styles/dimensions-panel.js +5 -4
  291. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  292. package/build-module/components/global-styles/font-families.js +58 -0
  293. package/build-module/components/global-styles/font-families.js.map +1 -0
  294. package/build-module/components/global-styles/font-family-item.js +40 -0
  295. package/build-module/components/global-styles/font-family-item.js.map +1 -0
  296. package/build-module/components/global-styles/font-library-modal/collection-font-details.js +40 -0
  297. package/build-module/components/global-styles/font-library-modal/collection-font-details.js.map +1 -0
  298. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js +45 -0
  299. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -0
  300. package/build-module/components/global-styles/font-library-modal/confirm-delete-dialog.js +23 -0
  301. package/build-module/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +1 -0
  302. package/build-module/components/global-styles/font-library-modal/context.js +300 -0
  303. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -0
  304. package/build-module/components/global-styles/font-library-modal/font-card.js +52 -0
  305. package/build-module/components/global-styles/font-library-modal/font-card.js.map +1 -0
  306. package/build-module/components/global-styles/font-library-modal/font-collection.js +164 -0
  307. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -0
  308. package/build-module/components/global-styles/font-library-modal/font-demo.js +79 -0
  309. package/build-module/components/global-styles/font-library-modal/font-demo.js.map +1 -0
  310. package/build-module/components/global-styles/font-library-modal/font-variant.js +42 -0
  311. package/build-module/components/global-styles/font-library-modal/font-variant.js.map +1 -0
  312. package/build-module/components/global-styles/font-library-modal/fonts-grid.js +47 -0
  313. package/build-module/components/global-styles/font-library-modal/fonts-grid.js.map +1 -0
  314. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +33 -0
  315. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -0
  316. package/build-module/components/global-styles/font-library-modal/index.js +57 -0
  317. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -0
  318. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +120 -0
  319. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -0
  320. package/build-module/components/global-styles/font-library-modal/library-font-card.js +31 -0
  321. package/build-module/components/global-styles/font-library-modal/library-font-card.js.map +1 -0
  322. package/build-module/components/global-styles/font-library-modal/library-font-details.js +35 -0
  323. package/build-module/components/global-styles/font-library-modal/library-font-details.js.map +1 -0
  324. package/build-module/components/global-styles/font-library-modal/library-font-variant.js +50 -0
  325. package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -0
  326. package/build-module/components/global-styles/font-library-modal/local-fonts.js +135 -0
  327. package/build-module/components/global-styles/font-library-modal/local-fonts.js.map +1 -0
  328. package/build-module/components/global-styles/font-library-modal/resolvers.js +42 -0
  329. package/build-module/components/global-styles/font-library-modal/resolvers.js.map +1 -0
  330. package/build-module/components/global-styles/font-library-modal/tab-layout.js +37 -0
  331. package/build-module/components/global-styles/font-library-modal/tab-layout.js.map +1 -0
  332. package/build-module/components/global-styles/font-library-modal/utils/constants.js +21 -0
  333. package/build-module/components/global-styles/font-library-modal/utils/constants.js.map +1 -0
  334. package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js +15 -0
  335. package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -0
  336. package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js +13 -0
  337. package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -0
  338. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +52 -0
  339. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -0
  340. package/build-module/components/global-styles/font-library-modal/utils/index.js +141 -0
  341. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -0
  342. package/build-module/components/global-styles/font-library-modal/utils/make-families-from-faces.js +16 -0
  343. package/build-module/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +1 -0
  344. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js +68 -0
  345. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -0
  346. package/build-module/components/global-styles/font-library-modal/utils/sort-font-faces.js +30 -0
  347. package/build-module/components/global-styles/font-library-modal/utils/sort-font-faces.js.map +1 -0
  348. package/build-module/components/global-styles/font-library-modal/utils/toggleFont.js +86 -0
  349. package/build-module/components/global-styles/font-library-modal/utils/toggleFont.js.map +1 -0
  350. package/build-module/components/global-styles/global-styles-provider.js +7 -12
  351. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  352. package/build-module/components/global-styles/screen-block.js +34 -21
  353. package/build-module/components/global-styles/screen-block.js.map +1 -1
  354. package/build-module/components/global-styles/screen-revisions/index.js +1 -3
  355. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  356. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +0 -1
  357. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  358. package/build-module/components/global-styles/screen-typography.js +6 -74
  359. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  360. package/build-module/components/global-styles/style-variations-container.js +3 -5
  361. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  362. package/build-module/components/global-styles/typogrphy-elements.js +87 -0
  363. package/build-module/components/global-styles/typogrphy-elements.js.map +1 -0
  364. package/build-module/components/header-edit-mode/document-actions/index.js +9 -8
  365. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  366. package/build-module/components/header-edit-mode/index.js +4 -1
  367. package/build-module/components/header-edit-mode/index.js.map +1 -1
  368. package/build-module/components/layout/index.js +5 -1
  369. package/build-module/components/layout/index.js.map +1 -1
  370. package/build-module/components/list/added-by.js +13 -8
  371. package/build-module/components/list/added-by.js.map +1 -1
  372. package/build-module/components/list/index.js +2 -1
  373. package/build-module/components/list/index.js.map +1 -1
  374. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +2 -3
  375. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  376. package/build-module/components/page-patterns/duplicate-menu-item.js +55 -20
  377. package/build-module/components/page-patterns/duplicate-menu-item.js.map +1 -1
  378. package/build-module/components/page-patterns/grid-item.js +49 -23
  379. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  380. package/build-module/components/page-patterns/header.js +3 -7
  381. package/build-module/components/page-patterns/header.js.map +1 -1
  382. package/build-module/components/page-patterns/index.js +3 -3
  383. package/build-module/components/page-patterns/index.js.map +1 -1
  384. package/build-module/components/page-patterns/patterns-list.js +7 -7
  385. package/build-module/components/page-patterns/patterns-list.js.map +1 -1
  386. package/build-module/components/page-patterns/rename-menu-item.js +6 -5
  387. package/build-module/components/page-patterns/rename-menu-item.js.map +1 -1
  388. package/build-module/components/page-patterns/search-items.js +8 -2
  389. package/build-module/components/page-patterns/search-items.js.map +1 -1
  390. package/build-module/components/page-patterns/use-patterns.js +71 -52
  391. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  392. package/build-module/components/page-patterns/utils.js +0 -11
  393. package/build-module/components/page-patterns/utils.js.map +1 -1
  394. package/build-module/components/page-template-parts/add-new-template-part.js +3 -2
  395. package/build-module/components/page-template-parts/add-new-template-part.js.map +1 -1
  396. package/build-module/components/page-template-parts/index.js +2 -1
  397. package/build-module/components/page-template-parts/index.js.map +1 -1
  398. package/build-module/components/page-templates/index.js +3 -2
  399. package/build-module/components/page-templates/index.js.map +1 -1
  400. package/build-module/components/save-hub/index.js +2 -1
  401. package/build-module/components/save-hub/index.js.map +1 -1
  402. package/build-module/components/secondary-sidebar/list-view-sidebar.js +26 -19
  403. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  404. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +54 -29
  405. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  406. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js +55 -0
  407. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -0
  408. package/build-module/components/sidebar-edit-mode/page-panels/index.js +1 -4
  409. package/build-module/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
  410. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +2 -1
  411. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  412. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +49 -0
  413. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -0
  414. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js +85 -0
  415. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -0
  416. package/build-module/components/sidebar-edit-mode/settings-header/index.js +2 -6
  417. package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  418. package/build-module/components/sidebar-edit-mode/template-panel/index.js +12 -10
  419. package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  420. package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js +8 -6
  421. package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -1
  422. package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js +209 -0
  423. package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -0
  424. package/build-module/components/sidebar-navigation-screen/index.js +6 -4
  425. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  426. package/build-module/components/sidebar-navigation-screen-details-footer/index.js +32 -5
  427. package/build-module/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
  428. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +4 -2
  429. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -1
  430. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +6 -33
  431. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  432. package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js +2 -1
  433. package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -1
  434. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +3 -1
  435. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  436. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +3 -2
  437. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  438. package/build-module/components/sidebar-navigation-screen-page/index.js +3 -3
  439. package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
  440. package/build-module/components/sidebar-navigation-screen-page/page-details.js +2 -1
  441. package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  442. package/build-module/components/sidebar-navigation-screen-pages/index.js +5 -4
  443. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  444. package/build-module/components/sidebar-navigation-screen-pattern/index.js +21 -10
  445. package/build-module/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  446. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +3 -2
  447. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
  448. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -1
  449. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  450. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +2 -1
  451. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
  452. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +41 -11
  453. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  454. package/build-module/components/sidebar-navigation-screen-patterns/index.js +12 -40
  455. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  456. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +44 -5
  457. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  458. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +7 -2
  459. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
  460. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +3 -2
  461. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  462. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js +2 -1
  463. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
  464. package/build-module/components/sidebar-navigation-screen-template/index.js +2 -2
  465. package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
  466. package/build-module/components/sidebar-navigation-screen-templates/index.js +5 -4
  467. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  468. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +3 -2
  469. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  470. package/build-module/components/start-template-options/index.js +20 -2
  471. package/build-module/components/start-template-options/index.js.map +1 -1
  472. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -4
  473. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  474. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +4 -3
  475. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  476. package/build-module/components/template-actions/index.js +8 -4
  477. package/build-module/components/template-actions/index.js.map +1 -1
  478. package/build-module/components/template-actions/rename-menu-item.js +9 -3
  479. package/build-module/components/template-actions/rename-menu-item.js.map +1 -1
  480. package/build-module/components/welcome-guide/styles.js +2 -2
  481. package/build-module/components/welcome-guide/styles.js.map +1 -1
  482. package/build-module/hooks/commands/use-edit-mode-commands.js +4 -3
  483. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  484. package/build-module/hooks/navigation-menu-edit.js +2 -1
  485. package/build-module/hooks/navigation-menu-edit.js.map +1 -1
  486. package/build-module/hooks/push-changes-to-global-styles/index.js +5 -37
  487. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  488. package/build-module/hooks/template-part-edit.js +2 -1
  489. package/build-module/hooks/template-part-edit.js.map +1 -1
  490. package/build-module/store/actions.js +39 -16
  491. package/build-module/store/actions.js.map +1 -1
  492. package/build-module/store/constants.js +0 -4
  493. package/build-module/store/constants.js.map +1 -1
  494. package/build-module/store/private-actions.js +19 -0
  495. package/build-module/store/private-actions.js.map +1 -1
  496. package/build-module/store/private-selectors.js +22 -0
  497. package/build-module/store/private-selectors.js.map +1 -1
  498. package/build-module/store/reducer.js +18 -1
  499. package/build-module/store/reducer.js.map +1 -1
  500. package/build-module/store/selectors.js +3 -3
  501. package/build-module/store/selectors.js.map +1 -1
  502. package/build-module/utils/constants.js +51 -1
  503. package/build-module/utils/constants.js.map +1 -1
  504. package/build-module/utils/is-template-removable.js +6 -1
  505. package/build-module/utils/is-template-removable.js.map +1 -1
  506. package/build-module/utils/is-template-revertable.js +6 -1
  507. package/build-module/utils/is-template-revertable.js.map +1 -1
  508. package/build-module/utils/template-part-create.js +6 -1
  509. package/build-module/utils/template-part-create.js.map +1 -1
  510. package/build-style/style-rtl.css +267 -37
  511. package/build-style/style.css +267 -37
  512. package/lib/inflate.js +4082 -0
  513. package/lib/lib-font.browser.js +3831 -0
  514. package/lib/unbrotli.js +2679 -0
  515. package/package.json +40 -40
  516. package/src/components/add-new-pattern/index.js +86 -8
  517. package/src/components/add-new-template/index.js +3 -2
  518. package/src/components/add-new-template/new-template.js +6 -1
  519. package/src/components/add-new-template/utils.js +12 -3
  520. package/src/components/app/index.js +9 -12
  521. package/src/components/block-editor/back-button.js +6 -2
  522. package/src/components/block-editor/block-editor-provider/default-block-editor-provider.js +70 -0
  523. package/src/components/block-editor/block-editor-provider/index.js +29 -0
  524. package/src/components/block-editor/{providers → block-editor-provider}/navigation-block-editor-provider.js +2 -1
  525. package/src/components/block-editor/block-editor-provider/test/use-page-content-blocks.js +87 -0
  526. package/src/components/block-editor/block-editor-provider/use-page-content-blocks.js +77 -0
  527. package/src/components/block-editor/editor-canvas.js +31 -19
  528. package/src/components/block-editor/index.js +1 -14
  529. package/src/components/block-editor/site-editor-canvas.js +7 -12
  530. package/src/components/block-editor/style.scss +88 -1
  531. package/src/components/block-editor/use-site-editor-settings.js +26 -19
  532. package/src/components/canvas-loader/index.js +12 -1
  533. package/src/components/canvas-loader/style.scss +1 -1
  534. package/src/components/create-template-part-modal/index.js +11 -12
  535. package/src/components/editor/index.js +9 -10
  536. package/src/components/global-styles/dimensions-panel.js +8 -4
  537. package/src/components/global-styles/font-families.js +71 -0
  538. package/src/components/global-styles/font-family-item.js +44 -0
  539. package/src/components/global-styles/font-library-modal/collection-font-details.js +56 -0
  540. package/src/components/global-styles/font-library-modal/collection-font-variant.js +45 -0
  541. package/src/components/global-styles/font-library-modal/confirm-delete-dialog.js +33 -0
  542. package/src/components/global-styles/font-library-modal/context.js +378 -0
  543. package/src/components/global-styles/font-library-modal/font-card.js +75 -0
  544. package/src/components/global-styles/font-library-modal/font-collection.js +257 -0
  545. package/src/components/global-styles/font-library-modal/font-demo.js +83 -0
  546. package/src/components/global-styles/font-library-modal/font-variant.js +53 -0
  547. package/src/components/global-styles/font-library-modal/fonts-grid.js +55 -0
  548. package/src/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +50 -0
  549. package/src/components/global-styles/font-library-modal/index.js +67 -0
  550. package/src/components/global-styles/font-library-modal/installed-fonts.js +174 -0
  551. package/src/components/global-styles/font-library-modal/library-font-card.js +33 -0
  552. package/src/components/global-styles/font-library-modal/library-font-details.js +45 -0
  553. package/src/components/global-styles/font-library-modal/library-font-variant.js +54 -0
  554. package/src/components/global-styles/font-library-modal/local-fonts.js +160 -0
  555. package/src/components/global-styles/font-library-modal/resolvers.js +45 -0
  556. package/src/components/global-styles/font-library-modal/style.scss +139 -0
  557. package/src/components/global-styles/font-library-modal/tab-layout.js +50 -0
  558. package/src/components/global-styles/font-library-modal/utils/constants.js +23 -0
  559. package/src/components/global-styles/font-library-modal/utils/filter-fonts.js +18 -0
  560. package/src/components/global-styles/font-library-modal/utils/fonts-outline.js +21 -0
  561. package/src/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +58 -0
  562. package/src/components/global-styles/font-library-modal/utils/index.js +153 -0
  563. package/src/components/global-styles/font-library-modal/utils/make-families-from-faces.js +15 -0
  564. package/src/components/global-styles/font-library-modal/utils/preview-styles.js +86 -0
  565. package/src/components/global-styles/font-library-modal/utils/sort-font-faces.js +33 -0
  566. package/src/components/global-styles/font-library-modal/utils/test/filter-fonts.spec.js +69 -0
  567. package/src/components/global-styles/font-library-modal/utils/test/fonts-outline.spec.js +109 -0
  568. package/src/components/global-styles/font-library-modal/utils/test/getDisplaySrcFromFontFace.spec.js +53 -0
  569. package/src/components/global-styles/font-library-modal/utils/test/getFontFaceVariantName.spec.js +30 -0
  570. package/src/components/global-styles/font-library-modal/utils/test/getIntersectingFontFaces.spec.js +240 -0
  571. package/src/components/global-styles/font-library-modal/utils/test/isUrlEncoded.spec.js +31 -0
  572. package/src/components/global-styles/font-library-modal/utils/test/makeFamiliesFromFaces.spec.js +57 -0
  573. package/src/components/global-styles/font-library-modal/utils/test/makeFormDataFromFontFamilies.spec.js +62 -0
  574. package/src/components/global-styles/font-library-modal/utils/test/mergeFontFaces.spec.js +56 -0
  575. package/src/components/global-styles/font-library-modal/utils/test/mergeFontFamilies.spec.js +108 -0
  576. package/src/components/global-styles/font-library-modal/utils/test/preview-styles.spec.js +161 -0
  577. package/src/components/global-styles/font-library-modal/utils/test/setUIValuesNeeded.spec.js +41 -0
  578. package/src/components/global-styles/font-library-modal/utils/test/sort-font-faces.js +74 -0
  579. package/src/components/global-styles/font-library-modal/utils/test/toggleFont.spec.js +141 -0
  580. package/src/components/global-styles/font-library-modal/utils/toggleFont.js +90 -0
  581. package/src/components/global-styles/global-styles-provider.js +2 -7
  582. package/src/components/global-styles/screen-block.js +42 -20
  583. package/src/components/global-styles/screen-revisions/index.js +0 -2
  584. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +0 -1
  585. package/src/components/global-styles/screen-typography.js +9 -95
  586. package/src/components/global-styles/style-variations-container.js +0 -2
  587. package/src/components/global-styles/typogrphy-elements.js +110 -0
  588. package/src/components/header-edit-mode/document-actions/index.js +17 -8
  589. package/src/components/header-edit-mode/index.js +2 -1
  590. package/src/components/layout/index.js +10 -1
  591. package/src/components/list/added-by.js +29 -11
  592. package/src/components/list/index.js +7 -1
  593. package/src/components/list/style.scss +2 -0
  594. package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +2 -8
  595. package/src/components/page-patterns/duplicate-menu-item.js +67 -24
  596. package/src/components/page-patterns/grid-item.js +80 -33
  597. package/src/components/page-patterns/header.js +3 -12
  598. package/src/components/page-patterns/index.js +3 -3
  599. package/src/components/page-patterns/patterns-list.js +7 -7
  600. package/src/components/page-patterns/rename-menu-item.js +18 -7
  601. package/src/components/page-patterns/search-items.js +20 -2
  602. package/src/components/page-patterns/style.scss +1 -5
  603. package/src/components/page-patterns/use-patterns.js +217 -127
  604. package/src/components/page-patterns/utils.js +0 -19
  605. package/src/components/page-template-parts/add-new-template-part.js +5 -2
  606. package/src/components/page-template-parts/index.js +2 -1
  607. package/src/components/page-templates/index.js +3 -2
  608. package/src/components/save-hub/index.js +2 -1
  609. package/src/components/secondary-sidebar/list-view-sidebar.js +31 -26
  610. package/src/components/sidebar-edit-mode/page-panels/edit-template.js +94 -52
  611. package/src/components/sidebar-edit-mode/page-panels/hooks.js +88 -0
  612. package/src/components/sidebar-edit-mode/page-panels/index.js +0 -4
  613. package/src/components/sidebar-edit-mode/page-panels/page-summary.js +2 -0
  614. package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +44 -0
  615. package/src/components/sidebar-edit-mode/page-panels/style.scss +46 -9
  616. package/src/components/sidebar-edit-mode/page-panels/swap-template-button.js +82 -0
  617. package/src/components/sidebar-edit-mode/settings-header/index.js +4 -7
  618. package/src/components/sidebar-edit-mode/template-panel/index.js +28 -24
  619. package/src/components/sidebar-edit-mode/template-panel/last-revision.js +19 -15
  620. package/src/components/sidebar-edit-mode/template-panel/pattern-categories.js +277 -0
  621. package/src/components/sidebar-navigation-screen/index.js +4 -9
  622. package/src/components/sidebar-navigation-screen/style.scss +7 -1
  623. package/src/components/sidebar-navigation-screen-details-footer/index.js +38 -10
  624. package/src/components/sidebar-navigation-screen-details-footer/style.scss +10 -3
  625. package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +2 -0
  626. package/src/components/sidebar-navigation-screen-global-styles/index.js +6 -44
  627. package/src/components/sidebar-navigation-screen-navigation-menu/edit-button.js +2 -1
  628. package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +3 -1
  629. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +3 -2
  630. package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +0 -4
  631. package/src/components/sidebar-navigation-screen-page/index.js +3 -3
  632. package/src/components/sidebar-navigation-screen-page/page-details.js +2 -1
  633. package/src/components/sidebar-navigation-screen-pages/index.js +5 -4
  634. package/src/components/sidebar-navigation-screen-pattern/index.js +22 -8
  635. package/src/components/sidebar-navigation-screen-pattern/style.scss +0 -3
  636. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +8 -2
  637. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +7 -1
  638. package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +2 -1
  639. package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +63 -20
  640. package/src/components/sidebar-navigation-screen-patterns/index.js +20 -51
  641. package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +61 -6
  642. package/src/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +12 -2
  643. package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +3 -5
  644. package/src/components/sidebar-navigation-screen-template/home-template-details.js +2 -1
  645. package/src/components/sidebar-navigation-screen-template/index.js +2 -4
  646. package/src/components/sidebar-navigation-screen-templates/index.js +5 -4
  647. package/src/components/sidebar-navigation-screen-templates-browse/index.js +6 -2
  648. package/src/components/start-template-options/index.js +39 -2
  649. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +10 -4
  650. package/src/components/sync-state-with-url/use-sync-path-with-url.js +8 -3
  651. package/src/components/template-actions/index.js +15 -8
  652. package/src/components/template-actions/rename-menu-item.js +21 -5
  653. package/src/components/welcome-guide/styles.js +2 -2
  654. package/src/hooks/commands/use-edit-mode-commands.js +4 -3
  655. package/src/hooks/navigation-menu-edit.js +2 -1
  656. package/src/hooks/push-changes-to-global-styles/index.js +6 -49
  657. package/src/hooks/template-part-edit.js +2 -1
  658. package/src/store/actions.js +56 -22
  659. package/src/store/constants.js +0 -5
  660. package/src/store/private-actions.js +19 -0
  661. package/src/store/private-selectors.js +22 -0
  662. package/src/store/reducer.js +18 -0
  663. package/src/store/selectors.js +6 -3
  664. package/src/store/test/reducer.js +18 -0
  665. package/src/style.scss +1 -1
  666. package/src/utils/constants.js +54 -3
  667. package/src/utils/is-template-removable.js +8 -1
  668. package/src/utils/is-template-revertable.js +8 -1
  669. package/src/utils/template-part-create.js +6 -1
  670. package/build/components/block-editor/get-block-editor-provider.js +0 -35
  671. package/build/components/block-editor/get-block-editor-provider.js.map +0 -1
  672. package/build/components/block-editor/providers/default-block-editor-provider.js +0 -49
  673. package/build/components/block-editor/providers/default-block-editor-provider.js.map +0 -1
  674. package/build/components/block-editor/providers/navigation-block-editor-provider.js.map +0 -1
  675. package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js +0 -30
  676. package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +0 -1
  677. package/build-module/components/block-editor/get-block-editor-provider.js +0 -28
  678. package/build-module/components/block-editor/get-block-editor-provider.js.map +0 -1
  679. package/build-module/components/block-editor/providers/default-block-editor-provider.js +0 -41
  680. package/build-module/components/block-editor/providers/default-block-editor-provider.js.map +0 -1
  681. package/build-module/components/block-editor/providers/navigation-block-editor-provider.js.map +0 -1
  682. package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js +0 -23
  683. package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +0 -1
  684. package/src/components/block-editor/get-block-editor-provider.js +0 -29
  685. package/src/components/block-editor/providers/default-block-editor-provider.js +0 -44
  686. package/src/components/sidebar-navigation-screen-global-styles/style.scss +0 -12
  687. package/src/components/sidebar-navigation-screen-patterns/use-my-patterns.js +0 -24
@@ -20,6 +20,7 @@ import { store as editSiteStore } from '../../store';
20
20
  import { store as coreStore, useEntityBlockEditor } from '@wordpress/core-data';
21
21
  import apiFetch from '@wordpress/api-fetch';
22
22
  import { addQueryArgs } from '@wordpress/url';
23
+ import { TEMPLATE_POST_TYPE } from '../../utils/constants';
23
24
 
24
25
  function useFallbackTemplateContent( slug, isCustom = false ) {
25
26
  const [ templateContent, setTemplateContent ] = useState( '' );
@@ -50,6 +51,37 @@ function useStartPatterns( fallbackContent ) {
50
51
  };
51
52
  }, [] );
52
53
 
54
+ const currentThemeStylesheet = useSelect(
55
+ ( select ) => select( coreStore ).getCurrentTheme().stylesheet
56
+ );
57
+
58
+ // Duplicated from packages/block-library/src/pattern/edit.js.
59
+ function injectThemeAttributeInBlockTemplateContent( block ) {
60
+ if (
61
+ block.innerBlocks.find(
62
+ ( innerBlock ) => innerBlock.name === 'core/template-part'
63
+ )
64
+ ) {
65
+ block.innerBlocks = block.innerBlocks.map( ( innerBlock ) => {
66
+ if (
67
+ innerBlock.name === 'core/template-part' &&
68
+ innerBlock.attributes.theme === undefined
69
+ ) {
70
+ innerBlock.attributes.theme = currentThemeStylesheet;
71
+ }
72
+ return innerBlock;
73
+ } );
74
+ }
75
+
76
+ if (
77
+ block.name === 'core/template-part' &&
78
+ block.attributes.theme === undefined
79
+ ) {
80
+ block.attributes.theme = currentThemeStylesheet;
81
+ }
82
+ return block;
83
+ }
84
+
53
85
  return useMemo( () => {
54
86
  // filter patterns that are supposed to be used in the current template being edited.
55
87
  return [
@@ -68,7 +100,12 @@ function useStartPatterns( fallbackContent ) {
68
100
  );
69
101
  } )
70
102
  .map( ( pattern ) => {
71
- return { ...pattern, blocks: parse( pattern.content ) };
103
+ return {
104
+ ...pattern,
105
+ blocks: parse( pattern.content ).map( ( block ) =>
106
+ injectThemeAttributeInBlockTemplateContent( block )
107
+ ),
108
+ };
72
109
  } ),
73
110
  ];
74
111
  }, [ fallbackContent, slug, patterns ] );
@@ -162,7 +199,7 @@ export default function StartTemplateOptions() {
162
199
  shouldOpenModal:
163
200
  ! hasEdits &&
164
201
  '' === templateRecord.content &&
165
- 'wp_template' === _postType &&
202
+ TEMPLATE_POST_TYPE === _postType &&
166
203
  ! select( preferencesStore ).get(
167
204
  'core/edit-site',
168
205
  'welcomeGuide'
@@ -11,6 +11,12 @@ import { privateApis as routerPrivateApis } from '@wordpress/router';
11
11
  */
12
12
  import { store as editSiteStore } from '../../store';
13
13
  import { unlock } from '../../lock-unlock';
14
+ import {
15
+ TEMPLATE_POST_TYPE,
16
+ TEMPLATE_PART_POST_TYPE,
17
+ NAVIGATION_POST_TYPE,
18
+ PATTERN_TYPES,
19
+ } from '../../utils/constants';
14
20
 
15
21
  const { useLocation } = unlock( routerPrivateApis );
16
22
 
@@ -42,16 +48,16 @@ export default function useInitEditedEntityFromURL() {
42
48
  useEffect( () => {
43
49
  if ( postType && postId ) {
44
50
  switch ( postType ) {
45
- case 'wp_template':
51
+ case TEMPLATE_POST_TYPE:
46
52
  setTemplate( postId );
47
53
  break;
48
- case 'wp_template_part':
54
+ case TEMPLATE_PART_POST_TYPE:
49
55
  setTemplatePart( postId );
50
56
  break;
51
- case 'wp_navigation':
57
+ case NAVIGATION_POST_TYPE:
52
58
  setNavigationMenu( postId );
53
59
  break;
54
- case 'wp_block':
60
+ case PATTERN_TYPES.user:
55
61
  setEditedEntity( postType, postId );
56
62
  break;
57
63
  default:
@@ -9,6 +9,11 @@ import { privateApis as routerPrivateApis } from '@wordpress/router';
9
9
  * Internal dependencies
10
10
  */
11
11
  import { unlock } from '../../lock-unlock';
12
+ import {
13
+ TEMPLATE_POST_TYPE,
14
+ TEMPLATE_PART_POST_TYPE,
15
+ PATTERN_TYPES,
16
+ } from '../../utils/constants';
12
17
 
13
18
  const { useLocation, useHistory } = unlock( routerPrivateApis );
14
19
 
@@ -18,9 +23,9 @@ export function getPathFromURL( urlParams ) {
18
23
  // Compute the navigator path based on the URL params.
19
24
  if ( urlParams?.postType && urlParams?.postId ) {
20
25
  switch ( urlParams.postType ) {
21
- case 'wp_block':
22
- case 'wp_template':
23
- case 'wp_template_part':
26
+ case PATTERN_TYPES.user:
27
+ case TEMPLATE_POST_TYPE:
28
+ case TEMPLATE_PART_POST_TYPE:
24
29
  case 'page':
25
30
  path = `/${ encodeURIComponent(
26
31
  urlParams.postType
@@ -22,6 +22,7 @@ import { store as editSiteStore } from '../../store';
22
22
  import isTemplateRemovable from '../../utils/is-template-removable';
23
23
  import isTemplateRevertable from '../../utils/is-template-revertable';
24
24
  import RenameMenuItem from './rename-menu-item';
25
+ import { TEMPLATE_POST_TYPE } from '../../utils/constants';
25
26
 
26
27
  export default function TemplateActions( {
27
28
  postType,
@@ -67,10 +68,16 @@ export default function TemplateActions( {
67
68
  }
68
69
  );
69
70
  } catch ( error ) {
71
+ const fallbackErrorMessage =
72
+ template.type === TEMPLATE_POST_TYPE
73
+ ? __( 'An error occurred while reverting the template.' )
74
+ : __(
75
+ 'An error occurred while reverting the template part.'
76
+ );
70
77
  const errorMessage =
71
78
  error.message && error.code !== 'unknown_error'
72
79
  ? error.message
73
- : __( 'An error occurred while reverting the entity.' );
80
+ : fallbackErrorMessage;
74
81
 
75
82
  createErrorNotice( errorMessage, { type: 'snackbar' } );
76
83
  }
@@ -97,7 +104,7 @@ export default function TemplateActions( {
97
104
  onRemove?.();
98
105
  onClose();
99
106
  } }
100
- isTemplate={ template.type === 'wp_template' }
107
+ title={ template.title.rendered }
101
108
  />
102
109
  </>
103
110
  ) }
@@ -120,7 +127,7 @@ export default function TemplateActions( {
120
127
  );
121
128
  }
122
129
 
123
- function DeleteMenuItem( { onRemove, isTemplate } ) {
130
+ function DeleteMenuItem( { onRemove, title } ) {
124
131
  const [ isModalOpen, setIsModalOpen ] = useState( false );
125
132
  return (
126
133
  <>
@@ -133,11 +140,11 @@ function DeleteMenuItem( { onRemove, isTemplate } ) {
133
140
  onCancel={ () => setIsModalOpen( false ) }
134
141
  confirmButtonText={ __( 'Delete' ) }
135
142
  >
136
- { isTemplate
137
- ? __( 'Are you sure you want to delete this template?' )
138
- : __(
139
- 'Are you sure you want to delete this template part?'
140
- ) }
143
+ { sprintf(
144
+ // translators: %s: The template or template part's title.
145
+ __( 'Are you sure you want to delete "%s"?' ),
146
+ decodeEntities( title )
147
+ ) }
141
148
  </ConfirmDialog>
142
149
  </>
143
150
  );
@@ -16,6 +16,11 @@ import { store as coreStore } from '@wordpress/core-data';
16
16
  import { store as noticesStore } from '@wordpress/notices';
17
17
  import { decodeEntities } from '@wordpress/html-entities';
18
18
 
19
+ /**
20
+ * Internal dependencies
21
+ */
22
+ import { TEMPLATE_POST_TYPE } from '../../utils/constants';
23
+
19
24
  export default function RenameMenuItem( { template, onClose } ) {
20
25
  const title = decodeEntities( template.title.rendered );
21
26
  const [ editedTitle, setEditedTitle ] = useState( title );
@@ -28,7 +33,7 @@ export default function RenameMenuItem( { template, onClose } ) {
28
33
  const { createSuccessNotice, createErrorNotice } =
29
34
  useDispatch( noticesStore );
30
35
 
31
- if ( template.type === 'wp_template' && ! template.is_custom ) {
36
+ if ( template.type === TEMPLATE_POST_TYPE && ! template.is_custom ) {
32
37
  return null;
33
38
  }
34
39
 
@@ -56,14 +61,25 @@ export default function RenameMenuItem( { template, onClose } ) {
56
61
  }
57
62
  );
58
63
 
59
- createSuccessNotice( __( 'Entity renamed.' ), {
60
- type: 'snackbar',
61
- } );
64
+ createSuccessNotice(
65
+ template.type === TEMPLATE_POST_TYPE
66
+ ? __( 'Template renamed.' )
67
+ : __( 'Template part renamed.' ),
68
+ {
69
+ type: 'snackbar',
70
+ }
71
+ );
62
72
  } catch ( error ) {
73
+ const fallbackErrorMessage =
74
+ template.type === TEMPLATE_POST_TYPE
75
+ ? __( 'An error occurred while renaming the template.' )
76
+ : __(
77
+ 'An error occurred while renaming the template part.'
78
+ );
63
79
  const errorMessage =
64
80
  error.message && error.code !== 'unknown_error'
65
81
  ? error.message
66
- : __( 'An error occurred while renaming the entity.' );
82
+ : fallbackErrorMessage;
67
83
 
68
84
  createErrorNotice( errorMessage, { type: 'snackbar' } );
69
85
  }
@@ -77,7 +77,7 @@ export default function WelcomeGuideStyles() {
77
77
  </h1>
78
78
  <p className="edit-site-welcome-guide__text">
79
79
  { __(
80
- 'You can customize your site as much as you like with different colors, typography, and layouts. Or if you prefer, just leave it up to your theme to handle! '
80
+ 'You can customize your site as much as you like with different colors, typography, and layouts. Or if you prefer, just leave it up to your theme to handle!'
81
81
  ) }
82
82
  </p>
83
83
  </>
@@ -117,7 +117,7 @@ export default function WelcomeGuideStyles() {
117
117
  </h1>
118
118
  <p className="edit-site-welcome-guide__text">
119
119
  { __(
120
- 'New to block themes and styling your site? '
120
+ 'New to block themes and styling your site?'
121
121
  ) }
122
122
  <ExternalLink
123
123
  href={ __(
@@ -33,6 +33,7 @@ import isTemplateRevertable from '../../utils/is-template-revertable';
33
33
  import { KEYBOARD_SHORTCUT_HELP_MODAL_NAME } from '../../components/keyboard-shortcut-help-modal';
34
34
  import { PREFERENCES_MODAL_NAME } from '../../components/preferences-modal';
35
35
  import { unlock } from '../../lock-unlock';
36
+ import { TEMPLATE_POST_TYPE } from '../../utils/constants';
36
37
 
37
38
  const { useHistory } = unlock( routerPrivateApis );
38
39
 
@@ -131,7 +132,7 @@ function useManipulateDocumentCommands() {
131
132
 
132
133
  if ( isTemplateRevertable( template ) && ! hasPageContentFocus ) {
133
134
  const label =
134
- template.type === 'wp_template'
135
+ template.type === TEMPLATE_POST_TYPE
135
136
  ? /* translators: %1$s: template title */
136
137
  sprintf(
137
138
  'Reset template: %s',
@@ -155,7 +156,7 @@ function useManipulateDocumentCommands() {
155
156
 
156
157
  if ( isTemplateRemovable( template ) && ! hasPageContentFocus ) {
157
158
  const label =
158
- template.type === 'wp_template'
159
+ template.type === TEMPLATE_POST_TYPE
159
160
  ? /* translators: %1$s: template title */
160
161
  sprintf(
161
162
  'Delete template: %s',
@@ -167,7 +168,7 @@ function useManipulateDocumentCommands() {
167
168
  decodeEntities( template.title )
168
169
  );
169
170
  const path =
170
- template.type === 'wp_template'
171
+ template.type === TEMPLATE_POST_TYPE
171
172
  ? '/wp_template'
172
173
  : '/wp_template_part/all';
173
174
  commands.push( {
@@ -15,6 +15,7 @@ import { privateApis as routerPrivateApis } from '@wordpress/router';
15
15
  */
16
16
  import { useLink } from '../components/routes/link';
17
17
  import { unlock } from '../lock-unlock';
18
+ import { NAVIGATION_POST_TYPE } from '../utils/constants';
18
19
 
19
20
  const { useLocation } = unlock( routerPrivateApis );
20
21
 
@@ -26,7 +27,7 @@ function NavigationMenuEdit( { attributes } ) {
26
27
  ( select ) => {
27
28
  return select( coreStore ).getEntityRecord(
28
29
  'postType',
29
- 'wp_navigation',
30
+ NAVIGATION_POST_TYPE,
30
31
  // Ideally this should be an official public API.
31
32
  ref
32
33
  );
@@ -26,12 +26,9 @@ import { store as noticesStore } from '@wordpress/notices';
26
26
  import { useSupportedStyles } from '../../components/global-styles/hooks';
27
27
  import { unlock } from '../../lock-unlock';
28
28
 
29
- const {
30
- cleanEmptyObject,
31
- GlobalStylesContext,
32
- __experimentalUseGlobalBehaviors: useGlobalBehaviors,
33
- __experimentalUseHasBehaviorsPanel: useHasBehaviorsPanel,
34
- } = unlock( blockEditorPrivateApis );
29
+ const { cleanEmptyObject, GlobalStylesContext } = unlock(
30
+ blockEditorPrivateApis
31
+ );
35
32
 
36
33
  // Block Gap is a special case and isn't defined within the blocks
37
34
  // style properties config. We'll add it here to allow it to be pushed
@@ -286,10 +283,6 @@ function PushChangesToGlobalStylesControl( {
286
283
  attributes,
287
284
  setAttributes,
288
285
  } ) {
289
- const hasBehaviorsPanel = useHasBehaviorsPanel( attributes, name, {
290
- blockSupportOnly: true,
291
- } );
292
-
293
286
  const { user: userConfig, setUserConfig } =
294
287
  useContext( GlobalStylesContext );
295
288
 
@@ -299,13 +292,8 @@ function PushChangesToGlobalStylesControl( {
299
292
  useDispatch( blockEditorStore );
300
293
  const { createSuccessNotice } = useDispatch( noticesStore );
301
294
 
302
- const { inheritedBehaviors, setBehavior } = useGlobalBehaviors( name );
303
-
304
- const userHasEditedBehaviors =
305
- attributes.hasOwnProperty( 'behaviors' ) && hasBehaviorsPanel;
306
-
307
295
  const pushChanges = useCallback( () => {
308
- if ( changes.length === 0 && ! userHasEditedBehaviors ) {
296
+ if ( changes.length === 0 ) {
309
297
  return;
310
298
  }
311
299
 
@@ -364,46 +352,15 @@ function PushChangesToGlobalStylesControl( {
364
352
  }
365
353
  );
366
354
  }
367
-
368
- if ( userHasEditedBehaviors ) {
369
- __unstableMarkNextChangeAsNotPersistent();
370
- setAttributes( { behaviors: undefined } );
371
- setBehavior( attributes.behaviors );
372
- createSuccessNotice(
373
- sprintf(
374
- // translators: %s: Title of the block e.g. 'Heading'.
375
- __( '%s behaviors applied.' ),
376
- getBlockType( name ).title
377
- ),
378
- {
379
- type: 'snackbar',
380
- actions: [
381
- {
382
- label: __( 'Undo' ),
383
- onClick() {
384
- __unstableMarkNextChangeAsNotPersistent();
385
- setBehavior( inheritedBehaviors );
386
- setUserConfig( () => userConfig, {
387
- undoIgnore: true,
388
- } );
389
- },
390
- },
391
- ],
392
- }
393
- );
394
- }
395
355
  }, [
396
356
  __unstableMarkNextChangeAsNotPersistent,
397
357
  attributes,
398
358
  changes,
399
359
  createSuccessNotice,
400
- inheritedBehaviors,
401
360
  name,
402
361
  setAttributes,
403
- setBehavior,
404
362
  setUserConfig,
405
363
  userConfig,
406
- userHasEditedBehaviors,
407
364
  ] );
408
365
 
409
366
  return (
@@ -412,7 +369,7 @@ function PushChangesToGlobalStylesControl( {
412
369
  help={ sprintf(
413
370
  // translators: %s: Title of the block e.g. 'Heading'.
414
371
  __(
415
- 'Apply this block’s typography, spacing, dimensions, color styles, and behaviors to all %s blocks.'
372
+ 'Apply this block’s typography, spacing, dimensions, and color styles to all %s blocks.'
416
373
  ),
417
374
  getBlockType( name ).title
418
375
  ) }
@@ -422,7 +379,7 @@ function PushChangesToGlobalStylesControl( {
422
379
  </BaseControl.VisualLabel>
423
380
  <Button
424
381
  variant="primary"
425
- disabled={ changes.length === 0 && ! userHasEditedBehaviors }
382
+ disabled={ changes.length === 0 }
426
383
  onClick={ pushChanges }
427
384
  >
428
385
  { __( 'Apply globally' ) }
@@ -15,6 +15,7 @@ import { privateApis as routerPrivateApis } from '@wordpress/router';
15
15
  */
16
16
  import { useLink } from '../components/routes/link';
17
17
  import { unlock } from '../lock-unlock';
18
+ import { TEMPLATE_PART_POST_TYPE } from '../utils/constants';
18
19
 
19
20
  const { useLocation } = unlock( routerPrivateApis );
20
21
 
@@ -25,7 +26,7 @@ function EditTemplatePartMenuItem( { attributes } ) {
25
26
  ( select ) => {
26
27
  return select( coreStore ).getEntityRecord(
27
28
  'postType',
28
- 'wp_template_part',
29
+ TEMPLATE_PART_POST_TYPE,
29
30
  // Ideally this should be an official public API.
30
31
  `${ theme }//${ slug }`
31
32
  );
@@ -4,7 +4,7 @@
4
4
  import apiFetch from '@wordpress/api-fetch';
5
5
  import { parse, __unstableSerializeAndClean } from '@wordpress/blocks';
6
6
  import deprecated from '@wordpress/deprecated';
7
- import { addQueryArgs, getPathAndQueryString } from '@wordpress/url';
7
+ import { addQueryArgs } from '@wordpress/url';
8
8
  import { __, sprintf } from '@wordpress/i18n';
9
9
  import { store as noticesStore } from '@wordpress/notices';
10
10
  import { store as coreStore } from '@wordpress/core-data';
@@ -19,7 +19,11 @@ import { decodeEntities } from '@wordpress/html-entities';
19
19
  */
20
20
  import { STORE_NAME as editSiteStoreName } from './constants';
21
21
  import isTemplateRevertable from '../utils/is-template-revertable';
22
-
22
+ import {
23
+ TEMPLATE_POST_TYPE,
24
+ TEMPLATE_PART_POST_TYPE,
25
+ NAVIGATION_POST_TYPE,
26
+ } from '../utils/constants';
23
27
  /**
24
28
  * Dispatches an action that toggles a feature flag.
25
29
  *
@@ -67,14 +71,18 @@ export const setTemplate =
67
71
  try {
68
72
  const template = await registry
69
73
  .resolveSelect( coreStore )
70
- .getEntityRecord( 'postType', 'wp_template', templateId );
74
+ .getEntityRecord(
75
+ 'postType',
76
+ TEMPLATE_POST_TYPE,
77
+ templateId
78
+ );
71
79
  templateSlug = template?.slug;
72
80
  } catch ( error ) {}
73
81
  }
74
82
 
75
83
  dispatch( {
76
84
  type: 'SET_EDITED_POST',
77
- postType: 'wp_template',
85
+ postType: TEMPLATE_POST_TYPE,
78
86
  id: templateId,
79
87
  context: { templateSlug },
80
88
  } );
@@ -92,14 +100,14 @@ export const addTemplate =
92
100
  async ( { dispatch, registry } ) => {
93
101
  const newTemplate = await registry
94
102
  .dispatch( coreStore )
95
- .saveEntityRecord( 'postType', 'wp_template', template );
103
+ .saveEntityRecord( 'postType', TEMPLATE_POST_TYPE, template );
96
104
 
97
105
  if ( template.content ) {
98
106
  registry
99
107
  .dispatch( coreStore )
100
108
  .editEntityRecord(
101
109
  'postType',
102
- 'wp_template',
110
+ TEMPLATE_POST_TYPE,
103
111
  newTemplate.id,
104
112
  { blocks: parse( template.content ) },
105
113
  { undoIgnore: true }
@@ -108,7 +116,7 @@ export const addTemplate =
108
116
 
109
117
  dispatch( {
110
118
  type: 'SET_EDITED_POST',
111
- postType: 'wp_template',
119
+ postType: TEMPLATE_POST_TYPE,
112
120
  id: newTemplate.id,
113
121
  context: { templateSlug: newTemplate.slug },
114
122
  } );
@@ -178,7 +186,7 @@ export const removeTemplate =
178
186
  export function setTemplatePart( templatePartId ) {
179
187
  return {
180
188
  type: 'SET_EDITED_POST',
181
- postType: 'wp_template_part',
189
+ postType: TEMPLATE_PART_POST_TYPE,
182
190
  id: templatePartId,
183
191
  };
184
192
  }
@@ -193,7 +201,7 @@ export function setTemplatePart( templatePartId ) {
193
201
  export function setNavigationMenu( navigationMenuId ) {
194
202
  return {
195
203
  type: 'SET_EDITED_POST',
196
- postType: 'wp_navigation',
204
+ postType: NAVIGATION_POST_TYPE,
197
205
  id: navigationMenuId,
198
206
  };
199
207
  }
@@ -233,7 +241,7 @@ export function setHomeTemplateId() {
233
241
  *
234
242
  * @param {Object} context The context object.
235
243
  *
236
- * @return {number} The resolved template ID for the page route.
244
+ * @return {Object} Action object.
237
245
  */
238
246
  export function setEditedPostContext( context ) {
239
247
  return {
@@ -257,29 +265,55 @@ export function setEditedPostContext( context ) {
257
265
  export const setPage =
258
266
  ( page ) =>
259
267
  async ( { dispatch, registry } ) => {
260
- if ( ! page.path && page.context?.postId ) {
261
- const entity = await registry
268
+ let template;
269
+ const getDefaultTemplate = async ( slug ) =>
270
+ apiFetch( {
271
+ path: addQueryArgs( '/wp/v2/templates/lookup', {
272
+ slug: `page-${ slug }`,
273
+ } ),
274
+ } );
275
+
276
+ if ( page.path ) {
277
+ template = await registry
262
278
  .resolveSelect( coreStore )
263
- .getEntityRecord(
279
+ .__experimentalGetTemplateForLink( page.path );
280
+ } else {
281
+ const editedEntity = await registry
282
+ .resolveSelect( coreStore )
283
+ .getEditedEntityRecord(
264
284
  'postType',
265
- page.context.postType || 'post',
266
- page.context.postId
285
+ page.context?.postType || 'post',
286
+ page.context?.postId
267
287
  );
268
- // If the entity is undefined for some reason, path will resolve to "/"
269
- page.path = getPathAndQueryString( entity?.link );
288
+ const currentTemplateSlug = editedEntity?.template;
289
+ if ( currentTemplateSlug ) {
290
+ const currentTemplate = (
291
+ await registry
292
+ .resolveSelect( coreStore )
293
+ .getEntityRecords( 'postType', TEMPLATE_POST_TYPE, {
294
+ per_page: -1,
295
+ } )
296
+ )?.find( ( { slug } ) => slug === currentTemplateSlug );
297
+ if ( currentTemplate ) {
298
+ template = currentTemplate;
299
+ } else {
300
+ // If a page has a `template` set and is not included in the list
301
+ // of the current theme's templates, query for current theme's default template.
302
+ template = await getDefaultTemplate( editedEntity?.slug );
303
+ }
304
+ } else {
305
+ // Page's `template` is empty, that indicates we need to use the default template for the page.
306
+ template = await getDefaultTemplate( editedEntity?.slug );
307
+ }
270
308
  }
271
309
 
272
- const template = await registry
273
- .resolveSelect( coreStore )
274
- .__experimentalGetTemplateForLink( page.path );
275
-
276
310
  if ( ! template ) {
277
311
  return;
278
312
  }
279
313
 
280
314
  dispatch( {
281
315
  type: 'SET_EDITED_POST',
282
- postType: 'wp_template',
316
+ postType: TEMPLATE_POST_TYPE,
283
317
  id: template.id,
284
318
  context: {
285
319
  ...page.context,
@@ -4,8 +4,3 @@
4
4
  * @type {string}
5
5
  */
6
6
  export const STORE_NAME = 'core/edit-site';
7
-
8
- export const TEMPLATE_PART_AREA_HEADER = 'header';
9
- export const TEMPLATE_PART_AREA_FOOTER = 'footer';
10
- export const TEMPLATE_PART_AREA_SIDEBAR = 'sidebar';
11
- export const TEMPLATE_PART_AREA_GENERAL = 'uncategorized';
@@ -49,3 +49,22 @@ export const setEditorCanvasContainerView =
49
49
  view,
50
50
  } );
51
51
  };
52
+
53
+ /**
54
+ * Sets the type of page content focus. Can be one of:
55
+ *
56
+ * - `'disableTemplate'`: Disable the blocks belonging to the page's template.
57
+ * - `'hideTemplate'`: Hide the blocks belonging to the page's template.
58
+ *
59
+ * @param {'disableTemplate'|'hideTemplate'} pageContentFocusType The type of page content focus.
60
+ *
61
+ * @return {Object} Action object.
62
+ */
63
+ export const setPageContentFocusType =
64
+ ( pageContentFocusType ) =>
65
+ ( { dispatch } ) => {
66
+ dispatch( {
67
+ type: 'SET_PAGE_CONTENT_FOCUS_TYPE',
68
+ pageContentFocusType,
69
+ } );
70
+ };
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import { hasPageContentFocus } from './selectors';
5
+
1
6
  /**
2
7
  * Returns the current canvas mode.
3
8
  *
@@ -19,3 +24,20 @@ export function getCanvasMode( state ) {
19
24
  export function getEditorCanvasContainerView( state ) {
20
25
  return state.editorCanvasContainerView;
21
26
  }
27
+
28
+ /**
29
+ * Returns the type of the current page content focus, or null if there is no
30
+ * page content focus.
31
+ *
32
+ * Possible values are:
33
+ *
34
+ * - `'disableTemplate'`: Disable the blocks belonging to the page's template.
35
+ * - `'hideTemplate'`: Hide the blocks belonging to the page's template.
36
+ *
37
+ * @param {Object} state Global application state.
38
+ *
39
+ * @return {'disableTemplate'|'hideTemplate'|null} Type of the current page content focus.
40
+ */
41
+ export function getPageContentFocusType( state ) {
42
+ return hasPageContentFocus( state ) ? state.pageContentFocusType : null;
43
+ }