@wordpress/edit-site 5.19.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 (443) hide show
  1. package/build/components/add-new-pattern/index.js +3 -3
  2. package/build/components/add-new-pattern/index.js.map +1 -1
  3. package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js +73 -0
  4. package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +1 -0
  5. package/build/components/block-editor/block-editor-provider/index.js +31 -0
  6. package/build/components/block-editor/block-editor-provider/index.js.map +1 -0
  7. package/build/components/block-editor/{providers → block-editor-provider}/navigation-block-editor-provider.js +2 -1
  8. package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +1 -0
  9. package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js +76 -0
  10. package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +1 -0
  11. package/build/components/block-editor/index.js +2 -9
  12. package/build/components/block-editor/index.js.map +1 -1
  13. package/build/components/block-editor/site-editor-canvas.js +1 -1
  14. package/build/components/block-editor/site-editor-canvas.js.map +1 -1
  15. package/build/components/create-template-part-modal/index.js +8 -12
  16. package/build/components/create-template-part-modal/index.js.map +1 -1
  17. package/build/components/editor/index.js +4 -1
  18. package/build/components/editor/index.js.map +1 -1
  19. package/build/components/global-styles/font-family-item.js +2 -2
  20. package/build/components/global-styles/font-family-item.js.map +1 -1
  21. package/build/components/global-styles/font-library-modal/collection-font-details.js +49 -0
  22. package/build/components/global-styles/font-library-modal/collection-font-details.js.map +1 -0
  23. package/build/components/global-styles/font-library-modal/collection-font-variant.js +55 -0
  24. package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -0
  25. package/build/components/global-styles/font-library-modal/context.js +26 -2
  26. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  27. package/build/components/global-styles/font-library-modal/font-card.js +7 -4
  28. package/build/components/global-styles/font-library-modal/font-card.js.map +1 -1
  29. package/build/components/global-styles/font-library-modal/font-collection.js +172 -0
  30. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -0
  31. package/build/components/global-styles/font-library-modal/font-demo.js +30 -13
  32. package/build/components/global-styles/font-library-modal/font-demo.js.map +1 -1
  33. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +41 -0
  34. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -0
  35. package/build/components/global-styles/font-library-modal/index.js +25 -7
  36. package/build/components/global-styles/font-library-modal/index.js.map +1 -1
  37. package/build/components/global-styles/font-library-modal/installed-fonts.js +2 -2
  38. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  39. package/build/components/global-styles/font-library-modal/library-font-card.js +0 -5
  40. package/build/components/global-styles/font-library-modal/library-font-card.js.map +1 -1
  41. package/build/components/global-styles/font-library-modal/library-font-details.js +2 -1
  42. package/build/components/global-styles/font-library-modal/library-font-details.js.map +1 -1
  43. package/build/components/global-styles/font-library-modal/resolvers.js +16 -0
  44. package/build/components/global-styles/font-library-modal/resolvers.js.map +1 -1
  45. package/build/components/global-styles/font-library-modal/tab-layout.js +2 -2
  46. package/build/components/global-styles/font-library-modal/tab-layout.js.map +1 -1
  47. package/build/components/global-styles/font-library-modal/utils/constants.js +1 -7
  48. package/build/components/global-styles/font-library-modal/utils/constants.js.map +1 -1
  49. package/build/components/global-styles/font-library-modal/utils/filter-fonts.js +21 -0
  50. package/build/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -0
  51. package/build/components/global-styles/font-library-modal/utils/fonts-outline.js +20 -0
  52. package/build/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -0
  53. package/build/components/global-styles/font-library-modal/utils/index.js +2 -52
  54. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  55. package/build/components/global-styles/font-library-modal/utils/preview-styles.js +76 -0
  56. package/build/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -0
  57. package/build/components/global-styles/font-library-modal/utils/sort-font-faces.js +36 -0
  58. package/build/components/global-styles/font-library-modal/utils/sort-font-faces.js.map +1 -0
  59. package/build/components/global-styles/screen-typography.js +1 -1
  60. package/build/components/global-styles/screen-typography.js.map +1 -1
  61. package/build/components/header-edit-mode/document-actions/index.js +9 -8
  62. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  63. package/build/components/header-edit-mode/index.js +4 -1
  64. package/build/components/header-edit-mode/index.js.map +1 -1
  65. package/build/components/layout/index.js +5 -1
  66. package/build/components/layout/index.js.map +1 -1
  67. package/build/components/list/added-by.js +13 -8
  68. package/build/components/list/added-by.js.map +1 -1
  69. package/build/components/list/index.js +2 -1
  70. package/build/components/list/index.js.map +1 -1
  71. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +2 -3
  72. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  73. package/build/components/page-patterns/duplicate-menu-item.js +5 -5
  74. package/build/components/page-patterns/duplicate-menu-item.js.map +1 -1
  75. package/build/components/page-patterns/grid-item.js +5 -5
  76. package/build/components/page-patterns/grid-item.js.map +1 -1
  77. package/build/components/page-patterns/index.js +1 -1
  78. package/build/components/page-patterns/index.js.map +1 -1
  79. package/build/components/page-patterns/search-items.js +1 -1
  80. package/build/components/page-patterns/search-items.js.map +1 -1
  81. package/build/components/page-patterns/use-patterns.js +28 -34
  82. package/build/components/page-patterns/use-patterns.js.map +1 -1
  83. package/build/components/page-template-parts/add-new-template-part.js +3 -2
  84. package/build/components/page-template-parts/add-new-template-part.js.map +1 -1
  85. package/build/components/page-template-parts/index.js +2 -1
  86. package/build/components/page-template-parts/index.js.map +1 -1
  87. package/build/components/page-templates/index.js +3 -2
  88. package/build/components/page-templates/index.js.map +1 -1
  89. package/build/components/save-hub/index.js +2 -1
  90. package/build/components/save-hub/index.js.map +1 -1
  91. package/build/components/secondary-sidebar/list-view-sidebar.js +24 -17
  92. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  93. package/build/components/sidebar-edit-mode/page-panels/edit-template.js +21 -3
  94. package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  95. package/build/components/sidebar-edit-mode/page-panels/hooks.js +2 -1
  96. package/build/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
  97. package/build/components/sidebar-edit-mode/settings-header/index.js +2 -6
  98. package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  99. package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js +9 -2
  100. package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -1
  101. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js +2 -1
  102. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -1
  103. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +2 -1
  104. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  105. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +3 -2
  106. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  107. package/build/components/sidebar-navigation-screen-page/page-details.js +2 -1
  108. package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  109. package/build/components/sidebar-navigation-screen-pages/index.js +5 -4
  110. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  111. package/build/components/sidebar-navigation-screen-pattern/index.js +2 -1
  112. package/build/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  113. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +3 -2
  114. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
  115. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -1
  116. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  117. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +2 -1
  118. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
  119. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +8 -7
  120. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  121. package/build/components/sidebar-navigation-screen-patterns/index.js +3 -3
  122. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  123. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +7 -2
  124. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  125. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +7 -2
  126. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
  127. package/build/components/sidebar-navigation-screen-template/home-template-details.js +2 -1
  128. package/build/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
  129. package/build/components/sidebar-navigation-screen-templates/index.js +4 -3
  130. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  131. package/build/components/sidebar-navigation-screen-templates-browse/index.js +3 -2
  132. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  133. package/build/components/start-template-options/index.js +20 -2
  134. package/build/components/start-template-options/index.js.map +1 -1
  135. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -4
  136. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  137. package/build/components/sync-state-with-url/use-sync-path-with-url.js +4 -3
  138. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  139. package/build/components/template-actions/index.js +2 -1
  140. package/build/components/template-actions/index.js.map +1 -1
  141. package/build/components/template-actions/rename-menu-item.js +8 -3
  142. package/build/components/template-actions/rename-menu-item.js.map +1 -1
  143. package/build/hooks/commands/use-edit-mode-commands.js +4 -3
  144. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  145. package/build/hooks/navigation-menu-edit.js +2 -1
  146. package/build/hooks/navigation-menu-edit.js.map +1 -1
  147. package/build/hooks/template-part-edit.js +2 -1
  148. package/build/hooks/template-part-edit.js.map +1 -1
  149. package/build/store/actions.js +10 -9
  150. package/build/store/actions.js.map +1 -1
  151. package/build/store/constants.js +1 -9
  152. package/build/store/constants.js.map +1 -1
  153. package/build/store/private-actions.js +21 -1
  154. package/build/store/private-actions.js.map +1 -1
  155. package/build/store/private-selectors.js +23 -0
  156. package/build/store/private-selectors.js.map +1 -1
  157. package/build/store/reducer.js +19 -1
  158. package/build/store/reducer.js.map +1 -1
  159. package/build/store/selectors.js +3 -2
  160. package/build/store/selectors.js.map +1 -1
  161. package/build/utils/constants.js +22 -3
  162. package/build/utils/constants.js.map +1 -1
  163. package/build/utils/is-template-removable.js +1 -1
  164. package/build/utils/is-template-removable.js.map +1 -1
  165. package/build/utils/is-template-revertable.js +1 -1
  166. package/build/utils/is-template-revertable.js.map +1 -1
  167. package/build/utils/template-part-create.js +6 -1
  168. package/build/utils/template-part-create.js.map +1 -1
  169. package/build-module/components/add-new-pattern/index.js +3 -3
  170. package/build-module/components/add-new-pattern/index.js.map +1 -1
  171. package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js +65 -0
  172. package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +1 -0
  173. package/build-module/components/block-editor/block-editor-provider/index.js +23 -0
  174. package/build-module/components/block-editor/block-editor-provider/index.js.map +1 -0
  175. package/build-module/components/block-editor/{providers → block-editor-provider}/navigation-block-editor-provider.js +2 -1
  176. package/build-module/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +1 -0
  177. package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js +70 -0
  178. package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +1 -0
  179. package/build-module/components/block-editor/index.js +1 -8
  180. package/build-module/components/block-editor/index.js.map +1 -1
  181. package/build-module/components/block-editor/site-editor-canvas.js +2 -2
  182. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
  183. package/build-module/components/create-template-part-modal/index.js +8 -12
  184. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  185. package/build-module/components/editor/index.js +4 -1
  186. package/build-module/components/editor/index.js.map +1 -1
  187. package/build-module/components/global-styles/font-family-item.js +2 -2
  188. package/build-module/components/global-styles/font-family-item.js.map +1 -1
  189. package/build-module/components/global-styles/font-library-modal/collection-font-details.js +40 -0
  190. package/build-module/components/global-styles/font-library-modal/collection-font-details.js.map +1 -0
  191. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js +45 -0
  192. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -0
  193. package/build-module/components/global-styles/font-library-modal/context.js +27 -3
  194. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  195. package/build-module/components/global-styles/font-library-modal/font-card.js +8 -5
  196. package/build-module/components/global-styles/font-library-modal/font-card.js.map +1 -1
  197. package/build-module/components/global-styles/font-library-modal/font-collection.js +164 -0
  198. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -0
  199. package/build-module/components/global-styles/font-library-modal/font-demo.js +30 -13
  200. package/build-module/components/global-styles/font-library-modal/font-demo.js.map +1 -1
  201. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +33 -0
  202. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -0
  203. package/build-module/components/global-styles/font-library-modal/index.js +26 -7
  204. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
  205. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +2 -2
  206. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  207. package/build-module/components/global-styles/font-library-modal/library-font-card.js +0 -5
  208. package/build-module/components/global-styles/font-library-modal/library-font-card.js.map +1 -1
  209. package/build-module/components/global-styles/font-library-modal/library-font-details.js +2 -1
  210. package/build-module/components/global-styles/font-library-modal/library-font-details.js.map +1 -1
  211. package/build-module/components/global-styles/font-library-modal/resolvers.js +14 -0
  212. package/build-module/components/global-styles/font-library-modal/resolvers.js.map +1 -1
  213. package/build-module/components/global-styles/font-library-modal/tab-layout.js +2 -2
  214. package/build-module/components/global-styles/font-library-modal/tab-layout.js.map +1 -1
  215. package/build-module/components/global-styles/font-library-modal/utils/constants.js +1 -6
  216. package/build-module/components/global-styles/font-library-modal/utils/constants.js.map +1 -1
  217. package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js +15 -0
  218. package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -0
  219. package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js +13 -0
  220. package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -0
  221. package/build-module/components/global-styles/font-library-modal/utils/index.js +2 -51
  222. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  223. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js +68 -0
  224. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -0
  225. package/build-module/components/global-styles/font-library-modal/utils/sort-font-faces.js +30 -0
  226. package/build-module/components/global-styles/font-library-modal/utils/sort-font-faces.js.map +1 -0
  227. package/build-module/components/global-styles/screen-typography.js +1 -1
  228. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  229. package/build-module/components/header-edit-mode/document-actions/index.js +9 -8
  230. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  231. package/build-module/components/header-edit-mode/index.js +4 -1
  232. package/build-module/components/header-edit-mode/index.js.map +1 -1
  233. package/build-module/components/layout/index.js +5 -1
  234. package/build-module/components/layout/index.js.map +1 -1
  235. package/build-module/components/list/added-by.js +13 -8
  236. package/build-module/components/list/added-by.js.map +1 -1
  237. package/build-module/components/list/index.js +2 -1
  238. package/build-module/components/list/index.js.map +1 -1
  239. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +2 -3
  240. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  241. package/build-module/components/page-patterns/duplicate-menu-item.js +5 -5
  242. package/build-module/components/page-patterns/duplicate-menu-item.js.map +1 -1
  243. package/build-module/components/page-patterns/grid-item.js +5 -5
  244. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  245. package/build-module/components/page-patterns/index.js +1 -1
  246. package/build-module/components/page-patterns/index.js.map +1 -1
  247. package/build-module/components/page-patterns/search-items.js +2 -2
  248. package/build-module/components/page-patterns/search-items.js.map +1 -1
  249. package/build-module/components/page-patterns/use-patterns.js +28 -35
  250. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  251. package/build-module/components/page-template-parts/add-new-template-part.js +3 -2
  252. package/build-module/components/page-template-parts/add-new-template-part.js.map +1 -1
  253. package/build-module/components/page-template-parts/index.js +2 -1
  254. package/build-module/components/page-template-parts/index.js.map +1 -1
  255. package/build-module/components/page-templates/index.js +3 -2
  256. package/build-module/components/page-templates/index.js.map +1 -1
  257. package/build-module/components/save-hub/index.js +2 -1
  258. package/build-module/components/save-hub/index.js.map +1 -1
  259. package/build-module/components/secondary-sidebar/list-view-sidebar.js +26 -19
  260. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  261. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +21 -3
  262. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  263. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js +2 -1
  264. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
  265. package/build-module/components/sidebar-edit-mode/settings-header/index.js +2 -6
  266. package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  267. package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js +9 -2
  268. package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -1
  269. package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js +2 -1
  270. package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -1
  271. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +3 -1
  272. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  273. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +3 -2
  274. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  275. package/build-module/components/sidebar-navigation-screen-page/page-details.js +2 -1
  276. package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  277. package/build-module/components/sidebar-navigation-screen-pages/index.js +5 -4
  278. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  279. package/build-module/components/sidebar-navigation-screen-pattern/index.js +2 -1
  280. package/build-module/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  281. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +3 -2
  282. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
  283. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -1
  284. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  285. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +2 -1
  286. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
  287. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +8 -7
  288. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  289. package/build-module/components/sidebar-navigation-screen-patterns/index.js +4 -4
  290. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  291. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +8 -3
  292. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  293. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +7 -2
  294. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
  295. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js +2 -1
  296. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
  297. package/build-module/components/sidebar-navigation-screen-templates/index.js +4 -3
  298. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  299. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +3 -2
  300. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  301. package/build-module/components/start-template-options/index.js +20 -2
  302. package/build-module/components/start-template-options/index.js.map +1 -1
  303. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -4
  304. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  305. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +4 -3
  306. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  307. package/build-module/components/template-actions/index.js +2 -1
  308. package/build-module/components/template-actions/index.js.map +1 -1
  309. package/build-module/components/template-actions/rename-menu-item.js +8 -3
  310. package/build-module/components/template-actions/rename-menu-item.js.map +1 -1
  311. package/build-module/hooks/commands/use-edit-mode-commands.js +4 -3
  312. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  313. package/build-module/hooks/navigation-menu-edit.js +2 -1
  314. package/build-module/hooks/navigation-menu-edit.js.map +1 -1
  315. package/build-module/hooks/template-part-edit.js +2 -1
  316. package/build-module/hooks/template-part-edit.js.map +1 -1
  317. package/build-module/store/actions.js +10 -10
  318. package/build-module/store/actions.js.map +1 -1
  319. package/build-module/store/constants.js +0 -4
  320. package/build-module/store/constants.js.map +1 -1
  321. package/build-module/store/private-actions.js +19 -0
  322. package/build-module/store/private-actions.js.map +1 -1
  323. package/build-module/store/private-selectors.js +22 -0
  324. package/build-module/store/private-selectors.js.map +1 -1
  325. package/build-module/store/reducer.js +18 -1
  326. package/build-module/store/reducer.js.map +1 -1
  327. package/build-module/store/selectors.js +3 -3
  328. package/build-module/store/selectors.js.map +1 -1
  329. package/build-module/utils/constants.js +17 -1
  330. package/build-module/utils/constants.js.map +1 -1
  331. package/build-module/utils/is-template-removable.js +2 -2
  332. package/build-module/utils/is-template-removable.js.map +1 -1
  333. package/build-module/utils/is-template-revertable.js +2 -2
  334. package/build-module/utils/is-template-revertable.js.map +1 -1
  335. package/build-module/utils/template-part-create.js +6 -1
  336. package/build-module/utils/template-part-create.js.map +1 -1
  337. package/build-style/style-rtl.css +23 -0
  338. package/build-style/style.css +23 -0
  339. package/package.json +40 -40
  340. package/src/components/add-new-pattern/index.js +3 -3
  341. package/src/components/block-editor/block-editor-provider/default-block-editor-provider.js +70 -0
  342. package/src/components/block-editor/block-editor-provider/index.js +29 -0
  343. package/src/components/block-editor/{providers → block-editor-provider}/navigation-block-editor-provider.js +2 -1
  344. package/src/components/block-editor/block-editor-provider/test/use-page-content-blocks.js +87 -0
  345. package/src/components/block-editor/block-editor-provider/use-page-content-blocks.js +77 -0
  346. package/src/components/block-editor/index.js +1 -14
  347. package/src/components/block-editor/site-editor-canvas.js +5 -2
  348. package/src/components/create-template-part-modal/index.js +11 -12
  349. package/src/components/editor/index.js +6 -2
  350. package/src/components/global-styles/font-family-item.js +2 -2
  351. package/src/components/global-styles/font-library-modal/collection-font-details.js +56 -0
  352. package/src/components/global-styles/font-library-modal/collection-font-variant.js +45 -0
  353. package/src/components/global-styles/font-library-modal/context.js +33 -2
  354. package/src/components/global-styles/font-library-modal/font-card.js +9 -4
  355. package/src/components/global-styles/font-library-modal/font-collection.js +257 -0
  356. package/src/components/global-styles/font-library-modal/font-demo.js +36 -10
  357. package/src/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +50 -0
  358. package/src/components/global-styles/font-library-modal/index.js +30 -5
  359. package/src/components/global-styles/font-library-modal/installed-fonts.js +1 -1
  360. package/src/components/global-styles/font-library-modal/library-font-card.js +1 -8
  361. package/src/components/global-styles/font-library-modal/library-font-details.js +2 -3
  362. package/src/components/global-styles/font-library-modal/resolvers.js +16 -0
  363. package/src/components/global-styles/font-library-modal/style.scss +26 -0
  364. package/src/components/global-styles/font-library-modal/tab-layout.js +2 -2
  365. package/src/components/global-styles/font-library-modal/utils/constants.js +1 -9
  366. package/src/components/global-styles/font-library-modal/utils/filter-fonts.js +18 -0
  367. package/src/components/global-styles/font-library-modal/utils/fonts-outline.js +21 -0
  368. package/src/components/global-styles/font-library-modal/utils/index.js +9 -69
  369. package/src/components/global-styles/font-library-modal/utils/preview-styles.js +86 -0
  370. package/src/components/global-styles/font-library-modal/utils/sort-font-faces.js +33 -0
  371. package/src/components/global-styles/font-library-modal/utils/test/filter-fonts.spec.js +69 -0
  372. package/src/components/global-styles/font-library-modal/utils/test/fonts-outline.spec.js +109 -0
  373. package/src/components/global-styles/font-library-modal/utils/test/{getPreviewStyle.spec.js → preview-styles.spec.js} +49 -9
  374. package/src/components/global-styles/font-library-modal/utils/test/sort-font-faces.js +74 -0
  375. package/src/components/global-styles/screen-typography.js +3 -1
  376. package/src/components/header-edit-mode/document-actions/index.js +17 -8
  377. package/src/components/header-edit-mode/index.js +2 -1
  378. package/src/components/layout/index.js +10 -1
  379. package/src/components/list/added-by.js +29 -11
  380. package/src/components/list/index.js +7 -1
  381. package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +2 -8
  382. package/src/components/page-patterns/duplicate-menu-item.js +5 -5
  383. package/src/components/page-patterns/grid-item.js +5 -5
  384. package/src/components/page-patterns/index.js +1 -1
  385. package/src/components/page-patterns/search-items.js +7 -1
  386. package/src/components/page-patterns/use-patterns.js +190 -134
  387. package/src/components/page-template-parts/add-new-template-part.js +5 -2
  388. package/src/components/page-template-parts/index.js +2 -1
  389. package/src/components/page-templates/index.js +3 -2
  390. package/src/components/save-hub/index.js +2 -1
  391. package/src/components/secondary-sidebar/list-view-sidebar.js +31 -26
  392. package/src/components/sidebar-edit-mode/page-panels/edit-template.js +48 -20
  393. package/src/components/sidebar-edit-mode/page-panels/hooks.js +9 -4
  394. package/src/components/sidebar-edit-mode/page-panels/style.scss +6 -0
  395. package/src/components/sidebar-edit-mode/settings-header/index.js +4 -7
  396. package/src/components/sidebar-edit-mode/template-panel/pattern-categories.js +9 -2
  397. package/src/components/sidebar-navigation-screen-navigation-menu/edit-button.js +2 -1
  398. package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +3 -1
  399. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +3 -2
  400. package/src/components/sidebar-navigation-screen-page/page-details.js +2 -1
  401. package/src/components/sidebar-navigation-screen-pages/index.js +5 -4
  402. package/src/components/sidebar-navigation-screen-pattern/index.js +2 -1
  403. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +8 -2
  404. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +7 -1
  405. package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +2 -1
  406. package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +18 -8
  407. package/src/components/sidebar-navigation-screen-patterns/index.js +8 -4
  408. package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +16 -3
  409. package/src/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +12 -2
  410. package/src/components/sidebar-navigation-screen-template/home-template-details.js +2 -1
  411. package/src/components/sidebar-navigation-screen-templates/index.js +4 -3
  412. package/src/components/sidebar-navigation-screen-templates-browse/index.js +6 -2
  413. package/src/components/start-template-options/index.js +39 -2
  414. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +10 -4
  415. package/src/components/sync-state-with-url/use-sync-path-with-url.js +8 -3
  416. package/src/components/template-actions/index.js +2 -1
  417. package/src/components/template-actions/rename-menu-item.js +8 -3
  418. package/src/hooks/commands/use-edit-mode-commands.js +4 -3
  419. package/src/hooks/navigation-menu-edit.js +2 -1
  420. package/src/hooks/template-part-edit.js +2 -1
  421. package/src/store/actions.js +18 -10
  422. package/src/store/constants.js +0 -5
  423. package/src/store/private-actions.js +19 -0
  424. package/src/store/private-selectors.js +22 -0
  425. package/src/store/reducer.js +18 -0
  426. package/src/store/selectors.js +6 -3
  427. package/src/store/test/reducer.js +18 -0
  428. package/src/utils/constants.js +17 -1
  429. package/src/utils/is-template-removable.js +2 -2
  430. package/src/utils/is-template-revertable.js +2 -2
  431. package/src/utils/template-part-create.js +6 -1
  432. package/build/components/block-editor/get-block-editor-provider.js +0 -35
  433. package/build/components/block-editor/get-block-editor-provider.js.map +0 -1
  434. package/build/components/block-editor/providers/default-block-editor-provider.js +0 -49
  435. package/build/components/block-editor/providers/default-block-editor-provider.js.map +0 -1
  436. package/build/components/block-editor/providers/navigation-block-editor-provider.js.map +0 -1
  437. package/build-module/components/block-editor/get-block-editor-provider.js +0 -28
  438. package/build-module/components/block-editor/get-block-editor-provider.js.map +0 -1
  439. package/build-module/components/block-editor/providers/default-block-editor-provider.js +0 -41
  440. package/build-module/components/block-editor/providers/default-block-editor-provider.js.map +0 -1
  441. package/build-module/components/block-editor/providers/navigation-block-editor-provider.js.map +0 -1
  442. package/src/components/block-editor/get-block-editor-provider.js +0 -29
  443. package/src/components/block-editor/providers/default-block-editor-provider.js +0 -44
