@wordpress/edit-site 6.12.1-next.082ed6819.0 → 6.13.1-next.cd6172eb0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (443) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-pattern/index.js +3 -16
  3. package/build/components/add-new-pattern/index.js.map +1 -1
  4. package/build/components/add-new-template/index.js +1 -5
  5. package/build/components/add-new-template/index.js.map +1 -1
  6. package/build/components/app/index.js +31 -29
  7. package/build/components/app/index.js.map +1 -1
  8. package/build/components/block-editor/use-editor-iframe-props.js +8 -8
  9. package/build/components/block-editor/use-editor-iframe-props.js.map +1 -1
  10. package/build/components/block-editor/use-navigate-to-entity-record.js +1 -5
  11. package/build/components/block-editor/use-navigate-to-entity-record.js.map +1 -1
  12. package/build/components/block-editor/use-site-editor-settings.js +4 -4
  13. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  14. package/build/components/dataviews-actions/index.js +1 -5
  15. package/build/components/dataviews-actions/index.js.map +1 -1
  16. package/build/components/editor/index.js +38 -22
  17. package/build/components/editor/index.js.map +1 -1
  18. package/build/components/editor/use-editor-title.js +5 -0
  19. package/build/components/editor/use-editor-title.js.map +1 -1
  20. package/build/components/editor/use-resolve-edited-entity.js +19 -4
  21. package/build/components/editor/use-resolve-edited-entity.js.map +1 -1
  22. package/build/components/global-styles/font-library-modal/context.js +0 -1
  23. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  24. package/build/components/global-styles/font-library-modal/font-collection.js +36 -26
  25. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  26. package/build/components/global-styles/font-library-modal/installed-fonts.js +0 -1
  27. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  28. package/build/components/global-styles/font-library-modal/upload-fonts.js +0 -1
  29. package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  30. package/build/components/global-styles-sidebar/index.js +5 -5
  31. package/build/components/global-styles-sidebar/index.js.map +1 -1
  32. package/build/components/layout/index.js +31 -13
  33. package/build/components/layout/index.js.map +1 -1
  34. package/build/components/page-patterns/delete-category-menu-item.js +1 -4
  35. package/build/components/page-patterns/delete-category-menu-item.js.map +1 -1
  36. package/build/components/page-patterns/fields.js +6 -11
  37. package/build/components/page-patterns/fields.js.map +1 -1
  38. package/build/components/page-patterns/index.js +14 -16
  39. package/build/components/page-patterns/index.js.map +1 -1
  40. package/build/components/page-templates/fields.js +8 -17
  41. package/build/components/page-templates/fields.js.map +1 -1
  42. package/build/components/page-templates/index.js +13 -12
  43. package/build/components/page-templates/index.js.map +1 -1
  44. package/build/components/post-edit/index.js +38 -3
  45. package/build/components/post-edit/index.js.map +1 -1
  46. package/build/components/post-list/index.js +25 -39
  47. package/build/components/post-list/index.js.map +1 -1
  48. package/build/components/posts-app/index.js +10 -16
  49. package/build/components/posts-app/index.js.map +1 -1
  50. package/build/components/posts-app-routes/index.js +3 -7
  51. package/build/components/posts-app-routes/index.js.map +1 -1
  52. package/build/components/posts-app-routes/{posts-edit.js → post-item.js} +9 -13
  53. package/build/components/posts-app-routes/post-item.js.map +1 -0
  54. package/build/components/posts-app-routes/posts.js +89 -0
  55. package/build/components/posts-app-routes/posts.js.map +1 -0
  56. package/build/components/resizable-frame/index.js +6 -5
  57. package/build/components/resizable-frame/index.js.map +1 -1
  58. package/build/components/save-panel/index.js +9 -6
  59. package/build/components/save-panel/index.js.map +1 -1
  60. package/build/components/sidebar-dataviews/add-new-view.js +7 -8
  61. package/build/components/sidebar-dataviews/add-new-view.js.map +1 -1
  62. package/build/components/sidebar-dataviews/dataview-item.js +5 -8
  63. package/build/components/sidebar-dataviews/dataview-item.js.map +1 -1
  64. package/build/components/sidebar-dataviews/index.js +4 -3
  65. package/build/components/sidebar-dataviews/index.js.map +1 -1
  66. package/build/components/sidebar-global-styles-wrapper/index.js +18 -18
  67. package/build/components/sidebar-global-styles-wrapper/index.js.map +1 -1
  68. package/build/components/sidebar-navigation-item/index.js +8 -5
  69. package/build/components/sidebar-navigation-item/index.js.map +1 -1
  70. package/build/components/sidebar-navigation-screen/index.js +2 -2
  71. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  72. package/build/components/sidebar-navigation-screen-global-styles/index.js +8 -19
  73. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  74. package/build/components/sidebar-navigation-screen-main/index.js +6 -14
  75. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  76. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -5
  77. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  78. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +2 -7
  79. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  80. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +1 -6
  81. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  82. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +14 -20
  83. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  84. package/build/components/sidebar-navigation-screen-patterns/category-item.js +5 -7
  85. package/build/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -1
  86. package/build/components/sidebar-navigation-screen-patterns/index.js +4 -5
  87. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  88. package/build/components/sidebar-navigation-screen-templates-browse/content.js +25 -16
  89. package/build/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  90. package/build/components/sidebar-navigation-screen-templates-browse/index.js +1 -14
  91. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  92. package/build/components/site-editor-routes/{home-view.js → home.js} +7 -8
  93. package/build/components/site-editor-routes/home.js.map +1 -0
  94. package/build/components/site-editor-routes/index.js +12 -18
  95. package/build/components/site-editor-routes/index.js.map +1 -1
  96. package/build/components/site-editor-routes/navigation-item.js +49 -0
  97. package/build/components/site-editor-routes/navigation-item.js.map +1 -0
  98. package/build/components/{posts-app-routes/home.js → site-editor-routes/navigation.js} +16 -18
  99. package/build/components/site-editor-routes/navigation.js.map +1 -0
  100. package/build/components/site-editor-routes/{pages-edit.js → page-item.js} +10 -17
  101. package/build/components/site-editor-routes/page-item.js.map +1 -0
  102. package/build/components/site-editor-routes/pages.js +87 -0
  103. package/build/components/site-editor-routes/pages.js.map +1 -0
  104. package/build/components/site-editor-routes/{home-edit.js → pattern-item.js} +11 -11
  105. package/build/components/site-editor-routes/pattern-item.js.map +1 -0
  106. package/build/components/site-editor-routes/{patterns-view.js → patterns.js} +6 -9
  107. package/build/components/site-editor-routes/patterns.js.map +1 -0
  108. package/build/components/site-editor-routes/{styles-view.js → styles.js} +28 -9
  109. package/build/components/site-editor-routes/styles.js.map +1 -0
  110. package/build/components/site-editor-routes/{templates-edit.js → template-item.js} +6 -11
  111. package/build/components/site-editor-routes/template-item.js.map +1 -0
  112. package/build/components/site-editor-routes/{patterns-edit.js → template-part-item.js} +6 -11
  113. package/build/components/site-editor-routes/template-part-item.js.map +1 -0
  114. package/build/components/site-editor-routes/{templates-list-view.js → templates.js} +20 -13
  115. package/build/components/site-editor-routes/templates.js.map +1 -0
  116. package/build/components/site-hub/index.js +3 -3
  117. package/build/components/site-hub/index.js.map +1 -1
  118. package/build/components/style-book/constants.js +8 -19
  119. package/build/components/style-book/constants.js.map +1 -1
  120. package/build/components/style-book/index.js +5 -0
  121. package/build/components/style-book/index.js.map +1 -1
  122. package/build/hooks/commands/use-common-commands.js +12 -48
  123. package/build/hooks/commands/use-common-commands.js.map +1 -1
  124. package/build/hooks/commands/use-set-command-context.js +2 -2
  125. package/build/hooks/commands/use-set-command-context.js.map +1 -1
  126. package/build/store/private-actions.js +7 -0
  127. package/build/store/private-actions.js.map +1 -1
  128. package/build/store/reducer.js +2 -0
  129. package/build/store/reducer.js.map +1 -1
  130. package/build/utils/is-previewing-theme.js +1 -1
  131. package/build/utils/is-previewing-theme.js.map +1 -1
  132. package/build/utils/use-activate-theme.js +9 -8
  133. package/build/utils/use-activate-theme.js.map +1 -1
  134. package/build-module/components/add-new-pattern/index.js +3 -16
  135. package/build-module/components/add-new-pattern/index.js.map +1 -1
  136. package/build-module/components/add-new-template/index.js +1 -5
  137. package/build-module/components/add-new-template/index.js.map +1 -1
  138. package/build-module/components/app/index.js +33 -31
  139. package/build-module/components/app/index.js.map +1 -1
  140. package/build-module/components/block-editor/use-editor-iframe-props.js +8 -8
  141. package/build-module/components/block-editor/use-editor-iframe-props.js.map +1 -1
  142. package/build-module/components/block-editor/use-navigate-to-entity-record.js +1 -5
  143. package/build-module/components/block-editor/use-navigate-to-entity-record.js.map +1 -1
  144. package/build-module/components/block-editor/use-site-editor-settings.js +4 -4
  145. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  146. package/build-module/components/dataviews-actions/index.js +1 -5
  147. package/build-module/components/dataviews-actions/index.js.map +1 -1
  148. package/build-module/components/editor/index.js +38 -22
  149. package/build-module/components/editor/index.js.map +1 -1
  150. package/build-module/components/editor/use-editor-title.js +5 -0
  151. package/build-module/components/editor/use-editor-title.js.map +1 -1
  152. package/build-module/components/editor/use-resolve-edited-entity.js +19 -4
  153. package/build-module/components/editor/use-resolve-edited-entity.js.map +1 -1
  154. package/build-module/components/global-styles/font-library-modal/context.js +0 -1
  155. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  156. package/build-module/components/global-styles/font-library-modal/font-collection.js +37 -27
  157. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  158. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +0 -1
  159. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  160. package/build-module/components/global-styles/font-library-modal/upload-fonts.js +0 -1
  161. package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  162. package/build-module/components/global-styles-sidebar/index.js +5 -5
  163. package/build-module/components/global-styles-sidebar/index.js.map +1 -1
  164. package/build-module/components/layout/index.js +33 -15
  165. package/build-module/components/layout/index.js.map +1 -1
  166. package/build-module/components/page-patterns/delete-category-menu-item.js +1 -4
  167. package/build-module/components/page-patterns/delete-category-menu-item.js.map +1 -1
  168. package/build-module/components/page-patterns/fields.js +6 -11
  169. package/build-module/components/page-patterns/fields.js.map +1 -1
  170. package/build-module/components/page-patterns/index.js +14 -16
  171. package/build-module/components/page-patterns/index.js.map +1 -1
  172. package/build-module/components/page-templates/fields.js +7 -14
  173. package/build-module/components/page-templates/fields.js.map +1 -1
  174. package/build-module/components/page-templates/index.js +13 -12
  175. package/build-module/components/page-templates/index.js.map +1 -1
  176. package/build-module/components/post-edit/index.js +38 -3
  177. package/build-module/components/post-edit/index.js.map +1 -1
  178. package/build-module/components/post-list/index.js +25 -39
  179. package/build-module/components/post-list/index.js.map +1 -1
  180. package/build-module/components/posts-app/index.js +11 -17
  181. package/build-module/components/posts-app/index.js.map +1 -1
  182. package/build-module/components/posts-app-routes/index.js +3 -7
  183. package/build-module/components/posts-app-routes/index.js.map +1 -1
  184. package/build-module/components/posts-app-routes/{posts-edit.js → post-item.js} +8 -12
  185. package/build-module/components/posts-app-routes/post-item.js.map +1 -0
  186. package/build-module/components/posts-app-routes/posts.js +81 -0
  187. package/build-module/components/posts-app-routes/posts.js.map +1 -0
  188. package/build-module/components/resizable-frame/index.js +6 -5
  189. package/build-module/components/resizable-frame/index.js.map +1 -1
  190. package/build-module/components/save-panel/index.js +9 -6
  191. package/build-module/components/save-panel/index.js.map +1 -1
  192. package/build-module/components/sidebar-dataviews/add-new-view.js +7 -8
  193. package/build-module/components/sidebar-dataviews/add-new-view.js.map +1 -1
  194. package/build-module/components/sidebar-dataviews/dataview-item.js +5 -8
  195. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
  196. package/build-module/components/sidebar-dataviews/index.js +4 -3
  197. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  198. package/build-module/components/sidebar-global-styles-wrapper/index.js +18 -18
  199. package/build-module/components/sidebar-global-styles-wrapper/index.js.map +1 -1
  200. package/build-module/components/sidebar-navigation-item/index.js +8 -5
  201. package/build-module/components/sidebar-navigation-item/index.js.map +1 -1
  202. package/build-module/components/sidebar-navigation-screen/index.js +2 -2
  203. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  204. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +9 -20
  205. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  206. package/build-module/components/sidebar-navigation-screen-main/index.js +6 -14
  207. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  208. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -5
  209. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  210. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +2 -7
  211. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  212. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +1 -6
  213. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  214. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +14 -20
  215. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  216. package/build-module/components/sidebar-navigation-screen-patterns/category-item.js +5 -7
  217. package/build-module/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -1
  218. package/build-module/components/sidebar-navigation-screen-patterns/index.js +4 -5
  219. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  220. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +25 -16
  221. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  222. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +1 -14
  223. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  224. package/build-module/components/site-editor-routes/{home-edit.js → home.js} +5 -7
  225. package/build-module/components/site-editor-routes/home.js.map +1 -0
  226. package/build-module/components/site-editor-routes/index.js +12 -18
  227. package/build-module/components/site-editor-routes/index.js.map +1 -1
  228. package/build-module/components/site-editor-routes/navigation-item.js +41 -0
  229. package/build-module/components/site-editor-routes/navigation-item.js.map +1 -0
  230. package/build-module/components/site-editor-routes/navigation.js +38 -0
  231. package/build-module/components/site-editor-routes/navigation.js.map +1 -0
  232. package/build-module/components/site-editor-routes/{pages-edit.js → page-item.js} +9 -16
  233. package/build-module/components/site-editor-routes/page-item.js.map +1 -0
  234. package/build-module/components/site-editor-routes/pages.js +79 -0
  235. package/build-module/components/site-editor-routes/pages.js.map +1 -0
  236. package/build-module/components/site-editor-routes/pattern-item.js +18 -0
  237. package/build-module/components/site-editor-routes/pattern-item.js.map +1 -0
  238. package/build-module/components/site-editor-routes/{patterns-view.js → patterns.js} +5 -8
  239. package/build-module/components/site-editor-routes/patterns.js.map +1 -0
  240. package/build-module/components/site-editor-routes/styles.js +44 -0
  241. package/build-module/components/site-editor-routes/styles.js.map +1 -0
  242. package/build-module/components/site-editor-routes/{templates-edit.js → template-item.js} +5 -10
  243. package/build-module/components/site-editor-routes/template-item.js.map +1 -0
  244. package/build-module/components/site-editor-routes/template-part-item.js +18 -0
  245. package/build-module/components/site-editor-routes/template-part-item.js.map +1 -0
  246. package/build-module/components/site-editor-routes/templates.js +33 -0
  247. package/build-module/components/site-editor-routes/templates.js.map +1 -0
  248. package/build-module/components/site-hub/index.js +3 -3
  249. package/build-module/components/site-hub/index.js.map +1 -1
  250. package/build-module/components/style-book/constants.js +8 -19
  251. package/build-module/components/style-book/constants.js.map +1 -1
  252. package/build-module/components/style-book/index.js +5 -0
  253. package/build-module/components/style-book/index.js.map +1 -1
  254. package/build-module/hooks/commands/use-common-commands.js +12 -48
  255. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  256. package/build-module/hooks/commands/use-set-command-context.js +2 -2
  257. package/build-module/hooks/commands/use-set-command-context.js.map +1 -1
  258. package/build-module/store/private-actions.js +6 -0
  259. package/build-module/store/private-actions.js.map +1 -1
  260. package/build-module/store/reducer.js +2 -0
  261. package/build-module/store/reducer.js.map +1 -1
  262. package/build-module/utils/is-previewing-theme.js +1 -1
  263. package/build-module/utils/is-previewing-theme.js.map +1 -1
  264. package/build-module/utils/use-activate-theme.js +9 -8
  265. package/build-module/utils/use-activate-theme.js.map +1 -1
  266. package/build-style/style-rtl.css +94 -12
  267. package/build-style/style.css +94 -12
  268. package/package.json +40 -40
  269. package/src/components/add-new-pattern/index.js +9 -17
  270. package/src/components/add-new-template/index.js +3 -5
  271. package/src/components/app/index.js +34 -35
  272. package/src/components/block-editor/use-editor-iframe-props.js +5 -4
  273. package/src/components/block-editor/use-navigate-to-entity-record.js +3 -1
  274. package/src/components/block-editor/use-site-editor-settings.js +6 -6
  275. package/src/components/dataviews-actions/index.js +1 -5
  276. package/src/components/editor/index.js +64 -29
  277. package/src/components/editor/use-editor-title.js +4 -0
  278. package/src/components/editor/use-resolve-edited-entity.js +17 -2
  279. package/src/components/global-styles/font-library-modal/font-collection.js +40 -27
  280. package/src/components/global-styles/font-library-modal/style.scss +12 -5
  281. package/src/components/global-styles/style.scss +4 -0
  282. package/src/components/global-styles-sidebar/index.js +4 -4
  283. package/src/components/layout/index.js +36 -6
  284. package/src/components/page-patterns/delete-category-menu-item.js +3 -4
  285. package/src/components/page-patterns/fields.js +12 -11
  286. package/src/components/page-patterns/index.js +16 -14
  287. package/src/components/page-templates/fields.js +4 -15
  288. package/src/components/page-templates/index.js +18 -13
  289. package/src/components/post-edit/index.js +36 -2
  290. package/src/components/post-list/index.js +43 -39
  291. package/src/components/posts-app/index.js +9 -18
  292. package/src/components/posts-app-routes/index.js +3 -14
  293. package/src/components/posts-app-routes/{posts-edit.js → post-item.js} +5 -9
  294. package/src/components/posts-app-routes/posts.js +66 -0
  295. package/src/components/resizable-frame/index.js +6 -7
  296. package/src/components/save-panel/index.js +11 -5
  297. package/src/components/sidebar-dataviews/add-new-view.js +9 -9
  298. package/src/components/sidebar-dataviews/dataview-item.js +5 -8
  299. package/src/components/sidebar-dataviews/index.js +2 -2
  300. package/src/components/sidebar-dataviews/style.scss +2 -2
  301. package/src/components/sidebar-global-styles-wrapper/index.js +24 -30
  302. package/src/components/sidebar-navigation-item/index.js +7 -5
  303. package/src/components/sidebar-navigation-item/style.scss +1 -2
  304. package/src/components/sidebar-navigation-screen/index.js +2 -2
  305. package/src/components/sidebar-navigation-screen/style.scss +2 -2
  306. package/src/components/sidebar-navigation-screen-global-styles/index.js +13 -34
  307. package/src/components/sidebar-navigation-screen-main/index.js +6 -10
  308. package/src/components/sidebar-navigation-screen-navigation-menu/more-menu.js +3 -5
  309. package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +2 -2
  310. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +6 -6
  311. package/src/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +9 -21
  312. package/src/components/sidebar-navigation-screen-patterns/category-item.js +5 -20
  313. package/src/components/sidebar-navigation-screen-patterns/index.js +3 -4
  314. package/src/components/sidebar-navigation-screen-templates-browse/content.js +24 -18
  315. package/src/components/sidebar-navigation-screen-templates-browse/index.js +1 -14
  316. package/src/components/site-editor-routes/{home-view.js → home.js} +4 -5
  317. package/src/components/site-editor-routes/index.js +22 -34
  318. package/src/components/site-editor-routes/navigation-item.js +39 -0
  319. package/src/components/site-editor-routes/navigation.js +34 -0
  320. package/src/components/site-editor-routes/{pages-edit.js → page-item.js} +6 -14
  321. package/src/components/site-editor-routes/pages.js +66 -0
  322. package/src/components/site-editor-routes/pattern-item.js +15 -0
  323. package/src/components/site-editor-routes/patterns.js +15 -0
  324. package/src/components/site-editor-routes/styles.js +39 -0
  325. package/src/components/site-editor-routes/template-item.js +15 -0
  326. package/src/components/site-editor-routes/template-part-item.js +15 -0
  327. package/src/components/site-editor-routes/templates.js +26 -0
  328. package/src/components/site-hub/index.js +3 -6
  329. package/src/components/style-book/constants.ts +8 -19
  330. package/src/components/style-book/index.js +5 -0
  331. package/src/hooks/commands/use-common-commands.js +14 -72
  332. package/src/hooks/commands/use-set-command-context.js +2 -2
  333. package/src/store/private-actions.js +7 -0
  334. package/src/store/reducer.js +2 -0
  335. package/src/utils/is-previewing-theme.js +1 -3
  336. package/src/utils/use-activate-theme.js +4 -3
  337. package/build/components/layout/router.js +0 -92
  338. package/build/components/layout/router.js.map +0 -1
  339. package/build/components/posts-app-routes/home.js.map +0 -1
  340. package/build/components/posts-app-routes/posts-edit.js.map +0 -1
  341. package/build/components/posts-app-routes/posts-list-view-quick-edit.js +0 -63
  342. package/build/components/posts-app-routes/posts-list-view-quick-edit.js.map +0 -1
  343. package/build/components/posts-app-routes/posts-list-view.js +0 -48
  344. package/build/components/posts-app-routes/posts-list-view.js.map +0 -1
  345. package/build/components/posts-app-routes/posts-view-quick-edit.js +0 -60
  346. package/build/components/posts-app-routes/posts-view-quick-edit.js.map +0 -1
  347. package/build/components/posts-app-routes/posts-view.js +0 -41
  348. package/build/components/posts-app-routes/posts-view.js.map +0 -1
  349. package/build/components/routes/link.js +0 -69
  350. package/build/components/routes/link.js.map +0 -1
  351. package/build/components/site-editor-routes/home-edit.js.map +0 -1
  352. package/build/components/site-editor-routes/home-view.js.map +0 -1
  353. package/build/components/site-editor-routes/navigation-edit.js +0 -29
  354. package/build/components/site-editor-routes/navigation-edit.js.map +0 -1
  355. package/build/components/site-editor-routes/navigation-item-edit.js +0 -31
  356. package/build/components/site-editor-routes/navigation-item-edit.js.map +0 -1
  357. package/build/components/site-editor-routes/navigation-item-view.js +0 -30
  358. package/build/components/site-editor-routes/navigation-item-view.js.map +0 -1
  359. package/build/components/site-editor-routes/navigation-view.js +0 -28
  360. package/build/components/site-editor-routes/navigation-view.js.map +0 -1
  361. package/build/components/site-editor-routes/pages-edit.js.map +0 -1
  362. package/build/components/site-editor-routes/pages-list-view-quick-edit.js +0 -64
  363. package/build/components/site-editor-routes/pages-list-view-quick-edit.js.map +0 -1
  364. package/build/components/site-editor-routes/pages-list-view.js +0 -47
  365. package/build/components/site-editor-routes/pages-list-view.js.map +0 -1
  366. package/build/components/site-editor-routes/pages-view-quick-edit.js +0 -61
  367. package/build/components/site-editor-routes/pages-view-quick-edit.js.map +0 -1
  368. package/build/components/site-editor-routes/pages-view.js +0 -42
  369. package/build/components/site-editor-routes/pages-view.js.map +0 -1
  370. package/build/components/site-editor-routes/patterns-edit.js.map +0 -1
  371. package/build/components/site-editor-routes/patterns-view.js.map +0 -1
  372. package/build/components/site-editor-routes/styles-view.js.map +0 -1
  373. package/build/components/site-editor-routes/templates-edit.js.map +0 -1
  374. package/build/components/site-editor-routes/templates-list-view.js.map +0 -1
  375. package/build/components/site-editor-routes/templates-view.js +0 -29
  376. package/build/components/site-editor-routes/templates-view.js.map +0 -1
  377. package/build-module/components/layout/router.js +0 -84
  378. package/build-module/components/layout/router.js.map +0 -1
  379. package/build-module/components/posts-app-routes/home.js +0 -40
  380. package/build-module/components/posts-app-routes/home.js.map +0 -1
  381. package/build-module/components/posts-app-routes/posts-edit.js.map +0 -1
  382. package/build-module/components/posts-app-routes/posts-list-view-quick-edit.js +0 -55
  383. package/build-module/components/posts-app-routes/posts-list-view-quick-edit.js.map +0 -1
  384. package/build-module/components/posts-app-routes/posts-list-view.js +0 -40
  385. package/build-module/components/posts-app-routes/posts-list-view.js.map +0 -1
  386. package/build-module/components/posts-app-routes/posts-view-quick-edit.js +0 -52
  387. package/build-module/components/posts-app-routes/posts-view-quick-edit.js.map +0 -1
  388. package/build-module/components/posts-app-routes/posts-view.js +0 -33
  389. package/build-module/components/posts-app-routes/posts-view.js.map +0 -1
  390. package/build-module/components/routes/link.js +0 -61
  391. package/build-module/components/routes/link.js.map +0 -1
  392. package/build-module/components/site-editor-routes/home-edit.js.map +0 -1
  393. package/build-module/components/site-editor-routes/home-view.js +0 -17
  394. package/build-module/components/site-editor-routes/home-view.js.map +0 -1
  395. package/build-module/components/site-editor-routes/navigation-edit.js +0 -21
  396. package/build-module/components/site-editor-routes/navigation-edit.js.map +0 -1
  397. package/build-module/components/site-editor-routes/navigation-item-edit.js +0 -23
  398. package/build-module/components/site-editor-routes/navigation-item-edit.js.map +0 -1
  399. package/build-module/components/site-editor-routes/navigation-item-view.js +0 -22
  400. package/build-module/components/site-editor-routes/navigation-item-view.js.map +0 -1
  401. package/build-module/components/site-editor-routes/navigation-view.js +0 -20
  402. package/build-module/components/site-editor-routes/navigation-view.js.map +0 -1
  403. package/build-module/components/site-editor-routes/pages-edit.js.map +0 -1
  404. package/build-module/components/site-editor-routes/pages-list-view-quick-edit.js +0 -56
  405. package/build-module/components/site-editor-routes/pages-list-view-quick-edit.js.map +0 -1
  406. package/build-module/components/site-editor-routes/pages-list-view.js +0 -39
  407. package/build-module/components/site-editor-routes/pages-list-view.js.map +0 -1
  408. package/build-module/components/site-editor-routes/pages-view-quick-edit.js +0 -53
  409. package/build-module/components/site-editor-routes/pages-view-quick-edit.js.map +0 -1
  410. package/build-module/components/site-editor-routes/pages-view.js +0 -34
  411. package/build-module/components/site-editor-routes/pages-view.js.map +0 -1
  412. package/build-module/components/site-editor-routes/patterns-edit.js +0 -23
  413. package/build-module/components/site-editor-routes/patterns-edit.js.map +0 -1
  414. package/build-module/components/site-editor-routes/patterns-view.js.map +0 -1
  415. package/build-module/components/site-editor-routes/styles-view.js +0 -25
  416. package/build-module/components/site-editor-routes/styles-view.js.map +0 -1
  417. package/build-module/components/site-editor-routes/templates-edit.js.map +0 -1
  418. package/build-module/components/site-editor-routes/templates-list-view.js +0 -26
  419. package/build-module/components/site-editor-routes/templates-list-view.js.map +0 -1
  420. package/build-module/components/site-editor-routes/templates-view.js +0 -21
  421. package/build-module/components/site-editor-routes/templates-view.js.map +0 -1
  422. package/src/components/layout/router.js +0 -86
  423. package/src/components/posts-app-routes/home.js +0 -36
  424. package/src/components/posts-app-routes/posts-list-view-quick-edit.js +0 -52
  425. package/src/components/posts-app-routes/posts-list-view.js +0 -40
  426. package/src/components/posts-app-routes/posts-view-quick-edit.js +0 -49
  427. package/src/components/posts-app-routes/posts-view.js +0 -35
  428. package/src/components/routes/link.js +0 -68
  429. package/src/components/site-editor-routes/home-edit.js +0 -17
  430. package/src/components/site-editor-routes/navigation-edit.js +0 -22
  431. package/src/components/site-editor-routes/navigation-item-edit.js +0 -26
  432. package/src/components/site-editor-routes/navigation-item-view.js +0 -25
  433. package/src/components/site-editor-routes/navigation-view.js +0 -21
  434. package/src/components/site-editor-routes/pages-list-view-quick-edit.js +0 -56
  435. package/src/components/site-editor-routes/pages-list-view.js +0 -44
  436. package/src/components/site-editor-routes/pages-view-quick-edit.js +0 -53
  437. package/src/components/site-editor-routes/pages-view.js +0 -39
  438. package/src/components/site-editor-routes/patterns-edit.js +0 -24
  439. package/src/components/site-editor-routes/patterns-view.js +0 -22
  440. package/src/components/site-editor-routes/styles-view.js +0 -26
  441. package/src/components/site-editor-routes/templates-edit.js +0 -22
  442. package/src/components/site-editor-routes/templates-list-view.js +0 -28
  443. package/src/components/site-editor-routes/templates-view.js +0 -22
