@wordpress/edit-site 7.2.0 → 7.3.2-next.v.202608281122.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 +31 -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 +1 -1
  9. package/build/components/add-new-template/add-custom-template-modal-content.cjs.map +1 -1
  10. package/build/components/add-new-template/index.cjs +1 -1
  11. package/build/components/add-new-template/index.cjs.map +1 -1
  12. package/build/components/add-new-template-legacy/add-custom-generic-template-modal-content.cjs +1 -1
  13. package/build/components/add-new-template-legacy/add-custom-generic-template-modal-content.cjs.map +1 -1
  14. package/build/components/add-new-template-legacy/add-custom-template-modal-content.cjs +1 -1
  15. package/build/components/add-new-template-legacy/add-custom-template-modal-content.cjs.map +1 -1
  16. package/build/components/add-new-template-legacy/index.cjs +1 -1
  17. package/build/components/add-new-template-legacy/index.cjs.map +1 -1
  18. package/build/components/app/index.cjs +1 -1
  19. package/build/components/app/index.cjs.map +1 -1
  20. package/build/components/block-editor/use-navigate-to-entity-record.cjs +4 -20
  21. package/build/components/block-editor/use-navigate-to-entity-record.cjs.map +2 -2
  22. package/build/components/block-editor/use-site-editor-settings.cjs +0 -1
  23. package/build/components/block-editor/use-site-editor-settings.cjs.map +2 -2
  24. package/build/components/block-editor/viewport.cjs +46 -0
  25. package/build/components/block-editor/viewport.cjs.map +7 -0
  26. package/build/components/canvas-loader/index.cjs +1 -1
  27. package/build/components/canvas-loader/index.cjs.map +1 -1
  28. package/build/components/editor/index.cjs +9 -8
  29. package/build/components/editor/index.cjs.map +4 -4
  30. package/build/components/editor/site-preview.cjs +1 -1
  31. package/build/components/editor/site-preview.cjs.map +1 -1
  32. package/build/components/editor/use-adapt-editor-to-canvas.cjs +2 -13
  33. package/build/components/editor/use-adapt-editor-to-canvas.cjs.map +3 -3
  34. package/build/components/layout/index.cjs +12 -2
  35. package/build/components/layout/index.cjs.map +3 -3
  36. package/build/components/media/index.cjs +1 -1
  37. package/build/components/media/index.cjs.map +1 -1
  38. package/build/components/more-menu/index.cjs +3 -4
  39. package/build/components/more-menu/index.cjs.map +4 -4
  40. package/build/components/more-menu/welcome-guide-menu-item.cjs +1 -1
  41. package/build/components/more-menu/welcome-guide-menu-item.cjs.map +1 -1
  42. package/build/components/page-patterns/actions.cjs +1 -1
  43. package/build/components/page-patterns/actions.cjs.map +1 -1
  44. package/build/components/page-patterns/delete-category-menu-item.cjs +1 -1
  45. package/build/components/page-patterns/delete-category-menu-item.cjs.map +1 -1
  46. package/build/components/page-patterns/fields.cjs +1 -1
  47. package/build/components/page-patterns/fields.cjs.map +1 -1
  48. package/build/components/page-patterns/index.cjs +1 -1
  49. package/build/components/page-patterns/index.cjs.map +1 -1
  50. package/build/components/page-patterns/rename-category-menu-item.cjs +1 -1
  51. package/build/components/page-patterns/rename-category-menu-item.cjs.map +1 -1
  52. package/build/components/page-templates/fields.cjs +1 -1
  53. package/build/components/page-templates/fields.cjs.map +1 -1
  54. package/build/components/page-templates/index-legacy.cjs +1 -1
  55. package/build/components/page-templates/index-legacy.cjs.map +1 -1
  56. package/build/components/page-templates/index.cjs +1 -1
  57. package/build/components/page-templates/index.cjs.map +1 -1
  58. package/build/components/pagination/index.cjs +1 -1
  59. package/build/components/pagination/index.cjs.map +1 -1
  60. package/build/components/plugin-template-setting-panel/index.cjs +1 -1
  61. package/build/components/plugin-template-setting-panel/index.cjs.map +1 -1
  62. package/build/components/post-list/index.cjs +1 -1
  63. package/build/components/post-list/index.cjs.map +1 -1
  64. package/build/components/post-list/quick-edit-modal.cjs +1 -1
  65. package/build/components/post-list/quick-edit-modal.cjs.map +1 -1
  66. package/build/components/resizable-frame/index.cjs +1 -1
  67. package/build/components/resizable-frame/index.cjs.map +1 -1
  68. package/build/components/save-button/index.cjs +1 -1
  69. package/build/components/save-button/index.cjs.map +1 -1
  70. package/build/components/save-hub/index.cjs +1 -1
  71. package/build/components/save-hub/index.cjs.map +1 -1
  72. package/build/components/save-panel/index.cjs +1 -1
  73. package/build/components/save-panel/index.cjs.map +1 -1
  74. package/build/components/sidebar/index.cjs +1 -1
  75. package/build/components/sidebar/index.cjs.map +1 -1
  76. package/build/components/sidebar-button/index.cjs +1 -1
  77. package/build/components/sidebar-button/index.cjs.map +1 -1
  78. package/build/components/sidebar-dataviews/index.cjs +1 -1
  79. package/build/components/sidebar-dataviews/index.cjs.map +1 -1
  80. package/build/components/sidebar-global-styles/index.cjs +1 -1
  81. package/build/components/sidebar-global-styles/index.cjs.map +1 -1
  82. package/build/components/sidebar-identity/index.cjs +1 -1
  83. package/build/components/sidebar-identity/index.cjs.map +1 -1
  84. package/build/components/sidebar-navigation-item/index.cjs +1 -1
  85. package/build/components/sidebar-navigation-item/index.cjs.map +1 -1
  86. package/build/components/sidebar-navigation-screen/index.cjs +1 -1
  87. package/build/components/sidebar-navigation-screen/index.cjs.map +1 -1
  88. package/build/components/sidebar-navigation-screen-details-footer/index.cjs +1 -1
  89. package/build/components/sidebar-navigation-screen-details-footer/index.cjs.map +1 -1
  90. package/build/components/sidebar-navigation-screen-global-styles/content.cjs +1 -1
  91. package/build/components/sidebar-navigation-screen-global-styles/content.cjs.map +1 -1
  92. package/build/components/sidebar-navigation-screen-global-styles/index.cjs +1 -1
  93. package/build/components/sidebar-navigation-screen-global-styles/index.cjs.map +1 -1
  94. package/build/components/sidebar-navigation-screen-identity/index.cjs +1 -1
  95. package/build/components/sidebar-navigation-screen-identity/index.cjs.map +1 -1
  96. package/build/components/sidebar-navigation-screen-main/index.cjs +1 -1
  97. package/build/components/sidebar-navigation-screen-main/index.cjs.map +1 -1
  98. package/build/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.cjs +1 -1
  99. package/build/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.cjs.map +1 -1
  100. package/build/components/sidebar-navigation-screen-navigation-menu/index.cjs +1 -1
  101. package/build/components/sidebar-navigation-screen-navigation-menu/index.cjs.map +1 -1
  102. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.cjs +1 -1
  103. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.cjs.map +1 -1
  104. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.cjs +1 -1
  105. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.cjs.map +1 -1
  106. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.cjs +1 -1
  107. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.cjs.map +1 -1
  108. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.cjs +1 -1
  109. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.cjs.map +1 -1
  110. package/build/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.cjs.map +1 -1
  111. package/build/components/sidebar-navigation-screen-navigation-menus/index.cjs +4 -2
  112. package/build/components/sidebar-navigation-screen-navigation-menus/index.cjs.map +3 -3
  113. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.cjs +1 -1
  114. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.cjs.map +1 -1
  115. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.cjs +1 -1
  116. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.cjs.map +2 -2
  117. package/build/components/sidebar-navigation-screen-patterns/category-item.cjs +1 -1
  118. package/build/components/sidebar-navigation-screen-patterns/category-item.cjs.map +1 -1
  119. package/build/components/sidebar-navigation-screen-patterns/index.cjs +2 -2
  120. package/build/components/sidebar-navigation-screen-patterns/index.cjs.map +2 -2
  121. package/build/components/sidebar-navigation-screen-templates-browse/content-legacy.cjs +1 -1
  122. package/build/components/sidebar-navigation-screen-templates-browse/content-legacy.cjs.map +1 -1
  123. package/build/components/sidebar-navigation-screen-templates-browse/content.cjs +1 -1
  124. package/build/components/sidebar-navigation-screen-templates-browse/content.cjs.map +1 -1
  125. package/build/components/sidebar-navigation-screen-templates-browse/index.cjs +2 -2
  126. package/build/components/sidebar-navigation-screen-templates-browse/index.cjs.map +2 -2
  127. package/build/components/sidebar-navigation-screen-unsupported/index.cjs +1 -1
  128. package/build/components/sidebar-navigation-screen-unsupported/index.cjs.map +1 -1
  129. package/build/components/site-editor-routes/home.cjs +1 -1
  130. package/build/components/site-editor-routes/home.cjs.map +1 -1
  131. package/build/components/site-editor-routes/identity.cjs +1 -1
  132. package/build/components/site-editor-routes/identity.cjs.map +1 -1
  133. package/build/components/site-editor-routes/navigation-item.cjs +1 -1
  134. package/build/components/site-editor-routes/navigation-item.cjs.map +1 -1
  135. package/build/components/site-editor-routes/navigation.cjs +1 -1
  136. package/build/components/site-editor-routes/navigation.cjs.map +1 -1
  137. package/build/components/site-editor-routes/notfound.cjs +1 -1
  138. package/build/components/site-editor-routes/notfound.cjs.map +1 -1
  139. package/build/components/site-editor-routes/page-item.cjs +1 -1
  140. package/build/components/site-editor-routes/page-item.cjs.map +1 -1
  141. package/build/components/site-editor-routes/pages.cjs +4 -1
  142. package/build/components/site-editor-routes/pages.cjs.map +3 -3
  143. package/build/components/site-editor-routes/pattern-item.cjs +1 -1
  144. package/build/components/site-editor-routes/pattern-item.cjs.map +1 -1
  145. package/build/components/site-editor-routes/patterns.cjs +1 -1
  146. package/build/components/site-editor-routes/patterns.cjs.map +1 -1
  147. package/build/components/site-editor-routes/stylebook.cjs +1 -1
  148. package/build/components/site-editor-routes/stylebook.cjs.map +1 -1
  149. package/build/components/site-editor-routes/styles.cjs +1 -1
  150. package/build/components/site-editor-routes/styles.cjs.map +1 -1
  151. package/build/components/site-editor-routes/template-item.cjs +1 -1
  152. package/build/components/site-editor-routes/template-item.cjs.map +1 -1
  153. package/build/components/site-editor-routes/template-part-item.cjs +1 -1
  154. package/build/components/site-editor-routes/template-part-item.cjs.map +1 -1
  155. package/build/components/site-editor-routes/templates.cjs +1 -1
  156. package/build/components/site-editor-routes/templates.cjs.map +1 -1
  157. package/build/components/site-hub/index.cjs +1 -1
  158. package/build/components/site-hub/index.cjs.map +1 -1
  159. package/build/components/welcome-guide/editor.cjs +1 -1
  160. package/build/components/welcome-guide/editor.cjs.map +1 -1
  161. package/build/components/welcome-guide/image.cjs +1 -1
  162. package/build/components/welcome-guide/image.cjs.map +1 -1
  163. package/build/components/welcome-guide/index.cjs +1 -1
  164. package/build/components/welcome-guide/index.cjs.map +1 -1
  165. package/build/components/welcome-guide/page.cjs +1 -1
  166. package/build/components/welcome-guide/page.cjs.map +1 -1
  167. package/build/components/welcome-guide/template.cjs +1 -1
  168. package/build/components/welcome-guide/template.cjs.map +1 -1
  169. package/build/deprecated.cjs +1 -1
  170. package/build/deprecated.cjs.map +1 -1
  171. package/build/index.cjs +1 -1
  172. package/build/index.cjs.map +1 -1
  173. package/build-module/components/add-new-pattern/index.mjs +1 -1
  174. package/build-module/components/add-new-pattern/index.mjs.map +1 -1
  175. package/build-module/components/add-new-post/index.mjs +1 -1
  176. package/build-module/components/add-new-post/index.mjs.map +1 -1
  177. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.mjs +1 -1
  178. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.mjs.map +1 -1
  179. package/build-module/components/add-new-template/add-custom-template-modal-content.mjs +1 -1
  180. package/build-module/components/add-new-template/add-custom-template-modal-content.mjs.map +1 -1
  181. package/build-module/components/add-new-template/index.mjs +1 -1
  182. package/build-module/components/add-new-template/index.mjs.map +1 -1
  183. package/build-module/components/add-new-template-legacy/add-custom-generic-template-modal-content.mjs +1 -1
  184. package/build-module/components/add-new-template-legacy/add-custom-generic-template-modal-content.mjs.map +1 -1
  185. package/build-module/components/add-new-template-legacy/add-custom-template-modal-content.mjs +1 -1
  186. package/build-module/components/add-new-template-legacy/add-custom-template-modal-content.mjs.map +1 -1
  187. package/build-module/components/add-new-template-legacy/index.mjs +1 -1
  188. package/build-module/components/add-new-template-legacy/index.mjs.map +1 -1
  189. package/build-module/components/app/index.mjs +1 -1
  190. package/build-module/components/app/index.mjs.map +1 -1
  191. package/build-module/components/block-editor/use-navigate-to-entity-record.mjs +5 -21
  192. package/build-module/components/block-editor/use-navigate-to-entity-record.mjs.map +2 -2
  193. package/build-module/components/block-editor/use-site-editor-settings.mjs +0 -1
  194. package/build-module/components/block-editor/use-site-editor-settings.mjs.map +2 -2
  195. package/build-module/components/block-editor/viewport.mjs +19 -0
  196. package/build-module/components/block-editor/viewport.mjs.map +7 -0
  197. package/build-module/components/canvas-loader/index.mjs +1 -1
  198. package/build-module/components/canvas-loader/index.mjs.map +1 -1
  199. package/build-module/components/editor/index.mjs +9 -9
  200. package/build-module/components/editor/index.mjs.map +3 -3
  201. package/build-module/components/editor/site-preview.mjs +1 -1
  202. package/build-module/components/editor/site-preview.mjs.map +1 -1
  203. package/build-module/components/editor/use-adapt-editor-to-canvas.mjs +1 -12
  204. package/build-module/components/editor/use-adapt-editor-to-canvas.mjs.map +2 -2
  205. package/build-module/components/layout/index.mjs +12 -2
  206. package/build-module/components/layout/index.mjs.map +3 -3
  207. package/build-module/components/media/index.mjs +1 -1
  208. package/build-module/components/media/index.mjs.map +1 -1
  209. package/build-module/components/more-menu/index.mjs +2 -3
  210. package/build-module/components/more-menu/index.mjs.map +3 -3
  211. package/build-module/components/more-menu/welcome-guide-menu-item.mjs +1 -1
  212. package/build-module/components/more-menu/welcome-guide-menu-item.mjs.map +1 -1
  213. package/build-module/components/page-patterns/actions.mjs +1 -1
  214. package/build-module/components/page-patterns/actions.mjs.map +1 -1
  215. package/build-module/components/page-patterns/delete-category-menu-item.mjs +1 -1
  216. package/build-module/components/page-patterns/delete-category-menu-item.mjs.map +1 -1
  217. package/build-module/components/page-patterns/fields.mjs +1 -1
  218. package/build-module/components/page-patterns/fields.mjs.map +1 -1
  219. package/build-module/components/page-patterns/index.mjs +1 -1
  220. package/build-module/components/page-patterns/index.mjs.map +1 -1
  221. package/build-module/components/page-patterns/rename-category-menu-item.mjs +1 -1
  222. package/build-module/components/page-patterns/rename-category-menu-item.mjs.map +1 -1
  223. package/build-module/components/page-templates/fields.mjs +1 -1
  224. package/build-module/components/page-templates/fields.mjs.map +1 -1
  225. package/build-module/components/page-templates/index-legacy.mjs +1 -1
  226. package/build-module/components/page-templates/index-legacy.mjs.map +1 -1
  227. package/build-module/components/page-templates/index.mjs +1 -1
  228. package/build-module/components/page-templates/index.mjs.map +1 -1
  229. package/build-module/components/pagination/index.mjs +1 -1
  230. package/build-module/components/pagination/index.mjs.map +1 -1
  231. package/build-module/components/plugin-template-setting-panel/index.mjs +1 -1
  232. package/build-module/components/plugin-template-setting-panel/index.mjs.map +1 -1
  233. package/build-module/components/post-list/index.mjs +1 -1
  234. package/build-module/components/post-list/index.mjs.map +1 -1
  235. package/build-module/components/post-list/quick-edit-modal.mjs +1 -1
  236. package/build-module/components/post-list/quick-edit-modal.mjs.map +1 -1
  237. package/build-module/components/resizable-frame/index.mjs +1 -1
  238. package/build-module/components/resizable-frame/index.mjs.map +1 -1
  239. package/build-module/components/save-button/index.mjs +1 -1
  240. package/build-module/components/save-button/index.mjs.map +1 -1
  241. package/build-module/components/save-hub/index.mjs +1 -1
  242. package/build-module/components/save-hub/index.mjs.map +1 -1
  243. package/build-module/components/save-panel/index.mjs +1 -1
  244. package/build-module/components/save-panel/index.mjs.map +1 -1
  245. package/build-module/components/sidebar/index.mjs +1 -1
  246. package/build-module/components/sidebar/index.mjs.map +1 -1
  247. package/build-module/components/sidebar-button/index.mjs +1 -1
  248. package/build-module/components/sidebar-button/index.mjs.map +1 -1
  249. package/build-module/components/sidebar-dataviews/index.mjs +1 -1
  250. package/build-module/components/sidebar-dataviews/index.mjs.map +1 -1
  251. package/build-module/components/sidebar-global-styles/index.mjs +1 -1
  252. package/build-module/components/sidebar-global-styles/index.mjs.map +1 -1
  253. package/build-module/components/sidebar-identity/index.mjs +1 -1
  254. package/build-module/components/sidebar-identity/index.mjs.map +1 -1
  255. package/build-module/components/sidebar-navigation-item/index.mjs +1 -1
  256. package/build-module/components/sidebar-navigation-item/index.mjs.map +1 -1
  257. package/build-module/components/sidebar-navigation-screen/index.mjs +1 -1
  258. package/build-module/components/sidebar-navigation-screen/index.mjs.map +1 -1
  259. package/build-module/components/sidebar-navigation-screen-details-footer/index.mjs +1 -1
  260. package/build-module/components/sidebar-navigation-screen-details-footer/index.mjs.map +1 -1
  261. package/build-module/components/sidebar-navigation-screen-global-styles/content.mjs +1 -1
  262. package/build-module/components/sidebar-navigation-screen-global-styles/content.mjs.map +1 -1
  263. package/build-module/components/sidebar-navigation-screen-global-styles/index.mjs +1 -1
  264. package/build-module/components/sidebar-navigation-screen-global-styles/index.mjs.map +1 -1
  265. package/build-module/components/sidebar-navigation-screen-identity/index.mjs +1 -1
  266. package/build-module/components/sidebar-navigation-screen-identity/index.mjs.map +1 -1
  267. package/build-module/components/sidebar-navigation-screen-main/index.mjs +1 -1
  268. package/build-module/components/sidebar-navigation-screen-main/index.mjs.map +1 -1
  269. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.mjs +1 -1
  270. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.mjs.map +1 -1
  271. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.mjs +1 -1
  272. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.mjs.map +1 -1
  273. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.mjs +1 -1
  274. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.mjs.map +1 -1
  275. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.mjs +1 -1
  276. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.mjs.map +1 -1
  277. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.mjs +1 -1
  278. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.mjs.map +1 -1
  279. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.mjs +1 -1
  280. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.mjs.map +1 -1
  281. package/build-module/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.mjs.map +1 -1
  282. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.mjs +4 -2
  283. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.mjs.map +3 -3
  284. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.mjs +1 -1
  285. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.mjs.map +1 -1
  286. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.mjs +1 -1
  287. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.mjs.map +2 -2
  288. package/build-module/components/sidebar-navigation-screen-patterns/category-item.mjs +1 -1
  289. package/build-module/components/sidebar-navigation-screen-patterns/category-item.mjs.map +1 -1
  290. package/build-module/components/sidebar-navigation-screen-patterns/index.mjs +2 -2
  291. package/build-module/components/sidebar-navigation-screen-patterns/index.mjs.map +2 -2
  292. package/build-module/components/sidebar-navigation-screen-templates-browse/content-legacy.mjs +1 -1
  293. package/build-module/components/sidebar-navigation-screen-templates-browse/content-legacy.mjs.map +1 -1
  294. package/build-module/components/sidebar-navigation-screen-templates-browse/content.mjs +1 -1
  295. package/build-module/components/sidebar-navigation-screen-templates-browse/content.mjs.map +1 -1
  296. package/build-module/components/sidebar-navigation-screen-templates-browse/index.mjs +2 -2
  297. package/build-module/components/sidebar-navigation-screen-templates-browse/index.mjs.map +2 -2
  298. package/build-module/components/sidebar-navigation-screen-unsupported/index.mjs +1 -1
  299. package/build-module/components/sidebar-navigation-screen-unsupported/index.mjs.map +1 -1
  300. package/build-module/components/site-editor-routes/home.mjs +1 -1
  301. package/build-module/components/site-editor-routes/home.mjs.map +1 -1
  302. package/build-module/components/site-editor-routes/identity.mjs +1 -1
  303. package/build-module/components/site-editor-routes/identity.mjs.map +1 -1
  304. package/build-module/components/site-editor-routes/navigation-item.mjs +1 -1
  305. package/build-module/components/site-editor-routes/navigation-item.mjs.map +1 -1
  306. package/build-module/components/site-editor-routes/navigation.mjs +1 -1
  307. package/build-module/components/site-editor-routes/navigation.mjs.map +1 -1
  308. package/build-module/components/site-editor-routes/notfound.mjs +1 -1
  309. package/build-module/components/site-editor-routes/notfound.mjs.map +1 -1
  310. package/build-module/components/site-editor-routes/page-item.mjs +1 -1
  311. package/build-module/components/site-editor-routes/page-item.mjs.map +1 -1
  312. package/build-module/components/site-editor-routes/pages.mjs +4 -1
  313. package/build-module/components/site-editor-routes/pages.mjs.map +3 -3
  314. package/build-module/components/site-editor-routes/pattern-item.mjs +1 -1
  315. package/build-module/components/site-editor-routes/pattern-item.mjs.map +1 -1
  316. package/build-module/components/site-editor-routes/patterns.mjs +1 -1
  317. package/build-module/components/site-editor-routes/patterns.mjs.map +1 -1
  318. package/build-module/components/site-editor-routes/stylebook.mjs +1 -1
  319. package/build-module/components/site-editor-routes/stylebook.mjs.map +1 -1
  320. package/build-module/components/site-editor-routes/styles.mjs +1 -1
  321. package/build-module/components/site-editor-routes/styles.mjs.map +1 -1
  322. package/build-module/components/site-editor-routes/template-item.mjs +1 -1
  323. package/build-module/components/site-editor-routes/template-item.mjs.map +1 -1
  324. package/build-module/components/site-editor-routes/template-part-item.mjs +1 -1
  325. package/build-module/components/site-editor-routes/template-part-item.mjs.map +1 -1
  326. package/build-module/components/site-editor-routes/templates.mjs +1 -1
  327. package/build-module/components/site-editor-routes/templates.mjs.map +1 -1
  328. package/build-module/components/site-hub/index.mjs +1 -1
  329. package/build-module/components/site-hub/index.mjs.map +1 -1
  330. package/build-module/components/welcome-guide/editor.mjs +1 -1
  331. package/build-module/components/welcome-guide/editor.mjs.map +1 -1
  332. package/build-module/components/welcome-guide/image.mjs +1 -1
  333. package/build-module/components/welcome-guide/image.mjs.map +1 -1
  334. package/build-module/components/welcome-guide/index.mjs +1 -1
  335. package/build-module/components/welcome-guide/index.mjs.map +1 -1
  336. package/build-module/components/welcome-guide/page.mjs +1 -1
  337. package/build-module/components/welcome-guide/page.mjs.map +1 -1
  338. package/build-module/components/welcome-guide/template.mjs +1 -1
  339. package/build-module/components/welcome-guide/template.mjs.map +1 -1
  340. package/build-module/deprecated.mjs +1 -1
  341. package/build-module/deprecated.mjs.map +1 -1
  342. package/build-module/index.mjs +1 -1
  343. package/build-module/index.mjs.map +1 -1
  344. package/build-style/style-rtl.css +130 -85
  345. package/build-style/style.css +130 -85
  346. package/package.json +39 -52
  347. package/src/components/block-editor/use-navigate-to-entity-record.js +11 -32
  348. package/src/components/block-editor/use-site-editor-settings.js +0 -1
  349. package/src/components/block-editor/viewport.js +34 -0
  350. package/src/components/editor/{index.js → index.jsx} +13 -8
  351. package/src/components/editor/use-adapt-editor-to-canvas.js +1 -22
  352. package/src/components/layout/{index.js → index.jsx} +10 -2
  353. package/src/components/more-menu/{index.js → index.jsx} +2 -2
  354. package/src/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js +1 -1
  355. package/src/components/sidebar-navigation-screen-navigation-menus/{index.js → index.jsx} +7 -2
  356. package/src/components/sidebar-navigation-screen-navigation-menus/{navigation-menu-content.js → navigation-menu-content.jsx} +1 -1
  357. package/src/components/sidebar-navigation-screen-patterns/{index.js → index.jsx} +1 -1
  358. package/src/components/sidebar-navigation-screen-templates-browse/{index.js → index.jsx} +1 -1
  359. package/src/components/site-editor-routes/{pages.js → pages.jsx} +3 -0
  360. package/src/style.scss +7 -3
  361. package/build/components/block-editor/use-viewport-sync.cjs +0 -55
  362. package/build/components/block-editor/use-viewport-sync.cjs.map +0 -7
  363. package/build/components/more-menu/site-export.cjs +0 -93
  364. package/build/components/more-menu/site-export.cjs.map +0 -7
  365. package/build-module/components/block-editor/use-viewport-sync.mjs +0 -29
  366. package/build-module/components/block-editor/use-viewport-sync.mjs.map +0 -7
  367. package/build-module/components/more-menu/site-export.mjs +0 -62
  368. package/build-module/components/more-menu/site-export.mjs.map +0 -7
  369. package/src/components/block-editor/use-viewport-sync.js +0 -44
  370. package/src/components/more-menu/site-export.js +0 -71
  371. /package/src/components/add-new-pattern/{index.js → index.jsx} +0 -0
  372. /package/src/components/add-new-post/{index.js → index.jsx} +0 -0
  373. /package/src/components/add-new-template/{add-custom-generic-template-modal-content.js → add-custom-generic-template-modal-content.jsx} +0 -0
  374. /package/src/components/add-new-template/{add-custom-template-modal-content.js → add-custom-template-modal-content.jsx} +0 -0
  375. /package/src/components/add-new-template/{index.js → index.jsx} +0 -0
  376. /package/src/components/add-new-template-legacy/{add-custom-generic-template-modal-content.js → add-custom-generic-template-modal-content.jsx} +0 -0
  377. /package/src/components/add-new-template-legacy/{add-custom-template-modal-content.js → add-custom-template-modal-content.jsx} +0 -0
  378. /package/src/components/add-new-template-legacy/{index.js → index.jsx} +0 -0
  379. /package/src/components/app/{index.js → index.jsx} +0 -0
  380. /package/src/components/canvas-loader/{index.js → index.jsx} +0 -0
  381. /package/src/components/editor/{site-preview.js → site-preview.jsx} +0 -0
  382. /package/src/components/media/{index.js → index.jsx} +0 -0
  383. /package/src/components/more-menu/{welcome-guide-menu-item.js → welcome-guide-menu-item.jsx} +0 -0
  384. /package/src/components/page-patterns/{actions.js → actions.jsx} +0 -0
  385. /package/src/components/page-patterns/{delete-category-menu-item.js → delete-category-menu-item.jsx} +0 -0
  386. /package/src/components/page-patterns/{fields.js → fields.jsx} +0 -0
  387. /package/src/components/page-patterns/{index.js → index.jsx} +0 -0
  388. /package/src/components/page-patterns/{rename-category-menu-item.js → rename-category-menu-item.jsx} +0 -0
  389. /package/src/components/page-templates/{fields.js → fields.jsx} +0 -0
  390. /package/src/components/page-templates/{index-legacy.js → index-legacy.jsx} +0 -0
  391. /package/src/components/page-templates/{index.js → index.jsx} +0 -0
  392. /package/src/components/pagination/{index.js → index.jsx} +0 -0
  393. /package/src/components/plugin-template-setting-panel/{index.js → index.jsx} +0 -0
  394. /package/src/components/post-list/{index.js → index.jsx} +0 -0
  395. /package/src/components/post-list/{quick-edit-modal.js → quick-edit-modal.jsx} +0 -0
  396. /package/src/components/resizable-frame/{index.js → index.jsx} +0 -0
  397. /package/src/components/save-button/{index.js → index.jsx} +0 -0
  398. /package/src/components/save-hub/{index.js → index.jsx} +0 -0
  399. /package/src/components/save-panel/{index.js → index.jsx} +0 -0
  400. /package/src/components/sidebar/{index.js → index.jsx} +0 -0
  401. /package/src/components/sidebar-button/{index.js → index.jsx} +0 -0
  402. /package/src/components/sidebar-dataviews/{index.js → index.jsx} +0 -0
  403. /package/src/components/sidebar-global-styles/{index.js → index.jsx} +0 -0
  404. /package/src/components/sidebar-identity/{index.js → index.jsx} +0 -0
  405. /package/src/components/sidebar-navigation-item/{index.js → index.jsx} +0 -0
  406. /package/src/components/sidebar-navigation-screen/{index.js → index.jsx} +0 -0
  407. /package/src/components/sidebar-navigation-screen-details-footer/{index.js → index.jsx} +0 -0
  408. /package/src/components/sidebar-navigation-screen-global-styles/{content.js → content.jsx} +0 -0
  409. /package/src/components/sidebar-navigation-screen-global-styles/{index.js → index.jsx} +0 -0
  410. /package/src/components/sidebar-navigation-screen-identity/{index.js → index.jsx} +0 -0
  411. /package/src/components/sidebar-navigation-screen-main/{index.js → index.jsx} +0 -0
  412. /package/src/components/sidebar-navigation-screen-navigation-menu/{delete-confirm-dialog.js → delete-confirm-dialog.jsx} +0 -0
  413. /package/src/components/sidebar-navigation-screen-navigation-menu/{index.js → index.jsx} +0 -0
  414. /package/src/components/sidebar-navigation-screen-navigation-menu/{more-menu.js → more-menu.jsx} +0 -0
  415. /package/src/components/sidebar-navigation-screen-navigation-menu/{navigation-menu-editor.js → navigation-menu-editor.jsx} +0 -0
  416. /package/src/components/sidebar-navigation-screen-navigation-menu/{rename-modal.js → rename-modal.jsx} +0 -0
  417. /package/src/components/sidebar-navigation-screen-navigation-menu/{single-navigation-menu.js → single-navigation-menu.jsx} +0 -0
  418. /package/src/components/sidebar-navigation-screen-navigation-menus/{leaf-more-menu.js → leaf-more-menu.jsx} +0 -0
  419. /package/src/components/sidebar-navigation-screen-patterns/{category-item.js → category-item.jsx} +0 -0
  420. /package/src/components/sidebar-navigation-screen-templates-browse/{content-legacy.js → content-legacy.jsx} +0 -0
  421. /package/src/components/sidebar-navigation-screen-templates-browse/{content.js → content.jsx} +0 -0
  422. /package/src/components/sidebar-navigation-screen-unsupported/{index.js → index.jsx} +0 -0
  423. /package/src/components/site-editor-routes/{home.js → home.jsx} +0 -0
  424. /package/src/components/site-editor-routes/{identity.js → identity.jsx} +0 -0
  425. /package/src/components/site-editor-routes/{navigation-item.js → navigation-item.jsx} +0 -0
  426. /package/src/components/site-editor-routes/{navigation.js → navigation.jsx} +0 -0
  427. /package/src/components/site-editor-routes/{notfound.js → notfound.jsx} +0 -0
  428. /package/src/components/site-editor-routes/{page-item.js → page-item.jsx} +0 -0
  429. /package/src/components/site-editor-routes/{pattern-item.js → pattern-item.jsx} +0 -0
  430. /package/src/components/site-editor-routes/{patterns.js → patterns.jsx} +0 -0
  431. /package/src/components/site-editor-routes/{stylebook.js → stylebook.jsx} +0 -0
  432. /package/src/components/site-editor-routes/{styles.js → styles.jsx} +0 -0
  433. /package/src/components/site-editor-routes/{template-item.js → template-item.jsx} +0 -0
  434. /package/src/components/site-editor-routes/{template-part-item.js → template-part-item.jsx} +0 -0
  435. /package/src/components/site-editor-routes/{templates.js → templates.jsx} +0 -0
  436. /package/src/components/site-hub/{index.js → index.jsx} +0 -0
  437. /package/src/components/welcome-guide/{editor.js → editor.jsx} +0 -0
  438. /package/src/components/welcome-guide/{image.js → image.jsx} +0 -0
  439. /package/src/components/welcome-guide/{index.js → index.jsx} +0 -0
  440. /package/src/components/welcome-guide/{page.js → page.jsx} +0 -0
  441. /package/src/components/welcome-guide/{template.js → template.jsx} +0 -0
  442. /package/src/{deprecated.js → deprecated.jsx} +0 -0
  443. /package/src/{index.js → index.jsx} +0 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,37 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 7.3.1-next.0 (2026-08-28)