@@ -9,6 +9,7 @@ import { store as coreStore } from '@wordpress/core-data';
9
9
  * Internal dependencies
10
10
  */
11
11
  import { store as editSiteStore } from '../../../store';
12
+ import { TEMPLATE_POST_TYPE } from '../../../utils/constants';
12
13
 
13
14
  export function useEditedPostContext() {
14
15
  return useSelect(
@@ -31,10 +32,14 @@ export function useIsPostsPage() {
31
32
  function useTemplates() {
32
33
  return useSelect(
33
34
  ( select ) =>
34
- select( coreStore ).getEntityRecords( 'postType', 'wp_template', {
35
- per_page: -1,
36
- post_type: 'page',
37
- } ),
35
+ select( coreStore ).getEntityRecords(
36
+ 'postType',
37
+ TEMPLATE_POST_TYPE,
38
+ {
39
+ per_page: -1,
40
+ post_type: 'page',
41
+ }
42
+ ),
38
43
  []
39
44
  );
40
45
  }
@@ -79,3 +79,9 @@
79
79
  width: 30%;
80
80
  }
81
81
  }
82
+
83
+ .edit-site-page-panels-edit-template__dropdown {
84
+ .components-popover__content {
85
+ min-width: 240px;
86
+ }
87
+ }
@@ -17,12 +17,7 @@ import { store as interfaceStore } from '@wordpress/interface';
17
17
  import { STORE_NAME } from '../../../store/constants';
18
18
  import { SIDEBAR_BLOCK, SIDEBAR_TEMPLATE } from '../constants';
19
19
  import { store as editSiteStore } from '../../../store';
20
-
21
- const entityLabels = {
22
- wp_navigation: __( 'Navigation' ),
23
- wp_block: __( 'Pattern' ),
24
- wp_template: __( 'Template' ),
25
- };
20
+ import { POST_TYPE_LABELS, TEMPLATE_POST_TYPE } from '../../../utils/constants';
26
21
 
27
22
  const SettingsHeader = ( { sidebarName } ) => {
28
23
  const { hasPageContentFocus, entityType } = useSelect( ( select ) => {
@@ -35,7 +30,9 @@ const SettingsHeader = ( { sidebarName } ) => {
35
30
  };
36
31
  } );
37
32
 
38
- const entityLabel = entityLabels[ entityType ] || entityLabels.wp_template;
33
+ const entityLabel =
34
+ POST_TYPE_LABELS[ entityType ] ||
35
+ POST_TYPE_LABELS[ TEMPLATE_POST_TYPE ];
39
36
 
40
37
  const { enableComplementaryArea } = useDispatch( interfaceStore );
41
38
  const openTemplateSettings = () =>
@@ -10,6 +10,11 @@ import { useDebounce } from '@wordpress/compose';
10
10
  import { store as noticesStore } from '@wordpress/notices';
11
11
  import { decodeEntities } from '@wordpress/html-entities';
12
12
 
13
+ /**
14
+ * Internal dependencies
15
+ */
16
+ import { PATTERN_TYPES } from '../../../utils/constants';
17
+
13
18
  export const unescapeString = ( arg ) => {
14
19
  return decodeEntities( arg );
15
20
  };
@@ -145,7 +150,8 @@ export default function PatternCategories( { post } ) {
145
150
  );
146
151
  }, [ searchResults ] );
