@wordpress/edit-site 7.3.0 → 7.4.1-next.v.202609031004.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 (450) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/build/components/add-new-pattern/index.cjs +1 -1
  3. package/build/components/add-new-pattern/index.cjs.map +1 -1
  4. package/build/components/add-new-post/index.cjs +1 -1
  5. package/build/components/add-new-post/index.cjs.map +1 -1
  6. package/build/components/add-new-template/add-custom-generic-template-modal-content.cjs +1 -1
  7. package/build/components/add-new-template/add-custom-generic-template-modal-content.cjs.map +1 -1
  8. package/build/components/add-new-template/add-custom-template-modal-content.cjs +4 -2
  9. package/build/components/add-new-template/add-custom-template-modal-content.cjs.map +3 -3
  10. package/build/components/add-new-template/index.cjs +7 -5
  11. package/build/components/add-new-template/index.cjs.map +3 -3
  12. package/build/components/add-new-template/utils.cjs +84 -9
  13. package/build/components/add-new-template/utils.cjs.map +2 -2
  14. package/build/components/app/index.cjs +1 -1
  15. package/build/components/app/index.cjs.map +1 -1
  16. package/build/components/canvas-loader/index.cjs +1 -1
  17. package/build/components/canvas-loader/index.cjs.map +1 -1
  18. package/build/components/dataviews-actions/index.cjs +2 -55
  19. package/build/components/dataviews-actions/index.cjs.map +3 -3
  20. package/build/components/editor/index.cjs +1 -1
  21. package/build/components/editor/index.cjs.map +1 -1
  22. package/build/components/editor/site-preview.cjs +1 -1
  23. package/build/components/editor/site-preview.cjs.map +1 -1
  24. package/build/components/editor/use-adapt-editor-to-canvas.cjs +0 -11
  25. package/build/components/editor/use-adapt-editor-to-canvas.cjs.map +3 -3
  26. package/build/components/layout/index.cjs +2 -2
  27. package/build/components/layout/index.cjs.map +3 -3
  28. package/build/components/media/index.cjs +1 -1
  29. package/build/components/media/index.cjs.map +1 -1
  30. package/build/components/more-menu/index.cjs +1 -1
  31. package/build/components/more-menu/index.cjs.map +1 -1
  32. package/build/components/more-menu/welcome-guide-menu-item.cjs +11 -3
  33. package/build/components/more-menu/welcome-guide-menu-item.cjs.map +4 -4
  34. package/build/components/page-patterns/actions.cjs +1 -1
  35. package/build/components/page-patterns/actions.cjs.map +1 -1
  36. package/build/components/page-patterns/delete-category-menu-item.cjs +1 -1
  37. package/build/components/page-patterns/delete-category-menu-item.cjs.map +1 -1
  38. package/build/components/page-patterns/fields.cjs +1 -1
  39. package/build/components/page-patterns/fields.cjs.map +1 -1
  40. package/build/components/page-patterns/index.cjs +1 -1
  41. package/build/components/page-patterns/index.cjs.map +1 -1
  42. package/build/components/page-patterns/rename-category-menu-item.cjs +1 -1
  43. package/build/components/page-patterns/rename-category-menu-item.cjs.map +1 -1
  44. package/build/components/page-templates/fields.cjs +3 -127
  45. package/build/components/page-templates/fields.cjs.map +4 -4
  46. package/build/components/page-templates/index.cjs +47 -231
  47. package/build/components/page-templates/index.cjs.map +4 -4
  48. package/build/components/pagination/index.cjs +1 -1
  49. package/build/components/pagination/index.cjs.map +1 -1
  50. package/build/components/plugin-template-setting-panel/index.cjs +1 -1
  51. package/build/components/plugin-template-setting-panel/index.cjs.map +1 -1
  52. package/build/components/post-list/index.cjs +1 -1
  53. package/build/components/post-list/index.cjs.map +1 -1
  54. package/build/components/post-list/quick-edit-modal.cjs +1 -1
  55. package/build/components/post-list/quick-edit-modal.cjs.map +1 -1
  56. package/build/components/resizable-frame/index.cjs +1 -1
  57. package/build/components/resizable-frame/index.cjs.map +1 -1
  58. package/build/components/save-button/index.cjs +1 -1
  59. package/build/components/save-button/index.cjs.map +1 -1
  60. package/build/components/save-hub/index.cjs +1 -1
  61. package/build/components/save-hub/index.cjs.map +1 -1
  62. package/build/components/save-panel/index.cjs +1 -1
  63. package/build/components/save-panel/index.cjs.map +1 -1
  64. package/build/components/sidebar/index.cjs +1 -1
  65. package/build/components/sidebar/index.cjs.map +1 -1
  66. package/build/components/sidebar-button/index.cjs +1 -1
  67. package/build/components/sidebar-button/index.cjs.map +1 -1
  68. package/build/components/sidebar-dataviews/index.cjs +1 -1
  69. package/build/components/sidebar-dataviews/index.cjs.map +1 -1
  70. package/build/components/sidebar-global-styles/index.cjs +3 -3
  71. package/build/components/sidebar-global-styles/index.cjs.map +3 -3
  72. package/build/components/sidebar-identity/index.cjs +8 -16
  73. package/build/components/sidebar-identity/index.cjs.map +3 -3
  74. package/build/components/sidebar-navigation-item/index.cjs +2 -9
  75. package/build/components/sidebar-navigation-item/index.cjs.map +3 -3
  76. package/build/components/sidebar-navigation-screen/index.cjs +1 -1
  77. package/build/components/sidebar-navigation-screen/index.cjs.map +1 -1
  78. package/build/components/sidebar-navigation-screen-details-footer/index.cjs +1 -1
  79. package/build/components/sidebar-navigation-screen-details-footer/index.cjs.map +1 -1
  80. package/build/components/sidebar-navigation-screen-global-styles/content.cjs +1 -1
  81. package/build/components/sidebar-navigation-screen-global-styles/content.cjs.map +1 -1
  82. package/build/components/sidebar-navigation-screen-global-styles/index.cjs +1 -1
  83. package/build/components/sidebar-navigation-screen-global-styles/index.cjs.map +1 -1
  84. package/build/components/sidebar-navigation-screen-identity/index.cjs +1 -1
  85. package/build/components/sidebar-navigation-screen-identity/index.cjs.map +1 -1
  86. package/build/components/sidebar-navigation-screen-main/index.cjs +1 -1
  87. package/build/components/sidebar-navigation-screen-main/index.cjs.map +1 -1
  88. package/build/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.cjs +1 -1
  89. package/build/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.cjs.map +1 -1
  90. package/build/components/sidebar-navigation-screen-navigation-menu/index.cjs +1 -1
  91. package/build/components/sidebar-navigation-screen-navigation-menu/index.cjs.map +1 -1
  92. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.cjs +1 -1
  93. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.cjs.map +1 -1
  94. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.cjs +1 -1
  95. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.cjs.map +1 -1
  96. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.cjs +1 -1
  97. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.cjs.map +1 -1
  98. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.cjs +1 -1
  99. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.cjs.map +1 -1
  100. package/build/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.cjs.map +1 -1
  101. package/build/components/sidebar-navigation-screen-navigation-menus/index.cjs +1 -1
  102. package/build/components/sidebar-navigation-screen-navigation-menus/index.cjs.map +2 -2
  103. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.cjs +1 -1
  104. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.cjs.map +1 -1
  105. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.cjs +1 -1
  106. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.cjs.map +2 -2
  107. package/build/components/sidebar-navigation-screen-patterns/category-item.cjs +1 -1
  108. package/build/components/sidebar-navigation-screen-patterns/category-item.cjs.map +1 -1
  109. package/build/components/sidebar-navigation-screen-patterns/index.cjs +1 -1
  110. package/build/components/sidebar-navigation-screen-patterns/index.cjs.map +1 -1
  111. package/build/components/sidebar-navigation-screen-templates-browse/content.cjs +35 -73
  112. package/build/components/sidebar-navigation-screen-templates-browse/content.cjs.map +4 -4
  113. package/build/components/sidebar-navigation-screen-templates-browse/index.cjs +2 -3
  114. package/build/components/sidebar-navigation-screen-templates-browse/index.cjs.map +4 -4
  115. package/build/components/sidebar-navigation-screen-unsupported/index.cjs +1 -1
  116. package/build/components/sidebar-navigation-screen-unsupported/index.cjs.map +1 -1
  117. package/build/components/site-editor-routes/home.cjs +1 -1
  118. package/build/components/site-editor-routes/home.cjs.map +1 -1
  119. package/build/components/site-editor-routes/identity.cjs +1 -1
  120. package/build/components/site-editor-routes/identity.cjs.map +1 -1
  121. package/build/components/site-editor-routes/navigation-item.cjs +1 -1
  122. package/build/components/site-editor-routes/navigation-item.cjs.map +1 -1
  123. package/build/components/site-editor-routes/navigation.cjs +1 -1
  124. package/build/components/site-editor-routes/navigation.cjs.map +1 -1
  125. package/build/components/site-editor-routes/notfound.cjs +1 -1
  126. package/build/components/site-editor-routes/notfound.cjs.map +1 -1
  127. package/build/components/site-editor-routes/page-item.cjs +1 -1
  128. package/build/components/site-editor-routes/page-item.cjs.map +1 -1
  129. package/build/components/site-editor-routes/pages.cjs +1 -1
  130. package/build/components/site-editor-routes/pages.cjs.map +1 -1
  131. package/build/components/site-editor-routes/pattern-item.cjs +1 -1
  132. package/build/components/site-editor-routes/pattern-item.cjs.map +1 -1
  133. package/build/components/site-editor-routes/patterns.cjs +1 -1
  134. package/build/components/site-editor-routes/patterns.cjs.map +1 -1
  135. package/build/components/site-editor-routes/stylebook.cjs +1 -1
  136. package/build/components/site-editor-routes/stylebook.cjs.map +1 -1
  137. package/build/components/site-editor-routes/styles.cjs +1 -1
  138. package/build/components/site-editor-routes/styles.cjs.map +1 -1
  139. package/build/components/site-editor-routes/template-item.cjs +1 -1
  140. package/build/components/site-editor-routes/template-item.cjs.map +1 -1
  141. package/build/components/site-editor-routes/template-part-item.cjs +1 -1
  142. package/build/components/site-editor-routes/template-part-item.cjs.map +1 -1
  143. package/build/components/site-editor-routes/templates.cjs +3 -5
  144. package/build/components/site-editor-routes/templates.cjs.map +4 -4
  145. package/build/components/site-hub/index.cjs +1 -1
  146. package/build/components/site-hub/index.cjs.map +1 -1
  147. package/build/components/welcome-guide/editor.cjs +1 -1
  148. package/build/components/welcome-guide/editor.cjs.map +1 -1
  149. package/build/components/welcome-guide/image.cjs +1 -1
  150. package/build/components/welcome-guide/image.cjs.map +1 -1
  151. package/build/components/welcome-guide/index.cjs +1 -1
  152. package/build/components/welcome-guide/index.cjs.map +1 -1
  153. package/build/components/welcome-guide/page.cjs +1 -1
  154. package/build/components/welcome-guide/page.cjs.map +1 -1
  155. package/build/components/welcome-guide/template.cjs +1 -1
  156. package/build/components/welcome-guide/template.cjs.map +1 -1
  157. package/build/deprecated.cjs +1 -1
  158. package/build/deprecated.cjs.map +1 -1
  159. package/build/index.cjs +1 -1
  160. package/build/index.cjs.map +1 -1
  161. package/build-module/components/add-new-pattern/index.mjs +1 -1
  162. package/build-module/components/add-new-pattern/index.mjs.map +1 -1
  163. package/build-module/components/add-new-post/index.mjs +1 -1
  164. package/build-module/components/add-new-post/index.mjs.map +1 -1
  165. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.mjs +1 -1
  166. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.mjs.map +1 -1
  167. package/build-module/components/add-new-template/add-custom-template-modal-content.mjs +4 -2
  168. package/build-module/components/add-new-template/add-custom-template-modal-content.mjs.map +3 -3
  169. package/build-module/components/add-new-template/index.mjs +8 -5
  170. package/build-module/components/add-new-template/index.mjs.map +3 -3
  171. package/build-module/components/add-new-template/utils.mjs +84 -9
  172. package/build-module/components/add-new-template/utils.mjs.map +2 -2
  173. package/build-module/components/app/index.mjs +1 -1
  174. package/build-module/components/app/index.mjs.map +1 -1
  175. package/build-module/components/canvas-loader/index.mjs +1 -1
  176. package/build-module/components/canvas-loader/index.mjs.map +1 -1
  177. package/build-module/components/dataviews-actions/index.mjs +1 -53
  178. package/build-module/components/dataviews-actions/index.mjs.map +2 -2
  179. package/build-module/components/editor/index.mjs +1 -1
  180. package/build-module/components/editor/index.mjs.map +1 -1
  181. package/build-module/components/editor/site-preview.mjs +1 -1
  182. package/build-module/components/editor/site-preview.mjs.map +1 -1
  183. package/build-module/components/editor/use-adapt-editor-to-canvas.mjs +0 -11
  184. package/build-module/components/editor/use-adapt-editor-to-canvas.mjs.map +2 -2
  185. package/build-module/components/layout/index.mjs +2 -2
  186. package/build-module/components/layout/index.mjs.map +3 -3
  187. package/build-module/components/media/index.mjs +1 -1
  188. package/build-module/components/media/index.mjs.map +1 -1
  189. package/build-module/components/more-menu/index.mjs +1 -1
  190. package/build-module/components/more-menu/index.mjs.map +1 -1
  191. package/build-module/components/more-menu/welcome-guide-menu-item.mjs +11 -3
  192. package/build-module/components/more-menu/welcome-guide-menu-item.mjs.map +3 -3
  193. package/build-module/components/page-patterns/actions.mjs +1 -1
  194. package/build-module/components/page-patterns/actions.mjs.map +1 -1
  195. package/build-module/components/page-patterns/delete-category-menu-item.mjs +1 -1
  196. package/build-module/components/page-patterns/delete-category-menu-item.mjs.map +1 -1
  197. package/build-module/components/page-patterns/fields.mjs +1 -1
  198. package/build-module/components/page-patterns/fields.mjs.map +1 -1
  199. package/build-module/components/page-patterns/index.mjs +1 -1
  200. package/build-module/components/page-patterns/index.mjs.map +1 -1
  201. package/build-module/components/page-patterns/rename-category-menu-item.mjs +1 -1
  202. package/build-module/components/page-patterns/rename-category-menu-item.mjs.map +1 -1
  203. package/build-module/components/page-templates/fields.mjs +4 -130
  204. package/build-module/components/page-templates/fields.mjs.map +4 -4
  205. package/build-module/components/page-templates/index.mjs +53 -254
  206. package/build-module/components/page-templates/index.mjs.map +3 -3
  207. package/build-module/components/pagination/index.mjs +1 -1
  208. package/build-module/components/pagination/index.mjs.map +1 -1
  209. package/build-module/components/plugin-template-setting-panel/index.mjs +1 -1
  210. package/build-module/components/plugin-template-setting-panel/index.mjs.map +1 -1
  211. package/build-module/components/post-list/index.mjs +1 -1
  212. package/build-module/components/post-list/index.mjs.map +1 -1
  213. package/build-module/components/post-list/quick-edit-modal.mjs +1 -1
  214. package/build-module/components/post-list/quick-edit-modal.mjs.map +1 -1
  215. package/build-module/components/resizable-frame/index.mjs +1 -1
  216. package/build-module/components/resizable-frame/index.mjs.map +1 -1
  217. package/build-module/components/save-button/index.mjs +1 -1
  218. package/build-module/components/save-button/index.mjs.map +1 -1
  219. package/build-module/components/save-hub/index.mjs +1 -1
  220. package/build-module/components/save-hub/index.mjs.map +1 -1
  221. package/build-module/components/save-panel/index.mjs +1 -1
  222. package/build-module/components/save-panel/index.mjs.map +1 -1
  223. package/build-module/components/sidebar/index.mjs +1 -1
  224. package/build-module/components/sidebar/index.mjs.map +1 -1
  225. package/build-module/components/sidebar-button/index.mjs +1 -1
  226. package/build-module/components/sidebar-button/index.mjs.map +1 -1
  227. package/build-module/components/sidebar-dataviews/index.mjs +1 -1
  228. package/build-module/components/sidebar-dataviews/index.mjs.map +1 -1
  229. package/build-module/components/sidebar-global-styles/index.mjs +3 -3
  230. package/build-module/components/sidebar-global-styles/index.mjs.map +3 -3
  231. package/build-module/components/sidebar-identity/index.mjs +8 -16
  232. package/build-module/components/sidebar-identity/index.mjs.map +3 -3
  233. package/build-module/components/sidebar-navigation-item/index.mjs +2 -9
  234. package/build-module/components/sidebar-navigation-item/index.mjs.map +3 -3
  235. package/build-module/components/sidebar-navigation-screen/index.mjs +1 -1
  236. package/build-module/components/sidebar-navigation-screen/index.mjs.map +1 -1
  237. package/build-module/components/sidebar-navigation-screen-details-footer/index.mjs +1 -1
  238. package/build-module/components/sidebar-navigation-screen-details-footer/index.mjs.map +1 -1
  239. package/build-module/components/sidebar-navigation-screen-global-styles/content.mjs +1 -1
  240. package/build-module/components/sidebar-navigation-screen-global-styles/content.mjs.map +1 -1
  241. package/build-module/components/sidebar-navigation-screen-global-styles/index.mjs +1 -1
  242. package/build-module/components/sidebar-navigation-screen-global-styles/index.mjs.map +1 -1
  243. package/build-module/components/sidebar-navigation-screen-identity/index.mjs +1 -1
  244. package/build-module/components/sidebar-navigation-screen-identity/index.mjs.map +1 -1
  245. package/build-module/components/sidebar-navigation-screen-main/index.mjs +1 -1
  246. package/build-module/components/sidebar-navigation-screen-main/index.mjs.map +1 -1
  247. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.mjs +1 -1
  248. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.mjs.map +1 -1
  249. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.mjs +1 -1
  250. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.mjs.map +1 -1
  251. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.mjs +1 -1
  252. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.mjs.map +1 -1
  253. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.mjs +1 -1
  254. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.mjs.map +1 -1
  255. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.mjs +1 -1
  256. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.mjs.map +1 -1
  257. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.mjs +1 -1
  258. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.mjs.map +1 -1
  259. package/build-module/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.mjs.map +1 -1
  260. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.mjs +1 -1
  261. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.mjs.map +2 -2
  262. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.mjs +1 -1
  263. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.mjs.map +1 -1
  264. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.mjs +1 -1
  265. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.mjs.map +2 -2
  266. package/build-module/components/sidebar-navigation-screen-patterns/category-item.mjs +1 -1
  267. package/build-module/components/sidebar-navigation-screen-patterns/category-item.mjs.map +1 -1
  268. package/build-module/components/sidebar-navigation-screen-patterns/index.mjs +1 -1
  269. package/build-module/components/sidebar-navigation-screen-patterns/index.mjs.map +1 -1
  270. package/build-module/components/sidebar-navigation-screen-templates-browse/content.mjs +43 -76
  271. package/build-module/components/sidebar-navigation-screen-templates-browse/content.mjs.map +3 -3
  272. package/build-module/components/sidebar-navigation-screen-templates-browse/index.mjs +2 -3
  273. package/build-module/components/sidebar-navigation-screen-templates-browse/index.mjs.map +3 -3
  274. package/build-module/components/sidebar-navigation-screen-unsupported/index.mjs +1 -1
  275. package/build-module/components/sidebar-navigation-screen-unsupported/index.mjs.map +1 -1
  276. package/build-module/components/site-editor-routes/home.mjs +1 -1
  277. package/build-module/components/site-editor-routes/home.mjs.map +1 -1
  278. package/build-module/components/site-editor-routes/identity.mjs +1 -1
  279. package/build-module/components/site-editor-routes/identity.mjs.map +1 -1
  280. package/build-module/components/site-editor-routes/navigation-item.mjs +1 -1
  281. package/build-module/components/site-editor-routes/navigation-item.mjs.map +1 -1
  282. package/build-module/components/site-editor-routes/navigation.mjs +1 -1
  283. package/build-module/components/site-editor-routes/navigation.mjs.map +1 -1
  284. package/build-module/components/site-editor-routes/notfound.mjs +1 -1
  285. package/build-module/components/site-editor-routes/notfound.mjs.map +1 -1
  286. package/build-module/components/site-editor-routes/page-item.mjs +1 -1
  287. package/build-module/components/site-editor-routes/page-item.mjs.map +1 -1
  288. package/build-module/components/site-editor-routes/pages.mjs +1 -1
  289. package/build-module/components/site-editor-routes/pages.mjs.map +1 -1
  290. package/build-module/components/site-editor-routes/pattern-item.mjs +1 -1
  291. package/build-module/components/site-editor-routes/pattern-item.mjs.map +1 -1
  292. package/build-module/components/site-editor-routes/patterns.mjs +1 -1
  293. package/build-module/components/site-editor-routes/patterns.mjs.map +1 -1
  294. package/build-module/components/site-editor-routes/stylebook.mjs +1 -1
  295. package/build-module/components/site-editor-routes/stylebook.mjs.map +1 -1
  296. package/build-module/components/site-editor-routes/styles.mjs +1 -1
  297. package/build-module/components/site-editor-routes/styles.mjs.map +1 -1
  298. package/build-module/components/site-editor-routes/template-item.mjs +1 -1
  299. package/build-module/components/site-editor-routes/template-item.mjs.map +1 -1
  300. package/build-module/components/site-editor-routes/template-part-item.mjs +1 -1
  301. package/build-module/components/site-editor-routes/template-part-item.mjs.map +1 -1
  302. package/build-module/components/site-editor-routes/templates.mjs +3 -5
  303. package/build-module/components/site-editor-routes/templates.mjs.map +3 -3
  304. package/build-module/components/site-hub/index.mjs +1 -1
  305. package/build-module/components/site-hub/index.mjs.map +1 -1
  306. package/build-module/components/welcome-guide/editor.mjs +1 -1
  307. package/build-module/components/welcome-guide/editor.mjs.map +1 -1
  308. package/build-module/components/welcome-guide/image.mjs +1 -1
  309. package/build-module/components/welcome-guide/image.mjs.map +1 -1
  310. package/build-module/components/welcome-guide/index.mjs +1 -1
  311. package/build-module/components/welcome-guide/index.mjs.map +1 -1
  312. package/build-module/components/welcome-guide/page.mjs +1 -1
  313. package/build-module/components/welcome-guide/page.mjs.map +1 -1
  314. package/build-module/components/welcome-guide/template.mjs +1 -1
  315. package/build-module/components/welcome-guide/template.mjs.map +1 -1
  316. package/build-module/deprecated.mjs +1 -1
  317. package/build-module/deprecated.mjs.map +1 -1
  318. package/build-module/index.mjs +1 -1
  319. package/build-module/index.mjs.map +1 -1
  320. package/build-style/style-rtl.css +31 -64
  321. package/build-style/style.css +31 -64
  322. package/package.json +42 -52
  323. package/src/components/add-new-template/style.scss +8 -21
  324. package/src/components/add-new-template/utils.js +118 -9
  325. package/src/components/dataviews-actions/index.js +0 -61
  326. package/src/components/editor/use-adapt-editor-to-canvas.js +0 -21
  327. package/src/components/layout/{index.js → index.jsx} +2 -1
  328. package/src/components/more-menu/{welcome-guide-menu-item.js → welcome-guide-menu-item.jsx} +8 -3
  329. package/src/components/page-templates/fields.jsx +51 -0
  330. package/src/components/page-templates/{index-legacy.js → index.jsx} +1 -1
  331. package/src/components/sidebar-global-styles/{index.js → index.jsx} +7 -5
  332. package/src/components/sidebar-global-styles/style.scss +6 -0
  333. package/src/components/sidebar-identity/{index.js → index.jsx} +9 -11
  334. package/src/components/sidebar-identity/style.scss +7 -0
  335. package/src/components/sidebar-navigation-item/{index.js → index.jsx} +1 -7
  336. package/src/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js +1 -1
  337. package/src/components/sidebar-navigation-screen-navigation-menus/{index.js → index.jsx} +1 -1
  338. package/src/components/sidebar-navigation-screen-navigation-menus/{navigation-menu-content.js → navigation-menu-content.jsx} +1 -1
  339. package/src/components/sidebar-navigation-screen-templates-browse/{index.js → index.jsx} +1 -8
  340. package/src/components/site-editor-routes/{templates.js → templates.jsx} +2 -19
  341. package/src/components/welcome-guide/style.scss +1 -1
  342. package/src/style.scss +1 -1
  343. package/src/utils/test/get-filtered-template-parts.js +1 -0
  344. package/build/components/add-new-template-legacy/add-custom-generic-template-modal-content.cjs +0 -107
  345. package/build/components/add-new-template-legacy/add-custom-generic-template-modal-content.cjs.map +0 -7
  346. package/build/components/add-new-template-legacy/add-custom-template-modal-content.cjs +0 -327
  347. package/build/components/add-new-template-legacy/add-custom-template-modal-content.cjs.map +0 -7
  348. package/build/components/add-new-template-legacy/index.cjs +0 -390
  349. package/build/components/add-new-template-legacy/index.cjs.map +0 -7
  350. package/build/components/add-new-template-legacy/utils.cjs +0 -623
  351. package/build/components/add-new-template-legacy/utils.cjs.map +0 -7
  352. package/build/components/page-templates/hooks.cjs +0 -94
  353. package/build/components/page-templates/hooks.cjs.map +0 -7
  354. package/build/components/page-templates/index-legacy.cjs +0 -167
  355. package/build/components/page-templates/index-legacy.cjs.map +0 -7
  356. package/build/components/page-templates/view-utils.cjs +0 -79
  357. package/build/components/page-templates/view-utils.cjs.map +0 -7
  358. package/build/components/sidebar-navigation-screen-templates-browse/content-legacy.cjs +0 -78
  359. package/build/components/sidebar-navigation-screen-templates-browse/content-legacy.cjs.map +0 -7
  360. package/build-module/components/add-new-template-legacy/add-custom-generic-template-modal-content.mjs +0 -91
  361. package/build-module/components/add-new-template-legacy/add-custom-generic-template-modal-content.mjs.map +0 -7
  362. package/build-module/components/add-new-template-legacy/add-custom-template-modal-content.mjs +0 -315
  363. package/build-module/components/add-new-template-legacy/add-custom-template-modal-content.mjs.map +0 -7
  364. package/build-module/components/add-new-template-legacy/index.mjs +0 -391
  365. package/build-module/components/add-new-template-legacy/index.mjs.map +0 -7
  366. package/build-module/components/add-new-template-legacy/utils.mjs +0 -592
  367. package/build-module/components/add-new-template-legacy/utils.mjs.map +0 -7
  368. package/build-module/components/page-templates/hooks.mjs +0 -74
  369. package/build-module/components/page-templates/hooks.mjs.map +0 -7
  370. package/build-module/components/page-templates/index-legacy.mjs +0 -136
  371. package/build-module/components/page-templates/index-legacy.mjs.map +0 -7
  372. package/build-module/components/page-templates/view-utils.mjs +0 -52
  373. package/build-module/components/page-templates/view-utils.mjs.map +0 -7
  374. package/build-module/components/sidebar-navigation-screen-templates-browse/content-legacy.mjs +0 -52
  375. package/build-module/components/sidebar-navigation-screen-templates-browse/content-legacy.mjs.map +0 -7
  376. package/src/components/add-new-template/add-custom-generic-template-modal-content.js +0 -85
  377. package/src/components/add-new-template/add-custom-template-modal-content.js +0 -304
  378. package/src/components/add-new-template/index.js +0 -435
  379. package/src/components/add-new-template-legacy/utils.js +0 -757
  380. package/src/components/page-templates/fields.js +0 -195
  381. package/src/components/page-templates/hooks.js +0 -93
  382. package/src/components/page-templates/index.js +0 -369
  383. package/src/components/page-templates/view-utils.js +0 -50
  384. package/src/components/sidebar-navigation-screen-templates-browse/content.js +0 -87
  385. package/src/components/sidebar-navigation-screen-templates-browse/style.scss +0 -6
  386. /package/src/components/add-new-pattern/{index.js → index.jsx} +0 -0
  387. /package/src/components/add-new-post/{index.js → index.jsx} +0 -0
  388. /package/src/components/{add-new-template-legacy/add-custom-generic-template-modal-content.js → add-new-template/add-custom-generic-template-modal-content.jsx} +0 -0
  389. /package/src/components/{add-new-template-legacy/add-custom-template-modal-content.js → add-new-template/add-custom-template-modal-content.jsx} +0 -0
  390. /package/src/components/{add-new-template-legacy/index.js → add-new-template/index.jsx} +0 -0
  391. /package/src/components/app/{index.js → index.jsx} +0 -0
  392. /package/src/components/canvas-loader/{index.js → index.jsx} +0 -0
  393. /package/src/components/editor/{index.js → index.jsx} +0 -0
  394. /package/src/components/editor/{site-preview.js → site-preview.jsx} +0 -0
  395. /package/src/components/media/{index.js → index.jsx} +0 -0
  396. /package/src/components/more-menu/{index.js → index.jsx} +0 -0
  397. /package/src/components/page-patterns/{actions.js → actions.jsx} +0 -0
  398. /package/src/components/page-patterns/{delete-category-menu-item.js → delete-category-menu-item.jsx} +0 -0
  399. /package/src/components/page-patterns/{fields.js → fields.jsx} +0 -0
  400. /package/src/components/page-patterns/{index.js → index.jsx} +0 -0
  401. /package/src/components/page-patterns/{rename-category-menu-item.js → rename-category-menu-item.jsx} +0 -0
  402. /package/src/components/pagination/{index.js → index.jsx} +0 -0
  403. /package/src/components/plugin-template-setting-panel/{index.js → index.jsx} +0 -0
  404. /package/src/components/post-list/{index.js → index.jsx} +0 -0
  405. /package/src/components/post-list/{quick-edit-modal.js → quick-edit-modal.jsx} +0 -0
  406. /package/src/components/resizable-frame/{index.js → index.jsx} +0 -0
  407. /package/src/components/save-button/{index.js → index.jsx} +0 -0
  408. /package/src/components/save-hub/{index.js → index.jsx} +0 -0
  409. /package/src/components/save-panel/{index.js → index.jsx} +0 -0
  410. /package/src/components/sidebar/{index.js → index.jsx} +0 -0
  411. /package/src/components/sidebar-button/{index.js → index.jsx} +0 -0
  412. /package/src/components/sidebar-dataviews/{index.js → index.jsx} +0 -0
  413. /package/src/components/sidebar-navigation-screen/{index.js → index.jsx} +0 -0
  414. /package/src/components/sidebar-navigation-screen-details-footer/{index.js → index.jsx} +0 -0
  415. /package/src/components/sidebar-navigation-screen-global-styles/{content.js → content.jsx} +0 -0
  416. /package/src/components/sidebar-navigation-screen-global-styles/{index.js → index.jsx} +0 -0
  417. /package/src/components/sidebar-navigation-screen-identity/{index.js → index.jsx} +0 -0
  418. /package/src/components/sidebar-navigation-screen-main/{index.js → index.jsx} +0 -0
  419. /package/src/components/sidebar-navigation-screen-navigation-menu/{delete-confirm-dialog.js → delete-confirm-dialog.jsx} +0 -0
  420. /package/src/components/sidebar-navigation-screen-navigation-menu/{index.js → index.jsx} +0 -0
  421. /package/src/components/sidebar-navigation-screen-navigation-menu/{more-menu.js → more-menu.jsx} +0 -0
  422. /package/src/components/sidebar-navigation-screen-navigation-menu/{navigation-menu-editor.js → navigation-menu-editor.jsx} +0 -0
  423. /package/src/components/sidebar-navigation-screen-navigation-menu/{rename-modal.js → rename-modal.jsx} +0 -0
  424. /package/src/components/sidebar-navigation-screen-navigation-menu/{single-navigation-menu.js → single-navigation-menu.jsx} +0 -0
  425. /package/src/components/sidebar-navigation-screen-navigation-menus/{leaf-more-menu.js → leaf-more-menu.jsx} +0 -0
  426. /package/src/components/sidebar-navigation-screen-patterns/{category-item.js → category-item.jsx} +0 -0
  427. /package/src/components/sidebar-navigation-screen-patterns/{index.js → index.jsx} +0 -0
  428. /package/src/components/sidebar-navigation-screen-templates-browse/{content-legacy.js → content.jsx} +0 -0
  429. /package/src/components/sidebar-navigation-screen-unsupported/{index.js → index.jsx} +0 -0
  430. /package/src/components/site-editor-routes/{home.js → home.jsx} +0 -0
  431. /package/src/components/site-editor-routes/{identity.js → identity.jsx} +0 -0
  432. /package/src/components/site-editor-routes/{navigation-item.js → navigation-item.jsx} +0 -0
  433. /package/src/components/site-editor-routes/{navigation.js → navigation.jsx} +0 -0
  434. /package/src/components/site-editor-routes/{notfound.js → notfound.jsx} +0 -0
  435. /package/src/components/site-editor-routes/{page-item.js → page-item.jsx} +0 -0
  436. /package/src/components/site-editor-routes/{pages.js → pages.jsx} +0 -0
  437. /package/src/components/site-editor-routes/{pattern-item.js → pattern-item.jsx} +0 -0
  438. /package/src/components/site-editor-routes/{patterns.js → patterns.jsx} +0 -0
  439. /package/src/components/site-editor-routes/{stylebook.js → stylebook.jsx} +0 -0
  440. /package/src/components/site-editor-routes/{styles.js → styles.jsx} +0 -0
  441. /package/src/components/site-editor-routes/{template-item.js → template-item.jsx} +0 -0
  442. /package/src/components/site-editor-routes/{template-part-item.js → template-part-item.jsx} +0 -0
  443. /package/src/components/site-hub/{index.js → index.jsx} +0 -0
  444. /package/src/components/welcome-guide/{editor.js → editor.jsx} +0 -0
  445. /package/src/components/welcome-guide/{image.js → image.jsx} +0 -0
  446. /package/src/components/welcome-guide/{index.js → index.jsx} +0 -0
  447. /package/src/components/welcome-guide/{page.js → page.jsx} +0 -0
  448. /package/src/components/welcome-guide/{template.js → template.jsx} +0 -0
  449. /package/src/{deprecated.js → deprecated.jsx} +0 -0
  450. /package/src/{index.js → index.jsx} +0 -0