6
+
7
+ ### Internal
8
+
9
+ - Remove the `showListViewByDefault` handling from `useAdaptEditorToCanvas`; the `editor` package now applies the preference on the preview ↔ edit transition itself.
10
+ - Remove unused dependencies `@wordpress/blob`, `@wordpress/date`, `@wordpress/escape-html`, etc. ([#82103](https://github.com/WordPress/gutenberg/pull/82103)).
11
+ - Use the `.jsx` extension for JavaScript source files that contain JSX ([#80990](https://github.com/WordPress/gutenberg/pull/80990)).
12
+ - Remove tsconfig project references to packages that are not dependencies ([#82106](https://github.com/WordPress/gutenberg/pull/82106)).
13
+
14
+ ## 7.3.0 (2026-08-26)
15
+
16
+ ### Enhancements
17
+
18
+ - Offer the Export tool only while editing a template or a template part, the entities the exported theme is made of. The menu item now lives in the editor package ([#81992](https://github.com/WordPress/gutenberg/pull/81992)).
19
+
20
+ ### Bug Fixes
21
+
22
+ - Seed the root `ThemeProvider` with the admin color scheme primary color so portaled popovers and modals receive the scheme's accent colors ([#81653](https://github.com/WordPress/gutenberg/pull/81653)).
23
+
24
+ ### Enhancements
25
+
26
+ - Unify the Site Editor sidebar section descriptions for Templates, Pages, Navigation, and Patterns. ([#60304](https://github.com/WordPress/gutenberg/issues/60304))
27
+
28
+ ### Internal
29
+
30
+ - Stop rendering `EditorKeyboardShortcutsRegister`, which the editor provider now renders itself ([#81580](https://github.com/WordPress/gutenberg/pull/81580)).
31
+
32
+ ### Bug Fixes
33
+
34
+ - Open an entity at the width its `viewport` param asks for through the editor provider rather than a sync effect, so the width comes from the theme's breakpoints rather than the defaults, and stop writing the current width back into the param when leaving an entity ([#81750](https://github.com/WordPress/gutenberg/pull/81750)).
35
+
5
36
  ## 7.2.0 (2026-08-12)
6
37
 
7
38
  ### Bug Fixes
@@ -17,7 +17,7 @@ var __copyProps = (to, from, except, desc) => {
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
 
20
- // packages/edit-site/src/components/add-new-pattern/index.js
20
+ // packages/edit-site/src/components/add-new-pattern/index.jsx
21
21
  var add_new_pattern_exports = {};
22
22
  __export(add_new_pattern_exports, {
23
23
  default: () => AddNewPattern
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/add-new-pattern/index.js"],
3
+ "sources": ["../../../src/components/add-new-pattern/index.jsx"],
4
4
  "sourcesContent": ["import { DropdownMenu } from '@wordpress/components';\nimport { useState, useRef } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { symbol, symbolFilled, upload } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport {\n\tprivateApis as editPatternsPrivateApis,\n\tstore as patternsStore,\n} from '@wordpress/patterns';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { unlock } from '../../lock-unlock';\nimport {\n\tPATTERN_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\n\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\nconst { CreatePatternModal, useAddPatternCategory } = unlock(\n\teditPatternsPrivateApis\n);\nconst { CreateTemplatePartModal } = unlock( editorPrivateApis );\n\nexport default function AddNewPattern() {\n\tconst history = useHistory();\n\tconst location = useLocation();\n\tconst [ showPatternModal, setShowPatternModal ] = useState( false );\n\tconst [ showTemplatePartModal, setShowTemplatePartModal ] =\n\t\tuseState( false );\n\t// eslint-disable-next-line @wordpress/no-unused-vars-before-return\n\tconst { createPatternFromFile } = unlock( useDispatch( patternsStore ) );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst patternUploadInputRef = useRef();\n\tconst {\n\t\tisBlockBasedTheme,\n\t\taddNewPatternLabel,\n\t\taddNewTemplatePartLabel,\n\t\tcanCreatePattern,\n\t\tcanCreateTemplatePart,\n\t} = useSelect( ( select ) => {\n\t\tconst { getCurrentTheme, getPostType, canUser } = select( coreStore );\n\t\treturn {\n\t\t\tisBlockBasedTheme: getCurrentTheme()?.is_block_theme,\n\t\t\taddNewPatternLabel: getPostType( PATTERN_TYPES.user )?.labels\n\t\t\t\t?.add_new_item,\n\t\t\taddNewTemplatePartLabel: getPostType( TEMPLATE_PART_POST_TYPE )\n\t\t\t\t?.labels?.add_new_item,\n\t\t\t// Blocks refers to the wp_block post type, this checks the ability to create a post of that type.\n\t\t\tcanCreatePattern: canUser( 'create', {\n\t\t\t\tkind: 'postType',\n\t\t\t\tname: PATTERN_TYPES.user,\n\t\t\t} ),\n\t\t\tcanCreateTemplatePart: canUser( 'create', {\n\t\t\t\tkind: 'postType',\n\t\t\t\tname: TEMPLATE_PART_POST_TYPE,\n\t\t\t} ),\n\t\t};\n\t}, [] );\n\n\tfunction handleCreatePattern( { pattern } ) {\n\t\tsetShowPatternModal( false );\n\t\thistory.navigate(\n\t\t\t`/${ PATTERN_TYPES.user }/${ pattern.id }?canvas=edit`\n\t\t);\n\t}\n\n\tfunction handleCreateTemplatePart( templatePart ) {\n\t\tsetShowTemplatePartModal( false );\n\t\thistory.navigate(\n\t\t\t`/${ TEMPLATE_PART_POST_TYPE }/${ templatePart.id }?canvas=edit`\n\t\t);\n\t}\n\n\tfunction handleError() {\n\t\tsetShowPatternModal( false );\n\t\tsetShowTemplatePartModal( false );\n\t}\n\n\tconst controls = [];\n\tif ( canCreatePattern ) {\n\t\tcontrols.push( {\n\t\t\ticon: symbol,\n\t\t\tonClick: () => setShowPatternModal( true ),\n\t\t\ttitle: addNewPatternLabel,\n\t\t} );\n\t}\n\n\tif ( isBlockBasedTheme && canCreateTemplatePart ) {\n\t\tcontrols.push( {\n\t\t\ticon: symbolFilled,\n\t\t\tonClick: () => setShowTemplatePartModal( true ),\n\t\t\ttitle: addNewTemplatePartLabel,\n\t\t} );\n\t}\n\n\tif ( canCreatePattern ) {\n\t\tcontrols.push( {\n\t\t\ticon: upload,\n\t\t\tonClick: () => {\n\t\t\t\tpatternUploadInputRef.current.click();\n\t\t\t},\n\t\t\ttitle: __( 'Import pattern from JSON' ),\n\t\t} );\n\t}\n\n\tconst { categoryMap, findOrCreateTerm } = useAddPatternCategory();\n\tif ( controls.length === 0 ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t{ addNewPatternLabel && (\n\t\t\t\t<DropdownMenu\n\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\ticon={ null }\n\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t\tshowTooltip: false,\n\t\t\t\t\t\tsize: 'compact',\n\t\t\t\t\t\t__next40pxDefaultSize: true,\n\t\t\t\t\t} }\n\t\t\t\t\ttext={ addNewPatternLabel }\n\t\t\t\t\tlabel={ addNewPatternLabel }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showPatternModal && (\n\t\t\t\t<CreatePatternModal\n\t\t\t\t\tonClose={ () => setShowPatternModal( false ) }\n\t\t\t\t\tonSuccess={ handleCreatePattern }\n\t\t\t\t\tonError={ handleError }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showTemplatePartModal && (\n\t\t\t\t<CreateTemplatePartModal\n\t\t\t\t\tcloseModal={ () => setShowTemplatePartModal( false ) }\n\t\t\t\t\tblocks={ [] }\n\t\t\t\t\tonCreate={ handleCreateTemplatePart }\n\t\t\t\t\tonError={ handleError }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<input\n\t\t\t\ttype=\"file\"\n\t\t\t\taccept=\".json\"\n\t\t\t\thidden\n\t\t\t\tref={ patternUploadInputRef }\n\t\t\t\tonChange={ async ( event ) => {\n\t\t\t\t\tconst file = event.target.files?.[ 0 ];\n\t\t\t\t\tif ( ! file ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlet currentCategoryId;\n\t\t\t\t\t\t// When we're not handling template parts, we should\n\t\t\t\t\t\t// add or create the proper pattern category.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tlocation.query.postType !== TEMPLATE_PART_POST_TYPE\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t/*\n\t\t\t\t\t\t\t * categoryMap.values() returns an iterator.\n\t\t\t\t\t\t\t * Iterator.prototype.find() is not yet widely supported.\n\t\t\t\t\t\t\t * Convert to array to use the Array.prototype.find method.\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\tconst currentCategory = Array.from(\n\t\t\t\t\t\t\t\tcategoryMap.values()\n\t\t\t\t\t\t\t).find(\n\t\t\t\t\t\t\t\t( term ) =>\n\t\t\t\t\t\t\t\t\tterm.name === location.query.categoryId\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif ( currentCategory ) {\n\t\t\t\t\t\t\t\tcurrentCategoryId =\n\t\t\t\t\t\t\t\t\tcurrentCategory.id ||\n\t\t\t\t\t\t\t\t\t( await findOrCreateTerm(\n\t\t\t\t\t\t\t\t\t\tcurrentCategory.label\n\t\t\t\t\t\t\t\t\t) );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst pattern = await createPatternFromFile(\n\t\t\t\t\t\t\tfile,\n\t\t\t\t\t\t\tcurrentCategoryId\n\t\t\t\t\t\t\t\t? [ currentCategoryId ]\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Navigate to the All patterns category for the newly created pattern\n\t\t\t\t\t\t// if we're not on that page already and if we're not in the `my-patterns`\n\t\t\t\t\t\t// category.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! currentCategoryId &&\n\t\t\t\t\t\t\tlocation.query.categoryId !== 'my-patterns'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t\t`/pattern?categoryId=${ PATTERN_DEFAULT_CATEGORY }`\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The imported pattern's title.\n\t\t\t\t\t\t\t\t__( 'Imported \"%s\" from JSON.' ),\n\t\t\t\t\t\t\t\tpattern.title.raw\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'import-pattern-success',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t} catch ( err ) {\n\t\t\t\t\t\tcreateErrorNotice( err.message, {\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'import-pattern-error',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tevent.target.value = '';\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAA6B;AAC7B,qBAAiC;AACjC,kBAA4B;AAC5B,mBAA6C;AAC7C,kBAAuC;AACvC,oBAAiD;AACjD,sBAGO;AACP,qBAAsC;AACtC,uBAAmC;AACnC,oBAAiD;AACjD,yBAAuB;AACvB,uBAIO;AAgGL;AA9FF,IAAM,EAAE,YAAY,YAAY,QAAI,2BAAQ,cAAAA,WAAkB;AAC9D,IAAM,EAAE,oBAAoB,sBAAsB,QAAI;AAAA,EACrD,gBAAAC;AACD;AACA,IAAM,EAAE,wBAAwB,QAAI,2BAAQ,cAAAC,WAAkB;AAE/C,SAAR,gBAAiC;AACvC,QAAM,UAAU,WAAW;AAC3B,QAAM,WAAW,YAAY;AAC7B,QAAM,CAAE,kBAAkB,mBAAoB,QAAI,yBAAU,KAAM;AAClE,QAAM,CAAE,uBAAuB,wBAAyB,QACvD,yBAAU,KAAM;AAEjB,QAAM,EAAE,sBAAsB,QAAI,+BAAQ,yBAAa,gBAAAC,KAAc,CAAE;AACvE,QAAM,EAAE,qBAAqB,kBAAkB,QAC9C,yBAAa,eAAAC,KAAa;AAC3B,QAAM,4BAAwB,uBAAO;AACrC,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,QAAI,uBAAW,CAAE,WAAY;AAC5B,UAAM,EAAE,iBAAiB,aAAa,QAAQ,IAAI,OAAQ,iBAAAC,KAAU;AACpE,WAAO;AAAA,MACN,mBAAmB,gBAAgB,GAAG;AAAA,MACtC,oBAAoB,YAAa,+BAAc,IAAK,GAAG,QACpD;AAAA,MACH,yBAAyB,YAAa,wCAAwB,GAC3D,QAAQ;AAAA;AAAA,MAEX,kBAAkB,QAAS,UAAU;AAAA,QACpC,MAAM;AAAA,QACN,MAAM,+BAAc;AAAA,MACrB,CAAE;AAAA,MACF,uBAAuB,QAAS,UAAU;AAAA,QACzC,MAAM;AAAA,QACN,MAAM;AAAA,MACP,CAAE;AAAA,IACH;AAAA,EACD,GAAG,CAAC,CAAE;AAEN,WAAS,oBAAqB,EAAE,QAAQ,GAAI;AAC3C,wBAAqB,KAAM;AAC3B,YAAQ;AAAA,MACP,IAAK,+BAAc,IAAK,IAAK,QAAQ,EAAG;AAAA,IACzC;AAAA,EACD;AAEA,WAAS,yBAA0B,cAAe;AACjD,6BAA0B,KAAM;AAChC,YAAQ;AAAA,MACP,IAAK,wCAAwB,IAAK,aAAa,EAAG;AAAA,IACnD;AAAA,EACD;AAEA,WAAS,cAAc;AACtB,wBAAqB,KAAM;AAC3B,6BAA0B,KAAM;AAAA,EACjC;AAEA,QAAM,WAAW,CAAC;AAClB,MAAK,kBAAmB;AACvB,aAAS,KAAM;AAAA,MACd,MAAM;AAAA,MACN,SAAS,MAAM,oBAAqB,IAAK;AAAA,MACzC,OAAO;AAAA,IACR,CAAE;AAAA,EACH;AAEA,MAAK,qBAAqB,uBAAwB;AACjD,aAAS,KAAM;AAAA,MACd,MAAM;AAAA,MACN,SAAS,MAAM,yBAA0B,IAAK;AAAA,MAC9C,OAAO;AAAA,IACR,CAAE;AAAA,EACH;AAEA,MAAK,kBAAmB;AACvB,aAAS,KAAM;AAAA,MACd,MAAM;AAAA,MACN,SAAS,MAAM;AACd,8BAAsB,QAAQ,MAAM;AAAA,MACrC;AAAA,MACA,WAAO,gBAAI,0BAA2B;AAAA,IACvC,CAAE;AAAA,EACH;AAEA,QAAM,EAAE,aAAa,iBAAiB,IAAI,sBAAsB;AAChE,MAAK,SAAS,WAAW,GAAI;AAC5B,WAAO;AAAA,EACR;AACA,SACC,4EACG;AAAA,0BACD;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA,MAAO;AAAA,QACP,aAAc;AAAA,UACb,SAAS;AAAA,UACT,aAAa;AAAA,UACb,MAAM;AAAA,UACN,uBAAuB;AAAA,QACxB;AAAA,QACA,MAAO;AAAA,QACP,OAAQ;AAAA;AAAA,IACT;AAAA,IAEC,oBACD;AAAA,MAAC;AAAA;AAAA,QACA,SAAU,MAAM,oBAAqB,KAAM;AAAA,QAC3C,WAAY;AAAA,QACZ,SAAU;AAAA;AAAA,IACX;AAAA,IAEC,yBACD;AAAA,MAAC;AAAA;AAAA,QACA,YAAa,MAAM,yBAA0B,KAAM;AAAA,QACnD,QAAS,CAAC;AAAA,QACV,UAAW;AAAA,QACX,SAAU;AAAA;AAAA,IACX;AAAA,IAGD;AAAA,MAAC;AAAA;AAAA,QACA,MAAK;AAAA,QACL,QAAO;AAAA,QACP,QAAM;AAAA,QACN,KAAM;AAAA,QACN,UAAW,OAAQ,UAAW;AAC7B,gBAAM,OAAO,MAAM,OAAO,QAAS,CAAE;AACrC,cAAK,CAAE,MAAO;AACb;AAAA,UACD;AACA,cAAI;AACH,gBAAI;AAGJ,gBACC,SAAS,MAAM,aAAa,0CAC3B;AAMD,oBAAM,kBAAkB,MAAM;AAAA,gBAC7B,YAAY,OAAO;AAAA,cACpB,EAAE;AAAA,gBACD,CAAE,SACD,KAAK,SAAS,SAAS,MAAM;AAAA,cAC/B;AACA,kBAAK,iBAAkB;AACtB,oCACC,gBAAgB,MACd,MAAM;AAAA,kBACP,gBAAgB;AAAA,gBACjB;AAAA,cACF;AAAA,YACD;AACA,kBAAM,UAAU,MAAM;AAAA,cACrB;AAAA,cACA,oBACG,CAAE,iBAAkB,IACpB;AAAA,YACJ;AAKA,gBACC,CAAE,qBACF,SAAS,MAAM,eAAe,eAC7B;AACD,sBAAQ;AAAA,gBACP,uBAAwB,yCAAyB;AAAA,cAClD;AAAA,YACD;AAEA;AAAA,kBACC;AAAA;AAAA,oBAEC,gBAAI,0BAA2B;AAAA,gBAC/B,QAAQ,MAAM;AAAA,cACf;AAAA,cACA;AAAA,gBACC,MAAM;AAAA,gBACN,IAAI;AAAA,cACL;AAAA,YACD;AAAA,UACD,SAAU,KAAM;AACf,8BAAmB,IAAI,SAAS;AAAA,cAC/B,MAAM;AAAA,cACN,IAAI;AAAA,YACL,CAAE;AAAA,UACH,UAAE;AACD,kBAAM,OAAO,QAAQ;AAAA,UACtB;AAAA,QACD;AAAA;AAAA,IACD;AAAA,KACD;AAEF;",
6
6
  "names": ["routerPrivateApis", "editPatternsPrivateApis", "editorPrivateApis", "patternsStore", "noticesStore", "coreStore"]
@@ -17,7 +17,7 @@ var __copyProps = (to, from, except, desc) => {
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
 
20
- // packages/edit-site/src/components/add-new-post/index.js
20
+ // packages/edit-site/src/components/add-new-post/index.jsx
21
21
  var add_new_post_exports = {};
22
22
  __export(add_new_post_exports, {
23
23
  default: () => AddNewPostModal
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/add-new-post/index.js"],
3
+ "sources": ["../../../src/components/add-new-post/index.jsx"],
4
4
  "sourcesContent": ["import {\n\tButton,\n\tModal,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tTextControl,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useDispatch, useRegistry, useSelect } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { serialize, synchronizeBlocksWithTemplate } from '@wordpress/blocks';\n\nexport default function AddNewPostModal( { postType, onSave, onClose } ) {\n\tconst labels = useSelect(\n\t\t( select ) => select( coreStore ).getPostType( postType )?.labels,\n\t\t[ postType ]\n\t);\n\tconst [ isCreatingPost, setIsCreatingPost ] = useState( false );\n\tconst [ title, setTitle ] = useState( '' );\n\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { resolveSelect } = useRegistry();\n\n\tasync function createPost( event ) {\n\t\tevent.preventDefault();\n\n\t\tif ( isCreatingPost ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsCreatingPost( true );\n\t\ttry {\n\t\t\tconst postTypeObject =\n\t\t\t\tawait resolveSelect( coreStore ).getPostType( postType );\n\t\t\tconst newPage = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\t{\n\t\t\t\t\tstatus: 'draft',\n\t\t\t\t\ttitle,\n\t\t\t\t\tslug: title ?? undefined,\n\t\t\t\t\tcontent:\n\t\t\t\t\t\t!! postTypeObject.template &&\n\t\t\t\t\t\tpostTypeObject.template.length\n\t\t\t\t\t\t\t? serialize(\n\t\t\t\t\t\t\t\t\tsynchronizeBlocksWithTemplate(\n\t\t\t\t\t\t\t\t\t\t[],\n\t\t\t\t\t\t\t\t\t\tpostTypeObject.template\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\tonSave( newPage );\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: Title of the created post or template, e.g: \"Hello world\".\n\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\tdecodeEntities( newPage.title?.rendered || title ) ||\n\t\t\t\t\t\t__( '(no title)' )\n\t\t\t\t),\n\t\t\t\t{ type: 'snackbar' }\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while creating the item.' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t} finally {\n\t\t\tsetIsCreatingPost( false );\n\t\t}\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={\n\t\t\t\t// translators: %s: post type singular_name label e.g: \"Page\".\n\t\t\t\tsprintf( __( 'Draft new: %s' ), labels?.singular_name )\n\t\t\t}\n\t\t\tonRequestClose={ onClose }\n\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t\tsize=\"small\"\n\t\t>\n\t\t\t<form onSubmit={ createPost }>\n\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Title' ) }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\tplaceholder={ __( 'No title' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack spacing={ 2 } justify=\"end\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tisBusy={ isCreatingPost }\n\t\t\t\t\t\t\taria-disabled={ isCreatingPost }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create draft' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAMO;AACP,kBAA4B;AAC5B,kBAAoD;AACpD,qBAAyB;AACzB,uBAAmC;AACnC,qBAAsC;AACtC,2BAA+B;AAC/B,oBAAyD;AAmFpD;AAjFU,SAAR,gBAAkC,EAAE,UAAU,QAAQ,QAAQ,GAAI;AACxE,QAAM,aAAS;AAAA,IACd,CAAE,WAAY,OAAQ,iBAAAA,KAAU,EAAE,YAAa,QAAS,GAAG;AAAA,IAC3D,CAAE,QAAS;AAAA,EACZ;AACA,QAAM,CAAE,gBAAgB,iBAAkB,QAAI,yBAAU,KAAM;AAC9D,QAAM,CAAE,OAAO,QAAS,QAAI,yBAAU,EAAG;AAEzC,QAAM,EAAE,iBAAiB,QAAI,yBAAa,iBAAAA,KAAU;AACpD,QAAM,EAAE,mBAAmB,oBAAoB,QAC9C,yBAAa,eAAAC,KAAa;AAC3B,QAAM,EAAE,cAAc,QAAI,yBAAY;AAEtC,iBAAe,WAAY,OAAQ;AAClC,UAAM,eAAe;AAErB,QAAK,gBAAiB;AACrB;AAAA,IACD;AACA,sBAAmB,IAAK;AACxB,QAAI;AACH,YAAM,iBACL,MAAM,cAAe,iBAAAD,KAAU,EAAE,YAAa,QAAS;AACxD,YAAM,UAAU,MAAM;AAAA,QACrB;AAAA,QACA;AAAA,QACA;AAAA,UACC,QAAQ;AAAA,UACR;AAAA,UACA,MAAM,SAAS;AAAA,UACf,SACC,CAAC,CAAE,eAAe,YAClB,eAAe,SAAS,aACrB;AAAA,gBACA;AAAA,cACC,CAAC;AAAA,cACD,eAAe;AAAA,YAChB;AAAA,UACA,IACA;AAAA,QACL;AAAA,QACA,EAAE,cAAc,KAAK;AAAA,MACtB;AAEA,aAAQ,OAAQ;AAEhB;AAAA,YACC;AAAA;AAAA,cAEC,gBAAI,4BAA6B;AAAA,cACjC,qCAAgB,QAAQ,OAAO,YAAY,KAAM,SAChD,gBAAI,YAAa;AAAA,QACnB;AAAA,QACA,EAAE,MAAM,WAAW;AAAA,MACpB;AAAA,IACD,SAAU,OAAQ;AACjB,YAAM,eACL,MAAM,WAAW,MAAM,SAAS,kBAC7B,MAAM,cACN,gBAAI,4CAA6C;AAErD,wBAAmB,cAAc;AAAA,QAChC,MAAM;AAAA,MACP,CAAE;AAAA,IACH,UAAE;AACD,wBAAmB,KAAM;AAAA,IAC1B;AAAA,EACD;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA;AAAA;AAAA,YAEC,yBAAS,gBAAI,eAAgB,GAAG,QAAQ,aAAc;AAAA;AAAA,MAEvD,gBAAiB;AAAA,MACjB,cAAa;AAAA,MACb,MAAK;AAAA,MAEL,sDAAC,UAAK,UAAW,YAChB,uDAAC,kBAAAE,sBAAA,EAAO,SAAU,GACjB;AAAA;AAAA,UAAC;AAAA;AAAA,YACA,WAAQ,gBAAI,OAAQ;AAAA,YACpB,UAAW;AAAA,YACX,iBAAc,gBAAI,UAAW;AAAA,YAC7B,OAAQ;AAAA;AAAA,QACT;AAAA,QACA,6CAAC,kBAAAC,sBAAA,EAAO,SAAU,GAAI,SAAQ,OAC7B;AAAA;AAAA,YAAC;AAAA;AAAA,cACA,uBAAqB;AAAA,cACrB,SAAQ;AAAA,cACR,SAAU;AAAA,cAER,8BAAI,QAAS;AAAA;AAAA,UAChB;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACA,uBAAqB;AAAA,cACrB,SAAQ;AAAA,cACR,MAAK;AAAA,cACL,QAAS;AAAA,cACT,iBAAgB;AAAA,cAEd,8BAAI,cAAe;AAAA;AAAA,UACtB;AAAA,WACD;AAAA,SACD,GACD;AAAA;AAAA,EACD;AAEF;",
6
6
  "names": ["coreStore", "noticesStore", "VStack", "HStack"]
@@ -17,7 +17,7 @@ var __copyProps = (to, from, except, desc) => {
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
 
20
- // packages/edit-site/src/components/add-new-template/add-custom-generic-template-modal-content.js
20
+ // packages/edit-site/src/components/add-new-template/add-custom-generic-template-modal-content.jsx
21
21
  var add_custom_generic_template_modal_content_exports = {};
22
22
  __export(add_custom_generic_template_modal_content_exports, {
23
23
  default: () => add_custom_generic_template_modal_content_default
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/add-new-template/add-custom-generic-template-modal-content.js"],
3
+ "sources": ["../../../src/components/add-new-template/add-custom-generic-template-modal-content.jsx"],
4
4
  "sourcesContent": ["import { paramCase as kebabCase } from 'change-case';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\nfunction AddCustomGenericTemplateModalContent( { createTemplate, onBack } ) {\n\tconst [ title, setTitle ] = useState( '' );\n\tconst defaultTitle = __( 'Custom Template' );\n\tconst [ isBusy, setIsBusy ] = useState( false );\n\tconst inputRef = useRef();\n\n\t// Set focus to the name input when the component mounts\n\tuseEffect( () => {\n\t\tif ( inputRef.current ) {\n\t\t\tinputRef.current.focus();\n\t\t}\n\t}, [] );\n\n\tasync function onCreateTemplate( event ) {\n\t\tevent.preventDefault();\n\t\tif ( isBusy ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsBusy( true );\n\t\ttry {\n\t\t\tawait createTemplate(\n\t\t\t\t{\n\t\t\t\t\tslug:\n\t\t\t\t\t\tkebabCase( title || defaultTitle ) ||\n\t\t\t\t\t\t'wp-custom-template',\n\t\t\t\t\ttitle: title || defaultTitle,\n\t\t\t\t},\n\t\t\t\tfalse\n\t\t\t);\n\t\t} finally {\n\t\t\tsetIsBusy( false );\n\t\t}\n\t}\n\treturn (\n\t\t<form onSubmit={ onCreateTemplate }>\n\t\t\t<VStack spacing={ 6 }>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\tvalue={ title }\n\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\tplaceholder={ defaultTitle }\n\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\tref={ inputRef }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t// eslint-disable-next-line no-restricted-syntax -- 'sidebar' is a common web design term for layouts\n\t\t\t\t\t\t'Describe the template, e.g. \"Post with sidebar\". A custom template can be manually applied to any post or page.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t\t<HStack\n\t\t\t\t\tclassName=\"edit-site-custom-generic-template__modal-actions\"\n\t\t\t\t\tjustify=\"right\"\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=\"tertiary\"\n\t\t\t\t\t\tonClick={ onBack }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Back' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\taria-disabled={ isBusy }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</form>\n\t);\n}\n\nexport default AddCustomGenericTemplateModalContent;\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAAuC;AACvC,qBAA4C;AAC5C,kBAAmB;AACnB,wBAKO;AAsCH;AApCJ,SAAS,qCAAsC,EAAE,gBAAgB,OAAO,GAAI;AAC3E,QAAM,CAAE,OAAO,QAAS,QAAI,yBAAU,EAAG;AACzC,QAAM,mBAAe,gBAAI,iBAAkB;AAC3C,QAAM,CAAE,QAAQ,SAAU,QAAI,yBAAU,KAAM;AAC9C,QAAM,eAAW,uBAAO;AAGxB,gCAAW,MAAM;AAChB,QAAK,SAAS,SAAU;AACvB,eAAS,QAAQ,MAAM;AAAA,IACxB;AAAA,EACD,GAAG,CAAC,CAAE;AAEN,iBAAe,iBAAkB,OAAQ;AACxC,UAAM,eAAe;AACrB,QAAK,QAAS;AACb;AAAA,IACD;AACA,cAAW,IAAK;AAChB,QAAI;AACH,YAAM;AAAA,QACL;AAAA,UACC,UACC,mBAAAA,WAAW,SAAS,YAAa,KACjC;AAAA,UACD,OAAO,SAAS;AAAA,QACjB;AAAA,QACA;AAAA,MACD;AAAA,IACD,UAAE;AACD,gBAAW,KAAM;AAAA,IAClB;AAAA,EACD;AACA,SACC,4CAAC,UAAK,UAAW,kBAChB,uDAAC,kBAAAC,sBAAA,EAAO,SAAU,GACjB;AAAA;AAAA,MAAC;AAAA;AAAA,QACA,WAAQ,gBAAI,MAAO;AAAA,QACnB,OAAQ;AAAA,QACR,UAAW;AAAA,QACX,aAAc;AAAA,QACd,UAAW;AAAA,QACX,KAAM;AAAA,QACN,UAAO;AAAA;AAAA,UAEN;AAAA,QACD;AAAA;AAAA,IACD;AAAA,IACA;AAAA,MAAC,kBAAAC;AAAA,MAAA;AAAA,QACA,WAAU;AAAA,QACV,SAAQ;AAAA,QAER;AAAA;AAAA,YAAC;AAAA;AAAA,cACA,uBAAqB;AAAA,cACrB,SAAQ;AAAA,cACR,SAAU;AAAA,cAER,8BAAI,MAAO;AAAA;AAAA,UACd;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACA,uBAAqB;AAAA,cACrB,SAAQ;AAAA,cACR,MAAK;AAAA,cACL;AAAA,cACA,iBAAgB;AAAA,cAEd,8BAAI,QAAS;AAAA;AAAA,UAChB;AAAA;AAAA;AAAA,IACD;AAAA,KACD,GACD;AAEF;AAEA,IAAO,oDAAQ;",
6
6
  "names": ["kebabCase", "VStack", "HStack"]
@@ -17,7 +17,7 @@ var __copyProps = (to, from, except, desc) => {
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
 
20
- // packages/edit-site/src/components/add-new-template/add-custom-template-modal-content.js
20
+ // packages/edit-site/src/components/add-new-template/add-custom-template-modal-content.jsx
21
21
  var add_custom_template_modal_content_exports = {};
22
22
  __export(add_custom_template_modal_content_exports, {
23
23
  default: () => add_custom_template_modal_content_default
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/add-new-template/add-custom-template-modal-content.js"],
3
+ "sources": ["../../../src/components/add-new-template/add-custom-template-modal-content.jsx"],
4
4
  "sourcesContent": ["import { useState, useMemo, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tFlex,\n\tFlexItem,\n\tSearchControl,\n\tTextHighlight,\n\tComposite,\n\t__experimentalText as WCText,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useDebouncedInput } from '@wordpress/compose';\nimport { focus } from '@wordpress/dom';\nimport { safeDecodeURI } from '@wordpress/url';\nimport { mapToIHasNameAndId } from './utils';\n\nconst EMPTY_ARRAY = [];\n\nfunction SuggestionListItem( {\n\tsuggestion,\n\tsearch,\n\tonSelect,\n\tentityForSuggestions,\n} ) {\n\tconst baseCssClass =\n\t\t'edit-site-custom-template-modal__suggestions_list__list-item';\n\treturn (\n\t\t<Composite.Item\n\t\t\trender={\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\trole=\"option\"\n\t\t\t\t\tclassName={ baseCssClass }\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\tonSelect(\n\t\t\t\t\t\t\tentityForSuggestions.config.getSpecificTemplate(\n\t\t\t\t\t\t\t\tsuggestion\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t<WCText\n\t\t\t\tsize=\"body\"\n\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\tweight=\"var(--wpds-typography-font-weight-emphasis, 600)\"\n\t\t\t\tclassName={ `${ baseCssClass }__title` }\n\t\t\t>\n\t\t\t\t<TextHighlight\n\t\t\t\t\ttext={ decodeEntities( suggestion.name ) }\n\t\t\t\t\thighlight={ search }\n\t\t\t\t/>\n\t\t\t</WCText>\n\t\t\t{ suggestion.link && (\n\t\t\t\t<WCText\n\t\t\t\t\tsize=\"body\"\n\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\tclassName={ `${ baseCssClass }__info` }\n\t\t\t\t>\n\t\t\t\t\t{ safeDecodeURI( suggestion.link ) }\n\t\t\t\t</WCText>\n\t\t\t) }\n\t\t</Composite.Item>\n\t);\n}\n\nfunction useSearchSuggestions( entityForSuggestions, search ) {\n\tconst { config } = entityForSuggestions;\n\tconst query = useMemo(\n\t\t() => ( {\n\t\t\torder: 'asc',\n\t\t\tcontext: 'view',\n\t\t\tsearch,\n\t\t\tper_page: search ? 20 : 10,\n\t\t\t...config.queryArgs( search ),\n\t\t} ),\n\t\t[ search, config ]\n\t);\n\tconst { records: searchResults, hasResolved: searchHasResolved } =\n\t\tuseEntityRecords(\n\t\t\tentityForSuggestions.type,\n\t\t\tentityForSuggestions.slug,\n\t\t\tquery\n\t\t);\n\tconst [ suggestions, setSuggestions ] = useState( EMPTY_ARRAY );\n\tuseEffect( () => {\n\t\tif ( ! searchHasResolved ) {\n\t\t\treturn;\n\t\t}\n\t\tlet newSuggestions = EMPTY_ARRAY;\n\t\tif ( searchResults?.length ) {\n\t\t\tnewSuggestions = searchResults;\n\t\t\tif ( config.recordNamePath ) {\n\t\t\t\tnewSuggestions = mapToIHasNameAndId(\n\t\t\t\t\tnewSuggestions,\n\t\t\t\t\tconfig.recordNamePath\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\t// Update suggestions only when the query has resolved, so as to keep\n\t\t// the previous results in the UI.\n\t\tsetSuggestions( newSuggestions );\n\t}, [ searchResults, searchHasResolved ] );\n\treturn suggestions;\n}\n\nfunction SuggestionList( { entityForSuggestions, onSelect } ) {\n\tconst [ search, setSearch, debouncedSearch ] = useDebouncedInput();\n\tconst suggestions = useSearchSuggestions(\n\t\tentityForSuggestions,\n\t\tdebouncedSearch\n\t);\n\tconst { labels } = entityForSuggestions;\n\tconst [ showSearchControl, setShowSearchControl ] = useState( false );\n\tif ( ! showSearchControl && suggestions?.length > 9 ) {\n\t\tsetShowSearchControl( true );\n\t}\n\treturn (\n\t\t<>\n\t\t\t{ showSearchControl && (\n\t\t\t\t<SearchControl\n\t\t\t\t\tonChange={ setSearch }\n\t\t\t\t\tvalue={ search }\n\t\t\t\t\tlabel={ labels.search_items }\n\t\t\t\t\tplaceholder={ labels.search_items }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ !! suggestions?.length && (\n\t\t\t\t<Composite\n\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\tclassName=\"edit-site-custom-template-modal__suggestions_list\"\n\t\t\t\t\taria-label={ __( 'Suggestions list' ) }\n\t\t\t\t>\n\t\t\t\t\t{ suggestions.map( ( suggestion ) => (\n\t\t\t\t\t\t<SuggestionListItem\n\t\t\t\t\t\t\tkey={ suggestion.slug }\n\t\t\t\t\t\t\tsuggestion={ suggestion }\n\t\t\t\t\t\t\tsearch={ debouncedSearch }\n\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</Composite>\n\t\t\t) }\n\t\t\t{ debouncedSearch && ! suggestions?.length && (\n\t\t\t\t<WCText\n\t\t\t\t\tas=\"p\"\n\t\t\t\t\tclassName=\"edit-site-custom-template-modal__no-results\"\n\t\t\t\t>\n\t\t\t\t\t{ labels.not_found }\n\t\t\t\t</WCText>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction AddCustomTemplateModalContent( {\n\tonSelect,\n\tentityForSuggestions,\n\tonBack,\n\tcontainerRef,\n} ) {\n\tconst [ showSearchEntities, setShowSearchEntities ] = useState();\n\n\t// Focus on the first focusable element when the modal opens.\n\t// We handle focus management in the parent modal, just need to focus on the first focusable element.\n\tuseEffect( () => {\n\t\tif ( containerRef.current ) {\n\t\t\tconst [ firstFocusable ] = focus.focusable.find(\n\t\t\t\tcontainerRef.current\n\t\t\t);\n\t\t\tfirstFocusable?.focus();\n\t\t}\n\t}, [ showSearchEntities ] );\n\n\treturn (\n\t\t<VStack\n\t\t\tspacing={ 4 }\n\t\t\tclassName=\"edit-site-custom-template-modal__contents-wrapper\"\n\t\t\talignment=\"left\"\n\t\t>\n\t\t\t{ ! showSearchEntities && (\n\t\t\t\t<>\n\t\t\t\t\t<WCText as=\"p\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Select whether to create a single template for all items or a specific one.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</WCText>\n\t\t\t\t\t<Flex\n\t\t\t\t\t\tclassName=\"edit-site-custom-template-modal__contents\"\n\t\t\t\t\t\tgap=\"4\"\n\t\t\t\t\t\talign=\"initial\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\t\tslug,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\t\t\ttemplatePrefix,\n\t\t\t\t\t\t\t\t} = entityForSuggestions.template;\n\t\t\t\t\t\t\t\tonSelect( {\n\t\t\t\t\t\t\t\t\tslug,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\t\t\ttemplatePrefix,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<WCText\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tweight=\"var(--wpds-typography-font-weight-emphasis, 600)\"\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ entityForSuggestions.labels.all_items }\n\t\t\t\t\t\t\t</WCText>\n\t\t\t\t\t\t\t<WCText\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// translators: The user is given the choice to set up a template for all items of a post type or taxonomy, or just a specific one.\n\t\t\t\t\t\t\t\t\t__( 'For all items' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</WCText>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetShowSearchEntities( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<WCText\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tweight=\"var(--wpds-typography-font-weight-emphasis, 600)\"\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ entityForSuggestions.labels.singular_name }\n\t\t\t\t\t\t\t</WCText>\n\t\t\t\t\t\t\t<WCText\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// translators: The user is given the choice to set up a template for all items of a post type or taxonomy, or just a specific one.\n\t\t\t\t\t\t\t\t\t__( 'For a specific item' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</WCText>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t</Flex>\n\t\t\t\t\t<Flex justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ onBack }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Back' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Flex>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ showSearchEntities && (\n\t\t\t\t<>\n\t\t\t\t\t<WCText as=\"p\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'This template will be used only for the specific item chosen.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</WCText>\n\t\t\t\t\t<SuggestionList\n\t\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t/>\n\t\t\t\t\t<Flex justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t// If general template exists, go directly back to main screen\n\t\t\t\t\t\t\t\t// instead of showing the choice screen\n\t\t\t\t\t\t\t\tif ( entityForSuggestions.hasGeneralTemplate ) {\n\t\t\t\t\t\t\t\t\tonBack();\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tsetShowSearchEntities( false );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Back' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Flex>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nexport default AddCustomTemplateModalContent;\n"],
5
5
  "mappings": "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",
6
6
  "names": ["WCText", "VStack"]
@@ -27,7 +27,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
 
30
- // packages/edit-site/src/components/add-new-template/index.js
30
+ // packages/edit-site/src/components/add-new-template/index.jsx
31
31
  var add_new_template_exports = {};
32
32
  __export(add_new_template_exports, {
33
33
  default: () => add_new_template_default
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/add-new-template/index.js"],
3
+ "sources": ["../../../src/components/add-new-template/index.jsx"],
4
4
  "sourcesContent": ["import clsx from 'clsx';\nimport {\n\tButton,\n\tModal,\n\t__experimentalGrid as Grid,\n\t__experimentalText as WCText,\n\t__experimentalVStack as VStack,\n\tFlex,\n\tIcon as WCIcon,\n} from '@wordpress/components';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useState, memo, useRef, useEffect } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tarchive,\n\tblockMeta,\n\tcalendar,\n\tcategory,\n\tcommentAuthorAvatar,\n\tpencil,\n\thome,\n\tlayout,\n\tlist,\n\tmedia,\n\tnotFound,\n\tpage,\n\tpin,\n\tverse,\n\tsearch,\n\ttag,\n} from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { focus } from '@wordpress/dom';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport AddCustomTemplateModalContent from './add-custom-template-modal-content';\nimport {\n\tuseDefaultTemplateTypes,\n\tuseTaxonomiesMenuItems,\n\tusePostTypeMenuItems,\n\tuseAuthorMenuItem,\n\tusePostTypeArchiveMenuItems,\n} from './utils';\nimport AddCustomGenericTemplateModalContent from './add-custom-generic-template-modal-content';\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst DEFAULT_TEMPLATE_SLUGS = [\n\t'front-page',\n\t'home',\n\t'single',\n\t'page',\n\t'index',\n\t'archive',\n\t'author',\n\t'category',\n\t'date',\n\t'tag',\n\t'search',\n\t'404',\n];\n\nconst TEMPLATE_ICONS = {\n\t'front-page': home,\n\thome: verse,\n\tsingle: pin,\n\tpage,\n\tarchive,\n\tsearch,\n\t404: notFound,\n\tindex: list,\n\tcategory,\n\tauthor: commentAuthorAvatar,\n\ttaxonomy: blockMeta,\n\tdate: calendar,\n\ttag,\n\tattachment: media,\n};\n\nfunction TemplateListItem( {\n\ttitle,\n\tdirection,\n\tclassName,\n\tdescription,\n\ticon,\n\tonClick,\n\tchildren,\n} ) {\n\treturn (\n\t\t<Button\n\t\t\t__next40pxDefaultSize\n\t\t\tclassName={ className }\n\t\t\tonClick={ onClick }\n\t\t\tlabel={ description }\n\t\t\tshowTooltip={ !! description }\n\t\t>\n\t\t\t<Flex\n\t\t\t\tas=\"span\"\n\t\t\t\tspacing={ 2 }\n\t\t\t\talign=\"center\"\n\t\t\t\tjustify=\"center\"\n\t\t\t\tstyle={ { width: '100%' } }\n\t\t\t\tdirection={ direction }\n\t\t\t>\n\t\t\t\t<div className=\"edit-site-add-new-template__template-icon\">\n\t\t\t\t\t<WCIcon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t\t<VStack\n\t\t\t\t\tclassName=\"edit-site-add-new-template__template-name\"\n\t\t\t\t\talignment=\"center\"\n\t\t\t\t\tspacing={ 0 }\n\t\t\t\t>\n\t\t\t\t\t<WCText\n\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\tweight=\"var(--wpds-typography-font-weight-emphasis, 600)\"\n\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</WCText>\n\t\t\t\t\t{ children }\n\t\t\t\t</VStack>\n\t\t\t</Flex>\n\t\t</Button>\n\t);\n}\n\nconst modalContentMap = {\n\ttemplatesList: 1,\n\tcustomTemplate: 2,\n\tcustomGenericTemplate: 3,\n};\n\nfunction NewTemplateModal( { onClose } ) {\n\tconst [ modalContent, setModalContent ] = useState(\n\t\tmodalContentMap.templatesList\n\t);\n\tconst [ entityForSuggestions, setEntityForSuggestions ] = useState( {} );\n\tconst [ isSubmitting, setIsSubmitting ] = useState( false );\n\tconst missingTemplates = useMissingTemplates( setEntityForSuggestions, () =>\n\t\tsetModalContent( modalContentMap.customTemplate )\n\t);\n\tconst history = useHistory();\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst containerRef = useRef( null );\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\n\tconst homeUrl = useSelect( ( select ) => {\n\t\t// Site index.\n\t\treturn select( coreStore ).getEntityRecord( 'root', '__unstableBase' )\n\t\t\t?.home;\n\t}, [] );\n\n\tconst TEMPLATE_SHORT_DESCRIPTIONS = {\n\t\t'front-page': homeUrl,\n\t\tdate: sprintf(\n\t\t\t// translators: %s: The homepage url.\n\t\t\t__( 'E.g. %s' ),\n\t\t\thomeUrl + '/' + new Date().getFullYear()\n\t\t),\n\t};\n\n\tuseEffect( () => {\n\t\t// Focus the first focusable element when component mounts or UI changes\n\t\t// We don't want to focus on the other modals because they have their own focus management.\n\t\tif (\n\t\t\tcontainerRef.current &&\n\t\t\tmodalContent === modalContentMap.templatesList\n\t\t) {\n\t\t\tconst [ firstFocusable ] = focus.focusable.find(\n\t\t\t\tcontainerRef.current\n\t\t\t);\n\t\t\tfirstFocusable?.focus();\n\t\t}\n\t}, [ modalContent ] );\n\n\tasync function createTemplate( template, isWPSuggestion = true ) {\n\t\tif ( isSubmitting ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsSubmitting( true );\n\t\ttry {\n\t\t\tconst { title, description, slug } = template;\n\t\t\tconst newTemplate = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t{\n\t\t\t\t\tdescription,\n\t\t\t\t\t// Slugs need to be strings, so this is for template `404`\n\t\t\t\t\tslug: slug.toString(),\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\ttitle,\n\t\t\t\t\t// This adds a post meta field in template that is part of `is_custom` value calculation.\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tis_wp_suggestion: isWPSuggestion,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\t// Navigate to the created template editor.\n\t\t\thistory.navigate(\n\t\t\t\t`/${ TEMPLATE_POST_TYPE }/${ newTemplate.id }?canvas=edit`\n\t\t\t);\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: Title of the created post or template, e.g: \"Hello world\".\n\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\tdecodeEntities( newTemplate.title?.rendered || title ) ||\n\t\t\t\t\t\t__( '(no title)' )\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while creating the template.' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t} finally {\n\t\t\tsetIsSubmitting( false );\n\t\t}\n\t}\n\tconst onModalClose = () => {\n\t\tonClose();\n\t\tsetModalContent( modalContentMap.templatesList );\n\t};\n\n\tlet modalTitle = __( 'Add template' );\n\tif ( modalContent === modalContentMap.customTemplate ) {\n\t\tmodalTitle = sprintf(\n\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t__( 'Add template: %s' ),\n\t\t\tentityForSuggestions.labels.singular_name\n\t\t);\n\t} else if ( modalContent === modalContentMap.customGenericTemplate ) {\n\t\tmodalTitle = __( 'Create custom template' );\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ modalTitle }\n\t\t\tclassName={ clsx( 'edit-site-add-new-template__modal', {\n\t\t\t\t'edit-site-add-new-template__modal_template_list':\n\t\t\t\t\tmodalContent === modalContentMap.templatesList,\n\t\t\t\t'edit-site-custom-template-modal':\n\t\t\t\t\tmodalContent === modalContentMap.customTemplate,\n\t\t\t} ) }\n\t\t\tonRequestClose={ onModalClose }\n\t\t\toverlayClassName={\n\t\t\t\tmodalContent === modalContentMap.customGenericTemplate\n\t\t\t\t\t? 'edit-site-custom-generic-template__modal'\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\tref={ containerRef }\n\t\t>\n\t\t\t{ modalContent === modalContentMap.templatesList && (\n\t\t\t\t<Grid\n\t\t\t\t\tcolumns={ isMobile ? 2 : 3 }\n\t\t\t\t\tgap={ 4 }\n\t\t\t\t\talign=\"flex-start\"\n\t\t\t\t\tjustify=\"center\"\n\t\t\t\t\tclassName=\"edit-site-add-new-template__template-list__contents\"\n\t\t\t\t>\n\t\t\t\t\t<Flex className=\"edit-site-add-new-template__template-list__prompt\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Select what the new template should apply to:'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Flex>\n\t\t\t\t\t{ missingTemplates.map( ( template ) => {\n\t\t\t\t\t\tconst { title, slug, onClick } = template;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\t\t\tdirection=\"column\"\n\t\t\t\t\t\t\t\tclassName=\"edit-site-add-new-template__template-button\"\n\t\t\t\t\t\t\t\tdescription={\n\t\t\t\t\t\t\t\t\tTEMPLATE_SHORT_DESCRIPTIONS[ slug ]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ticon={ TEMPLATE_ICONS[ slug ] || layout }\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tonClick\n\t\t\t\t\t\t\t\t\t\t? onClick( template )\n\t\t\t\t\t\t\t\t\t\t: createTemplate( template )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\ttitle={ __( 'Custom template' ) }\n\t\t\t\t\t\tdirection=\"row\"\n\t\t\t\t\t\tclassName=\"edit-site-add-new-template__custom-template-button\"\n\t\t\t\t\t\ticon={ pencil }\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\tsetModalContent(\n\t\t\t\t\t\t\t\tmodalContentMap.customGenericTemplate\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<WCText\n\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'A custom template can be manually applied to any post or page.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</WCText>\n\t\t\t\t\t</TemplateListItem>\n\t\t\t\t</Grid>\n\t\t\t) }\n\t\t\t{ modalContent === modalContentMap.customTemplate && (\n\t\t\t\t<AddCustomTemplateModalContent\n\t\t\t\t\tonSelect={ createTemplate }\n\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t\tonBack={ () =>\n\t\t\t\t\t\tsetModalContent( modalContentMap.templatesList )\n\t\t\t\t\t}\n\t\t\t\t\tcontainerRef={ containerRef }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ modalContent === modalContentMap.customGenericTemplate && (\n\t\t\t\t<AddCustomGenericTemplateModalContent\n\t\t\t\t\tcreateTemplate={ createTemplate }\n\t\t\t\t\tonBack={ () =>\n\t\t\t\t\t\tsetModalContent( modalContentMap.templatesList )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Modal>\n\t);\n}\n\nfunction NewTemplate() {\n\tconst [ showModal, setShowModal ] = useState( false );\n\n\tconst { postType } = useSelect( ( select ) => {\n\t\tconst { getPostType } = select( coreStore );\n\n\t\treturn {\n\t\t\tpostType: getPostType( TEMPLATE_POST_TYPE ),\n\t\t};\n\t}, [] );\n\n\tif ( ! postType ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tonClick={ () => setShowModal( true ) }\n\t\t\t\tlabel={ postType.labels.add_new_item }\n\t\t\t\tsize=\"compact\"\n\t\t\t\t__next40pxDefaultSize\n\t\t\t>\n\t\t\t\t{ postType.labels.add_new_item }\n\t\t\t</Button>\n\t\t\t{ showModal && (\n\t\t\t\t<NewTemplateModal onClose={ () => setShowModal( false ) } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction useMissingTemplates( setEntityForSuggestions, onClick ) {\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst missingDefaultTemplates = ( defaultTemplateTypes || [] ).filter(\n\t\t( template ) => DEFAULT_TEMPLATE_SLUGS.includes( template.slug )\n\t);\n\tconst onClickMenuItem = ( _entityForSuggestions ) => {\n\t\tonClick?.();\n\t\tsetEntityForSuggestions( _entityForSuggestions );\n\t};\n\t// We need to replace existing default template types with\n\t// the create specific template functionality. The original\n\t// info (title, description, etc.) is preserved in the\n\t// used hooks.\n\tconst enhancedMissingDefaultTemplateTypes = [ ...missingDefaultTemplates ];\n\tconst { defaultTaxonomiesMenuItems, taxonomiesMenuItems } =\n\t\tuseTaxonomiesMenuItems( onClickMenuItem );\n\tconst { defaultPostTypesMenuItems, postTypesMenuItems } =\n\t\tusePostTypeMenuItems( onClickMenuItem );\n\n\tconst authorMenuItem = useAuthorMenuItem( onClickMenuItem );\n\t[\n\t\t...defaultTaxonomiesMenuItems,\n\t\t...defaultPostTypesMenuItems,\n\t\tauthorMenuItem,\n\t].forEach( ( menuItem ) => {\n\t\tif ( ! menuItem ) {\n\t\t\treturn;\n\t\t}\n\t\tconst matchIndex = enhancedMissingDefaultTemplateTypes.findIndex(\n\t\t\t( template ) => template.slug === menuItem.slug\n\t\t);\n\t\t// Some default template types might have been filtered above from\n\t\t// `missingDefaultTemplates` because they only check for the general\n\t\t// template. So here we either replace or append the item, augmented\n\t\t// with the check if it has available specific item to create a\n\t\t// template for.\n\t\tif ( matchIndex > -1 ) {\n\t\t\tenhancedMissingDefaultTemplateTypes[ matchIndex ] = menuItem;\n\t\t} else {\n\t\t\tenhancedMissingDefaultTemplateTypes.push( menuItem );\n\t\t}\n\t} );\n\t// Update the sort order to match the DEFAULT_TEMPLATE_SLUGS order.\n\tenhancedMissingDefaultTemplateTypes?.sort( ( template1, template2 ) => {\n\t\treturn (\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template1.slug ) -\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template2.slug )\n\t\t);\n\t} );\n\tconst missingTemplates = [\n\t\t...enhancedMissingDefaultTemplateTypes,\n\t\t...usePostTypeArchiveMenuItems(),\n\t\t...postTypesMenuItems,\n\t\t...taxonomiesMenuItems,\n\t];\n\treturn missingTemplates;\n}\n\nexport default memo( NewTemplate );\n"],
5
5
  "mappings": "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",
6
6
  "names": ["routerPrivateApis", "WCIcon", "VStack", "WCText", "coreStore", "noticesStore", "clsx", "Grid", "AddCustomTemplateModalContent", "AddCustomGenericTemplateModalContent"]
@@ -17,7 +17,7 @@ var __copyProps = (to, from, except, desc) => {
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
 
20
- // packages/edit-site/src/components/add-new-template-legacy/add-custom-generic-template-modal-content.js
20
+ // packages/edit-site/src/components/add-new-template-legacy/add-custom-generic-template-modal-content.jsx
21
21
  var add_custom_generic_template_modal_content_exports = {};
22
22
  __export(add_custom_generic_template_modal_content_exports, {
23
23
  default: () => add_custom_generic_template_modal_content_default
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/add-new-template-legacy/add-custom-generic-template-modal-content.js"],
3
+ "sources": ["../../../src/components/add-new-template-legacy/add-custom-generic-template-modal-content.jsx"],
4
4
  "sourcesContent": ["import { paramCase as kebabCase } from 'change-case';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\nfunction AddCustomGenericTemplateModalContent( { createTemplate, onBack } ) {\n\tconst [ title, setTitle ] = useState( '' );\n\tconst defaultTitle = __( 'Custom Template' );\n\tconst [ isBusy, setIsBusy ] = useState( false );\n\tconst inputRef = useRef();\n\n\t// Set focus to the name input when the component mounts\n\tuseEffect( () => {\n\t\tif ( inputRef.current ) {\n\t\t\tinputRef.current.focus();\n\t\t}\n\t}, [] );\n\n\tasync function onCreateTemplate( event ) {\n\t\tevent.preventDefault();\n\t\tif ( isBusy ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsBusy( true );\n\t\ttry {\n\t\t\tawait createTemplate(\n\t\t\t\t{\n\t\t\t\t\tslug:\n\t\t\t\t\t\tkebabCase( title || defaultTitle ) ||\n\t\t\t\t\t\t'wp-custom-template',\n\t\t\t\t\ttitle: title || defaultTitle,\n\t\t\t\t},\n\t\t\t\tfalse\n\t\t\t);\n\t\t} finally {\n\t\t\tsetIsBusy( false );\n\t\t}\n\t}\n\treturn (\n\t\t<form onSubmit={ onCreateTemplate }>\n\t\t\t<VStack spacing={ 6 }>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\tvalue={ title }\n\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\tplaceholder={ defaultTitle }\n\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\tref={ inputRef }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t// eslint-disable-next-line no-restricted-syntax -- 'sidebar' is a common web design term for layouts\n\t\t\t\t\t\t'Describe the template, e.g. \"Post with sidebar\". A custom template can be manually applied to any post or page.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t\t<HStack\n\t\t\t\t\tclassName=\"edit-site-custom-generic-template__modal-actions\"\n\t\t\t\t\tjustify=\"right\"\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=\"tertiary\"\n\t\t\t\t\t\tonClick={ onBack }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Back' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\taria-disabled={ isBusy }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</form>\n\t);\n}\n\nexport default AddCustomGenericTemplateModalContent;\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAAuC;AACvC,qBAA4C;AAC5C,kBAAmB;AACnB,wBAKO;AAsCH;AApCJ,SAAS,qCAAsC,EAAE,gBAAgB,OAAO,GAAI;AAC3E,QAAM,CAAE,OAAO,QAAS,QAAI,yBAAU,EAAG;AACzC,QAAM,mBAAe,gBAAI,iBAAkB;AAC3C,QAAM,CAAE,QAAQ,SAAU,QAAI,yBAAU,KAAM;AAC9C,QAAM,eAAW,uBAAO;AAGxB,gCAAW,MAAM;AAChB,QAAK,SAAS,SAAU;AACvB,eAAS,QAAQ,MAAM;AAAA,IACxB;AAAA,EACD,GAAG,CAAC,CAAE;AAEN,iBAAe,iBAAkB,OAAQ;AACxC,UAAM,eAAe;AACrB,QAAK,QAAS;AACb;AAAA,IACD;AACA,cAAW,IAAK;AAChB,QAAI;AACH,YAAM;AAAA,QACL;AAAA,UACC,UACC,mBAAAA,WAAW,SAAS,YAAa,KACjC;AAAA,UACD,OAAO,SAAS;AAAA,QACjB;AAAA,QACA;AAAA,MACD;AAAA,IACD,UAAE;AACD,gBAAW,KAAM;AAAA,IAClB;AAAA,EACD;AACA,SACC,4CAAC,UAAK,UAAW,kBAChB,uDAAC,kBAAAC,sBAAA,EAAO,SAAU,GACjB;AAAA;AAAA,MAAC;AAAA;AAAA,QACA,WAAQ,gBAAI,MAAO;AAAA,QACnB,OAAQ;AAAA,QACR,UAAW;AAAA,QACX,aAAc;AAAA,QACd,UAAW;AAAA,QACX,KAAM;AAAA,QACN,UAAO;AAAA;AAAA,UAEN;AAAA,QACD;AAAA;AAAA,IACD;AAAA,IACA;AAAA,MAAC,kBAAAC;AAAA,MAAA;AAAA,QACA,WAAU;AAAA,QACV,SAAQ;AAAA,QAER;AAAA;AAAA,YAAC;AAAA;AAAA,cACA,uBAAqB;AAAA,cACrB,SAAQ;AAAA,cACR,SAAU;AAAA,cAER,8BAAI,MAAO;AAAA;AAAA,UACd;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACA,uBAAqB;AAAA,cACrB,SAAQ;AAAA,cACR,MAAK;AAAA,cACL;AAAA,cACA,iBAAgB;AAAA,cAEd,8BAAI,QAAS;AAAA;AAAA,UAChB;AAAA;AAAA;AAAA,IACD;AAAA,KACD,GACD;AAEF;AAEA,IAAO,oDAAQ;",
6
6
  "names": ["kebabCase", "VStack", "HStack"]
@@ -17,7 +17,7 @@ var __copyProps = (to, from, except, desc) => {
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
 
20
- // packages/edit-site/src/components/add-new-template-legacy/add-custom-template-modal-content.js
20
+ // packages/edit-site/src/components/add-new-template-legacy/add-custom-template-modal-content.jsx
21
21
  var add_custom_template_modal_content_exports = {};
22
22
  __export(add_custom_template_modal_content_exports, {
23
23
  default: () => add_custom_template_modal_content_default
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/add-new-template-legacy/add-custom-template-modal-content.js"],
3
+ "sources": ["../../../src/components/add-new-template-legacy/add-custom-template-modal-content.jsx"],
4
4
  "sourcesContent": ["import { useState, useMemo, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tFlex,\n\tFlexItem,\n\tSearchControl,\n\tTextHighlight,\n\tComposite,\n\t__experimentalText as WCText,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useDebouncedInput } from '@wordpress/compose';\nimport { focus } from '@wordpress/dom';\nimport { safeDecodeURI } from '@wordpress/url';\nimport { mapToIHasNameAndId } from './utils';\n\nconst EMPTY_ARRAY = [];\n\nfunction SuggestionListItem( {\n\tsuggestion,\n\tsearch,\n\tonSelect,\n\tentityForSuggestions,\n} ) {\n\tconst baseCssClass =\n\t\t'edit-site-custom-template-modal__suggestions_list__list-item';\n\treturn (\n\t\t<Composite.Item\n\t\t\trender={\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\trole=\"option\"\n\t\t\t\t\tclassName={ baseCssClass }\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\tonSelect(\n\t\t\t\t\t\t\tentityForSuggestions.config.getSpecificTemplate(\n\t\t\t\t\t\t\t\tsuggestion\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t<WCText\n\t\t\t\tsize=\"body\"\n\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\tweight=\"var(--wpds-typography-font-weight-emphasis, 600)\"\n\t\t\t\tclassName={ `${ baseCssClass }__title` }\n\t\t\t>\n\t\t\t\t<TextHighlight\n\t\t\t\t\ttext={ decodeEntities( suggestion.name ) }\n\t\t\t\t\thighlight={ search }\n\t\t\t\t/>\n\t\t\t</WCText>\n\t\t\t{ suggestion.link && (\n\t\t\t\t<WCText\n\t\t\t\t\tsize=\"body\"\n\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\tclassName={ `${ baseCssClass }__info` }\n\t\t\t\t>\n\t\t\t\t\t{ safeDecodeURI( suggestion.link ) }\n\t\t\t\t</WCText>\n\t\t\t) }\n\t\t</Composite.Item>\n\t);\n}\n\nfunction useSearchSuggestions( entityForSuggestions, search ) {\n\tconst { config } = entityForSuggestions;\n\tconst query = useMemo(\n\t\t() => ( {\n\t\t\torder: 'asc',\n\t\t\tcontext: 'view',\n\t\t\tsearch,\n\t\t\tper_page: search ? 20 : 10,\n\t\t\t...config.queryArgs( search ),\n\t\t} ),\n\t\t[ search, config ]\n\t);\n\tconst { records: searchResults, hasResolved: searchHasResolved } =\n\t\tuseEntityRecords(\n\t\t\tentityForSuggestions.type,\n\t\t\tentityForSuggestions.slug,\n\t\t\tquery\n\t\t);\n\tconst [ suggestions, setSuggestions ] = useState( EMPTY_ARRAY );\n\tuseEffect( () => {\n\t\tif ( ! searchHasResolved ) {\n\t\t\treturn;\n\t\t}\n\t\tlet newSuggestions = EMPTY_ARRAY;\n\t\tif ( searchResults?.length ) {\n\t\t\tnewSuggestions = searchResults;\n\t\t\tif ( config.recordNamePath ) {\n\t\t\t\tnewSuggestions = mapToIHasNameAndId(\n\t\t\t\t\tnewSuggestions,\n\t\t\t\t\tconfig.recordNamePath\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\t// Update suggestions only when the query has resolved, so as to keep\n\t\t// the previous results in the UI.\n\t\tsetSuggestions( newSuggestions );\n\t}, [ searchResults, searchHasResolved ] );\n\treturn suggestions;\n}\n\nfunction SuggestionList( { entityForSuggestions, onSelect } ) {\n\tconst [ search, setSearch, debouncedSearch ] = useDebouncedInput();\n\tconst suggestions = useSearchSuggestions(\n\t\tentityForSuggestions,\n\t\tdebouncedSearch\n\t);\n\tconst { labels } = entityForSuggestions;\n\tconst [ showSearchControl, setShowSearchControl ] = useState( false );\n\tif ( ! showSearchControl && suggestions?.length > 9 ) {\n\t\tsetShowSearchControl( true );\n\t}\n\treturn (\n\t\t<>\n\t\t\t{ showSearchControl && (\n\t\t\t\t<SearchControl\n\t\t\t\t\tonChange={ setSearch }\n\t\t\t\t\tvalue={ search }\n\t\t\t\t\tlabel={ labels.search_items }\n\t\t\t\t\tplaceholder={ labels.search_items }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ !! suggestions?.length && (\n\t\t\t\t<Composite\n\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\tclassName=\"edit-site-custom-template-modal__suggestions_list\"\n\t\t\t\t\taria-label={ __( 'Suggestions list' ) }\n\t\t\t\t>\n\t\t\t\t\t{ suggestions.map( ( suggestion ) => (\n\t\t\t\t\t\t<SuggestionListItem\n\t\t\t\t\t\t\tkey={ suggestion.slug }\n\t\t\t\t\t\t\tsuggestion={ suggestion }\n\t\t\t\t\t\t\tsearch={ debouncedSearch }\n\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</Composite>\n\t\t\t) }\n\t\t\t{ debouncedSearch && ! suggestions?.length && (\n\t\t\t\t<WCText\n\t\t\t\t\tas=\"p\"\n\t\t\t\t\tclassName=\"edit-site-custom-template-modal__no-results\"\n\t\t\t\t>\n\t\t\t\t\t{ labels.not_found }\n\t\t\t\t</WCText>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction AddCustomTemplateModalContent( {\n\tonSelect,\n\tentityForSuggestions,\n\tonBack,\n\tcontainerRef,\n} ) {\n\tconst [ showSearchEntities, setShowSearchEntities ] = useState(\n\t\tentityForSuggestions.hasGeneralTemplate\n\t);\n\n\t// Focus on the first focusable element when the modal opens.\n\t// We handle focus management in the parent modal, just need to focus on the first focusable element.\n\tuseEffect( () => {\n\t\tif ( containerRef.current ) {\n\t\t\tconst [ firstFocusable ] = focus.focusable.find(\n\t\t\t\tcontainerRef.current\n\t\t\t);\n\t\t\tfirstFocusable?.focus();\n\t\t}\n\t}, [ showSearchEntities ] );\n\n\treturn (\n\t\t<VStack\n\t\t\tspacing={ 4 }\n\t\t\tclassName=\"edit-site-custom-template-modal__contents-wrapper\"\n\t\t\talignment=\"left\"\n\t\t>\n\t\t\t{ ! showSearchEntities && (\n\t\t\t\t<>\n\t\t\t\t\t<WCText as=\"p\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Select whether to create a single template for all items or a specific one.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</WCText>\n\t\t\t\t\t<Flex\n\t\t\t\t\t\tclassName=\"edit-site-custom-template-modal__contents\"\n\t\t\t\t\t\tgap=\"4\"\n\t\t\t\t\t\talign=\"initial\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\t\tslug,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\t\t\ttemplatePrefix,\n\t\t\t\t\t\t\t\t} = entityForSuggestions.template;\n\t\t\t\t\t\t\t\tonSelect( {\n\t\t\t\t\t\t\t\t\tslug,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\t\t\ttemplatePrefix,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<WCText\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tweight=\"var(--wpds-typography-font-weight-emphasis, 600)\"\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ entityForSuggestions.labels.all_items }\n\t\t\t\t\t\t\t</WCText>\n\t\t\t\t\t\t\t<WCText\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// translators: The user is given the choice to set up a template for all items of a post type or taxonomy, or just a specific one.\n\t\t\t\t\t\t\t\t\t__( 'For all items' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</WCText>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetShowSearchEntities( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<WCText\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tweight=\"var(--wpds-typography-font-weight-emphasis, 600)\"\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ entityForSuggestions.labels.singular_name }\n\t\t\t\t\t\t\t</WCText>\n\t\t\t\t\t\t\t<WCText\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// translators: The user is given the choice to set up a template for all items of a post type or taxonomy, or just a specific one.\n\t\t\t\t\t\t\t\t\t__( 'For a specific item' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</WCText>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t</Flex>\n\t\t\t\t\t<Flex justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ onBack }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Back' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Flex>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ showSearchEntities && (\n\t\t\t\t<>\n\t\t\t\t\t<WCText as=\"p\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'This template will be used only for the specific item chosen.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</WCText>\n\t\t\t\t\t<SuggestionList\n\t\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t/>\n\t\t\t\t\t<Flex justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t// If general template exists, go directly back to main screen\n\t\t\t\t\t\t\t\t// instead of showing the choice screen\n\t\t\t\t\t\t\t\tif ( entityForSuggestions.hasGeneralTemplate ) {\n\t\t\t\t\t\t\t\t\tonBack();\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tsetShowSearchEntities( false );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Back' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Flex>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nexport default AddCustomTemplateModalContent;\n"],
5
5
  "mappings": "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",
6
6
  "names": ["WCText", "VStack"]
@@ -27,7 +27,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
 
30
- // packages/edit-site/src/components/add-new-template-legacy/index.js
30
+ // packages/edit-site/src/components/add-new-template-legacy/index.jsx
31
31
  var add_new_template_legacy_exports = {};
32
32
  __export(add_new_template_legacy_exports, {
33
33
  default: () => add_new_template_legacy_default
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/add-new-template-legacy/index.js"],
3
+ "sources": ["../../../src/components/add-new-template-legacy/index.jsx"],
4
4
  "sourcesContent": ["import clsx from 'clsx';\nimport {\n\tButton,\n\tModal,\n\t__experimentalGrid as Grid,\n\t__experimentalText as WCText,\n\t__experimentalVStack as VStack,\n\tFlex,\n\tIcon as WCIcon,\n} from '@wordpress/components';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useState, memo, useRef, useEffect } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tarchive,\n\tblockMeta,\n\tcalendar,\n\tcategory,\n\tcommentAuthorAvatar,\n\tpencil,\n\thome,\n\tlayout,\n\tlist,\n\tmedia,\n\tnotFound,\n\tpage,\n\tpin,\n\tverse,\n\tsearch,\n\ttag,\n} from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { focus } from '@wordpress/dom';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport AddCustomTemplateModalContent from './add-custom-template-modal-content';\nimport {\n\tuseExistingTemplates,\n\tuseDefaultTemplateTypes,\n\tuseTaxonomiesMenuItems,\n\tusePostTypeMenuItems,\n\tuseAuthorMenuItem,\n\tusePostTypeArchiveMenuItems,\n} from './utils';\nimport AddCustomGenericTemplateModalContent from './add-custom-generic-template-modal-content';\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst DEFAULT_TEMPLATE_SLUGS = [\n\t'front-page',\n\t'home',\n\t'single',\n\t'page',\n\t'index',\n\t'archive',\n\t'author',\n\t'category',\n\t'date',\n\t'tag',\n\t'search',\n\t'404',\n];\n\nconst TEMPLATE_ICONS = {\n\t'front-page': home,\n\thome: verse,\n\tsingle: pin,\n\tpage,\n\tarchive,\n\tsearch,\n\t404: notFound,\n\tindex: list,\n\tcategory,\n\tauthor: commentAuthorAvatar,\n\ttaxonomy: blockMeta,\n\tdate: calendar,\n\ttag,\n\tattachment: media,\n};\n\nfunction TemplateListItem( {\n\ttitle,\n\tdirection,\n\tclassName,\n\tdescription,\n\ticon,\n\tonClick,\n\tchildren,\n} ) {\n\treturn (\n\t\t<Button\n\t\t\t__next40pxDefaultSize\n\t\t\tclassName={ className }\n\t\t\tonClick={ onClick }\n\t\t\tlabel={ description }\n\t\t\tshowTooltip={ !! description }\n\t\t>\n\t\t\t<Flex\n\t\t\t\tas=\"span\"\n\t\t\t\tspacing={ 2 }\n\t\t\t\talign=\"center\"\n\t\t\t\tjustify=\"center\"\n\t\t\t\tstyle={ { width: '100%' } }\n\t\t\t\tdirection={ direction }\n\t\t\t>\n\t\t\t\t<div className=\"edit-site-add-new-template__template-icon\">\n\t\t\t\t\t<WCIcon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t\t<VStack\n\t\t\t\t\tclassName=\"edit-site-add-new-template__template-name\"\n\t\t\t\t\talignment=\"center\"\n\t\t\t\t\tspacing={ 0 }\n\t\t\t\t>\n\t\t\t\t\t<WCText\n\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\tweight=\"var(--wpds-typography-font-weight-emphasis, 600)\"\n\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</WCText>\n\t\t\t\t\t{ children }\n\t\t\t\t</VStack>\n\t\t\t</Flex>\n\t\t</Button>\n\t);\n}\n\nconst modalContentMap = {\n\ttemplatesList: 1,\n\tcustomTemplate: 2,\n\tcustomGenericTemplate: 3,\n};\n\nfunction NewTemplateModal( { onClose } ) {\n\tconst [ modalContent, setModalContent ] = useState(\n\t\tmodalContentMap.templatesList\n\t);\n\tconst [ entityForSuggestions, setEntityForSuggestions ] = useState( {} );\n\tconst [ isSubmitting, setIsSubmitting ] = useState( false );\n\tconst missingTemplates = useMissingTemplates( setEntityForSuggestions, () =>\n\t\tsetModalContent( modalContentMap.customTemplate )\n\t);\n\tconst history = useHistory();\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst containerRef = useRef( null );\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\n\tconst homeUrl = useSelect( ( select ) => {\n\t\t// Site index.\n\t\treturn select( coreStore ).getEntityRecord( 'root', '__unstableBase' )\n\t\t\t?.home;\n\t}, [] );\n\n\tconst TEMPLATE_SHORT_DESCRIPTIONS = {\n\t\t'front-page': homeUrl,\n\t\tdate: sprintf(\n\t\t\t// translators: %s: The homepage url.\n\t\t\t__( 'E.g. %s' ),\n\t\t\thomeUrl + '/' + new Date().getFullYear()\n\t\t),\n\t};\n\n\tuseEffect( () => {\n\t\t// Focus the first focusable element when component mounts or UI changes\n\t\t// We don't want to focus on the other modals because they have their own focus management.\n\t\tif (\n\t\t\tcontainerRef.current &&\n\t\t\tmodalContent === modalContentMap.templatesList\n\t\t) {\n\t\t\tconst [ firstFocusable ] = focus.focusable.find(\n\t\t\t\tcontainerRef.current\n\t\t\t);\n\t\t\tfirstFocusable?.focus();\n\t\t}\n\t}, [ modalContent ] );\n\n\tasync function createTemplate( template, isWPSuggestion = true ) {\n\t\tif ( isSubmitting ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsSubmitting( true );\n\t\ttry {\n\t\t\tconst { title, description, slug } = template;\n\t\t\tconst newTemplate = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t{\n\t\t\t\t\tdescription,\n\t\t\t\t\t// Slugs need to be strings, so this is for template `404`\n\t\t\t\t\tslug: slug.toString(),\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\ttitle,\n\t\t\t\t\t// This adds a post meta field in template that is part of `is_custom` value calculation.\n\t\t\t\t\tis_wp_suggestion: isWPSuggestion,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\t// Navigate to the created template editor.\n\t\t\thistory.navigate(\n\t\t\t\t`/${ TEMPLATE_POST_TYPE }/${ newTemplate.id }?canvas=edit`\n\t\t\t);\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: Title of the created post or template, e.g: \"Hello world\".\n\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\tdecodeEntities( newTemplate.title?.rendered || title ) ||\n\t\t\t\t\t\t__( '(no title)' )\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while creating the template.' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t} finally {\n\t\t\tsetIsSubmitting( false );\n\t\t}\n\t}\n\tconst onModalClose = () => {\n\t\tonClose();\n\t\tsetModalContent( modalContentMap.templatesList );\n\t};\n\n\tlet modalTitle = __( 'Add template' );\n\tif ( modalContent === modalContentMap.customTemplate ) {\n\t\tmodalTitle = sprintf(\n\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t__( 'Add template: %s' ),\n\t\t\tentityForSuggestions.labels.singular_name\n\t\t);\n\t} else if ( modalContent === modalContentMap.customGenericTemplate ) {\n\t\tmodalTitle = __( 'Create custom template' );\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ modalTitle }\n\t\t\tclassName={ clsx( 'edit-site-add-new-template__modal', {\n\t\t\t\t'edit-site-add-new-template__modal_template_list':\n\t\t\t\t\tmodalContent === modalContentMap.templatesList,\n\t\t\t\t'edit-site-custom-template-modal':\n\t\t\t\t\tmodalContent === modalContentMap.customTemplate,\n\t\t\t} ) }\n\t\t\tonRequestClose={ onModalClose }\n\t\t\toverlayClassName={\n\t\t\t\tmodalContent === modalContentMap.customGenericTemplate\n\t\t\t\t\t? 'edit-site-custom-generic-template__modal'\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\tref={ containerRef }\n\t\t>\n\t\t\t{ modalContent === modalContentMap.templatesList && (\n\t\t\t\t<Grid\n\t\t\t\t\tcolumns={ isMobile ? 2 : 3 }\n\t\t\t\t\tgap={ 4 }\n\t\t\t\t\talign=\"flex-start\"\n\t\t\t\t\tjustify=\"center\"\n\t\t\t\t\tclassName=\"edit-site-add-new-template__template-list__contents\"\n\t\t\t\t>\n\t\t\t\t\t<Flex className=\"edit-site-add-new-template__template-list__prompt\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Select what the new template should apply to:'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Flex>\n\t\t\t\t\t{ missingTemplates.map( ( template ) => {\n\t\t\t\t\t\tconst { title, slug, onClick } = template;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\t\t\tdirection=\"column\"\n\t\t\t\t\t\t\t\tclassName=\"edit-site-add-new-template__template-button\"\n\t\t\t\t\t\t\t\tdescription={\n\t\t\t\t\t\t\t\t\tTEMPLATE_SHORT_DESCRIPTIONS[ slug ]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ticon={ TEMPLATE_ICONS[ slug ] || layout }\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tonClick\n\t\t\t\t\t\t\t\t\t\t? onClick( template )\n\t\t\t\t\t\t\t\t\t\t: createTemplate( template )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\ttitle={ __( 'Custom template' ) }\n\t\t\t\t\t\tdirection=\"row\"\n\t\t\t\t\t\tclassName=\"edit-site-add-new-template__custom-template-button\"\n\t\t\t\t\t\ticon={ pencil }\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\tsetModalContent(\n\t\t\t\t\t\t\t\tmodalContentMap.customGenericTemplate\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<WCText\n\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'A custom template can be manually applied to any post or page.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</WCText>\n\t\t\t\t\t</TemplateListItem>\n\t\t\t\t</Grid>\n\t\t\t) }\n\t\t\t{ modalContent === modalContentMap.customTemplate && (\n\t\t\t\t<AddCustomTemplateModalContent\n\t\t\t\t\tonSelect={ createTemplate }\n\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t\tonBack={ () =>\n\t\t\t\t\t\tsetModalContent( modalContentMap.templatesList )\n\t\t\t\t\t}\n\t\t\t\t\tcontainerRef={ containerRef }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ modalContent === modalContentMap.customGenericTemplate && (\n\t\t\t\t<AddCustomGenericTemplateModalContent\n\t\t\t\t\tcreateTemplate={ createTemplate }\n\t\t\t\t\tonBack={ () =>\n\t\t\t\t\t\tsetModalContent( modalContentMap.templatesList )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Modal>\n\t);\n}\n\nfunction NewTemplate() {\n\tconst [ showModal, setShowModal ] = useState( false );\n\n\tconst { postType } = useSelect( ( select ) => {\n\t\tconst { getPostType } = select( coreStore );\n\n\t\treturn {\n\t\t\tpostType: getPostType( TEMPLATE_POST_TYPE ),\n\t\t};\n\t}, [] );\n\n\tif ( ! postType ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tonClick={ () => setShowModal( true ) }\n\t\t\t\tlabel={ postType.labels.add_new_item }\n\t\t\t\tsize=\"compact\"\n\t\t\t\t__next40pxDefaultSize\n\t\t\t>\n\t\t\t\t{ postType.labels.add_new_item }\n\t\t\t</Button>\n\t\t\t{ showModal && (\n\t\t\t\t<NewTemplateModal onClose={ () => setShowModal( false ) } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction useMissingTemplates( setEntityForSuggestions, onClick ) {\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst existingTemplateSlugs = ( existingTemplates || [] ).map(\n\t\t( { slug } ) => slug\n\t);\n\tconst missingDefaultTemplates = ( defaultTemplateTypes || [] ).filter(\n\t\t( template ) =>\n\t\t\tDEFAULT_TEMPLATE_SLUGS.includes( template.slug ) &&\n\t\t\t! existingTemplateSlugs.includes( template.slug )\n\t);\n\tconst onClickMenuItem = ( _entityForSuggestions ) => {\n\t\tonClick?.();\n\t\tsetEntityForSuggestions( _entityForSuggestions );\n\t};\n\t// We need to replace existing default template types with\n\t// the create specific template functionality. The original\n\t// info (title, description, etc.) is preserved in the\n\t// used hooks.\n\tconst enhancedMissingDefaultTemplateTypes = [ ...missingDefaultTemplates ];\n\tconst { defaultTaxonomiesMenuItems, taxonomiesMenuItems } =\n\t\tuseTaxonomiesMenuItems( onClickMenuItem );\n\tconst { defaultPostTypesMenuItems, postTypesMenuItems } =\n\t\tusePostTypeMenuItems( onClickMenuItem );\n\n\tconst authorMenuItem = useAuthorMenuItem( onClickMenuItem );\n\t[\n\t\t...defaultTaxonomiesMenuItems,\n\t\t...defaultPostTypesMenuItems,\n\t\tauthorMenuItem,\n\t].forEach( ( menuItem ) => {\n\t\tif ( ! menuItem ) {\n\t\t\treturn;\n\t\t}\n\t\tconst matchIndex = enhancedMissingDefaultTemplateTypes.findIndex(\n\t\t\t( template ) => template.slug === menuItem.slug\n\t\t);\n\t\t// Some default template types might have been filtered above from\n\t\t// `missingDefaultTemplates` because they only check for the general\n\t\t// template. So here we either replace or append the item, augmented\n\t\t// with the check if it has available specific item to create a\n\t\t// template for.\n\t\tif ( matchIndex > -1 ) {\n\t\t\tenhancedMissingDefaultTemplateTypes[ matchIndex ] = menuItem;\n\t\t} else {\n\t\t\tenhancedMissingDefaultTemplateTypes.push( menuItem );\n\t\t}\n\t} );\n\t// Update the sort order to match the DEFAULT_TEMPLATE_SLUGS order.\n\tenhancedMissingDefaultTemplateTypes?.sort( ( template1, template2 ) => {\n\t\treturn (\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template1.slug ) -\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template2.slug )\n\t\t);\n\t} );\n\tconst missingTemplates = [\n\t\t...enhancedMissingDefaultTemplateTypes,\n\t\t...usePostTypeArchiveMenuItems(),\n\t\t...postTypesMenuItems,\n\t\t...taxonomiesMenuItems,\n\t];\n\treturn missingTemplates;\n}\n\nexport default memo( NewTemplate );\n"],
5
5
  "mappings": "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",
6
6
  "names": ["routerPrivateApis", "WCIcon", "VStack", "WCText", "coreStore", "noticesStore", "clsx", "Grid", "AddCustomTemplateModalContent", "AddCustomGenericTemplateModalContent"]
@@ -27,7 +27,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
 
30
- // packages/edit-site/src/components/app/index.js
30
+ // packages/edit-site/src/components/app/index.jsx
31
31
  var app_exports = {};
32
32
  __export(app_exports, {
33
33
  default: () => App
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/app/index.js"],
3
+ "sources": ["../../../src/components/app/index.jsx"],
4
4
  "sourcesContent": ["import { useSelect } from '@wordpress/data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport Layout from '../layout';\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport { useCommonCommands } from '../../hooks/commands/use-common-commands';\nimport useSetCommandContext from '../../hooks/commands/use-set-command-context';\nimport { useRegisterSiteEditorRoutes } from '../site-editor-routes';\nimport {\n\tcurrentlyPreviewingTheme,\n\tisPreviewingTheme,\n} from '../../utils/is-previewing-theme';\n\nconst { RouterProvider } = unlock( routerPrivateApis );\n\nfunction AppLayout() {\n\tuseCommonCommands();\n\tuseSetCommandContext();\n\n\treturn <Layout />;\n}\n\nexport default function App() {\n\tuseRegisterSiteEditorRoutes();\n\tconst { routes, currentTheme, editorSettings } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\troutes: unlock( select( editSiteStore ) ).getRoutes(),\n\t\t\tcurrentTheme: select( coreStore ).getCurrentTheme(),\n\t\t\t// This is a temp solution until the has_theme_json value is available for the current theme.\n\t\t\teditorSettings: select( editSiteStore ).getSettings(),\n\t\t};\n\t}, [] );\n\n\tconst beforeNavigate = useCallback( ( { path, query } ) => {\n\t\tif ( ! isPreviewingTheme() ) {\n\t\t\treturn { path, query };\n\t\t}\n\n\t\treturn {\n\t\t\tpath,\n\t\t\tquery: {\n\t\t\t\t...query,\n\t\t\t\twp_theme_preview:\n\t\t\t\t\t'wp_theme_preview' in query\n\t\t\t\t\t\t? query.wp_theme_preview\n\t\t\t\t\t\t: currentlyPreviewingTheme(),\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\tconst matchResolverArgsValue = useMemo(\n\t\t() => ( {\n\t\t\tsiteData: { currentTheme, editorSettings },\n\t\t} ),\n\t\t[ currentTheme, editorSettings ]\n\t);\n\n\treturn (\n\t\t<RouterProvider\n\t\t\troutes={ routes }\n\t\t\tpathArg=\"p\"\n\t\t\tbeforeNavigate={ beforeNavigate }\n\t\t\tmatchResolverArgs={ matchResolverArgsValue }\n\t\t>\n\t\t\t<AppLayout />\n\t\t</RouterProvider>\n\t);\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA0B;AAC1B,oBAAiD;AACjD,qBAAqC;AACrC,uBAAmC;AACnC,oBAAmB;AACnB,yBAAuB;AACvB,mBAAuC;AACvC,iCAAkC;AAClC,qCAAiC;AACjC,gCAA4C;AAC5C,iCAGO;AAQC;AANR,IAAM,EAAE,eAAe,QAAI,2BAAQ,cAAAA,WAAkB;AAErD,SAAS,YAAY;AACpB,oDAAkB;AAClB,qCAAAC,SAAqB;AAErB,SAAO,4CAAC,cAAAC,SAAA,EAAO;AAChB;AAEe,SAAR,MAAuB;AAC7B,6DAA4B;AAC5B,QAAM,EAAE,QAAQ,cAAc,eAAe,QAAI,uBAAW,CAAE,WAAY;AACzE,WAAO;AAAA,MACN,YAAQ,2BAAQ,OAAQ,aAAAC,KAAc,CAAE,EAAE,UAAU;AAAA,MACpD,cAAc,OAAQ,iBAAAC,KAAU,EAAE,gBAAgB;AAAA;AAAA,MAElD,gBAAgB,OAAQ,aAAAD,KAAc,EAAE,YAAY;AAAA,IACrD;AAAA,EACD,GAAG,CAAC,CAAE;AAEN,QAAM,qBAAiB,4BAAa,CAAE,EAAE,MAAM,MAAM,MAAO;AAC1D,QAAK,KAAE,8CAAkB,GAAI;AAC5B,aAAO,EAAE,MAAM,MAAM;AAAA,IACtB;AAEA,WAAO;AAAA,MACN;AAAA,MACA,OAAO;AAAA,QACN,GAAG;AAAA,QACH,kBACC,sBAAsB,QACnB,MAAM,uBACN,qDAAyB;AAAA,MAC9B;AAAA,IACD;AAAA,EACD,GAAG,CAAC,CAAE;AAEN,QAAM,6BAAyB;AAAA,IAC9B,OAAQ;AAAA,MACP,UAAU,EAAE,cAAc,eAAe;AAAA,IAC1C;AAAA,IACA,CAAE,cAAc,cAAe;AAAA,EAChC;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA,SAAQ;AAAA,MACR;AAAA,MACA,mBAAoB;AAAA,MAEpB,sDAAC,aAAU;AAAA;AAAA,EACZ;AAEF;",
6
6
  "names": ["routerPrivateApis", "useSetCommandContext", "Layout", "editSiteStore", "coreStore"]
@@ -30,18 +30,13 @@ var import_url = require("@wordpress/url");
30
30
  var import_core_data = require("@wordpress/core-data");
31
31
  var import_editor = require("@wordpress/editor");
32
32
  var import_lock_unlock = require("../../lock-unlock.cjs");
33
- var import_use_viewport_sync = require("./use-viewport-sync.cjs");
33
+ var import_viewport = require("./viewport.cjs");
34
34
  var { useHistory, useLocation } = (0, import_lock_unlock.unlock)(import_router.privateApis);
35
- var VALID_VIEWPORTS = ["desktop", "tablet", "mobile"];
36
35
  function useNavigateToEntityRecord() {
37
36
  const history = useHistory();
38
37
  const location = useLocation();
39
38
  const { query, path } = location;
40
39
  const registry = (0, import_data.useRegistry)();
41
- const currentDeviceType = (0, import_data.useSelect)(
42
- (select) => select(import_editor.store).getDeviceType(),
43
- []
44
- );
45
40
  const onNavigateToEntityRecord = (0, import_element.useCallback)(
46
41
  (params) => {
47
42
  const currentPostType = registry.select(import_editor.store).getCurrentPostType();
@@ -55,23 +50,12 @@ function useNavigateToEntityRecord() {
55
50
  const urlUpdates = { ...query };
56
51
  if (externalClientId) {
57
52
  urlUpdates.selectedBlock = externalClientId;
58
- }
59
- const requestedViewport = typeof params.viewport === "string" ? params.viewport.toLowerCase() : void 0;
60
- const isValidRequestedViewport = VALID_VIEWPORTS.includes(requestedViewport);
61
- if (isValidRequestedViewport) {
62
- const currentViewportLower = (currentDeviceType || import_use_viewport_sync.DEFAULT_DEVICE_TYPE).toLowerCase();
63
- if (currentViewportLower === import_use_viewport_sync.DEFAULT_DEVICE_TYPE.toLowerCase()) {
64
- delete urlUpdates.viewport;
65
- } else {
66
- urlUpdates.viewport = currentViewportLower;
67
- }
68
- }
69
- const hasUpdatesToSave = externalClientId || isValidRequestedViewport;
70
- if (hasUpdatesToSave) {
71
53
  history.navigate((0, import_url.addQueryArgs)(path, urlUpdates), {
72
54
  replace: true
73
55
  });
74
56
  }
57
+ const requestedViewport = typeof params.viewport === "string" ? params.viewport.toLowerCase() : void 0;
58
+ const isValidRequestedViewport = (0, import_viewport.isValidViewport)(requestedViewport);
75
59
  const queryArgs = {
76
60
  canvas: "edit",
77
61
  focusMode: true
@@ -85,7 +69,7 @@ function useNavigateToEntityRecord() {
85
69
  );
86
70
  history.navigate(url);
87
71
  },
88
- [history, path, query, registry, currentDeviceType]
72
+ [history, path, query, registry]
89
73
  );
90
74
  return onNavigateToEntityRecord;
91
75
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/block-editor/use-navigate-to-entity-record.js"],
4
- "sourcesContent": ["import { useSelect, useRegistry } from '@wordpress/data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useCallback } from '@wordpress/element';\nimport { addQueryArgs } from '@wordpress/url';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { unlock } from '../../lock-unlock';\nimport { DEFAULT_DEVICE_TYPE } from './use-viewport-sync';\n\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\nconst VALID_VIEWPORTS = [ 'desktop', 'tablet', 'mobile' ];\n/**\n * Hook to handle navigation to entity records.\n *\n * @return {Function} Function to navigate to an entity record.\n */\nexport default function useNavigateToEntityRecord() {\n\tconst history = useHistory();\n\tconst location = useLocation();\n\tconst { query, path } = location;\n\tconst registry = useRegistry();\n\tconst currentDeviceType = useSelect(\n\t\t( select ) => select( editorStore ).getDeviceType(),\n\t\t[]\n\t);\n\n\tconst onNavigateToEntityRecord = useCallback(\n\t\t( params ) => {\n\t\t\t// Read entity selection (already has external IDs from onChangeSelection)\n\t\t\tconst currentPostType = registry\n\t\t\t\t.select( editorStore )\n\t\t\t\t.getCurrentPostType();\n\t\t\tconst currentPostId = registry\n\t\t\t\t.select( editorStore )\n\t\t\t\t.getCurrentPostId();\n\t\t\tconst entityEdits = registry\n\t\t\t\t.select( coreStore )\n\t\t\t\t.getEntityRecordEdits(\n\t\t\t\t\t'postType',\n\t\t\t\t\tcurrentPostType,\n\t\t\t\t\tcurrentPostId\n\t\t\t\t);\n\t\t\tconst externalClientId =\n\t\t\t\tentityEdits?.selection?.selectionStart?.clientId;\n\n\t\t\tconst urlUpdates = { ...query };\n\n\t\t\t// Store the selected block in the URL for restoration when navigating back.\n\t\t\tif ( externalClientId ) {\n\t\t\t\turlUpdates.selectedBlock = externalClientId;\n\t\t\t}\n\n\t\t\t// Save the current viewport for when we navigate back (e.g. from overlay editor).\n\t\t\t// Omit viewport from URL when it's the default to keep URLs clean.\n\t\t\tconst requestedViewport =\n\t\t\t\ttypeof params.viewport === 'string'\n\t\t\t\t\t? params.viewport.toLowerCase()\n\t\t\t\t\t: undefined;\n\t\t\tconst isValidRequestedViewport =\n\t\t\t\tVALID_VIEWPORTS.includes( requestedViewport );\n\n\t\t\tif ( isValidRequestedViewport ) {\n\t\t\t\tconst currentViewportLower = (\n\t\t\t\t\tcurrentDeviceType || DEFAULT_DEVICE_TYPE\n\t\t\t\t).toLowerCase();\n\t\t\t\tif (\n\t\t\t\t\tcurrentViewportLower === DEFAULT_DEVICE_TYPE.toLowerCase()\n\t\t\t\t) {\n\t\t\t\t\tdelete urlUpdates.viewport;\n\t\t\t\t} else {\n\t\t\t\t\turlUpdates.viewport = currentViewportLower;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst hasUpdatesToSave =\n\t\t\t\texternalClientId || isValidRequestedViewport;\n\t\t\tif ( hasUpdatesToSave ) {\n\t\t\t\thistory.navigate( addQueryArgs( path, urlUpdates ), {\n\t\t\t\t\treplace: true,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Navigate to the new entity record\n\t\t\tconst queryArgs = {\n\t\t\t\tcanvas: 'edit',\n\t\t\t\tfocusMode: true,\n\t\t\t};\n\t\t\tif ( isValidRequestedViewport ) {\n\t\t\t\tqueryArgs.viewport = requestedViewport;\n\t\t\t}\n\t\t\tconst url = addQueryArgs(\n\t\t\t\t`/${ params.postType }/${ params.postId }`,\n\t\t\t\tqueryArgs\n\t\t\t);\n\n\t\t\thistory.navigate( url );\n\t\t},\n\t\t[ history, path, query, registry, currentDeviceType ]\n\t);\n\n\treturn onNavigateToEntityRecord;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAuC;AACvC,oBAAiD;AACjD,qBAA4B;AAC5B,iBAA6B;AAC7B,uBAAmC;AACnC,oBAAqC;AACrC,yBAAuB;AACvB,+BAAoC;AAEpC,IAAM,EAAE,YAAY,YAAY,QAAI,2BAAQ,cAAAA,WAAkB;AAE9D,IAAM,kBAAkB,CAAE,WAAW,UAAU,QAAS;AAMzC,SAAR,4BAA6C;AACnD,QAAM,UAAU,WAAW;AAC3B,QAAM,WAAW,YAAY;AAC7B,QAAM,EAAE,OAAO,KAAK,IAAI;AACxB,QAAM,eAAW,yBAAY;AAC7B,QAAM,wBAAoB;AAAA,IACzB,CAAE,WAAY,OAAQ,cAAAC,KAAY,EAAE,cAAc;AAAA,IAClD,CAAC;AAAA,EACF;AAEA,QAAM,+BAA2B;AAAA,IAChC,CAAE,WAAY;AAEb,YAAM,kBAAkB,SACtB,OAAQ,cAAAA,KAAY,EACpB,mBAAmB;AACrB,YAAM,gBAAgB,SACpB,OAAQ,cAAAA,KAAY,EACpB,iBAAiB;AACnB,YAAM,cAAc,SAClB,OAAQ,iBAAAC,KAAU,EAClB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD;AACD,YAAM,mBACL,aAAa,WAAW,gBAAgB;AAEzC,YAAM,aAAa,EAAE,GAAG,MAAM;AAG9B,UAAK,kBAAmB;AACvB,mBAAW,gBAAgB;AAAA,MAC5B;AAIA,YAAM,oBACL,OAAO,OAAO,aAAa,WACxB,OAAO,SAAS,YAAY,IAC5B;AACJ,YAAM,2BACL,gBAAgB,SAAU,iBAAkB;AAE7C,UAAK,0BAA2B;AAC/B,cAAM,wBACL,qBAAqB,8CACpB,YAAY;AACd,YACC,yBAAyB,6CAAoB,YAAY,GACxD;AACD,iBAAO,WAAW;AAAA,QACnB,OAAO;AACN,qBAAW,WAAW;AAAA,QACvB;AAAA,MACD;AAEA,YAAM,mBACL,oBAAoB;AACrB,UAAK,kBAAmB;AACvB,gBAAQ,aAAU,yBAAc,MAAM,UAAW,GAAG;AAAA,UACnD,SAAS;AAAA,QACV,CAAE;AAAA,MACH;AAGA,YAAM,YAAY;AAAA,QACjB,QAAQ;AAAA,QACR,WAAW;AAAA,MACZ;AACA,UAAK,0BAA2B;AAC/B,kBAAU,WAAW;AAAA,MACtB;AACA,YAAM,UAAM;AAAA,QACX,IAAK,OAAO,QAAS,IAAK,OAAO,MAAO;AAAA,QACxC;AAAA,MACD;AAEA,cAAQ,SAAU,GAAI;AAAA,IACvB;AAAA,IACA,CAAE,SAAS,MAAM,OAAO,UAAU,iBAAkB;AAAA,EACrD;AAEA,SAAO;AACR;",
4
+ "sourcesContent": ["import { useRegistry } from '@wordpress/data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useCallback } from '@wordpress/element';\nimport { addQueryArgs } from '@wordpress/url';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { unlock } from '../../lock-unlock';\nimport { isValidViewport } from './viewport';\n\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\n/**\n * Hook to handle navigation to entity records.\n *\n * @return {Function} Function to navigate to an entity record.\n */\nexport default function useNavigateToEntityRecord() {\n\tconst history = useHistory();\n\tconst location = useLocation();\n\tconst { query, path } = location;\n\tconst registry = useRegistry();\n\n\tconst onNavigateToEntityRecord = useCallback(\n\t\t( params ) => {\n\t\t\t// Read entity selection (already has external IDs from onChangeSelection)\n\t\t\tconst currentPostType = registry\n\t\t\t\t.select( editorStore )\n\t\t\t\t.getCurrentPostType();\n\t\t\tconst currentPostId = registry\n\t\t\t\t.select( editorStore )\n\t\t\t\t.getCurrentPostId();\n\t\t\tconst entityEdits = registry\n\t\t\t\t.select( coreStore )\n\t\t\t\t.getEntityRecordEdits(\n\t\t\t\t\t'postType',\n\t\t\t\t\tcurrentPostType,\n\t\t\t\t\tcurrentPostId\n\t\t\t\t);\n\t\t\tconst externalClientId =\n\t\t\t\tentityEdits?.selection?.selectionStart?.clientId;\n\n\t\t\tconst urlUpdates = { ...query };\n\n\t\t\t// Store the selected block in the URL for restoration when navigating back.\n\t\t\tif ( externalClientId ) {\n\t\t\t\turlUpdates.selectedBlock = externalClientId;\n\t\t\t\thistory.navigate( addQueryArgs( path, urlUpdates ), {\n\t\t\t\t\treplace: true,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// The width an entity is asked to be edited at is where it opens,\n\t\t\t// not something the entity being left carries away: a width set from\n\t\t\t// the device preview is view state, and an entity that asks for none\n\t\t\t// opens at the default.\n\t\t\tconst requestedViewport =\n\t\t\t\ttypeof params.viewport === 'string'\n\t\t\t\t\t? params.viewport.toLowerCase()\n\t\t\t\t\t: undefined;\n\t\t\tconst isValidRequestedViewport =\n\t\t\t\tisValidViewport( requestedViewport );\n\n\t\t\t// Navigate to the new entity record\n\t\t\tconst queryArgs = {\n\t\t\t\tcanvas: 'edit',\n\t\t\t\tfocusMode: true,\n\t\t\t};\n\t\t\tif ( isValidRequestedViewport ) {\n\t\t\t\tqueryArgs.viewport = requestedViewport;\n\t\t\t}\n\t\t\tconst url = addQueryArgs(\n\t\t\t\t`/${ params.postType }/${ params.postId }`,\n\t\t\t\tqueryArgs\n\t\t\t);\n\n\t\t\thistory.navigate( url );\n\t\t},\n\t\t[ history, path, query, registry ]\n\t);\n\n\treturn onNavigateToEntityRecord;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA4B;AAC5B,oBAAiD;AACjD,qBAA4B;AAC5B,iBAA6B;AAC7B,uBAAmC;AACnC,oBAAqC;AACrC,yBAAuB;AACvB,sBAAgC;AAEhC,IAAM,EAAE,YAAY,YAAY,QAAI,2BAAQ,cAAAA,WAAkB;AAO/C,SAAR,4BAA6C;AACnD,QAAM,UAAU,WAAW;AAC3B,QAAM,WAAW,YAAY;AAC7B,QAAM,EAAE,OAAO,KAAK,IAAI;AACxB,QAAM,eAAW,yBAAY;AAE7B,QAAM,+BAA2B;AAAA,IAChC,CAAE,WAAY;AAEb,YAAM,kBAAkB,SACtB,OAAQ,cAAAC,KAAY,EACpB,mBAAmB;AACrB,YAAM,gBAAgB,SACpB,OAAQ,cAAAA,KAAY,EACpB,iBAAiB;AACnB,YAAM,cAAc,SAClB,OAAQ,iBAAAC,KAAU,EAClB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD;AACD,YAAM,mBACL,aAAa,WAAW,gBAAgB;AAEzC,YAAM,aAAa,EAAE,GAAG,MAAM;AAG9B,UAAK,kBAAmB;AACvB,mBAAW,gBAAgB;AAC3B,gBAAQ,aAAU,yBAAc,MAAM,UAAW,GAAG;AAAA,UACnD,SAAS;AAAA,QACV,CAAE;AAAA,MACH;AAMA,YAAM,oBACL,OAAO,OAAO,aAAa,WACxB,OAAO,SAAS,YAAY,IAC5B;AACJ,YAAM,+BACL,iCAAiB,iBAAkB;AAGpC,YAAM,YAAY;AAAA,QACjB,QAAQ;AAAA,QACR,WAAW;AAAA,MACZ;AACA,UAAK,0BAA2B;AAC/B,kBAAU,WAAW;AAAA,MACtB;AACA,YAAM,UAAM;AAAA,QACX,IAAK,OAAO,QAAS,IAAK,OAAO,MAAO;AAAA,QACxC;AAAA,MACD;AAEA,cAAQ,SAAU,GAAI;AAAA,IACvB;AAAA,IACA,CAAE,SAAS,MAAM,OAAO,QAAS;AAAA,EAClC;AAEA,SAAO;AACR;",
6
6
  "names": ["routerPrivateApis", "editorStore", "coreStore"]
7
7
  }
@@ -94,7 +94,6 @@ function useSpecificEditorSettings() {
94
94
  __experimentalFeatures: globalSettings,
95
95
  richEditingEnabled: true,
96
96
  supportsTemplateMode: true,
97
- focusMode: canvas !== "view",
98
97
  onNavigateToEntityRecord,
99
98
  onNavigateToPreviousEntityRecord,
100
99
  isPreviewMode: canvas === "view"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/block-editor/use-site-editor-settings.js"],
4
- "sourcesContent": ["import { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { usePrevious } from '@wordpress/compose';\nimport {\n\tstore as editorStore,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { generateGlobalStyles } from '@wordpress/global-styles-engine';\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport useNavigateToEntityRecord from './use-navigate-to-entity-record';\nimport { FOCUSABLE_ENTITIES } from '../../utils/constants';\n\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\nconst { useGlobalStyles } = unlock( editorPrivateApis );\n\nfunction useNavigateToPreviousEntityRecord() {\n\tconst location = useLocation();\n\tconst previousCanvas = usePrevious( location.query.canvas );\n\tconst history = useHistory();\n\tconst goBack = useMemo( () => {\n\t\tconst isFocusMode =\n\t\t\tlocation.query.focusMode ||\n\t\t\t( location?.params?.postId &&\n\t\t\t\tFOCUSABLE_ENTITIES.includes( location?.params?.postType ) );\n\t\tconst didComeFromEditorCanvas = previousCanvas === 'edit';\n\t\tconst showBackButton = isFocusMode && didComeFromEditorCanvas;\n\t\treturn showBackButton ? () => history.back() : undefined;\n\t}, [ location, history, previousCanvas ] );\n\treturn goBack;\n}\n\nexport function useSpecificEditorSettings() {\n\tconst { query } = useLocation();\n\tconst { canvas = 'view' } = query;\n\tconst onNavigateToEntityRecord = useNavigateToEntityRecord();\n\n\t/*\n\t * Generate global styles directly to avoid circular dependency with GlobalStylesRenderer\n\t * (which runs inside ExperimentalEditorProvider after this hook).\n\t * GlobalStylesRenderer updates editorStore, but reading from it here would cause infinite\n\t * loops. Reading config from useGlobalStyles and generating CSS directly keeps us in sync.\n\t * See: https://github.com/WordPress/gutenberg/issues/73350\n\t */\n\tconst { merged: mergedConfig } = useGlobalStyles();\n\n\tconst { settings, currentPostIsTrashed } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( editSiteStore );\n\t\tconst { getCurrentPostAttribute } = select( editorStore );\n\t\treturn {\n\t\t\tsettings: getSettings(),\n\t\t\tcurrentPostIsTrashed:\n\t\t\t\tgetCurrentPostAttribute( 'status' ) === 'trash',\n\t\t};\n\t}, [] );\n\n\tconst onNavigateToPreviousEntityRecord =\n\t\tuseNavigateToPreviousEntityRecord();\n\n\tconst [ globalStyles, globalSettings ] = useMemo( () => {\n\t\treturn generateGlobalStyles( mergedConfig, [], {\n\t\t\tdisableRootPadding: false,\n\t\t} );\n\t}, [ mergedConfig ] );\n\n\tconst defaultEditorSettings = useMemo( () => {\n\t\t// Preserve non-global styles from settings.styles (e.g., editor styles from add_editor_style)\n\t\tconst nonGlobalStyles = ( settings?.styles ?? [] ).filter(\n\t\t\t( style ) => ! style.isGlobalStyles\n\t\t);\n\n\t\treturn {\n\t\t\t...settings,\n\t\t\tstyles: [\n\t\t\t\t...nonGlobalStyles,\n\t\t\t\t...globalStyles,\n\t\t\t\t{\n\t\t\t\t\t// Forming a \"block formatting context\" to prevent margin collapsing.\n\t\t\t\t\t// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\n\t\t\t\t\tcss:\n\t\t\t\t\t\tcanvas === 'view'\n\t\t\t\t\t\t\t? `body{min-height: 100vh; ${\n\t\t\t\t\t\t\t\t\tcurrentPostIsTrashed\n\t\t\t\t\t\t\t\t\t\t? ''\n\t\t\t\t\t\t\t\t\t\t: 'cursor: pointer;'\n\t\t\t\t\t\t\t }}`\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t},\n\t\t\t],\n\t\t\t__experimentalFeatures: globalSettings,\n\t\t\trichEditingEnabled: true,\n\t\t\tsupportsTemplateMode: true,\n\t\t\tfocusMode: canvas !== 'view',\n\t\t\tonNavigateToEntityRecord,\n\t\t\tonNavigateToPreviousEntityRecord,\n\t\t\tisPreviewMode: canvas === 'view',\n\t\t};\n\t}, [\n\t\tsettings,\n\t\tglobalStyles,\n\t\tglobalSettings,\n\t\tcanvas,\n\t\tcurrentPostIsTrashed,\n\t\tonNavigateToEntityRecord,\n\t\tonNavigateToPreviousEntityRecord,\n\t] );\n\n\treturn defaultEditorSettings;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA0B;AAC1B,qBAAwB;AACxB,oBAAiD;AACjD,qBAA4B;AAC5B,oBAGO;AACP,kCAAqC;AACrC,mBAAuC;AACvC,yBAAuB;AACvB,2CAAsC;AACtC,uBAAmC;AAEnC,IAAM,EAAE,aAAa,WAAW,QAAI,2BAAQ,cAAAA,WAAkB;AAC9D,IAAM,EAAE,gBAAgB,QAAI,2BAAQ,cAAAC,WAAkB;AAEtD,SAAS,oCAAoC;AAC5C,QAAM,WAAW,YAAY;AAC7B,QAAM,qBAAiB,4BAAa,SAAS,MAAM,MAAO;AAC1D,QAAM,UAAU,WAAW;AAC3B,QAAM,aAAS,wBAAS,MAAM;AAC7B,UAAM,cACL,SAAS,MAAM,aACb,UAAU,QAAQ,UACnB,oCAAmB,SAAU,UAAU,QAAQ,QAAS;AAC1D,UAAM,0BAA0B,mBAAmB;AACnD,UAAM,iBAAiB,eAAe;AACtC,WAAO,iBAAiB,MAAM,QAAQ,KAAK,IAAI;AAAA,EAChD,GAAG,CAAE,UAAU,SAAS,cAAe,CAAE;AACzC,SAAO;AACR;AAEO,SAAS,4BAA4B;AAC3C,QAAM,EAAE,MAAM,IAAI,YAAY;AAC9B,QAAM,EAAE,SAAS,OAAO,IAAI;AAC5B,QAAM,+BAA2B,qCAAAC,SAA0B;AAS3D,QAAM,EAAE,QAAQ,aAAa,IAAI,gBAAgB;AAEjD,QAAM,EAAE,UAAU,qBAAqB,QAAI,uBAAW,CAAE,WAAY;AACnE,UAAM,EAAE,YAAY,IAAI,OAAQ,aAAAC,KAAc;AAC9C,UAAM,EAAE,wBAAwB,IAAI,OAAQ,cAAAC,KAAY;AACxD,WAAO;AAAA,MACN,UAAU,YAAY;AAAA,MACtB,sBACC,wBAAyB,QAAS,MAAM;AAAA,IAC1C;AAAA,EACD,GAAG,CAAC,CAAE;AAEN,QAAM,mCACL,kCAAkC;AAEnC,QAAM,CAAE,cAAc,cAAe,QAAI,wBAAS,MAAM;AACvD,eAAO,kDAAsB,cAAc,CAAC,GAAG;AAAA,MAC9C,oBAAoB;AAAA,IACrB,CAAE;AAAA,EACH,GAAG,CAAE,YAAa,CAAE;AAEpB,QAAM,4BAAwB,wBAAS,MAAM;AAE5C,UAAM,mBAAoB,UAAU,UAAU,CAAC,GAAI;AAAA,MAClD,CAAE,UAAW,CAAE,MAAM;AAAA,IACtB;AAEA,WAAO;AAAA,MACN,GAAG;AAAA,MACH,QAAQ;AAAA,QACP,GAAG;AAAA,QACH,GAAG;AAAA,QACH;AAAA;AAAA;AAAA,UAGC,KACC,WAAW,SACR,2BACA,uBACG,KACA,kBACH,MACA;AAAA,QACL;AAAA,MACD;AAAA,MACA,wBAAwB;AAAA,MACxB,oBAAoB;AAAA,MACpB,sBAAsB;AAAA,MACtB,WAAW,WAAW;AAAA,MACtB;AAAA,MACA;AAAA,MACA,eAAe,WAAW;AAAA,IAC3B;AAAA,EACD,GAAG;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAE;AAEF,SAAO;AACR;",
4
+ "sourcesContent": ["import { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { usePrevious } from '@wordpress/compose';\nimport {\n\tstore as editorStore,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { generateGlobalStyles } from '@wordpress/global-styles-engine';\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport useNavigateToEntityRecord from './use-navigate-to-entity-record';\nimport { FOCUSABLE_ENTITIES } from '../../utils/constants';\n\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\nconst { useGlobalStyles } = unlock( editorPrivateApis );\n\nfunction useNavigateToPreviousEntityRecord() {\n\tconst location = useLocation();\n\tconst previousCanvas = usePrevious( location.query.canvas );\n\tconst history = useHistory();\n\tconst goBack = useMemo( () => {\n\t\tconst isFocusMode =\n\t\t\tlocation.query.focusMode ||\n\t\t\t( location?.params?.postId &&\n\t\t\t\tFOCUSABLE_ENTITIES.includes( location?.params?.postType ) );\n\t\tconst didComeFromEditorCanvas = previousCanvas === 'edit';\n\t\tconst showBackButton = isFocusMode && didComeFromEditorCanvas;\n\t\treturn showBackButton ? () => history.back() : undefined;\n\t}, [ location, history, previousCanvas ] );\n\treturn goBack;\n}\n\nexport function useSpecificEditorSettings() {\n\tconst { query } = useLocation();\n\tconst { canvas = 'view' } = query;\n\tconst onNavigateToEntityRecord = useNavigateToEntityRecord();\n\n\t/*\n\t * Generate global styles directly to avoid circular dependency with GlobalStylesRenderer\n\t * (which runs inside ExperimentalEditorProvider after this hook).\n\t * GlobalStylesRenderer updates editorStore, but reading from it here would cause infinite\n\t * loops. Reading config from useGlobalStyles and generating CSS directly keeps us in sync.\n\t * See: https://github.com/WordPress/gutenberg/issues/73350\n\t */\n\tconst { merged: mergedConfig } = useGlobalStyles();\n\n\tconst { settings, currentPostIsTrashed } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( editSiteStore );\n\t\tconst { getCurrentPostAttribute } = select( editorStore );\n\t\treturn {\n\t\t\tsettings: getSettings(),\n\t\t\tcurrentPostIsTrashed:\n\t\t\t\tgetCurrentPostAttribute( 'status' ) === 'trash',\n\t\t};\n\t}, [] );\n\n\tconst onNavigateToPreviousEntityRecord =\n\t\tuseNavigateToPreviousEntityRecord();\n\n\tconst [ globalStyles, globalSettings ] = useMemo( () => {\n\t\treturn generateGlobalStyles( mergedConfig, [], {\n\t\t\tdisableRootPadding: false,\n\t\t} );\n\t}, [ mergedConfig ] );\n\n\tconst defaultEditorSettings = useMemo( () => {\n\t\t// Preserve non-global styles from settings.styles (e.g., editor styles from add_editor_style)\n\t\tconst nonGlobalStyles = ( settings?.styles ?? [] ).filter(\n\t\t\t( style ) => ! style.isGlobalStyles\n\t\t);\n\n\t\treturn {\n\t\t\t...settings,\n\t\t\tstyles: [\n\t\t\t\t...nonGlobalStyles,\n\t\t\t\t...globalStyles,\n\t\t\t\t{\n\t\t\t\t\t// Forming a \"block formatting context\" to prevent margin collapsing.\n\t\t\t\t\t// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\n\t\t\t\t\tcss:\n\t\t\t\t\t\tcanvas === 'view'\n\t\t\t\t\t\t\t? `body{min-height: 100vh; ${\n\t\t\t\t\t\t\t\t\tcurrentPostIsTrashed\n\t\t\t\t\t\t\t\t\t\t? ''\n\t\t\t\t\t\t\t\t\t\t: 'cursor: pointer;'\n\t\t\t\t\t\t\t }}`\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t},\n\t\t\t],\n\t\t\t__experimentalFeatures: globalSettings,\n\t\t\trichEditingEnabled: true,\n\t\t\tsupportsTemplateMode: true,\n\t\t\tonNavigateToEntityRecord,\n\t\t\tonNavigateToPreviousEntityRecord,\n\t\t\tisPreviewMode: canvas === 'view',\n\t\t};\n\t}, [\n\t\tsettings,\n\t\tglobalStyles,\n\t\tglobalSettings,\n\t\tcanvas,\n\t\tcurrentPostIsTrashed,\n\t\tonNavigateToEntityRecord,\n\t\tonNavigateToPreviousEntityRecord,\n\t] );\n\n\treturn defaultEditorSettings;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA0B;AAC1B,qBAAwB;AACxB,oBAAiD;AACjD,qBAA4B;AAC5B,oBAGO;AACP,kCAAqC;AACrC,mBAAuC;AACvC,yBAAuB;AACvB,2CAAsC;AACtC,uBAAmC;AAEnC,IAAM,EAAE,aAAa,WAAW,QAAI,2BAAQ,cAAAA,WAAkB;AAC9D,IAAM,EAAE,gBAAgB,QAAI,2BAAQ,cAAAC,WAAkB;AAEtD,SAAS,oCAAoC;AAC5C,QAAM,WAAW,YAAY;AAC7B,QAAM,qBAAiB,4BAAa,SAAS,MAAM,MAAO;AAC1D,QAAM,UAAU,WAAW;AAC3B,QAAM,aAAS,wBAAS,MAAM;AAC7B,UAAM,cACL,SAAS,MAAM,aACb,UAAU,QAAQ,UACnB,oCAAmB,SAAU,UAAU,QAAQ,QAAS;AAC1D,UAAM,0BAA0B,mBAAmB;AACnD,UAAM,iBAAiB,eAAe;AACtC,WAAO,iBAAiB,MAAM,QAAQ,KAAK,IAAI;AAAA,EAChD,GAAG,CAAE,UAAU,SAAS,cAAe,CAAE;AACzC,SAAO;AACR;AAEO,SAAS,4BAA4B;AAC3C,QAAM,EAAE,MAAM,IAAI,YAAY;AAC9B,QAAM,EAAE,SAAS,OAAO,IAAI;AAC5B,QAAM,+BAA2B,qCAAAC,SAA0B;AAS3D,QAAM,EAAE,QAAQ,aAAa,IAAI,gBAAgB;AAEjD,QAAM,EAAE,UAAU,qBAAqB,QAAI,uBAAW,CAAE,WAAY;AACnE,UAAM,EAAE,YAAY,IAAI,OAAQ,aAAAC,KAAc;AAC9C,UAAM,EAAE,wBAAwB,IAAI,OAAQ,cAAAC,KAAY;AACxD,WAAO;AAAA,MACN,UAAU,YAAY;AAAA,MACtB,sBACC,wBAAyB,QAAS,MAAM;AAAA,IAC1C;AAAA,EACD,GAAG,CAAC,CAAE;AAEN,QAAM,mCACL,kCAAkC;AAEnC,QAAM,CAAE,cAAc,cAAe,QAAI,wBAAS,MAAM;AACvD,eAAO,kDAAsB,cAAc,CAAC,GAAG;AAAA,MAC9C,oBAAoB;AAAA,IACrB,CAAE;AAAA,EACH,GAAG,CAAE,YAAa,CAAE;AAEpB,QAAM,4BAAwB,wBAAS,MAAM;AAE5C,UAAM,mBAAoB,UAAU,UAAU,CAAC,GAAI;AAAA,MAClD,CAAE,UAAW,CAAE,MAAM;AAAA,IACtB;AAEA,WAAO;AAAA,MACN,GAAG;AAAA,MACH,QAAQ;AAAA,QACP,GAAG;AAAA,QACH,GAAG;AAAA,QACH;AAAA;AAAA;AAAA,UAGC,KACC,WAAW,SACR,2BACA,uBACG,KACA,kBACH,MACA;AAAA,QACL;AAAA,MACD;AAAA,MACA,wBAAwB;AAAA,MACxB,oBAAoB;AAAA,MACpB,sBAAsB;AAAA,MACtB;AAAA,MACA;AAAA,MACA,eAAe,WAAW;AAAA,IAC3B;AAAA,EACD,GAAG;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAE;AAEF,SAAO;AACR;",
6
6
  "names": ["routerPrivateApis", "editorPrivateApis", "useNavigateToEntityRecord", "editSiteStore", "editorStore"]
7
7
  }