@@ -13,16 +13,19 @@ import { BlockPreview, privateApis as blockEditorPrivateApis } from '@wordpress/
13
13
  import { Icon, lockSmall } from '@wordpress/icons';
14
14
  import { parse } from '@wordpress/blocks';
15
15
  import { decodeEntities } from '@wordpress/html-entities';
16
+ import { privateApis as routerPrivateApis } from '@wordpress/router';
16
17
 
17
18
  /**
18
19
  * Internal dependencies
19
20
  */
20
21
  import { PATTERN_TYPES, TEMPLATE_PART_POST_TYPE, PATTERN_SYNC_TYPES, OPERATOR_IS } from '../../utils/constants';
21
22
  import { unlock } from '../../lock-unlock';
22
- import { useLink } from '../routes/link';
23
23
  import { useAddedBy } from '../page-templates/hooks';
24
24
  import { defaultGetTitle } from './search-items';
25
25
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
26
+ const {
27
+ useLink
28
+ } = unlock(routerPrivateApis);
26
29
  const {
27
30
  useGlobalStyle
28
31
  } = unlock(blockEditorPrivateApis);
@@ -52,11 +55,7 @@ function PreviewField({
52
55
  const [backgroundColor] = useGlobalStyle('color.background');
53
56
  const {
54
57
  onClick
55
- } = useLink({
56
- postType: item.type,
57
- postId: isUserPattern || isTemplatePart ? item.id : item.name,
58
- canvas: 'edit'
59
- });
58
+ } = useLink(`/${item.type}/${isUserPattern || isTemplatePart ? item.id : item.name}?canvas=edit`);
60
59
  const blocks = useMemo(() => {
61
60
  var _item$blocks;
62
61
  return (_item$blocks = item.blocks) !== null && _item$blocks !== void 0 ? _item$blocks : parse(item.content.raw, {
@@ -99,11 +98,7 @@ function TitleField({
99
98
  const isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;
100
99
  const {
101
100
  onClick
102
- } = useLink({
103
- postType: item.type,
104
- postId: isUserPattern || isTemplatePart ? item.id : item.name,
105
- canvas: 'edit'
106
- });
101
+ } = useLink(`/${item.type}/${isUserPattern || isTemplatePart ? item.id : item.name}?canvas=edit`);
107
102
  const title = decodeEntities(defaultGetTitle(item));
108
103
  return /*#__PURE__*/_jsxs(HStack, {
109
104
  alignment: "center",
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","__experimentalHStack","HStack","Button","Tooltip","FlexBlock","__","_x","useState","useMemo","useId","BlockPreview","privateApis","blockEditorPrivateApis","Icon","lockSmall","parse","decodeEntities","PATTERN_TYPES","TEMPLATE_PART_POST_TYPE","PATTERN_SYNC_TYPES","OPERATOR_IS","unlock","useLink","useAddedBy","defaultGetTitle","jsx","_jsx","jsxs","_jsxs","useGlobalStyle","PreviewWrapper","item","onClick","ariaDescribedBy","children","className","type","theme","undefined","PreviewField","descriptionId","description","excerpt","raw","isUserPattern","user","isTemplatePart","backgroundColor","postType","postId","id","name","canvas","blocks","_item$blocks","content","__unstableSkipMigrationLogs","isEmpty","length","style","Async","viewportWidth","hidden","previewField","label","render","enableSorting","TitleField","title","alignment","justify","spacing","__next40pxDefaultSize","variant","tabIndex","placement","text","icon","size","titleField","getValue","enableHiding","SYNC_FILTERS","value","full","unsynced","patternStatusField","syncStatus","wp_pattern_sync_status","find","elements","filterBy","operators","isPrimary","AuthorField","isImageLoaded","setIsImageLoaded","imageUrl","onLoad","alt","src","templatePartAuthorField","author_text"],"sources":["@wordpress/edit-site/src/components/page-patterns/fields.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\tButton,\n\tTooltip,\n\tFlexBlock,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useState, useMemo, useId } from '@wordpress/element';\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { Icon, lockSmall } from '@wordpress/icons';\nimport { parse } from '@wordpress/blocks';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport {\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_SYNC_TYPES,\n\tOPERATOR_IS,\n} from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport { useLink } from '../routes/link';\nimport { useAddedBy } from '../page-templates/hooks';\nimport { defaultGetTitle } from './search-items';\n\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nfunction PreviewWrapper( { item, onClick, ariaDescribedBy, children } ) {\n\treturn (\n\t\t<button\n\t\t\tclassName=\"page-patterns-preview-field__button\"\n\t\t\ttype=\"button\"\n\t\t\tonClick={ item.type !== PATTERN_TYPES.theme ? onClick : undefined }\n\t\t\taria-label={ defaultGetTitle( item ) }\n\t\t\taria-describedby={ ariaDescribedBy }\n\t\t\taria-disabled={ item.type === PATTERN_TYPES.theme }\n\t\t>\n\t\t\t{ children }\n\t\t</button>\n\t);\n}\n\nfunction PreviewField( { item } ) {\n\tconst descriptionId = useId();\n\tconst description = item.description || item?.excerpt?.raw;\n\tconst isUserPattern = item.type === PATTERN_TYPES.user;\n\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst { onClick } = useLink( {\n\t\tpostType: item.type,\n\t\tpostId: isUserPattern || isTemplatePart ? item.id : item.name,\n\t\tcanvas: 'edit',\n\t} );\n\tconst blocks = useMemo( () => {\n\t\treturn (\n\t\t\titem.blocks ??\n\t\t\tparse( item.content.raw, {\n\t\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t} )\n\t\t);\n\t}, [ item?.content?.raw, item.blocks ] );\n\tconst isEmpty = ! blocks?.length;\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"page-patterns-preview-field\"\n\t\t\tstyle={ { backgroundColor } }\n\t\t>\n\t\t\t<PreviewWrapper\n\t\t\t\titem={ item }\n\t\t\t\tonClick={ onClick }\n\t\t\t\tariaDescribedBy={ !! description ? descriptionId : undefined }\n\t\t\t>\n\t\t\t\t{ isEmpty && isTemplatePart && __( 'Empty template part' ) }\n\t\t\t\t{ isEmpty && ! isTemplatePart && __( 'Empty pattern' ) }\n\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t<BlockPreview.Async>\n\t\t\t\t\t\t<BlockPreview\n\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\tviewportWidth={ item.viewportWidth }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockPreview.Async>\n\t\t\t\t) }\n\t\t\t</PreviewWrapper>\n\t\t\t{ !! description && (\n\t\t\t\t<div hidden id={ descriptionId }>\n\t\t\t\t\t{ description }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport const previewField = {\n\tlabel: __( 'Preview' ),\n\tid: 'preview',\n\trender: PreviewField,\n\tenableSorting: false,\n};\n\nfunction TitleField( { item } ) {\n\tconst isUserPattern = item.type === PATTERN_TYPES.user;\n\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\tconst { onClick } = useLink( {\n\t\tpostType: item.type,\n\t\tpostId: isUserPattern || isTemplatePart ? item.id : item.name,\n\t\tcanvas: 'edit',\n\t} );\n\tconst title = decodeEntities( defaultGetTitle( item ) );\n\treturn (\n\t\t<HStack alignment=\"center\" justify=\"flex-start\" spacing={ 2 }>\n\t\t\t<FlexBlock className=\"edit-site-patterns__pattern-title\">\n\t\t\t\t{ item.type === PATTERN_TYPES.theme ? (\n\t\t\t\t\ttitle\n\t\t\t\t) : (\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\t// Required for the grid's roving tab index system.\n\t\t\t\t\t\t// See https://github.com/WordPress/gutenberg/pull/51898#discussion_r1243399243.\n\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t</FlexBlock>\n\t\t\t{ item.type === PATTERN_TYPES.theme && (\n\t\t\t\t<Tooltip\n\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\ttext={ __( 'This pattern cannot be edited.' ) }\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"edit-site-patterns__pattern-lock-icon\"\n\t\t\t\t\t\ticon={ lockSmall }\n\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t/>\n\t\t\t\t</Tooltip>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n\nexport const titleField = {\n\tlabel: __( 'Title' ),\n\tid: 'title',\n\tgetValue: ( { item } ) => item.title?.raw || item.title,\n\trender: TitleField,\n\tenableHiding: false,\n};\n\nconst SYNC_FILTERS = [\n\t{\n\t\tvalue: PATTERN_SYNC_TYPES.full,\n\t\tlabel: _x( 'Synced', 'pattern (singular)' ),\n\t\tdescription: __( 'Patterns that are kept in sync across the site.' ),\n\t},\n\t{\n\t\tvalue: PATTERN_SYNC_TYPES.unsynced,\n\t\tlabel: _x( 'Not synced', 'pattern (singular)' ),\n\t\tdescription: __(\n\t\t\t'Patterns that can be changed freely without affecting the site.'\n\t\t),\n\t},\n];\n\nexport const patternStatusField = {\n\tlabel: __( 'Sync status' ),\n\tid: 'sync-status',\n\trender: ( { item } ) => {\n\t\tconst syncStatus =\n\t\t\t'wp_pattern_sync_status' in item\n\t\t\t\t? item.wp_pattern_sync_status || PATTERN_SYNC_TYPES.full\n\t\t\t\t: PATTERN_SYNC_TYPES.unsynced;\n\t\t// User patterns can have their sync statuses checked directly.\n\t\t// Non-user patterns are all unsynced for the time being.\n\t\treturn (\n\t\t\t<span\n\t\t\t\tclassName={ `edit-site-patterns__field-sync-status-${ syncStatus }` }\n\t\t\t>\n\t\t\t\t{\n\t\t\t\t\tSYNC_FILTERS.find( ( { value } ) => value === syncStatus )\n\t\t\t\t\t\t.label\n\t\t\t\t}\n\t\t\t</span>\n\t\t);\n\t},\n\telements: SYNC_FILTERS,\n\tfilterBy: {\n\t\toperators: [ OPERATOR_IS ],\n\t\tisPrimary: true,\n\t},\n\tenableSorting: false,\n};\n\nfunction AuthorField( { item } ) {\n\tconst [ isImageLoaded, setIsImageLoaded ] = useState( false );\n\tconst { text, icon, imageUrl } = useAddedBy( item.type, item.id );\n\n\treturn (\n\t\t<HStack alignment=\"left\" spacing={ 0 }>\n\t\t\t{ imageUrl && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ clsx( 'page-templates-author-field__avatar', {\n\t\t\t\t\t\t'is-loaded': isImageLoaded,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<img\n\t\t\t\t\t\tonLoad={ () => setIsImageLoaded( true ) }\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tsrc={ imageUrl }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ ! imageUrl && (\n\t\t\t\t<div className=\"page-templates-author-field__icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<span className=\"page-templates-author-field__name\">{ text }</span>\n\t\t</HStack>\n\t);\n}\n\nexport const templatePartAuthorField = {\n\tlabel: __( 'Author' ),\n\tid: 'author',\n\tgetValue: ( { item } ) => item.author_text,\n\trender: AuthorField,\n\tfilterBy: {\n\t\tisPrimary: true,\n\t},\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__experimentalHStack","HStack","Button","Tooltip","FlexBlock","__","_x","useState","useMemo","useId","BlockPreview","privateApis","blockEditorPrivateApis","Icon","lockSmall","parse","decodeEntities","routerPrivateApis","PATTERN_TYPES","TEMPLATE_PART_POST_TYPE","PATTERN_SYNC_TYPES","OPERATOR_IS","unlock","useAddedBy","defaultGetTitle","jsx","_jsx","jsxs","_jsxs","useLink","useGlobalStyle","PreviewWrapper","item","onClick","ariaDescribedBy","children","className","type","theme","undefined","PreviewField","descriptionId","description","excerpt","raw","isUserPattern","user","isTemplatePart","backgroundColor","id","name","blocks","_item$blocks","content","__unstableSkipMigrationLogs","isEmpty","length","style","Async","viewportWidth","hidden","previewField","label","render","enableSorting","TitleField","title","alignment","justify","spacing","__next40pxDefaultSize","variant","tabIndex","placement","text","icon","size","titleField","getValue","enableHiding","SYNC_FILTERS","value","full","unsynced","patternStatusField","syncStatus","wp_pattern_sync_status","find","elements","filterBy","operators","isPrimary","AuthorField","isImageLoaded","setIsImageLoaded","imageUrl","onLoad","alt","src","templatePartAuthorField","author_text"],"sources":["@wordpress/edit-site/src/components/page-patterns/fields.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\tButton,\n\tTooltip,\n\tFlexBlock,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useState, useMemo, useId } from '@wordpress/element';\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { Icon, lockSmall } from '@wordpress/icons';\nimport { parse } from '@wordpress/blocks';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport {\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_SYNC_TYPES,\n\tOPERATOR_IS,\n} from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport { useAddedBy } from '../page-templates/hooks';\nimport { defaultGetTitle } from './search-items';\n\nconst { useLink } = unlock( routerPrivateApis );\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nfunction PreviewWrapper( { item, onClick, ariaDescribedBy, children } ) {\n\treturn (\n\t\t<button\n\t\t\tclassName=\"page-patterns-preview-field__button\"\n\t\t\ttype=\"button\"\n\t\t\tonClick={ item.type !== PATTERN_TYPES.theme ? onClick : undefined }\n\t\t\taria-label={ defaultGetTitle( item ) }\n\t\t\taria-describedby={ ariaDescribedBy }\n\t\t\taria-disabled={ item.type === PATTERN_TYPES.theme }\n\t\t>\n\t\t\t{ children }\n\t\t</button>\n\t);\n}\n\nfunction PreviewField( { item } ) {\n\tconst descriptionId = useId();\n\tconst description = item.description || item?.excerpt?.raw;\n\tconst isUserPattern = item.type === PATTERN_TYPES.user;\n\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst { onClick } = useLink(\n\t\t`/${ item.type }/${\n\t\t\tisUserPattern || isTemplatePart ? item.id : item.name\n\t\t}?canvas=edit`\n\t);\n\tconst blocks = useMemo( () => {\n\t\treturn (\n\t\t\titem.blocks ??\n\t\t\tparse( item.content.raw, {\n\t\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t} )\n\t\t);\n\t}, [ item?.content?.raw, item.blocks ] );\n\tconst isEmpty = ! blocks?.length;\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"page-patterns-preview-field\"\n\t\t\tstyle={ { backgroundColor } }\n\t\t>\n\t\t\t<PreviewWrapper\n\t\t\t\titem={ item }\n\t\t\t\tonClick={ onClick }\n\t\t\t\tariaDescribedBy={ !! description ? descriptionId : undefined }\n\t\t\t>\n\t\t\t\t{ isEmpty && isTemplatePart && __( 'Empty template part' ) }\n\t\t\t\t{ isEmpty && ! isTemplatePart && __( 'Empty pattern' ) }\n\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t<BlockPreview.Async>\n\t\t\t\t\t\t<BlockPreview\n\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\tviewportWidth={ item.viewportWidth }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockPreview.Async>\n\t\t\t\t) }\n\t\t\t</PreviewWrapper>\n\t\t\t{ !! description && (\n\t\t\t\t<div hidden id={ descriptionId }>\n\t\t\t\t\t{ description }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport const previewField = {\n\tlabel: __( 'Preview' ),\n\tid: 'preview',\n\trender: PreviewField,\n\tenableSorting: false,\n};\n\nfunction TitleField( { item } ) {\n\tconst isUserPattern = item.type === PATTERN_TYPES.user;\n\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\tconst { onClick } = useLink(\n\t\t`/${ item.type }/${\n\t\t\tisUserPattern || isTemplatePart ? item.id : item.name\n\t\t}?canvas=edit`\n\t);\n\tconst title = decodeEntities( defaultGetTitle( item ) );\n\treturn (\n\t\t<HStack alignment=\"center\" justify=\"flex-start\" spacing={ 2 }>\n\t\t\t<FlexBlock className=\"edit-site-patterns__pattern-title\">\n\t\t\t\t{ item.type === PATTERN_TYPES.theme ? (\n\t\t\t\t\ttitle\n\t\t\t\t) : (\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\t// Required for the grid's roving tab index system.\n\t\t\t\t\t\t// See https://github.com/WordPress/gutenberg/pull/51898#discussion_r1243399243.\n\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t</FlexBlock>\n\t\t\t{ item.type === PATTERN_TYPES.theme && (\n\t\t\t\t<Tooltip\n\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\ttext={ __( 'This pattern cannot be edited.' ) }\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"edit-site-patterns__pattern-lock-icon\"\n\t\t\t\t\t\ticon={ lockSmall }\n\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t/>\n\t\t\t\t</Tooltip>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n\nexport const titleField = {\n\tlabel: __( 'Title' ),\n\tid: 'title',\n\tgetValue: ( { item } ) => item.title?.raw || item.title,\n\trender: TitleField,\n\tenableHiding: false,\n};\n\nconst SYNC_FILTERS = [\n\t{\n\t\tvalue: PATTERN_SYNC_TYPES.full,\n\t\tlabel: _x( 'Synced', 'pattern (singular)' ),\n\t\tdescription: __( 'Patterns that are kept in sync across the site.' ),\n\t},\n\t{\n\t\tvalue: PATTERN_SYNC_TYPES.unsynced,\n\t\tlabel: _x( 'Not synced', 'pattern (singular)' ),\n\t\tdescription: __(\n\t\t\t'Patterns that can be changed freely without affecting the site.'\n\t\t),\n\t},\n];\n\nexport const patternStatusField = {\n\tlabel: __( 'Sync status' ),\n\tid: 'sync-status',\n\trender: ( { item } ) => {\n\t\tconst syncStatus =\n\t\t\t'wp_pattern_sync_status' in item\n\t\t\t\t? item.wp_pattern_sync_status || PATTERN_SYNC_TYPES.full\n\t\t\t\t: PATTERN_SYNC_TYPES.unsynced;\n\t\t// User patterns can have their sync statuses checked directly.\n\t\t// Non-user patterns are all unsynced for the time being.\n\t\treturn (\n\t\t\t<span\n\t\t\t\tclassName={ `edit-site-patterns__field-sync-status-${ syncStatus }` }\n\t\t\t>\n\t\t\t\t{\n\t\t\t\t\tSYNC_FILTERS.find( ( { value } ) => value === syncStatus )\n\t\t\t\t\t\t.label\n\t\t\t\t}\n\t\t\t</span>\n\t\t);\n\t},\n\telements: SYNC_FILTERS,\n\tfilterBy: {\n\t\toperators: [ OPERATOR_IS ],\n\t\tisPrimary: true,\n\t},\n\tenableSorting: false,\n};\n\nfunction AuthorField( { item } ) {\n\tconst [ isImageLoaded, setIsImageLoaded ] = useState( false );\n\tconst { text, icon, imageUrl } = useAddedBy( item.type, item.id );\n\n\treturn (\n\t\t<HStack alignment=\"left\" spacing={ 0 }>\n\t\t\t{ imageUrl && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ clsx( 'page-templates-author-field__avatar', {\n\t\t\t\t\t\t'is-loaded': isImageLoaded,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<img\n\t\t\t\t\t\tonLoad={ () => setIsImageLoaded( true ) }\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tsrc={ imageUrl }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ ! imageUrl && (\n\t\t\t\t<div className=\"page-templates-author-field__icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<span className=\"page-templates-author-field__name\">{ text }</span>\n\t\t</HStack>\n\t);\n}\n\nexport const templatePartAuthorField = {\n\tlabel: __( 'Author' ),\n\tid: 'author',\n\tgetValue: ( { item } ) => item.author_text,\n\trender: AuthorField,\n\tfilterBy: {\n\t\tisPrimary: true,\n\t},\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -66,23 +65,22 @@ const DEFAULT_VIEW = {
66
65
  };
67
66
  export default function DataviewsPatterns() {
68
67
  const {
69
- params: {
70
- postType,
68
+ query: {
69
+ postType = 'wp_block',
71
70
  categoryId: categoryIdFromURL
72
71
  }
73
72
  } = useLocation();
74
- const type = postType || PATTERN_TYPES.user;
75
73
  const categoryId = categoryIdFromURL || PATTERN_DEFAULT_CATEGORY;
76
74
  const [view, setView] = useState(DEFAULT_VIEW);
77
75
  const previousCategoryId = usePrevious(categoryId);
78
- const previousPostType = usePrevious(type);
76
+ const previousPostType = usePrevious(postType);
79
77
  const viewSyncStatus = view.filters?.find(({
80
78
  field
81
79
  }) => field === 'sync-status')?.value;
82
80
  const {
83
81
  patterns,
84
82
  isResolving
85
- } = usePatterns(type, categoryId, {
83
+ } = usePatterns(postType, categoryId, {
86
84
  search: view.search,
87
85
  syncStatus: viewSyncStatus
88
86
  });
@@ -106,26 +104,26 @@ export default function DataviewsPatterns() {
106
104
  }, [records]);
107
105
  const fields = useMemo(() => {
108
106
  const _fields = [previewField, titleField];
109
- if (type === PATTERN_TYPES.user) {
107
+ if (postType === PATTERN_TYPES.user) {
110
108
  _fields.push(patternStatusField);
111
- } else if (type === TEMPLATE_PART_POST_TYPE) {
109
+ } else if (postType === TEMPLATE_PART_POST_TYPE) {
112
110
  _fields.push({
113
111
  ...templatePartAuthorField,
114
112
  elements: authors
115
113
  });
116
114
  }
117
115
  return _fields;
118
- }, [type, authors]);
116
+ }, [postType, authors]);
119
117
 
120
118
  // Reset the page number when the category changes.
121
119
  useEffect(() => {
122
- if (previousCategoryId !== categoryId || previousPostType !== type) {
120
+ if (previousCategoryId !== categoryId || previousPostType !== postType) {
123
121
  setView(prevView => ({
124
122
  ...prevView,
125
123
  page: 1
126
124
  }));
127
125
  }
128
- }, [categoryId, previousCategoryId, previousPostType, type]);
126
+ }, [categoryId, previousCategoryId, previousPostType, postType]);
129
127
  const {
130
128
  data,
131
129
  paginationInfo
@@ -136,11 +134,11 @@ export default function DataviewsPatterns() {
136
134
  ...view
137
135
  };
138
136
  delete viewWithoutFilters.search;
139
- if (type !== TEMPLATE_PART_POST_TYPE) {
137
+ if (postType !== TEMPLATE_PART_POST_TYPE) {
140
138
  viewWithoutFilters.filters = [];
141
139
  }
142
140
  return filterSortAndPaginate(patterns, viewWithoutFilters, fields);
143
- }, [patterns, view, fields, type]);
141
+ }, [patterns, view, fields, postType]);
144
142
  const dataWithPermissions = useAugmentPatternsWithPermissions(data);
145
143
  const templatePartActions = usePostActions({
146
144
  postType: TEMPLATE_PART_POST_TYPE,
@@ -152,11 +150,11 @@ export default function DataviewsPatterns() {
152
150
  });
153
151
  const editAction = useEditPostAction();
154
152
  const actions = useMemo(() => {
155
- if (type === TEMPLATE_PART_POST_TYPE) {
153
+ if (postType === TEMPLATE_PART_POST_TYPE) {
156
154
  return [editAction, ...templatePartActions].filter(Boolean);
157
155
  }
158
156
  return [editAction, ...patternActions].filter(Boolean);
159
- }, [editAction, type, templatePartActions, patternActions]);
157
+ }, [editAction, postType, templatePartActions, patternActions]);
160
158
  const id = useId();
161
159
  const settings = usePatternSettings();
162
160
  // Wrap everything in a block editor provider.
@@ -170,7 +168,7 @@ export default function DataviewsPatterns() {
170
168
  hideTitleFromUI: true,
171
169
  children: [/*#__PURE__*/_jsx(PatternsHeader, {
172
170
  categoryId: categoryId,
173
- type: type,
171
+ type: postType,
174
172
  titleId: `${id}-title`,
175
173
  descriptionId: `${id}-description`
176
174
  }), /*#__PURE__*/_jsx(DataViews, {
@@ -1 +1 @@
1
- {"version":3,"names":["__","useState","useMemo","useId","useEffect","privateApis","blockEditorPrivateApis","DataViews","filterSortAndPaginate","usePrevious","useEntityRecords","editorPrivateApis","routerPrivateApis","Page","LAYOUT_GRID","LAYOUT_TABLE","PATTERN_TYPES","TEMPLATE_PART_POST_TYPE","PATTERN_DEFAULT_CATEGORY","usePatternSettings","unlock","usePatterns","useAugmentPatternsWithPermissions","PatternsHeader","useEditPostAction","patternStatusField","previewField","titleField","templatePartAuthorField","jsx","_jsx","jsxs","_jsxs","ExperimentalBlockEditorProvider","usePostActions","useLocation","EMPTY_ARRAY","defaultLayouts","layout","primaryField","styles","preview","width","author","mediaField","badgeFields","DEFAULT_VIEW","type","search","page","perPage","fields","filters","DataviewsPatterns","params","postType","categoryId","categoryIdFromURL","user","view","setView","previousCategoryId","previousPostType","viewSyncStatus","find","field","value","patterns","isResolving","syncStatus","records","per_page","authors","authorsSet","Set","forEach","template","add","author_text","Array","from","map","label","_fields","push","elements","prevView","data","paginationInfo","viewWithoutFilters","dataWithPermissions","templatePartActions","context","patternActions","editAction","actions","filter","Boolean","id","settings","children","title","className","hideTitleFromUI","titleId","descriptionId","getItemId","item","_item$name","name","isLoading","onChangeView"],"sources":["@wordpress/edit-site/src/components/page-patterns/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo, useId, useEffect } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { usePrevious } from '@wordpress/compose';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport {\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_DEFAULT_CATEGORY,\n} from '../../utils/constants';\nimport usePatternSettings from './use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport usePatterns, { useAugmentPatternsWithPermissions } from './use-patterns';\nimport PatternsHeader from './header';\nimport { useEditPostAction } from '../dataviews-actions';\nimport {\n\tpatternStatusField,\n\tpreviewField,\n\ttitleField,\n\ttemplatePartAuthorField,\n} from './fields';\n\nconst { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );\nconst { usePostActions } = unlock( editorPrivateApis );\nconst { useLocation } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\nconst defaultLayouts = {\n\t[ LAYOUT_TABLE ]: {\n\t\tlayout: {\n\t\t\tprimaryField: 'title',\n\t\t\tstyles: {\n\t\t\t\tpreview: {\n\t\t\t\t\twidth: '1%',\n\t\t\t\t},\n\t\t\t\tauthor: {\n\t\t\t\t\twidth: '1%',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tlayout: {\n\t\t\tmediaField: 'preview',\n\t\t\tprimaryField: 'title',\n\t\t\tbadgeFields: [ 'sync-status' ],\n\t\t},\n\t},\n};\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_GRID,\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\tlayout: defaultLayouts[ LAYOUT_GRID ].layout,\n\tfields: [ 'title', 'sync-status' ],\n\tfilters: [],\n};\n\nexport default function DataviewsPatterns() {\n\tconst {\n\t\tparams: { postType, categoryId: categoryIdFromURL },\n\t} = useLocation();\n\tconst type = postType || PATTERN_TYPES.user;\n\tconst categoryId = categoryIdFromURL || PATTERN_DEFAULT_CATEGORY;\n\tconst [ view, setView ] = useState( DEFAULT_VIEW );\n\tconst previousCategoryId = usePrevious( categoryId );\n\tconst previousPostType = usePrevious( type );\n\tconst viewSyncStatus = view.filters?.find(\n\t\t( { field } ) => field === 'sync-status'\n\t)?.value;\n\tconst { patterns, isResolving } = usePatterns( type, categoryId, {\n\t\tsearch: view.search,\n\t\tsyncStatus: viewSyncStatus,\n\t} );\n\n\tconst { records } = useEntityRecords( 'postType', TEMPLATE_PART_POST_TYPE, {\n\t\tper_page: -1,\n\t} );\n\n\tconst authors = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\tconst authorsSet = new Set();\n\t\trecords.forEach( ( template ) => {\n\t\t\tauthorsSet.add( template.author_text );\n\t\t} );\n\t\treturn Array.from( authorsSet ).map( ( author ) => ( {\n\t\t\tvalue: author,\n\t\t\tlabel: author,\n\t\t} ) );\n\t}, [ records ] );\n\n\tconst fields = useMemo( () => {\n\t\tconst _fields = [ previewField, titleField ];\n\n\t\tif ( type === PATTERN_TYPES.user ) {\n\t\t\t_fields.push( patternStatusField );\n\t\t} else if ( type === TEMPLATE_PART_POST_TYPE ) {\n\t\t\t_fields.push( {\n\t\t\t\t...templatePartAuthorField,\n\t\t\t\telements: authors,\n\t\t\t} );\n\t\t}\n\n\t\treturn _fields;\n\t}, [ type, authors ] );\n\n\t// Reset the page number when the category changes.\n\tuseEffect( () => {\n\t\tif ( previousCategoryId !== categoryId || previousPostType !== type ) {\n\t\t\tsetView( ( prevView ) => ( { ...prevView, page: 1 } ) );\n\t\t}\n\t}, [ categoryId, previousCategoryId, previousPostType, type ] );\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\t// Search is managed server-side as well as filters for patterns.\n\t\t// However, the author filter in template parts is done client-side.\n\t\tconst viewWithoutFilters = { ...view };\n\t\tdelete viewWithoutFilters.search;\n\t\tif ( type !== TEMPLATE_PART_POST_TYPE ) {\n\t\t\tviewWithoutFilters.filters = [];\n\t\t}\n\t\treturn filterSortAndPaginate( patterns, viewWithoutFilters, fields );\n\t}, [ patterns, view, fields, type ] );\n\n\tconst dataWithPermissions = useAugmentPatternsWithPermissions( data );\n\n\tconst templatePartActions = usePostActions( {\n\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\tcontext: 'list',\n\t} );\n\tconst patternActions = usePostActions( {\n\t\tpostType: PATTERN_TYPES.user,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\n\tconst actions = useMemo( () => {\n\t\tif ( type === TEMPLATE_PART_POST_TYPE ) {\n\t\t\treturn [ editAction, ...templatePartActions ].filter( Boolean );\n\t\t}\n\t\treturn [ editAction, ...patternActions ].filter( Boolean );\n\t}, [ editAction, type, templatePartActions, patternActions ] );\n\tconst id = useId();\n\tconst settings = usePatternSettings();\n\t// Wrap everything in a block editor provider.\n\t// This ensures 'styles' that are needed for the previews are synced\n\t// from the site editor store to the block editor store.\n\treturn (\n\t\t<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<Page\n\t\t\t\ttitle={ __( 'Patterns content' ) }\n\t\t\t\tclassName=\"edit-site-page-patterns-dataviews\"\n\t\t\t\thideTitleFromUI\n\t\t\t>\n\t\t\t\t<PatternsHeader\n\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\ttype={ type }\n\t\t\t\t\ttitleId={ `${ id }-title` }\n\t\t\t\t\tdescriptionId={ `${ id }-description` }\n\t\t\t\t/>\n\t\t\t\t<DataViews\n\t\t\t\t\tkey={ categoryId + postType }\n\t\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\t\tfields={ fields }\n\t\t\t\t\tactions={ actions }\n\t\t\t\t\tdata={ dataWithPermissions || EMPTY_ARRAY }\n\t\t\t\t\tgetItemId={ ( item ) => item.name ?? item.id }\n\t\t\t\t\tisLoading={ isResolving }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ setView }\n\t\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\t/>\n\t\t\t</Page>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__","useState","useMemo","useId","useEffect","privateApis","blockEditorPrivateApis","DataViews","filterSortAndPaginate","usePrevious","useEntityRecords","editorPrivateApis","routerPrivateApis","Page","LAYOUT_GRID","LAYOUT_TABLE","PATTERN_TYPES","TEMPLATE_PART_POST_TYPE","PATTERN_DEFAULT_CATEGORY","usePatternSettings","unlock","usePatterns","useAugmentPatternsWithPermissions","PatternsHeader","useEditPostAction","patternStatusField","previewField","titleField","templatePartAuthorField","jsx","_jsx","jsxs","_jsxs","ExperimentalBlockEditorProvider","usePostActions","useLocation","EMPTY_ARRAY","defaultLayouts","layout","primaryField","styles","preview","width","author","mediaField","badgeFields","DEFAULT_VIEW","type","search","page","perPage","fields","filters","DataviewsPatterns","query","postType","categoryId","categoryIdFromURL","view","setView","previousCategoryId","previousPostType","viewSyncStatus","find","field","value","patterns","isResolving","syncStatus","records","per_page","authors","authorsSet","Set","forEach","template","add","author_text","Array","from","map","label","_fields","user","push","elements","prevView","data","paginationInfo","viewWithoutFilters","dataWithPermissions","templatePartActions","context","patternActions","editAction","actions","filter","Boolean","id","settings","children","title","className","hideTitleFromUI","titleId","descriptionId","getItemId","item","_item$name","name","isLoading","onChangeView"],"sources":["@wordpress/edit-site/src/components/page-patterns/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo, useId, useEffect } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { usePrevious } from '@wordpress/compose';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport {\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_DEFAULT_CATEGORY,\n} from '../../utils/constants';\nimport usePatternSettings from './use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport usePatterns, { useAugmentPatternsWithPermissions } from './use-patterns';\nimport PatternsHeader from './header';\nimport { useEditPostAction } from '../dataviews-actions';\nimport {\n\tpatternStatusField,\n\tpreviewField,\n\ttitleField,\n\ttemplatePartAuthorField,\n} from './fields';\n\nconst { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );\nconst { usePostActions } = unlock( editorPrivateApis );\nconst { useLocation } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\nconst defaultLayouts = {\n\t[ LAYOUT_TABLE ]: {\n\t\tlayout: {\n\t\t\tprimaryField: 'title',\n\t\t\tstyles: {\n\t\t\t\tpreview: {\n\t\t\t\t\twidth: '1%',\n\t\t\t\t},\n\t\t\t\tauthor: {\n\t\t\t\t\twidth: '1%',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tlayout: {\n\t\t\tmediaField: 'preview',\n\t\t\tprimaryField: 'title',\n\t\t\tbadgeFields: [ 'sync-status' ],\n\t\t},\n\t},\n};\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_GRID,\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\tlayout: defaultLayouts[ LAYOUT_GRID ].layout,\n\tfields: [ 'title', 'sync-status' ],\n\tfilters: [],\n};\n\nexport default function DataviewsPatterns() {\n\tconst {\n\t\tquery: { postType = 'wp_block', categoryId: categoryIdFromURL },\n\t} = useLocation();\n\tconst categoryId = categoryIdFromURL || PATTERN_DEFAULT_CATEGORY;\n\tconst [ view, setView ] = useState( DEFAULT_VIEW );\n\tconst previousCategoryId = usePrevious( categoryId );\n\tconst previousPostType = usePrevious( postType );\n\tconst viewSyncStatus = view.filters?.find(\n\t\t( { field } ) => field === 'sync-status'\n\t)?.value;\n\tconst { patterns, isResolving } = usePatterns( postType, categoryId, {\n\t\tsearch: view.search,\n\t\tsyncStatus: viewSyncStatus,\n\t} );\n\n\tconst { records } = useEntityRecords( 'postType', TEMPLATE_PART_POST_TYPE, {\n\t\tper_page: -1,\n\t} );\n\n\tconst authors = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\tconst authorsSet = new Set();\n\t\trecords.forEach( ( template ) => {\n\t\t\tauthorsSet.add( template.author_text );\n\t\t} );\n\t\treturn Array.from( authorsSet ).map( ( author ) => ( {\n\t\t\tvalue: author,\n\t\t\tlabel: author,\n\t\t} ) );\n\t}, [ records ] );\n\n\tconst fields = useMemo( () => {\n\t\tconst _fields = [ previewField, titleField ];\n\n\t\tif ( postType === PATTERN_TYPES.user ) {\n\t\t\t_fields.push( patternStatusField );\n\t\t} else if ( postType === TEMPLATE_PART_POST_TYPE ) {\n\t\t\t_fields.push( {\n\t\t\t\t...templatePartAuthorField,\n\t\t\t\telements: authors,\n\t\t\t} );\n\t\t}\n\n\t\treturn _fields;\n\t}, [ postType, authors ] );\n\n\t// Reset the page number when the category changes.\n\tuseEffect( () => {\n\t\tif (\n\t\t\tpreviousCategoryId !== categoryId ||\n\t\t\tpreviousPostType !== postType\n\t\t) {\n\t\t\tsetView( ( prevView ) => ( { ...prevView, page: 1 } ) );\n\t\t}\n\t}, [ categoryId, previousCategoryId, previousPostType, postType ] );\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\t// Search is managed server-side as well as filters for patterns.\n\t\t// However, the author filter in template parts is done client-side.\n\t\tconst viewWithoutFilters = { ...view };\n\t\tdelete viewWithoutFilters.search;\n\t\tif ( postType !== TEMPLATE_PART_POST_TYPE ) {\n\t\t\tviewWithoutFilters.filters = [];\n\t\t}\n\t\treturn filterSortAndPaginate( patterns, viewWithoutFilters, fields );\n\t}, [ patterns, view, fields, postType ] );\n\n\tconst dataWithPermissions = useAugmentPatternsWithPermissions( data );\n\n\tconst templatePartActions = usePostActions( {\n\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\tcontext: 'list',\n\t} );\n\tconst patternActions = usePostActions( {\n\t\tpostType: PATTERN_TYPES.user,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\n\tconst actions = useMemo( () => {\n\t\tif ( postType === TEMPLATE_PART_POST_TYPE ) {\n\t\t\treturn [ editAction, ...templatePartActions ].filter( Boolean );\n\t\t}\n\t\treturn [ editAction, ...patternActions ].filter( Boolean );\n\t}, [ editAction, postType, templatePartActions, patternActions ] );\n\tconst id = useId();\n\tconst settings = usePatternSettings();\n\t// Wrap everything in a block editor provider.\n\t// This ensures 'styles' that are needed for the previews are synced\n\t// from the site editor store to the block editor store.\n\treturn (\n\t\t<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<Page\n\t\t\t\ttitle={ __( 'Patterns content' ) }\n\t\t\t\tclassName=\"edit-site-page-patterns-dataviews\"\n\t\t\t\thideTitleFromUI\n\t\t\t>\n\t\t\t\t<PatternsHeader\n\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\ttype={ postType }\n\t\t\t\t\ttitleId={ `${ id }-title` }\n\t\t\t\t\tdescriptionId={ `${ id }-description` }\n\t\t\t\t/>\n\t\t\t\t<DataViews\n\t\t\t\t\tkey={ categoryId + postType }\n\t\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\t\tfields={ fields }\n\t\t\t\t\tactions={ actions }\n\t\t\t\t\tdata={ dataWithPermissions || EMPTY_ARRAY }\n\t\t\t\t\tgetItemId={ ( item ) => item.name ?? item.id }\n\t\t\t\t\tisLoading={ isResolving }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ setView }\n\t\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\t/>\n\t\t\t</Page>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -13,15 +13,19 @@ import { decodeEntities } from '@wordpress/html-entities';
13
13
  import { parse } from '@wordpress/blocks';
14
14
  import { BlockPreview, privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
15
15
  import { EditorProvider } from '@wordpress/editor';
16
+ import { privateApis as routerPrivateApis } from '@wordpress/router';
16
17
 
17
18
  /**
18
19
  * Internal dependencies
19
20
  */
20
- import { default as Link, useLink } from '../routes/link';
21
21
  import { useAddedBy } from './hooks';
22
22
  import usePatternSettings from '../page-patterns/use-pattern-settings';
23
23
  import { unlock } from '../../lock-unlock';
24
24
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
25
+ const {
26
+ useLink,
27
+ Link
28
+ } = unlock(routerPrivateApis);
25
29
  const {
26
30
  useGlobalStyle
27
31
  } = unlock(blockEditorPrivateApis);
@@ -35,11 +39,7 @@ function PreviewField({
35
39
  }, [item.content.raw]);
36
40
  const {
37
41
  onClick
38
- } = useLink({
39
- postId: item.id,
40
- postType: item.type,
41
- canvas: 'edit'
42
- });
42
+ } = useLink(`/${item.type}/${item.id}?canvas=edit`);
43
43
  const isEmpty = !blocks?.length;
44
44
  // Wrap everything in a block editor provider to ensure 'styles' that are needed
45
45
  // for the previews are synced between the site editor store and the block editor store.
@@ -79,15 +79,8 @@ export const previewField = {
79
79
  function TitleField({
80
80
  item
81
81
  }) {
82
- const linkProps = {
83
- params: {
84
- postId: item.id,
85
- postType: item.type,
86
- canvas: 'edit'
87
- }
88
- };
89
82
  return /*#__PURE__*/_jsx(Link, {
90
- ...linkProps,
83
+ to: `/${item.type}/${item.id}?canvas=edit`,
91
84
  children: decodeEntities(item.title?.rendered) || __('(no title)')
92
85
  });
93
86
  }
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","Icon","__experimentalHStack","HStack","__","useState","useMemo","decodeEntities","parse","BlockPreview","privateApis","blockEditorPrivateApis","EditorProvider","default","Link","useLink","useAddedBy","usePatternSettings","unlock","jsx","_jsx","jsxs","_jsxs","useGlobalStyle","PreviewField","item","settings","backgroundColor","blocks","content","raw","onClick","postId","id","postType","type","canvas","isEmpty","length","post","children","className","style","title","rendered","Async","previewField","label","render","enableSorting","TitleField","linkProps","params","titleField","getValue","enableHiding","enableGlobalSearch","descriptionField","description","AuthorField","isImageLoaded","setIsImageLoaded","text","icon","imageUrl","alignment","spacing","onLoad","alt","src","authorField","author_text"],"sources":["@wordpress/edit-site/src/components/page-templates/fields.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { Icon, __experimentalHStack as HStack } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { parse } from '@wordpress/blocks';\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { EditorProvider } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { default as Link, useLink } from '../routes/link';\nimport { useAddedBy } from './hooks';\n\nimport usePatternSettings from '../page-patterns/use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\n\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nfunction PreviewField( { item } ) {\n\tconst settings = usePatternSettings();\n\tconst [ backgroundColor = 'white' ] = useGlobalStyle( 'color.background' );\n\tconst blocks = useMemo( () => {\n\t\treturn parse( item.content.raw );\n\t}, [ item.content.raw ] );\n\tconst { onClick } = useLink( {\n\t\tpostId: item.id,\n\t\tpostType: item.type,\n\t\tcanvas: 'edit',\n\t} );\n\n\tconst isEmpty = ! blocks?.length;\n\t// Wrap everything in a block editor provider to ensure 'styles' that are needed\n\t// for the previews are synced between the site editor store and the block editor store.\n\t// Additionally we need to have the `__experimentalBlockPatterns` setting in order to\n\t// render patterns inside the previews.\n\t// TODO: Same approach is used in the patterns list and it becomes obvious that some of\n\t// the block editor settings are needed in context where we don't have the block editor.\n\t// Explore how we can solve this in a better way.\n\treturn (\n\t\t<EditorProvider post={ item } settings={ settings }>\n\t\t\t<div\n\t\t\t\tclassName=\"page-templates-preview-field\"\n\t\t\t\tstyle={ { backgroundColor } }\n\t\t\t>\n\t\t\t\t<button\n\t\t\t\t\tclassName=\"page-templates-preview-field__button\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\taria-label={ item.title?.rendered || item.title }\n\t\t\t\t>\n\t\t\t\t\t{ isEmpty && __( 'Empty template' ) }\n\t\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t\t<BlockPreview.Async>\n\t\t\t\t\t\t\t<BlockPreview blocks={ blocks } />\n\t\t\t\t\t\t</BlockPreview.Async>\n\t\t\t\t\t) }\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</EditorProvider>\n\t);\n}\n\nexport const previewField = {\n\tlabel: __( 'Preview' ),\n\tid: 'preview',\n\trender: PreviewField,\n\tenableSorting: false,\n};\n\nfunction TitleField( { item } ) {\n\tconst linkProps = {\n\t\tparams: {\n\t\t\tpostId: item.id,\n\t\t\tpostType: item.type,\n\t\t\tcanvas: 'edit',\n\t\t},\n\t};\n\treturn (\n\t\t<Link { ...linkProps }>\n\t\t\t{ decodeEntities( item.title?.rendered ) || __( '(no title)' ) }\n\t\t</Link>\n\t);\n}\n\nexport const titleField = {\n\tlabel: __( 'Template' ),\n\tid: 'title',\n\tgetValue: ( { item } ) => item.title?.rendered,\n\trender: TitleField,\n\tenableHiding: false,\n\tenableGlobalSearch: true,\n};\n\nexport const descriptionField = {\n\tlabel: __( 'Description' ),\n\tid: 'description',\n\trender: ( { item } ) => {\n\t\treturn (\n\t\t\titem.description && (\n\t\t\t\t<span className=\"page-templates-description\">\n\t\t\t\t\t{ decodeEntities( item.description ) }\n\t\t\t\t</span>\n\t\t\t)\n\t\t);\n\t},\n\tenableSorting: false,\n\tenableGlobalSearch: true,\n};\n\nfunction AuthorField( { item } ) {\n\tconst [ isImageLoaded, setIsImageLoaded ] = useState( false );\n\tconst { text, icon, imageUrl } = useAddedBy( item.type, item.id );\n\n\treturn (\n\t\t<HStack alignment=\"left\" spacing={ 0 }>\n\t\t\t{ imageUrl && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ clsx( 'page-templates-author-field__avatar', {\n\t\t\t\t\t\t'is-loaded': isImageLoaded,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<img\n\t\t\t\t\t\tonLoad={ () => setIsImageLoaded( true ) }\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tsrc={ imageUrl }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ ! imageUrl && (\n\t\t\t\t<div className=\"page-templates-author-field__icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<span className=\"page-templates-author-field__name\">{ text }</span>\n\t\t</HStack>\n\t);\n}\n\nexport const authorField = {\n\tlabel: __( 'Author' ),\n\tid: 'author',\n\tgetValue: ( { item } ) => item.author_text,\n\trender: AuthorField,\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","Icon","__experimentalHStack","HStack","__","useState","useMemo","decodeEntities","parse","BlockPreview","privateApis","blockEditorPrivateApis","EditorProvider","routerPrivateApis","useAddedBy","usePatternSettings","unlock","jsx","_jsx","jsxs","_jsxs","useLink","Link","useGlobalStyle","PreviewField","item","settings","backgroundColor","blocks","content","raw","onClick","type","id","isEmpty","length","post","children","className","style","title","rendered","Async","previewField","label","render","enableSorting","TitleField","to","titleField","getValue","enableHiding","enableGlobalSearch","descriptionField","description","AuthorField","isImageLoaded","setIsImageLoaded","text","icon","imageUrl","alignment","spacing","onLoad","alt","src","authorField","author_text"],"sources":["@wordpress/edit-site/src/components/page-templates/fields.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { Icon, __experimentalHStack as HStack } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { parse } from '@wordpress/blocks';\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { EditorProvider } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { useAddedBy } from './hooks';\nimport usePatternSettings from '../page-patterns/use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\n\nconst { useLink, Link } = unlock( routerPrivateApis );\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nfunction PreviewField( { item } ) {\n\tconst settings = usePatternSettings();\n\tconst [ backgroundColor = 'white' ] = useGlobalStyle( 'color.background' );\n\tconst blocks = useMemo( () => {\n\t\treturn parse( item.content.raw );\n\t}, [ item.content.raw ] );\n\tconst { onClick } = useLink( `/${ item.type }/${ item.id }?canvas=edit` );\n\n\tconst isEmpty = ! blocks?.length;\n\t// Wrap everything in a block editor provider to ensure 'styles' that are needed\n\t// for the previews are synced between the site editor store and the block editor store.\n\t// Additionally we need to have the `__experimentalBlockPatterns` setting in order to\n\t// render patterns inside the previews.\n\t// TODO: Same approach is used in the patterns list and it becomes obvious that some of\n\t// the block editor settings are needed in context where we don't have the block editor.\n\t// Explore how we can solve this in a better way.\n\treturn (\n\t\t<EditorProvider post={ item } settings={ settings }>\n\t\t\t<div\n\t\t\t\tclassName=\"page-templates-preview-field\"\n\t\t\t\tstyle={ { backgroundColor } }\n\t\t\t>\n\t\t\t\t<button\n\t\t\t\t\tclassName=\"page-templates-preview-field__button\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\taria-label={ item.title?.rendered || item.title }\n\t\t\t\t>\n\t\t\t\t\t{ isEmpty && __( 'Empty template' ) }\n\t\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t\t<BlockPreview.Async>\n\t\t\t\t\t\t\t<BlockPreview blocks={ blocks } />\n\t\t\t\t\t\t</BlockPreview.Async>\n\t\t\t\t\t) }\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</EditorProvider>\n\t);\n}\n\nexport const previewField = {\n\tlabel: __( 'Preview' ),\n\tid: 'preview',\n\trender: PreviewField,\n\tenableSorting: false,\n};\n\nfunction TitleField( { item } ) {\n\treturn (\n\t\t<Link to={ `/${ item.type }/${ item.id }?canvas=edit` }>\n\t\t\t{ decodeEntities( item.title?.rendered ) || __( '(no title)' ) }\n\t\t</Link>\n\t);\n}\n\nexport const titleField = {\n\tlabel: __( 'Template' ),\n\tid: 'title',\n\tgetValue: ( { item } ) => item.title?.rendered,\n\trender: TitleField,\n\tenableHiding: false,\n\tenableGlobalSearch: true,\n};\n\nexport const descriptionField = {\n\tlabel: __( 'Description' ),\n\tid: 'description',\n\trender: ( { item } ) => {\n\t\treturn (\n\t\t\titem.description && (\n\t\t\t\t<span className=\"page-templates-description\">\n\t\t\t\t\t{ decodeEntities( item.description ) }\n\t\t\t\t</span>\n\t\t\t)\n\t\t);\n\t},\n\tenableSorting: false,\n\tenableGlobalSearch: true,\n};\n\nfunction AuthorField( { item } ) {\n\tconst [ isImageLoaded, setIsImageLoaded ] = useState( false );\n\tconst { text, icon, imageUrl } = useAddedBy( item.type, item.id );\n\n\treturn (\n\t\t<HStack alignment=\"left\" spacing={ 0 }>\n\t\t\t{ imageUrl && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ clsx( 'page-templates-author-field__avatar', {\n\t\t\t\t\t\t'is-loaded': isImageLoaded,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<img\n\t\t\t\t\t\tonLoad={ () => setIsImageLoaded( true ) }\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tsrc={ imageUrl }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ ! imageUrl && (\n\t\t\t\t<div className=\"page-templates-author-field__icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<span className=\"page-templates-author-field__name\">{ text }</span>\n\t\t</HStack>\n\t);\n}\n\nexport const authorField = {\n\tlabel: __( 'Author' ),\n\tid: 'author',\n\tgetValue: ( { item } ) => item.author_text,\n\trender: AuthorField,\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -8,6 +7,7 @@ import { privateApis as corePrivateApis } from '@wordpress/core-data';
8
7
  import { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';
9
8
  import { privateApis as routerPrivateApis } from '@wordpress/router';
10
9
  import { privateApis as editorPrivateApis } from '@wordpress/editor';
10
+ import { addQueryArgs } from '@wordpress/url';
11
11
 
12
12
  /**
13
13
  * Internal dependencies
@@ -85,13 +85,14 @@ const DEFAULT_VIEW = {
85
85
  };
86
86
  export default function PageTemplates() {
87
87
  const {
88
- params
88
+ path,
89
+ query
89
90
  } = useLocation();
90
91
  const {
91
92
  activeView = 'all',
92
93
  layout,
93
94
  postId
94
- } = params;
95
+ } = query;
95
96
  const [selection, setSelection] = useState([postId]);
96
97
  const defaultView = useMemo(() => {
97
98
  const usedType = layout !== null && layout !== void 0 ? layout : DEFAULT_VIEW.type;
@@ -109,15 +110,17 @@ export default function PageTemplates() {
109
110
  }, [layout, activeView]);
110
111
  const [view, setView] = useState(defaultView);
111
112
  useEffect(() => {
113
+ const usedType = layout !== null && layout !== void 0 ? layout : DEFAULT_VIEW.type;
112
114
  setView(currentView => ({
113
115
  ...currentView,
116
+ type: usedType,
114
117
  filters: activeView !== 'all' ? [{
115
118
  field: 'author',
116
119
  operator: OPERATOR_IS_ANY,
117
120
  value: [activeView]
118
121
  }] : []
119
122
  }));
120
- }, [activeView]);
123
+ }, [activeView, layout]);
121
124
  const {
122
125
  records,
123
126
  isResolving: isLoadingData
@@ -128,12 +131,11 @@ export default function PageTemplates() {
128
131
  const onChangeSelection = useCallback(items => {
129
132
  setSelection(items);
130
133
  if (view?.type === LAYOUT_LIST) {
131
- history.push({
132
- ...params,
134
+ history.navigate(addQueryArgs(path, {
133
135
  postId: items.length === 1 ? items[0] : undefined
134
- });
136
+ }));
135
137
  }
136
- }, [history, params, view?.type]);
138
+ }, [history, path, view?.type]);
137
139
  const authors = useMemo(() => {
138
140
  if (!records) {
139
141
  return EMPTY_ARRAY;
@@ -165,13 +167,12 @@ export default function PageTemplates() {
165
167
  const actions = useMemo(() => [editAction, ...postTypeActions], [postTypeActions, editAction]);
166
168
  const onChangeView = useCallback(newView => {
167
169
  if (newView.type !== view.type) {
168
- history.push({
169
- ...params,
170
+ history.navigate(addQueryArgs(path, {
170
171
  layout: newView.type
171
- });
172
+ }));
172
173
  }
173
174
  setView(newView);
174
- }, [view.type, setView, history, params]);
175
+ }, [view.type, setView, history, path]);
175
176
  return /*#__PURE__*/_jsx(Page, {
176
177
  className: "edit-site-page-templates",
177
178
  title: __('Templates'),
@@ -1 +1 @@
1
- {"version":3,"names":["__","useState","useMemo","useCallback","useEffect","privateApis","corePrivateApis","DataViews","filterSortAndPaginate","routerPrivateApis","editorPrivateApis","Page","AddNewTemplate","TEMPLATE_POST_TYPE","OPERATOR_IS_ANY","LAYOUT_GRID","LAYOUT_TABLE","LAYOUT_LIST","unlock","useEditPostAction","authorField","descriptionField","previewField","titleField","jsx","_jsx","usePostActions","useHistory","useLocation","useEntityRecordsWithPermissions","EMPTY_ARRAY","defaultLayouts","fields","layout","primaryField","combinedFields","id","label","children","direction","styles","template","maxWidth","minWidth","preview","width","author","mediaField","columnFields","DEFAULT_VIEW","type","search","page","perPage","sort","field","filters","PageTemplates","params","activeView","postId","selection","setSelection","defaultView","usedType","operator","value","view","setView","currentView","records","isResolving","isLoadingData","per_page","history","onChangeSelection","items","push","length","undefined","authors","authorsSet","Set","forEach","add","author_text","Array","from","map","elements","data","paginationInfo","postTypeActions","postType","context","editAction","actions","onChangeView","newView","className","title","isLoading"],"sources":["@wordpress/edit-site/src/components/page-templates/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo, useCallback, useEffect } from '@wordpress/element';\nimport { privateApis as corePrivateApis } from '@wordpress/core-data';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport AddNewTemplate from '../add-new-template';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tOPERATOR_IS_ANY,\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tLAYOUT_LIST,\n} from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport { useEditPostAction } from '../dataviews-actions';\nimport {\n\tauthorField,\n\tdescriptionField,\n\tpreviewField,\n\ttitleField,\n} from './fields';\n\nconst { usePostActions } = unlock( editorPrivateApis );\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\nconst { useEntityRecordsWithPermissions } = unlock( corePrivateApis );\n\nconst EMPTY_ARRAY = [];\n\nconst defaultLayouts = {\n\t[ LAYOUT_TABLE ]: {\n\t\tfields: [ 'template', 'author' ],\n\t\tlayout: {\n\t\t\tprimaryField: 'title',\n\t\t\tcombinedFields: [\n\t\t\t\t{\n\t\t\t\t\tid: 'template',\n\t\t\t\t\tlabel: __( 'Template' ),\n\t\t\t\t\tchildren: [ 'title', 'description' ],\n\t\t\t\t\tdirection: 'vertical',\n\t\t\t\t},\n\t\t\t],\n\t\t\tstyles: {\n\t\t\t\ttemplate: {\n\t\t\t\t\tmaxWidth: 400,\n\t\t\t\t\tminWidth: 320,\n\t\t\t\t},\n\t\t\t\tpreview: {\n\t\t\t\t\twidth: '1%',\n\t\t\t\t},\n\t\t\t\tauthor: {\n\t\t\t\t\twidth: '1%',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tfields: [ 'title', 'description', 'author' ],\n\t\tlayout: {\n\t\t\tmediaField: 'preview',\n\t\t\tprimaryField: 'title',\n\t\t\tcolumnFields: [ 'description' ],\n\t\t},\n\t},\n\t[ LAYOUT_LIST ]: {\n\t\tfields: [ 'title', 'description', 'author' ],\n\t\tlayout: {\n\t\t\tprimaryField: 'title',\n\t\t},\n\t},\n};\n\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_GRID,\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\tsort: {\n\t\tfield: 'title',\n\t\tdirection: 'asc',\n\t},\n\tfields: defaultLayouts[ LAYOUT_GRID ].fields,\n\tlayout: defaultLayouts[ LAYOUT_GRID ].layout,\n\tfilters: [],\n};\n\nexport default function PageTemplates() {\n\tconst { params } = useLocation();\n\tconst { activeView = 'all', layout, postId } = params;\n\tconst [ selection, setSelection ] = useState( [ postId ] );\n\n\tconst defaultView = useMemo( () => {\n\t\tconst usedType = layout ?? DEFAULT_VIEW.type;\n\t\treturn {\n\t\t\t...DEFAULT_VIEW,\n\t\t\ttype: usedType,\n\t\t\tlayout: defaultLayouts[ usedType ].layout,\n\t\t\tfields: defaultLayouts[ usedType ].fields,\n\t\t\tfilters:\n\t\t\t\tactiveView !== 'all'\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: 'author',\n\t\t\t\t\t\t\t\toperator: 'isAny',\n\t\t\t\t\t\t\t\tvalue: [ activeView ],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ]\n\t\t\t\t\t: [],\n\t\t};\n\t}, [ layout, activeView ] );\n\tconst [ view, setView ] = useState( defaultView );\n\tuseEffect( () => {\n\t\tsetView( ( currentView ) => ( {\n\t\t\t...currentView,\n\t\t\tfilters:\n\t\t\t\tactiveView !== 'all'\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: 'author',\n\t\t\t\t\t\t\t\toperator: OPERATOR_IS_ANY,\n\t\t\t\t\t\t\t\tvalue: [ activeView ],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ]\n\t\t\t\t\t: [],\n\t\t} ) );\n\t}, [ activeView ] );\n\n\tconst { records, isResolving: isLoadingData } =\n\t\tuseEntityRecordsWithPermissions( 'postType', TEMPLATE_POST_TYPE, {\n\t\t\tper_page: -1,\n\t\t} );\n\tconst history = useHistory();\n\tconst onChangeSelection = useCallback(\n\t\t( items ) => {\n\t\t\tsetSelection( items );\n\t\t\tif ( view?.type === LAYOUT_LIST ) {\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tpostId: items.length === 1 ? items[ 0 ] : undefined,\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ history, params, view?.type ]\n\t);\n\n\tconst authors = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\tconst authorsSet = new Set();\n\t\trecords.forEach( ( template ) => {\n\t\t\tauthorsSet.add( template.author_text );\n\t\t} );\n\t\treturn Array.from( authorsSet ).map( ( author ) => ( {\n\t\t\tvalue: author,\n\t\t\tlabel: author,\n\t\t} ) );\n\t}, [ records ] );\n\n\tconst fields = useMemo(\n\t\t() => [\n\t\t\tpreviewField,\n\t\t\ttitleField,\n\t\t\tdescriptionField,\n\t\t\t{\n\t\t\t\t...authorField,\n\t\t\t\telements: authors,\n\t\t\t},\n\t\t],\n\t\t[ authors ]\n\t);\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\treturn filterSortAndPaginate( records, view, fields );\n\t}, [ records, view, fields ] );\n\n\tconst postTypeActions = usePostActions( {\n\t\tpostType: TEMPLATE_POST_TYPE,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\tconst actions = useMemo(\n\t\t() => [ editAction, ...postTypeActions ],\n\t\t[ postTypeActions, editAction ]\n\t);\n\n\tconst onChangeView = useCallback(\n\t\t( newView ) => {\n\t\t\tif ( newView.type !== view.type ) {\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tlayout: newView.type,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tsetView( newView );\n\t\t},\n\t\t[ view.type, setView, history, params ]\n\t);\n\n\treturn (\n\t\t<Page\n\t\t\tclassName=\"edit-site-page-templates\"\n\t\t\ttitle={ __( 'Templates' ) }\n\t\t\tactions={ <AddNewTemplate /> }\n\t\t>\n\t\t\t<DataViews\n\t\t\t\tkey={ activeView }\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data }\n\t\t\t\tisLoading={ isLoadingData }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\tselection={ selection }\n\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__","useState","useMemo","useCallback","useEffect","privateApis","corePrivateApis","DataViews","filterSortAndPaginate","routerPrivateApis","editorPrivateApis","addQueryArgs","Page","AddNewTemplate","TEMPLATE_POST_TYPE","OPERATOR_IS_ANY","LAYOUT_GRID","LAYOUT_TABLE","LAYOUT_LIST","unlock","useEditPostAction","authorField","descriptionField","previewField","titleField","jsx","_jsx","usePostActions","useHistory","useLocation","useEntityRecordsWithPermissions","EMPTY_ARRAY","defaultLayouts","fields","layout","primaryField","combinedFields","id","label","children","direction","styles","template","maxWidth","minWidth","preview","width","author","mediaField","columnFields","DEFAULT_VIEW","type","search","page","perPage","sort","field","filters","PageTemplates","path","query","activeView","postId","selection","setSelection","defaultView","usedType","operator","value","view","setView","currentView","records","isResolving","isLoadingData","per_page","history","onChangeSelection","items","navigate","length","undefined","authors","authorsSet","Set","forEach","add","author_text","Array","from","map","elements","data","paginationInfo","postTypeActions","postType","context","editAction","actions","onChangeView","newView","className","title","isLoading"],"sources":["@wordpress/edit-site/src/components/page-templates/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo, useCallback, useEffect } from '@wordpress/element';\nimport { privateApis as corePrivateApis } from '@wordpress/core-data';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport AddNewTemplate from '../add-new-template';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tOPERATOR_IS_ANY,\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tLAYOUT_LIST,\n} from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport { useEditPostAction } from '../dataviews-actions';\nimport {\n\tauthorField,\n\tdescriptionField,\n\tpreviewField,\n\ttitleField,\n} from './fields';\n\nconst { usePostActions } = unlock( editorPrivateApis );\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\nconst { useEntityRecordsWithPermissions } = unlock( corePrivateApis );\n\nconst EMPTY_ARRAY = [];\n\nconst defaultLayouts = {\n\t[ LAYOUT_TABLE ]: {\n\t\tfields: [ 'template', 'author' ],\n\t\tlayout: {\n\t\t\tprimaryField: 'title',\n\t\t\tcombinedFields: [\n\t\t\t\t{\n\t\t\t\t\tid: 'template',\n\t\t\t\t\tlabel: __( 'Template' ),\n\t\t\t\t\tchildren: [ 'title', 'description' ],\n\t\t\t\t\tdirection: 'vertical',\n\t\t\t\t},\n\t\t\t],\n\t\t\tstyles: {\n\t\t\t\ttemplate: {\n\t\t\t\t\tmaxWidth: 400,\n\t\t\t\t\tminWidth: 320,\n\t\t\t\t},\n\t\t\t\tpreview: {\n\t\t\t\t\twidth: '1%',\n\t\t\t\t},\n\t\t\t\tauthor: {\n\t\t\t\t\twidth: '1%',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tfields: [ 'title', 'description', 'author' ],\n\t\tlayout: {\n\t\t\tmediaField: 'preview',\n\t\t\tprimaryField: 'title',\n\t\t\tcolumnFields: [ 'description' ],\n\t\t},\n\t},\n\t[ LAYOUT_LIST ]: {\n\t\tfields: [ 'title', 'description', 'author' ],\n\t\tlayout: {\n\t\t\tprimaryField: 'title',\n\t\t},\n\t},\n};\n\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_GRID,\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\tsort: {\n\t\tfield: 'title',\n\t\tdirection: 'asc',\n\t},\n\tfields: defaultLayouts[ LAYOUT_GRID ].fields,\n\tlayout: defaultLayouts[ LAYOUT_GRID ].layout,\n\tfilters: [],\n};\n\nexport default function PageTemplates() {\n\tconst { path, query } = useLocation();\n\tconst { activeView = 'all', layout, postId } = query;\n\tconst [ selection, setSelection ] = useState( [ postId ] );\n\n\tconst defaultView = useMemo( () => {\n\t\tconst usedType = layout ?? DEFAULT_VIEW.type;\n\t\treturn {\n\t\t\t...DEFAULT_VIEW,\n\t\t\ttype: usedType,\n\t\t\tlayout: defaultLayouts[ usedType ].layout,\n\t\t\tfields: defaultLayouts[ usedType ].fields,\n\t\t\tfilters:\n\t\t\t\tactiveView !== 'all'\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: 'author',\n\t\t\t\t\t\t\t\toperator: 'isAny',\n\t\t\t\t\t\t\t\tvalue: [ activeView ],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ]\n\t\t\t\t\t: [],\n\t\t};\n\t}, [ layout, activeView ] );\n\tconst [ view, setView ] = useState( defaultView );\n\tuseEffect( () => {\n\t\tconst usedType = layout ?? DEFAULT_VIEW.type;\n\t\tsetView( ( currentView ) => ( {\n\t\t\t...currentView,\n\t\t\ttype: usedType,\n\t\t\tfilters:\n\t\t\t\tactiveView !== 'all'\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: 'author',\n\t\t\t\t\t\t\t\toperator: OPERATOR_IS_ANY,\n\t\t\t\t\t\t\t\tvalue: [ activeView ],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ]\n\t\t\t\t\t: [],\n\t\t} ) );\n\t}, [ activeView, layout ] );\n\n\tconst { records, isResolving: isLoadingData } =\n\t\tuseEntityRecordsWithPermissions( 'postType', TEMPLATE_POST_TYPE, {\n\t\t\tper_page: -1,\n\t\t} );\n\tconst history = useHistory();\n\tconst onChangeSelection = useCallback(\n\t\t( items ) => {\n\t\t\tsetSelection( items );\n\t\t\tif ( view?.type === LAYOUT_LIST ) {\n\t\t\t\thistory.navigate(\n\t\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t\tpostId: items.length === 1 ? items[ 0 ] : undefined,\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ history, path, view?.type ]\n\t);\n\n\tconst authors = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\tconst authorsSet = new Set();\n\t\trecords.forEach( ( template ) => {\n\t\t\tauthorsSet.add( template.author_text );\n\t\t} );\n\t\treturn Array.from( authorsSet ).map( ( author ) => ( {\n\t\t\tvalue: author,\n\t\t\tlabel: author,\n\t\t} ) );\n\t}, [ records ] );\n\n\tconst fields = useMemo(\n\t\t() => [\n\t\t\tpreviewField,\n\t\t\ttitleField,\n\t\t\tdescriptionField,\n\t\t\t{\n\t\t\t\t...authorField,\n\t\t\t\telements: authors,\n\t\t\t},\n\t\t],\n\t\t[ authors ]\n\t);\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\treturn filterSortAndPaginate( records, view, fields );\n\t}, [ records, view, fields ] );\n\n\tconst postTypeActions = usePostActions( {\n\t\tpostType: TEMPLATE_POST_TYPE,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\tconst actions = useMemo(\n\t\t() => [ editAction, ...postTypeActions ],\n\t\t[ postTypeActions, editAction ]\n\t);\n\n\tconst onChangeView = useCallback(\n\t\t( newView ) => {\n\t\t\tif ( newView.type !== view.type ) {\n\t\t\t\thistory.navigate(\n\t\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t\tlayout: newView.type,\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tsetView( newView );\n\t\t},\n\t\t[ view.type, setView, history, path ]\n\t);\n\n\treturn (\n\t\t<Page\n\t\t\tclassName=\"edit-site-page-templates\"\n\t\t\ttitle={ __( 'Templates' ) }\n\t\t\tactions={ <AddNewTemplate /> }\n\t\t>\n\t\t\t<DataViews\n\t\t\t\tkey={ activeView }\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data }\n\t\t\t\tisLoading={ isLoadingData }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\tselection={ selection }\n\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -19,6 +19,8 @@ import { privateApis as editorPrivateApis } from '@wordpress/editor';
19
19
  */
20
20
  import Page from '../page';
21
21
  import { unlock } from '../../lock-unlock';
22
+ import usePatternSettings from '../page-patterns/use-pattern-settings';
23
+ import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
22
24
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
23
25
  const {
24
26
  PostCardPanel,
@@ -43,7 +45,9 @@ function PostEditForm({
43
45
  } = useDispatch(coreDataStore);
44
46
  const {
45
47
  fields: _fields
46
- } = usePostFields();
48
+ } = usePostFields({
49
+ postType
50
+ });
47
51
  const fields = useMemo(() => _fields?.map(field => {
48
52
  if (field.id === 'status') {
49
53
  return {
@@ -62,7 +66,12 @@ function PostEditForm({
62
66
  id: 'status',
63
67
  label: __('Status & Visibility'),
64
68
  children: ['status', 'password']
65
- }, 'author', 'date', 'slug', 'parent', 'comment_status'].filter(field => ids.length === 1 || fieldsWithBulkEditSupport.includes(field))
69
+ }, 'author', 'date', 'slug', 'parent', 'comment_status', {
70
+ label: __('Template'),
71
+ labelPosition: 'side',
72
+ id: 'template',
73
+ layout: 'regular'
74
+ }].filter(field => ids.length === 1 || fieldsWithBulkEditSupport.includes(field))
66
75
  }), [ids]);
67
76
  const onChange = edits => {
68
77
  for (const id of ids) {
@@ -84,6 +93,32 @@ function PostEditForm({
84
93
  useEffect(() => {
85
94
  setMultiEdits({});
86
95
  }, [ids]);
96
+ const {
97
+ ExperimentalBlockEditorProvider
98
+ } = unlock(blockEditorPrivateApis);
99
+ const settings = usePatternSettings();
100
+
101
+ /**
102
+ * The template field depends on the block editor settings.
103
+ * This is a workaround to ensure that the block editor settings are available.
104
+ * For more information, see: https://github.com/WordPress/gutenberg/issues/67521
105
+ */
106
+ const fieldsWithDependency = useMemo(() => {
107
+ return fields.map(field => {
108
+ if (field.id === 'template') {
109
+ return {
110
+ ...field,
111
+ Edit: data => /*#__PURE__*/_jsx(ExperimentalBlockEditorProvider, {
112
+ settings: settings,
113
+ children: /*#__PURE__*/_jsx(field.Edit, {
114
+ ...data
115
+ })
116
+ })
117
+ };
118
+ }
119
+ return field;
120
+ });
121
+ }, [fields, settings]);
87
122
  return /*#__PURE__*/_jsxs(VStack, {
88
123
  spacing: 4,
89
124
  children: [ids.length === 1 && /*#__PURE__*/_jsx(PostCardPanel, {
@@ -91,7 +126,7 @@ function PostEditForm({
91
126
  postId: ids[0]
92
127
  }), /*#__PURE__*/_jsx(DataForm, {
93
128
  data: ids.length === 1 ? record : multiEdits,
94
- fields: fields,
129
+ fields: fieldsWithDependency,
95
130
  form: form,
96
131
  onChange: onChange
97
132
  })]