@@ -1,195 +0,0 @@
1
- import clsx from 'clsx';
2
- import {
3
- Icon as WCIcon,
4
- __experimentalHStack as HStack,
5
- privateApis as componentsPrivateApis,
6
- } from '@wordpress/components';
7
- import { __, _x } from '@wordpress/i18n';
8
- import { useState, useMemo } from '@wordpress/element';
9
- import { decodeEntities } from '@wordpress/html-entities';
10
- import { parse } from '@wordpress/blocks';
11
- import { BlockPreview } from '@wordpress/block-editor';
12
- import {
13
- EditorProvider,
14
- privateApis as editorPrivateApis,
15
- } from '@wordpress/editor';
16
- import {
17
- privateApis as corePrivateApis,
18
- store as coreStore,
19
- } from '@wordpress/core-data';
20
- import { useSelect } from '@wordpress/data';
21
- import { useAddedBy } from './hooks';
22
- import { useDefaultTemplateTypes } from '../add-new-template/utils';
23
- import usePatternSettings from '../page-patterns/use-pattern-settings';
24
- import { unlock } from '../../lock-unlock';
25
-
26
- const { Badge: WCBadge } = unlock( componentsPrivateApis );
27
- const { useEntityRecordsWithPermissions } = unlock( corePrivateApis );
28
- const { useStyle } = unlock( editorPrivateApis );
29
-
30
- function useAllDefaultTemplateTypes() {
31
- const defaultTemplateTypes = useDefaultTemplateTypes();
32
- const { records: staticRecords } = useEntityRecordsWithPermissions(
33
- 'root',
34
- 'registeredTemplate'
35
- );
36
- return [
37
- ...defaultTemplateTypes,
38
- ...staticRecords
39
- ?.filter( ( record ) => ! record.is_custom )
40
- .map( ( record ) => {
41
- return {
42
- slug: record.slug,
43
- title: record.title.rendered,
44
- description: record.description,
45
- };
46
- } ),
47
- ];
48
- }
49
-
50
- function PreviewField( { item } ) {
51
- const settings = usePatternSettings();
52
- const backgroundColor = useStyle( 'color.background' ) ?? 'white';
53
- const blocks = useMemo( () => {
54
- return parse( item.content.raw );
55
- }, [ item.content.raw ] );
56
-
57
- const isEmpty = ! blocks?.length;
58
- // Wrap everything in a block editor provider to ensure 'styles' that are needed
59
- // for the previews are synced between the site editor store and the block editor store.
60
- // Additionally we need to have the `__experimentalBlockPatterns` setting in order to
61
- // render patterns inside the previews.
62
- // TODO: Same approach is used in the patterns list and it becomes obvious that some of
63
- // the block editor settings are needed in context where we don't have the block editor.
64
- // Explore how we can solve this in a better way.
65
- return (
66
- <EditorProvider post={ item } settings={ settings }>
67
- <div
68
- className="page-templates-preview-field"
69
- style={ { backgroundColor } }
70
- >
71
- { isEmpty && __( 'Empty template' ) }
72
- { ! isEmpty && (
73
- <BlockPreview.Async>
74
- <BlockPreview blocks={ blocks } />
75
- </BlockPreview.Async>
76
- ) }
77
- </div>
78
- </EditorProvider>
79
- );
80
- }
81
-
82
- export const previewField = {
83
- label: __( 'Preview' ),
84
- id: 'preview',
85
- render: PreviewField,
86
- enableSorting: false,
87
- };
88
-
89
- export const descriptionField = {
90
- label: __( 'Description' ),
91
- id: 'description',
92
- render: window?.__experimentalTemplateActivate
93
- ? function RenderDescription( { item } ) {
94
- const defaultTemplateTypes = useAllDefaultTemplateTypes();
95
- const defaultTemplateType = defaultTemplateTypes.find(
96
- ( type ) => type.slug === item.slug
97
- );
98
- return item.description
99
- ? decodeEntities( item.description )
100
- : defaultTemplateType?.description;
101
- }
102
- : ( { item } ) => {
103
- return item.description && decodeEntities( item.description );
104
- },
105
- enableSorting: false,
106
- enableGlobalSearch: true,
107
- };
108
-
109
- function AuthorField( { item } ) {
110
- const [ isImageLoaded, setIsImageLoaded ] = useState( false );
111
- const { text, icon, imageUrl } = useAddedBy( item.type, item.id );
112
-
113
- return (
114
- <HStack alignment="left" spacing={ 0 }>
115
- { imageUrl && (
116
- <div
117
- className={ clsx( 'fields-controls__author-avatar', {
118
- 'is-loaded': isImageLoaded,
119
- } ) }
120
- >
121
- <img
122
- onLoad={ () => setIsImageLoaded( true ) }
123
- alt=""
124
- src={ imageUrl }
125
- />
126
- </div>
127
- ) }
128
- { ! imageUrl && (
129
- <div className="fields-controls__author-icon">
130
- <WCIcon icon={ icon } />
131
- </div>
132
- ) }
133
- <span className="fields-controls__author-name">{ text }</span>
134
- </HStack>
135
- );
136
- }
137
-
138
- export const authorField = {
139
- label: __( 'Author' ),
140
- id: 'author',
141
- getValue: ( { item } ) => item.author_text ?? item.author,
142
- render: AuthorField,
143
- };
144
-
145
- export const activeField = {
146
- label: __( 'Status' ),
147
- id: 'active',
148
- type: 'boolean',
149
- getValue: ( { item } ) => item._isActive,
150
- render: function Render( { item } ) {
151
- const activeLabel = item._isCustom
152
- ? _x( 'Active when used', 'template' )
153
- : _x( 'Active', 'template' );
154
- const activeIntent = item._isCustom ? 'info' : 'success';
155
- const isActive = item._isActive;
156
- return (
157
- <WCBadge intent={ isActive ? activeIntent : 'default' }>
158
- { isActive ? activeLabel : _x( 'Inactive', 'template' ) }
159
- </WCBadge>
160
- );
161
- },
162
- };
163
-
164
- export const useThemeField = () => {
165
- const activeTheme = useSelect( ( select ) =>
166
- select( coreStore ).getCurrentTheme()
167
- );
168
- return useMemo(
169
- () => ( {
170
- label: __( 'Compatible Theme' ),
171
- id: 'theme',
172
- getValue: ( { item } ) => item.theme,
173
- render: function Render( { item } ) {
174
- if ( item.theme === activeTheme.stylesheet ) {
175
- return <WCBadge intent="success">{ item.theme }</WCBadge>;
176
- }
177
- return <WCBadge intent="error">{ item.theme }</WCBadge>;
178
- },
179
- } ),
180
- [ activeTheme ]
181
- );
182
- };
183
-
184
- export const slugField = {
185
- label: __( 'Template Type' ),
186
- id: 'slug',
187
- getValue: ( { item } ) => item.slug,
188
- render: function Render( { item } ) {
189
- const defaultTemplateTypes = useAllDefaultTemplateTypes();
190
- const defaultTemplateType = defaultTemplateTypes.find(
191
- ( type ) => type.slug === item.slug
192
- );
193
- return defaultTemplateType?.title || _x( 'Custom', 'template type' );
194
- },
195
- };
@@ -1,93 +0,0 @@
1
- import { store as coreStore } from '@wordpress/core-data';
2
- import { useSelect } from '@wordpress/data';
3
- import {
4
- commentAuthorAvatar as authorIcon,
5
- layout as themeIcon,
6
- plugins as pluginIcon,
7
- globe as globeIcon,
8
- } from '@wordpress/icons';
9
- import { TEMPLATE_ORIGINS } from '../../utils/constants';
10
-
11
- /** @typedef {'wp_template'|'wp_template_part'} TemplateType */
12
-
13
- /**
14
- * @typedef {'theme'|'plugin'|'site'|'user'} AddedByType
15
- *
16
- * @typedef AddedByData
17
- * @type {Object}
18
- * @property {AddedByType} type The type of the data.
19
- * @property {React.JSX.Element} icon The icon to display.
20
- * @property {string} [imageUrl] The optional image URL to display.
21
- * @property {string} [text] The text to display.
22
- * @property {boolean} isCustomized Whether the template has been customized.
23
- *
24
- * @param {TemplateType} postType The template post type.
25
- * @param {number} postId The template post id.
26
- * @return {AddedByData} The added by object or null.
27
- */
28
- export function useAddedBy( postType, postId ) {
29
- return useSelect(
30
- ( select ) => {
31
- const { getEntityRecord, getUser, getEditedEntityRecord } =
32
- select( coreStore );
33
- const template = getEditedEntityRecord(
34
- 'postType',
35
- postType,
36
- postId
37
- );
38
- const originalSource = template?.original_source;
39
- const authorText = template?.author_text;
40
-
41
- switch ( originalSource ) {
42
- case 'theme': {
43
- return {
44
- type: originalSource,
45
- icon: themeIcon,
46
- text: authorText,
47
- isCustomized:
48
- template.source === TEMPLATE_ORIGINS.custom,
49
- };
50
- }
51
- case 'plugin': {
52
- return {
53
- type: originalSource,
54
- icon: pluginIcon,
55
- text: authorText,
56
- isCustomized:
57
- template.source === TEMPLATE_ORIGINS.custom,
58
- };
59
- }
60
- case 'site': {
61
- const siteData = getEntityRecord(
62
- 'root',
63
- '__unstableBase'
64
- );
65
- return {
66
- type: originalSource,
67
- icon: globeIcon,
68
- imageUrl: siteData?.site_logo
69
- ? getEntityRecord(
70
- 'postType',
71
- 'attachment',
72
- siteData.site_logo
73
- )?.source_url
74
- : undefined,
75
- text: authorText,
76
- isCustomized: false,
77
- };
78
- }
79
- default: {
80
- const user = getUser( template.author );
81
- return {
82
- type: 'user',
83
- icon: authorIcon,
84
- imageUrl: user?.avatar_urls?.[ 48 ],
85
- text: authorText ?? user?.name,
86
- isCustomized: false,
87
- };
88
- }
89
- }
90
- },
91
- [ postType, postId ]
92
- );
93
- }
@@ -1,369 +0,0 @@
1
- import { Page } from '@wordpress/admin-ui';
2
- import { __, sprintf } from '@wordpress/i18n';
3
- import { decodeEntities } from '@wordpress/html-entities';
4
- import { useState, useMemo, useCallback } from '@wordpress/element';
5
- import {
6
- privateApis as corePrivateApis,
7
- store as coreStore,
8
- } from '@wordpress/core-data';
9
- import { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';
10
- import { privateApis as routerPrivateApis } from '@wordpress/router';
11
- import { privateApis as editorPrivateApis } from '@wordpress/editor';
12
- import { addQueryArgs } from '@wordpress/url';
13
- import { useSelect, useDispatch } from '@wordpress/data';
14
- import { useEvent } from '@wordpress/compose';
15
- import { useView } from '@wordpress/views';
16
- import { Modal } from '@wordpress/components';
17
- import { store as noticesStore } from '@wordpress/notices';
18
- import AddNewTemplate from '../add-new-template';
19
- import { TEMPLATE_POST_TYPE } from '../../utils/constants';
20
- import { unlock } from '../../lock-unlock';
21
- import {
22
- useEditPostAction,
23
- useSetActiveTemplateAction,
24
- } from '../dataviews-actions';
25
- import {
26
- authorField,
27
- descriptionField,
28
- previewField,
29
- activeField,
30
- slugField,
31
- useThemeField,
32
- } from './fields';
33
- import {
34
- defaultLayouts,
35
- DEFAULT_VIEW,
36
- getActiveViewOverridesForTab,
37
- } from './view-utils';
38
-
39
- const { usePostActions, usePostFields, templateTitleField } =
40
- unlock( editorPrivateApis );
41
- const { useHistory, useLocation } = unlock( routerPrivateApis );
42
- const { useEntityRecordsWithPermissions } = unlock( corePrivateApis );
43
-
44
- export default function PageTemplates() {
45
- const { path, query } = useLocation();
46
- const { activeView = 'active', postId } = query;
47
- const [ selection, setSelection ] = useState( [ postId ] );
48
- const [ selectedRegisteredTemplate, setSelectedRegisteredTemplate ] =
49
- useState( false );
50
- const defaultView = DEFAULT_VIEW;
51
- const activeViewOverrides = useMemo(
52
- () => getActiveViewOverridesForTab( activeView ),
53
- [ activeView ]
54
- );
55
- const { view, updateView, isModified, resetToDefault } = useView( {
56
- kind: 'postType',
57
- name: TEMPLATE_POST_TYPE,
58
- slug: 'default',
59
- defaultView,
60
- activeViewOverrides,
61
- queryParams: {
62
- page: query.pageNumber,
63
- search: query.search,
64
- },
65
- onChangeQueryParams: ( newQueryParams ) => {
66
- history.navigate(
67
- addQueryArgs( path, {
68
- ...query,
69
- pageNumber: newQueryParams.page,
70
- search: newQueryParams.search || undefined,
71
- } )
72
- );
73
- },
74
- } );
75
-
76
- const { activeTemplatesOption, activeTheme, defaultTemplateTypes } =
77
- useSelect( ( select ) => {
78
- const { getEntityRecord, getCurrentTheme } = select( coreStore );
79
- return {
80
- activeTemplatesOption: getEntityRecord( 'root', 'site' )
81
- ?.active_templates,
82
- activeTheme: getCurrentTheme(),
83
- defaultTemplateTypes:
84
- select( coreStore ).getCurrentTheme()
85
- ?.default_template_types,
86
- };
87
- } );
88
- // Todo: this will have to be better so that we're not fetching all the
89
- // records all the time. Active templates query will need to move server
90
- // side.
91
- const { records: userRecords, isResolving: isLoadingUserRecords } =
92
- useEntityRecordsWithPermissions( 'postType', TEMPLATE_POST_TYPE, {
93
- per_page: -1,
94
- combinedTemplates: false,
95
- } );
96
- const { records: staticRecords, isResolving: isLoadingStaticData } =
97
- useEntityRecordsWithPermissions( 'root', 'registeredTemplate', {
98
- // This should not be needed, the endpoint returns all registered
99
- // templates, but it's not possible right now to turn off pagination
100
- // for entity configs.
101
- per_page: -1,
102
- } );
103
-
104
- const activeTemplates = useMemo( () => {
105
- const _active = [ ...staticRecords ];
106
- if ( activeTemplatesOption ) {
107
- for ( const activeSlug in activeTemplatesOption ) {
108
- const activeId = activeTemplatesOption[ activeSlug ];
109
- // Replace the template in the array.
110
- const template = userRecords.find(
111
- ( userRecord ) =>
112
- userRecord.id === activeId &&
113
- userRecord.theme === activeTheme.stylesheet
114
- );
115
- if ( template ) {
116
- const index = _active.findIndex(
117
- ( { slug } ) => slug === template.slug
118
- );
119
- if ( index !== -1 ) {
120
- _active[ index ] = template;
121
- } else {
122
- _active.push( template );
123
- }
124
- }
125
- }
126
- }
127
- return _active;
128
- }, [ userRecords, staticRecords, activeTemplatesOption, activeTheme ] );
129
-
130
- let isLoadingData;
131
- if ( activeView === 'active' ) {
132
- isLoadingData = isLoadingUserRecords || isLoadingStaticData;
133
- } else if ( activeView === 'user' ) {
134
- isLoadingData = isLoadingUserRecords;
135
- } else {
136
- isLoadingData = isLoadingStaticData;
137
- }
138
-
139
- const records = useMemo( () => {
140
- function isCustom( record ) {
141
- // For registered templates, the is_custom field is defined.
142
- return (
143
- record.is_custom ??
144
- // For user templates it's custom if the is_wp_suggestion meta
145
- // field is not set and the slug is not found in the default
146
- // template types.
147
- ( ! record.meta?.is_wp_suggestion &&
148
- ! defaultTemplateTypes.some(
149
- ( type ) => type.slug === record.slug
150
- ) )
151
- );
152
- }
153
-
154
- let _records;
155
- if ( activeView === 'active' ) {
156
- // Don't show active custom templates in the active view.
157
- _records = activeTemplates.filter(
158
- ( record ) => ! isCustom( record )
159
- );
160
- } else if ( activeView === 'user' ) {
161
- _records = userRecords;
162
- } else {
163
- _records = staticRecords;
164
- }
165
- return _records.map( ( record ) => ( {
166
- ...record,
167
- _isActive: activeTemplates.some(
168
- ( template ) => template.id === record.id
169
- ),
170
- _isCustom: isCustom( record ),
171
- } ) );
172
- }, [
173
- activeTemplates,
174
- defaultTemplateTypes,
175
- userRecords,
176
- staticRecords,
177
- activeView,
178
- ] );
179
-
180
- const users = useSelect(
181
- ( select ) => {
182
- const { getUser } = select( coreStore );
183
- return records.reduce( ( acc, record ) => {
184
- if ( record.author_text ) {
185
- if ( ! acc[ record.author_text ] ) {
186
- acc[ record.author_text ] = record.author_text;
187
- }
188
- } else if ( record.author ) {
189
- if ( ! acc[ record.author ] ) {
190
- acc[ record.author ] = getUser( record.author );
191
- }
192
- }
193
- return acc;
194
- }, {} );
195
- },
196
- [ records ]
197
- );
198
-
199
- const history = useHistory();
200
- const onChangeSelection = useCallback(
201
- ( items ) => {
202
- setSelection( items );
203
- if ( view?.type === 'list' ) {
204
- history.navigate(
205
- addQueryArgs( path, {
206
- postId: items.length === 1 ? items[ 0 ] : undefined,
207
- } )
208
- );
209
- }
210
- },
211
- [ history, path, view?.type ]
212
- );
213
-
214
- const postTypeFields = usePostFields( {
215
- postType: TEMPLATE_POST_TYPE,
216
- } );
217
- const dateField = postTypeFields.find( ( field ) => field.id === 'date' );
218
- const themeField = useThemeField();
219
- const fields = useMemo( () => {
220
- const _fields = [
221
- previewField,
222
- templateTitleField,
223
- descriptionField,
224
- activeField,
225
- slugField,
226
- ];
227
- if ( activeView === 'user' ) {
228
- _fields.push( themeField );
229
- if ( dateField ) {
230
- _fields.push( dateField );
231
- }
232
- }
233
- const elements = [];
234
- for ( const author in users ) {
235
- elements.push( {
236
- value: users[ author ]?.id ?? author,
237
- label: users[ author ]?.name ?? author,
238
- } );
239
- }
240
- _fields.push( {
241
- ...authorField,
242
- elements,
243
- } );
244
- return _fields;
245
- }, [ users, activeView, themeField, dateField ] );
246
-
247
- const { data, paginationInfo } = useMemo( () => {
248
- return filterSortAndPaginate( records, view, fields );
249
- }, [ records, view, fields ] );
250
-
251
- const { createSuccessNotice } = useDispatch( noticesStore );
252
- const onActionPerformed = useCallback(
253
- ( actionId, items ) => {
254
- switch ( actionId ) {
255
- case 'duplicate-post':
256
- {
257
- const newItem = items[ 0 ];
258
- const _title =
259
- typeof newItem.title === 'string'
260
- ? newItem.title
261
- : newItem.title?.rendered;
262
- history.navigate( `/template?activeView=user` );
263
- createSuccessNotice(
264
- sprintf(
265
- // translators: %s: Title of the created post or template, e.g: "Hello world".
266
- __( '"%s" successfully created.' ),
267
- decodeEntities( _title ) || __( '(no title)' )
268
- ),
269
- {
270
- type: 'snackbar',
271
- id: 'duplicate-post-action',
272
- actions: [
273
- {
274
- label: __( 'Edit' ),
275
- onClick: () => {
276
- history.navigate(
277
- `/${ newItem.type }/${ newItem.id }?canvas=edit`
278
- );
279
- },
280
- },
281
- ],
282
- }
283
- );
284
- }
285
- break;
286
- }
287
- },
288
- [ history, createSuccessNotice ]
289
- );
290
- const postTypeActions = usePostActions( {
291
- postType: TEMPLATE_POST_TYPE,
292
- context: 'list',
293
- onActionPerformed,
294
- } );
295
- const editAction = useEditPostAction();
296
- const setActiveTemplateAction = useSetActiveTemplateAction();
297
- const actions = useMemo(
298
- () =>
299
- activeView === 'user'
300
- ? [ setActiveTemplateAction, editAction, ...postTypeActions ]
301
- : [ setActiveTemplateAction, ...postTypeActions ],
302
- [ postTypeActions, setActiveTemplateAction, editAction, activeView ]
303
- );
304
-
305
- const onChangeView = useEvent( ( newView ) => {
306
- updateView( newView );
307
- if ( newView.type !== view.type ) {
308
- // Retrigger the routing areas resolution.
309
- history.invalidate();
310
- }
311
- } );
312
-
313
- const duplicateAction = actions.find(
314
- ( action ) => action.id === 'duplicate-post'
315
- );
316
-
317
- return (
318
- <Page
319
- className="edit-site-page-templates"
320
- title={ __( 'Templates' ) }
321
- headingLevel={ 2 }
322
- actions={ <AddNewTemplate /> }
323
- >
324
- <DataViews
325
- key={ activeView }
326
- paginationInfo={ paginationInfo }
327
- fields={ fields }
328
- actions={ actions }
329
- data={ data }
330
- isLoading={ isLoadingData }
331
- view={ view }
332
- onChangeView={ onChangeView }
333
- onChangeSelection={ onChangeSelection }
334
- isItemClickable={ () => true }
335
- onClickItem={ ( item ) => {
336
- if ( typeof item.id === 'string' ) {
337
- setSelectedRegisteredTemplate( item );
338
- } else {
339
- history.navigate(
340
- `/${ item.type }/${ item.id }?canvas=edit`
341
- );
342
- }
343
- } }
344
- selection={ selection }
345
- defaultLayouts={ defaultLayouts }
346
- onReset={
347
- isModified
348
- ? () => {
349
- resetToDefault();
350
- history.invalidate();
351
- }
352
- : false
353
- }
354
- />
355
- { selectedRegisteredTemplate && duplicateAction && (
356
- <Modal
357
- title={ __( 'Duplicate' ) }
358
- onRequestClose={ () => setSelectedRegisteredTemplate() }
359
- size="small"
360
- >
361
- <duplicateAction.RenderModal
362
- items={ [ selectedRegisteredTemplate ] }
363
- closeModal={ () => setSelectedRegisteredTemplate() }
364
- />
365
- </Modal>
366
- ) }
367
- </Page>
368
- );
369
- }
@@ -1,50 +0,0 @@
1
- export const defaultLayouts = {
2
- table: {
3
- showMedia: false,
4
- },
5
- grid: {
6
- showMedia: true,
7
- },
8
- list: {
9
- showMedia: false,
10
- },
11
- };
12
-
13
- export const DEFAULT_VIEW = {
14
- type: 'grid',
15
- perPage: 20,
16
- sort: {
17
- field: 'title',
18
- direction: 'asc',
19
- },
20
- titleField: 'title',
21
- descriptionField: 'description',
22
- mediaField: 'preview',
23
- fields: [ 'author', 'active', 'slug', 'theme' ],
24
- filters: [],
25
- ...defaultLayouts.grid,
26
- };
27
-
28
- export function getActiveViewOverridesForTab( activeView ) {
29
- // User view: sort by date, newest first
30
- if ( activeView === 'user' ) {
31
- return {
32
- sort: { field: 'date', direction: 'desc' },
33
- };
34
- }
35
- // Active view: no overrides
36
- if ( activeView === 'active' ) {
37
- return {};
38
- }
39
- // Author-based view: filter by author
40
- return {
41
- filters: [
42
- {
43
- field: 'author',
44
- operator: 'is',
45
- value: activeView,
46
- isLocked: true,
47
- },
48
- ],
49
- };
50
- }