147
152
 
148
- const { saveEntityRecord, editEntityRecord } = useDispatch( coreStore );
153
+ const { saveEntityRecord, editEntityRecord, invalidateResolution } =
154
+ useDispatch( coreStore );
149
155
  const { createErrorNotice } = useDispatch( noticesStore );
150
156
 
151
157
  if ( ! hasAssignAction ) {
@@ -157,6 +163,7 @@ export default function PatternCategories( { post } ) {
157
163
  const newTerm = await saveEntityRecord( 'taxonomy', slug, term, {
158
164
  throwOnError: true,
159
165
  } );
166
+ invalidateResolution( 'getUserPatternCategories' );
160
167
  return unescapeTerm( newTerm );
161
168
  } catch ( error ) {
162
169
  if ( error.code !== 'term_exists' ) {
@@ -171,7 +178,7 @@ export default function PatternCategories( { post } ) {
171
178
  }
172
179
 
173
180
  function onUpdateTerms( newTermIds ) {
174
- editEntityRecord( 'postType', 'wp_block', post.id, {
181
+ editEntityRecord( 'postType', PATTERN_TYPES.user, post.id, {
175
182
  wp_pattern_category: newTermIds,
176
183
  } );
177
184
  }
@@ -8,11 +8,12 @@ import { pencil } from '@wordpress/icons';
8
8
  */
9
9
  import SidebarButton from '../sidebar-button';
10
10
  import { useLink } from '../routes/link';
11
+ import { NAVIGATION_POST_TYPE } from '../../utils/constants';
11
12
 
12
13
  export default function EditButton( { postId } ) {
13
14
  const linkInfo = useLink( {
14
15
  postId,
15
- postType: 'wp_navigation',
16
+ postType: NAVIGATION_POST_TYPE,
16
17
  canvas: 'edit',
17
18
  } );
18
19
  return (
@@ -6,10 +6,12 @@ import { __experimentalUseNavigator as useNavigator } from '@wordpress/component
6
6
  import { __, sprintf } from '@wordpress/i18n';
7
7
  import { useSelect, useDispatch } from '@wordpress/data';
8
8
  import { store as noticesStore } from '@wordpress/notices';
9
+
9
10
  /**
10
11
  * Internal dependencies
11
12
  */
12
13
  import { postType } from '.';
14
+ import { NAVIGATION_POST_TYPE } from '../../utils/constants';
13
15
 
14
16
  function useDeleteNavigationMenu() {
15
17
  const { goTo } = useNavigator();
@@ -82,7 +84,7 @@ function useSaveNavigationMenu() {
82
84
  // Prepare for revert in case of error.
83
85
  const originalRecord = getEditedEntityRecord(
84
86
  'postType',
85
- 'wp_navigation',
87
+ NAVIGATION_POST_TYPE,
86
88
  postId
87
89
  );
88
90
 
@@ -22,6 +22,7 @@ import { useLink } from '../routes/link';
22
22
  import SingleNavigationMenu from '../sidebar-navigation-screen-navigation-menu/single-navigation-menu';
23
23
  import useNavigationMenuHandlers from '../sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers';
24
24
  import { unlock } from '../../lock-unlock';
25
+ import { NAVIGATION_POST_TYPE } from '../../utils/constants';
25
26
 
26
27
  // Copied from packages/block-library/src/navigation/edit/navigation-menu-selector.js.
27
28
  function buildMenuLabel( title, id, status ) {
@@ -52,7 +53,7 @@ export default function SidebarNavigationScreenNavigationMenus() {
52
53
  hasResolved: hasResolvedNavigationMenus,
53
54
  } = useEntityRecords(
54
55
  'postType',
55
- `wp_navigation`,
56
+ NAVIGATION_POST_TYPE,
56
57
  PRELOADED_NAVIGATION_MENUS_QUERY
57
58
  );
58
59
 
@@ -151,7 +152,7 @@ export function SidebarNavigationScreenWrapper( {
151
152
  const NavMenuItem = ( { postId, ...props } ) => {
152
153
  const linkInfo = useLink( {
153
154
  postId,
154
- postType: 'wp_navigation',
155
+ postType: NAVIGATION_POST_TYPE,
155
156
  } );
156
157
  return <SidebarNavigationItem { ...linkInfo } { ...props } />;
157
158
  };
@@ -21,6 +21,7 @@ import {
21
21
  SidebarNavigationScreenDetailsPanelLabel,
22
22
  SidebarNavigationScreenDetailsPanelValue,
23
23
  } from '../sidebar-navigation-screen-details-panel';
24
+ import { TEMPLATE_POST_TYPE } from '../../utils/constants';
24
25
 
25
26
  // Taken from packages/editor/src/components/time-to-read/index.js.
26
27
  const AVERAGE_READING_RATE = 189;
@@ -106,7 +107,7 @@ export default function PageDetails( { id } ) {
106
107
  const postContext = getEditedPostContext();
107
108
  const templates = select( coreStore ).getEntityRecords(
108
109
  'postType',
109
- 'wp_template',
110
+ TEMPLATE_POST_TYPE,
110
111
  { per_page: -1 }
111
112
  );
112
113
  // Template title.
@@ -24,6 +24,7 @@ import SidebarNavigationItem from '../sidebar-navigation-item';
24
24
  import SidebarButton from '../sidebar-button';
25
25
  import AddNewPageModal from '../add-new-page';
26
26
  import { unlock } from '../../lock-unlock';
27
+ import { TEMPLATE_POST_TYPE } from '../../utils/constants';
27
28
 
28
29
  const { useHistory } = unlock( routerPrivateApis );
29
30
 
@@ -50,7 +51,7 @@ export default function SidebarNavigationScreenPages() {
50
51
  }
51
52
  );
52
53
  const { records: templates, isResolving: isLoadingTemplates } =
53
- useEntityRecords( 'postType', 'wp_template', {
54
+ useEntityRecords( 'postType', TEMPLATE_POST_TYPE, {
54
55
  per_page: -1,
55
56
  } );
56
57
 
@@ -130,7 +131,7 @@ export default function SidebarNavigationScreenPages() {
130
131
 
131
132
  return {
132
133
  icon: itemIcon,
133
- postType: postsPageTemplateId ? 'wp_template' : 'page',
134
+ postType: postsPageTemplateId ? TEMPLATE_POST_TYPE : 'page',
134
135
  postId: postsPageTemplateId || id,
135
136
  };
136
137
  };
@@ -167,7 +168,7 @@ export default function SidebarNavigationScreenPages() {
167
168
  ) }
168
169
  { isHomePageBlog && homeTemplate && (
169
170
  <PageItem
170
- postType="wp_template"
171
+ postType={ TEMPLATE_POST_TYPE }
171
172
  postId={ homeTemplate.id }
172
173
  key={ homeTemplate.id }
173
174
  icon={ home }
@@ -203,7 +204,7 @@ export default function SidebarNavigationScreenPages() {
203
204
  <VStack spacing={ 0 }>
204
205
  { dynamicPageTemplates?.map( ( item ) => (
205
206
  <PageItem
206
- postType="wp_template"
207
+ postType={ TEMPLATE_POST_TYPE }
207
208
  postId={ item.id }
208
209
  key={ item.id }
209
210
  icon={ layout }
@@ -17,6 +17,7 @@ import usePatternDetails from './use-pattern-details';
17
17
  import { store as editSiteStore } from '../../store';
18
18
  import { unlock } from '../../lock-unlock';
19
19
  import TemplateActions from '../template-actions';
20
+ import { TEMPLATE_PART_POST_TYPE } from '../../utils/constants';
20
21
 
21
22
  export default function SidebarNavigationScreenPattern() {
22
23
  const navigator = useNavigator();
@@ -34,7 +35,7 @@ export default function SidebarNavigationScreenPattern() {
34
35
  // indicates the user has arrived at the template part via the "manage all"
35
36
  // page and the back button should return them to that list page.
36
37
  const backPath =
37
- ! categoryType && postType === 'wp_template_part'
38
+ ! categoryType && postType === TEMPLATE_PART_POST_TYPE
38
39
  ? '/wp_template_part/all'
39
40
  : '/patterns';
40
41
 
@@ -9,13 +9,19 @@ import { __ } from '@wordpress/i18n';
9
9
  */
10
10
  import SidebarNavigationItem from '../sidebar-navigation-item';
11
11
  import { useLink } from '../routes/link';
12
+ import { NAVIGATION_POST_TYPE } from '../../utils/constants';
12
13
 
13
14
  export default function TemplatePartNavigationMenuListItem( { id } ) {
14
- const [ title ] = useEntityProp( 'postType', 'wp_navigation', 'title', id );
15
+ const [ title ] = useEntityProp(
16
+ 'postType',
17
+ NAVIGATION_POST_TYPE,
18
+ 'title',
19
+ id
20
+ );
15
21
 
16
22
  const linkInfo = useLink( {
17
23
  postId: id,
18
- postType: 'wp_navigation',
24
+ postType: NAVIGATION_POST_TYPE,
19
25
  } );
20
26
 
21
27
  if ( ! id ) return null;
@@ -9,9 +9,15 @@ import { useEntityProp } from '@wordpress/core-data';
9
9
  * Internal dependencies
10
10
  */
11
11
  import NavigationMenuEditor from '../sidebar-navigation-screen-navigation-menu/navigation-menu-editor';
12
+ import { NAVIGATION_POST_TYPE } from '../../utils/constants';
12
13
 
13
14
  export default function TemplatePartNavigationMenu( { id } ) {
14
- const [ title ] = useEntityProp( 'postType', 'wp_navigation', 'title', id );
15
+ const [ title ] = useEntityProp(
16
+ 'postType',
17
+ NAVIGATION_POST_TYPE,
18
+ 'title',
19
+ id
20
+ );
15
21
 
16
22
  if ( ! id ) return null;
17
23
 
@@ -8,6 +8,7 @@ import { parse } from '@wordpress/blocks';
8
8
  */
9
9
  import TemplatePartNavigationMenus from './template-part-navigation-menus';
10
10
  import useEditedEntityRecord from '../use-edited-entity-record';
11
+ import { TEMPLATE_PART_POST_TYPE } from '../../utils/constants';
11
12
 
12
13
  /**
13
14
  * Retrieves a list of specific blocks from a given tree of blocks.
@@ -55,7 +56,7 @@ export default function useNavigationMenuContent( postType, postId ) {
55
56
  // Only managing navigation menus in template parts is supported
56
57
  // to match previous behaviour. This could potentially be expanded
57
58
  // to patterns as well.
58
- if ( postType !== 'wp_template_part' ) {
59
+ if ( postType !== TEMPLATE_PART_POST_TYPE ) {
59
60
  return;
60
61
  }
61
62
 
@@ -24,6 +24,12 @@ import {
24
24
  SidebarNavigationScreenDetailsPanelLabel,
25
25
  SidebarNavigationScreenDetailsPanelValue,
26
26
  } from '../sidebar-navigation-screen-details-panel';
27
+ import {
28
+ PATTERN_TYPES,
29
+ TEMPLATE_PART_POST_TYPE,
30
+ PATTERN_SYNC_TYPES,
31
+ TEMPLATE_ORIGINS,
32
+ } from '../../utils/constants';
27
33
 
28
34
  export default function usePatternDetails( postType, postId ) {
29
35
  const { getDescription, getTitle, record } = useEditedEntityRecord(
@@ -53,7 +59,7 @@ export default function usePatternDetails( postType, postId ) {
53
59
 
54
60
  if ( ! description && addedBy.text ) {
55
61
  description =
56
- postType === 'wp_block'
62
+ postType === PATTERN_TYPES.user
57
63
  ? sprintf(
58
64
  // translators: %s: pattern title e.g: "Header".
59
65
  __( 'This is the %s pattern.' ),
@@ -66,7 +72,7 @@ export default function usePatternDetails( postType, postId ) {
66
72
  );
67
73
  }
68
74
 
69
- if ( ! description && postType === 'wp_block' && record?.title ) {
75
+ if ( ! description && postType === PATTERN_TYPES.user && record?.title ) {
70
76
  description = sprintf(
71
77
  // translators: %s: user created pattern title e.g. "Footer".
72
78
  __( 'This is the %s pattern.' ),
@@ -80,11 +86,14 @@ export default function usePatternDetails( postType, postId ) {
80
86
 
81
87
  const details = [];
82
88
 
83
- if ( postType === 'wp_block' || 'wp_template_part' ) {
89
+ if (
90
+ postType === PATTERN_TYPES.user ||
91
+ postType === TEMPLATE_PART_POST_TYPE
92
+ ) {
84
93
  details.push( {
85
94
  label: __( 'Syncing' ),
86
95
  value:
87
- record.wp_pattern_sync_status === 'unsynced'
96
+ record.wp_pattern_sync_status === PATTERN_SYNC_TYPES.unsynced
88
97
  ? __( 'Not synced' )
89
98
  : __( 'Fully synced' ),
90
99
  } );
@@ -112,7 +121,7 @@ export default function usePatternDetails( postType, postId ) {
112
121
  }
113
122
  }
114
123
 
115
- if ( postType === 'wp_template_part' ) {
124
+ if ( postType === TEMPLATE_PART_POST_TYPE ) {
116
125
  const templatePartArea = templatePartAreas.find(
117
126
  ( area ) => area.area === record.area
118
127
  );
@@ -133,7 +142,7 @@ export default function usePatternDetails( postType, postId ) {
133
142
  }
134
143
 
135
144
  if (
136
- postType === 'wp_template_part' &&
145
+ postType === TEMPLATE_PART_POST_TYPE &&
137
146
  addedBy.text &&
138
147
  ! isAddedByActiveTheme
139
148
  ) {
@@ -148,9 +157,10 @@ export default function usePatternDetails( postType, postId ) {
148
157
  }
149
158
 
150
159
  if (
151
- postType === 'wp_template_part' &&
160
+ postType === TEMPLATE_PART_POST_TYPE &&
152
161
  addedBy.text &&
153
- ( record.origin === 'plugin' || record.has_theme_file === true )
162
+ ( record.origin === TEMPLATE_ORIGINS.plugin ||
163
+ record.has_theme_file === true )
154
164
  ) {
155
165
  details.push( {
156
166
  label: __( 'Customized' ),
@@ -19,7 +19,11 @@ import AddNewPattern from '../add-new-pattern';
19
19
  import SidebarNavigationItem from '../sidebar-navigation-item';
20
20
  import SidebarNavigationScreen from '../sidebar-navigation-screen';
21
21
  import CategoryItem from './category-item';
22
- import { PATTERN_DEFAULT_CATEGORY, PATTERN_TYPES } from '../../utils/constants';
22
+ import {
23
+ PATTERN_DEFAULT_CATEGORY,
24
+ PATTERN_TYPES,
25
+ TEMPLATE_PART_POST_TYPE,
26
+ } from '../../utils/constants';
23
27
  import { useLink } from '../routes/link';
24
28
  import usePatternCategories from './use-pattern-categories';
25
29
  import useTemplatePartAreas from './use-template-part-areas';
@@ -39,10 +43,10 @@ function TemplatePartGroup( { areas, currentArea, currentType } ) {
39
43
  icon={ getTemplatePartIcon( area ) }
40
44
  label={ label }
41
45
  id={ area }
42
- type="wp_template_part"
46
+ type={ TEMPLATE_PART_POST_TYPE }
43
47
  isActive={
44
48
  currentArea === area &&
45
- currentType === 'wp_template_part'
49
+ currentType === TEMPLATE_PART_POST_TYPE
46
50
  }
47
51
  />
48
52
  )
@@ -84,7 +88,7 @@ export default function SidebarNavigationScreenPatterns() {
84
88
  const isMobileViewport = useViewportMatch( 'medium', '<' );
85
89
  const { categoryType, categoryId } = getQueryArgs( window.location.href );
86
90
  const currentCategory = categoryId || PATTERN_DEFAULT_CATEGORY;
87
- const currentType = categoryType || PATTERN_TYPES.user;
91
+ const currentType = categoryType || PATTERN_TYPES.theme;
88
92
 
89
93
  const { templatePartAreas, hasTemplateParts, isLoading } =
90
94
  useTemplatePartAreas();
@@ -10,12 +10,17 @@ import { __ } from '@wordpress/i18n';
10
10
  import useDefaultPatternCategories from './use-default-pattern-categories';
11
11
  import useThemePatterns from './use-theme-patterns';
12
12
  import usePatterns from '../page-patterns/use-patterns';
13
- import { PATTERN_TYPES, PATTERN_DEFAULT_CATEGORY } from '../../utils/constants';
13
+ import {
14
+ PATTERN_TYPES,
15
+ PATTERN_DEFAULT_CATEGORY,
16
+ PATTERN_USER_CATEGORY,
17
+ TEMPLATE_PART_AREA_DEFAULT_CATEGORY,
18
+ } from '../../utils/constants';
14
19
 
15
20
  export default function usePatternCategories() {
16
21
  const defaultCategories = useDefaultPatternCategories();
17
22
  defaultCategories.push( {
18
- name: 'uncategorized',
23
+ name: TEMPLATE_PART_AREA_DEFAULT_CATEGORY,
19
24
  label: __( 'Uncategorized' ),
20
25
  } );
21
26
  const themePatterns = useThemePatterns();
@@ -80,12 +85,20 @@ export default function usePatternCategories() {
80
85
  const sortedCategories = categoriesWithCounts.sort( ( a, b ) =>
81
86
  a.label.localeCompare( b.label )
82
87
  );
88
+
89
+ sortedCategories.unshift( {
90
+ name: PATTERN_USER_CATEGORY,
91
+ label: __( 'My patterns' ),
92
+ count: userPatterns.length,
93
+ } );
94
+
83
95
  sortedCategories.unshift( {
84
96
  name: PATTERN_DEFAULT_CATEGORY,
85
- label: __( 'All Patterns' ),
97
+ label: __( 'All patterns' ),
86
98
  description: __( 'A list of all patterns from all sources' ),
87
99
  count: themePatterns.length + userPatterns.length,
88
100
  } );
101
+
89
102
  return sortedCategories;
90
103
  }, [
91
104
  defaultCategories,
@@ -5,6 +5,14 @@ import { useEntityRecords } from '@wordpress/core-data';
5
5
  import { useSelect } from '@wordpress/data';
6
6
  import { store as editorStore } from '@wordpress/editor';
7
7
 
8
+ /**
9
+ * Internal dependencies
10
+ */
11
+ import {
12
+ TEMPLATE_PART_AREA_DEFAULT_CATEGORY,
13
+ TEMPLATE_PART_POST_TYPE,
14
+ } from '../../utils/constants';
15
+
8
16
  const useTemplatePartsGroupedByArea = ( items ) => {
9
17
  const allItems = items || [];
10
18
 
@@ -32,7 +40,9 @@ const useTemplatePartsGroupedByArea = ( items ) => {
32
40
  );
33
41
 
34
42
  const groupedByArea = allItems.reduce( ( accumulator, item ) => {
35
- const key = accumulator[ item.area ] ? item.area : 'uncategorized';
43
+ const key = accumulator[ item.area ]
44
+ ? item.area
45
+ : TEMPLATE_PART_AREA_DEFAULT_CATEGORY;
36
46
  accumulator[ key ].templateParts.push( item );
37
47
  return accumulator;
38
48
  }, knownAreas );
@@ -43,7 +53,7 @@ const useTemplatePartsGroupedByArea = ( items ) => {
43
53
  export default function useTemplatePartAreas() {
44
54
  const { records: templateParts, isResolving: isLoading } = useEntityRecords(
45
55
  'postType',
46
- 'wp_template_part',
56
+ TEMPLATE_PART_POST_TYPE,
47
57
  { per_page: -1 }
48
58
  );
49
59
 
@@ -28,6 +28,7 @@ import { unlock } from '../../lock-unlock';
28
28
  import { store as editSiteStore } from '../../store';
29
29
  import { useLink } from '../routes/link';
30
30
  import SidebarNavigationItem from '../sidebar-navigation-item';
31
+ import { TEMPLATE_PART_POST_TYPE } from '../../utils/constants';
31
32
 
32
33
  const EMPTY_OBJECT = {};
33
34
 
@@ -37,7 +38,7 @@ function TemplateAreaButton( { postId, icon, title } ) {
37
38
  footer,
38
39
  };
39
40
  const linkInfo = useLink( {
40
- postType: 'wp_template_part',
41
+ postType: TEMPLATE_PART_POST_TYPE,
41
42
  postId,
42
43
  } );
43
44
 
@@ -18,6 +18,7 @@ import { useLink } from '../routes/link';
18
18
  import SidebarNavigationItem from '../sidebar-navigation-item';
19
19
  import AddNewTemplate from '../add-new-template';
20
20
  import SidebarButton from '../sidebar-button';
21
+ import { TEMPLATE_POST_TYPE } from '../../utils/constants';
21
22
 
22
23
  const TemplateItem = ( { postType, postId, ...props } ) => {
23
24
  const linkInfo = useLink( {
@@ -32,7 +33,7 @@ export default function SidebarNavigationScreenTemplates() {
32
33
 
33
34
  const { records: templates, isResolving: isLoading } = useEntityRecords(
34
35
  'postType',
35
- 'wp_template',
36
+ TEMPLATE_POST_TYPE,
36
37
  {
37
38
  per_page: -1,
38
39
  }
@@ -54,7 +55,7 @@ export default function SidebarNavigationScreenTemplates() {
54
55
  actions={
55
56
  canCreate && (
56
57
  <AddNewTemplate
57
- templateType={ 'wp_template' }
58
+ templateType={ TEMPLATE_POST_TYPE }
58
59
  toggleProps={ {
59
60
  as: SidebarButton,
60
61
  } }
@@ -71,7 +72,7 @@ export default function SidebarNavigationScreenTemplates() {
71
72
  ) }
72
73
  { sortedTemplates.map( ( template ) => (
73
74
  <TemplateItem
74
- postType={ 'wp_template' }
75
+ postType={ TEMPLATE_POST_TYPE }
75
76
  postId={ template.id }
76
77
  key={ template.id }
77
78
  withChevron
@@ -10,15 +10,19 @@ import { __experimentalUseNavigator as useNavigator } from '@wordpress/component
10
10
  */
11
11
  import SidebarNavigationScreen from '../sidebar-navigation-screen';
12
12
  import { store as editSiteStore } from '../../store';
13
+ import {
14
+ TEMPLATE_POST_TYPE,
15
+ TEMPLATE_PART_POST_TYPE,
16
+ } from '../../utils/constants';
13
17
 
14
18
  const config = {
15
- wp_template: {
19
+ [ TEMPLATE_POST_TYPE ]: {
16
20
  title: __( 'All templates' ),
17
21
  description: __(
18
22
  'Create new templates, or reset any customizations made to the templates supplied by your theme.'
19
23
  ),
20
24
  },
21
- wp_template_part: {
25
+ [ TEMPLATE_PART_POST_TYPE ]: {
22
26
  title: __( 'All template parts' ),
23
27
  description: __(
24
28
  'Create new template parts, or reset any customizations made to the template parts supplied by your theme.'
@@ -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: