@wordpress/edit-site 7.1.0 → 7.2.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 (386) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +0 -7
  3. package/build/components/add-new-pattern/index.cjs.map +2 -2
  4. package/build/components/add-new-post/index.cjs.map +2 -2
  5. package/build/components/add-new-template/add-custom-generic-template-modal-content.cjs.map +2 -2
  6. package/build/components/add-new-template/add-custom-template-modal-content.cjs.map +2 -2
  7. package/build/components/add-new-template/index.cjs.map +2 -2
  8. package/build/components/add-new-template/utils.cjs.map +2 -2
  9. package/build/components/add-new-template-legacy/add-custom-generic-template-modal-content.cjs.map +2 -2
  10. package/build/components/add-new-template-legacy/add-custom-template-modal-content.cjs.map +2 -2
  11. package/build/components/add-new-template-legacy/index.cjs.map +2 -2
  12. package/build/components/add-new-template-legacy/utils.cjs.map +2 -2
  13. package/build/components/app/index.cjs.map +2 -2
  14. package/build/components/block-editor/use-editor-iframe-props.cjs.map +2 -2
  15. package/build/components/block-editor/use-navigate-to-entity-record.cjs.map +2 -2
  16. package/build/components/block-editor/use-site-editor-settings.cjs.map +2 -2
  17. package/build/components/block-editor/use-viewport-sync.cjs.map +2 -2
  18. package/build/components/canvas-loader/index.cjs.map +2 -2
  19. package/build/components/dataviews-actions/index.cjs.map +2 -2
  20. package/build/components/editor/index.cjs +6 -5
  21. package/build/components/editor/index.cjs.map +3 -3
  22. package/build/components/editor/site-preview.cjs.map +2 -2
  23. package/build/components/editor/use-adapt-editor-to-canvas.cjs.map +2 -2
  24. package/build/components/editor/use-editor-title.cjs.map +2 -2
  25. package/build/components/editor/use-resolve-edited-entity.cjs.map +2 -2
  26. package/build/components/editor/use-revisions-url-sync.cjs +122 -0
  27. package/build/components/editor/use-revisions-url-sync.cjs.map +7 -0
  28. package/build/components/layout/animation.cjs.map +2 -2
  29. package/build/components/layout/hooks.cjs.map +2 -2
  30. package/build/components/layout/index.cjs +0 -1
  31. package/build/components/layout/index.cjs.map +2 -2
  32. package/build/components/media/index.cjs.map +2 -2
  33. package/build/components/more-menu/index.cjs.map +2 -2
  34. package/build/components/more-menu/site-export.cjs.map +2 -2
  35. package/build/components/more-menu/welcome-guide-menu-item.cjs.map +2 -2
  36. package/build/components/page-patterns/actions.cjs.map +2 -2
  37. package/build/components/page-patterns/delete-category-menu-item.cjs.map +2 -2
  38. package/build/components/page-patterns/fields.cjs.map +2 -2
  39. package/build/components/page-patterns/index.cjs.map +2 -2
  40. package/build/components/page-patterns/rename-category-menu-item.cjs.map +2 -2
  41. package/build/components/page-patterns/search-items.cjs.map +2 -2
  42. package/build/components/page-patterns/use-pattern-settings.cjs.map +2 -2
  43. package/build/components/page-patterns/use-patterns.cjs.map +2 -2
  44. package/build/components/page-templates/fields.cjs.map +2 -2
  45. package/build/components/page-templates/hooks.cjs.map +2 -2
  46. package/build/components/page-templates/index-legacy.cjs.map +2 -2
  47. package/build/components/page-templates/index.cjs.map +2 -2
  48. package/build/components/pagination/index.cjs.map +2 -2
  49. package/build/components/plugin-template-setting-panel/index.cjs.map +2 -2
  50. package/build/components/post-list/index.cjs.map +2 -2
  51. package/build/components/post-list/quick-edit-modal.cjs.map +2 -2
  52. package/build/components/post-list/use-notes-count.cjs.map +2 -2
  53. package/build/components/resizable-frame/index.cjs.map +2 -2
  54. package/build/components/routes/use-title.cjs.map +2 -2
  55. package/build/components/save-button/index.cjs.map +2 -2
  56. package/build/components/save-hub/index.cjs.map +2 -2
  57. package/build/components/save-keyboard-shortcut/index.cjs.map +2 -2
  58. package/build/components/save-panel/index.cjs.map +2 -2
  59. package/build/components/sidebar/index.cjs.map +2 -2
  60. package/build/components/sidebar-button/index.cjs.map +2 -2
  61. package/build/components/sidebar-dataviews/index.cjs.map +2 -2
  62. package/build/components/sidebar-global-styles/index.cjs.map +2 -2
  63. package/build/components/sidebar-identity/index.cjs +5 -2
  64. package/build/components/sidebar-identity/index.cjs.map +2 -2
  65. package/build/components/sidebar-navigation-item/index.cjs.map +2 -2
  66. package/build/components/sidebar-navigation-screen/index.cjs.map +2 -2
  67. package/build/components/sidebar-navigation-screen-details-footer/index.cjs.map +2 -2
  68. package/build/components/sidebar-navigation-screen-global-styles/content.cjs.map +2 -2
  69. package/build/components/sidebar-navigation-screen-global-styles/index.cjs.map +2 -2
  70. package/build/components/sidebar-navigation-screen-identity/index.cjs.map +2 -2
  71. package/build/components/sidebar-navigation-screen-main/index.cjs.map +2 -2
  72. package/build/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.cjs.map +2 -2
  73. package/build/components/sidebar-navigation-screen-navigation-menu/index.cjs.map +2 -2
  74. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.cjs.map +2 -2
  75. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.cjs.map +2 -2
  76. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.cjs.map +2 -2
  77. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.cjs.map +2 -2
  78. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.cjs.map +2 -2
  79. package/build/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.cjs.map +2 -2
  80. package/build/components/sidebar-navigation-screen-navigation-menus/index.cjs.map +2 -2
  81. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.cjs +24 -25
  82. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.cjs.map +2 -2
  83. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.cjs.map +2 -2
  84. package/build/components/sidebar-navigation-screen-patterns/category-item.cjs.map +2 -2
  85. package/build/components/sidebar-navigation-screen-patterns/index.cjs.map +2 -2
  86. package/build/components/sidebar-navigation-screen-patterns/use-default-pattern-categories.cjs.map +2 -2
  87. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.cjs.map +2 -2
  88. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.cjs.map +2 -2
  89. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.cjs.map +2 -2
  90. package/build/components/sidebar-navigation-screen-templates-browse/content-legacy.cjs.map +2 -2
  91. package/build/components/sidebar-navigation-screen-templates-browse/content.cjs +1 -1
  92. package/build/components/sidebar-navigation-screen-templates-browse/content.cjs.map +2 -2
  93. package/build/components/sidebar-navigation-screen-templates-browse/index.cjs.map +2 -2
  94. package/build/components/sidebar-navigation-screen-unsupported/index.cjs.map +2 -2
  95. package/build/components/site-editor-routes/home.cjs.map +2 -2
  96. package/build/components/site-editor-routes/identity.cjs.map +2 -2
  97. package/build/components/site-editor-routes/index.cjs.map +2 -2
  98. package/build/components/site-editor-routes/navigation-item.cjs.map +2 -2
  99. package/build/components/site-editor-routes/navigation.cjs.map +2 -2
  100. package/build/components/site-editor-routes/notfound.cjs.map +2 -2
  101. package/build/components/site-editor-routes/page-item.cjs.map +2 -2
  102. package/build/components/site-editor-routes/pages.cjs.map +2 -2
  103. package/build/components/site-editor-routes/pattern-item.cjs.map +2 -2
  104. package/build/components/site-editor-routes/patterns.cjs.map +2 -2
  105. package/build/components/site-editor-routes/stylebook.cjs.map +2 -2
  106. package/build/components/site-editor-routes/styles.cjs.map +2 -2
  107. package/build/components/site-editor-routes/template-item.cjs.map +2 -2
  108. package/build/components/site-editor-routes/template-part-item.cjs.map +2 -2
  109. package/build/components/site-editor-routes/templates.cjs.map +2 -2
  110. package/build/components/site-hub/index.cjs.map +2 -2
  111. package/build/components/welcome-guide/editor.cjs.map +2 -2
  112. package/build/components/welcome-guide/index.cjs.map +2 -2
  113. package/build/components/welcome-guide/page.cjs.map +2 -2
  114. package/build/components/welcome-guide/template.cjs.map +2 -2
  115. package/build/deprecated.cjs.map +2 -2
  116. package/build/hooks/commands/use-common-commands.cjs.map +2 -2
  117. package/build/hooks/commands/use-set-command-context.cjs.map +2 -2
  118. package/build/index.cjs.map +2 -2
  119. package/build/lock-unlock.cjs.map +2 -2
  120. package/build/store/actions.cjs.map +2 -2
  121. package/build/store/index.cjs.map +2 -2
  122. package/build/store/reducer.cjs.map +2 -2
  123. package/build/store/selectors.cjs.map +2 -2
  124. package/build/utils/constants.cjs.map +2 -2
  125. package/build/utils/get-filtered-template-parts.cjs.map +2 -2
  126. package/build/utils/is-previewing-theme.cjs.map +2 -2
  127. package/build/utils/is-template-removable.cjs.map +2 -2
  128. package/build/utils/is-template-revertable.cjs.map +2 -2
  129. package/build/utils/use-activate-theme.cjs.map +2 -2
  130. package/build/utils/use-actual-current-theme.cjs.map +2 -2
  131. package/build-module/components/add-new-pattern/index.mjs.map +2 -2
  132. package/build-module/components/add-new-post/index.mjs.map +2 -2
  133. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.mjs.map +2 -2
  134. package/build-module/components/add-new-template/add-custom-template-modal-content.mjs.map +2 -2
  135. package/build-module/components/add-new-template/index.mjs.map +2 -2
  136. package/build-module/components/add-new-template/utils.mjs.map +2 -2
  137. package/build-module/components/add-new-template-legacy/add-custom-generic-template-modal-content.mjs.map +2 -2
  138. package/build-module/components/add-new-template-legacy/add-custom-template-modal-content.mjs.map +2 -2
  139. package/build-module/components/add-new-template-legacy/index.mjs.map +2 -2
  140. package/build-module/components/add-new-template-legacy/utils.mjs.map +2 -2
  141. package/build-module/components/app/index.mjs.map +2 -2
  142. package/build-module/components/block-editor/use-editor-iframe-props.mjs.map +2 -2
  143. package/build-module/components/block-editor/use-navigate-to-entity-record.mjs.map +2 -2
  144. package/build-module/components/block-editor/use-site-editor-settings.mjs.map +2 -2
  145. package/build-module/components/block-editor/use-viewport-sync.mjs.map +2 -2
  146. package/build-module/components/canvas-loader/index.mjs.map +2 -2
  147. package/build-module/components/dataviews-actions/index.mjs.map +2 -2
  148. package/build-module/components/editor/index.mjs +6 -5
  149. package/build-module/components/editor/index.mjs.map +2 -2
  150. package/build-module/components/editor/site-preview.mjs.map +2 -2
  151. package/build-module/components/editor/use-adapt-editor-to-canvas.mjs.map +2 -2
  152. package/build-module/components/editor/use-editor-title.mjs.map +2 -2
  153. package/build-module/components/editor/use-resolve-edited-entity.mjs.map +2 -2
  154. package/build-module/components/editor/use-revisions-url-sync.mjs +101 -0
  155. package/build-module/components/editor/use-revisions-url-sync.mjs.map +7 -0
  156. package/build-module/components/layout/animation.mjs.map +2 -2
  157. package/build-module/components/layout/hooks.mjs.map +2 -2
  158. package/build-module/components/layout/index.mjs +0 -1
  159. package/build-module/components/layout/index.mjs.map +2 -2
  160. package/build-module/components/media/index.mjs.map +2 -2
  161. package/build-module/components/more-menu/index.mjs.map +2 -2
  162. package/build-module/components/more-menu/site-export.mjs.map +2 -2
  163. package/build-module/components/more-menu/welcome-guide-menu-item.mjs.map +2 -2
  164. package/build-module/components/page-patterns/actions.mjs.map +2 -2
  165. package/build-module/components/page-patterns/delete-category-menu-item.mjs.map +2 -2
  166. package/build-module/components/page-patterns/fields.mjs.map +2 -2
  167. package/build-module/components/page-patterns/index.mjs.map +2 -2
  168. package/build-module/components/page-patterns/rename-category-menu-item.mjs.map +2 -2
  169. package/build-module/components/page-patterns/search-items.mjs.map +2 -2
  170. package/build-module/components/page-patterns/use-pattern-settings.mjs.map +2 -2
  171. package/build-module/components/page-patterns/use-patterns.mjs.map +2 -2
  172. package/build-module/components/page-templates/fields.mjs.map +2 -2
  173. package/build-module/components/page-templates/hooks.mjs.map +2 -2
  174. package/build-module/components/page-templates/index-legacy.mjs.map +2 -2
  175. package/build-module/components/page-templates/index.mjs.map +2 -2
  176. package/build-module/components/pagination/index.mjs.map +2 -2
  177. package/build-module/components/plugin-template-setting-panel/index.mjs.map +2 -2
  178. package/build-module/components/post-list/index.mjs.map +2 -2
  179. package/build-module/components/post-list/quick-edit-modal.mjs.map +2 -2
  180. package/build-module/components/post-list/use-notes-count.mjs.map +2 -2
  181. package/build-module/components/resizable-frame/index.mjs.map +2 -2
  182. package/build-module/components/routes/use-title.mjs.map +2 -2
  183. package/build-module/components/save-button/index.mjs.map +2 -2
  184. package/build-module/components/save-hub/index.mjs.map +2 -2
  185. package/build-module/components/save-keyboard-shortcut/index.mjs.map +2 -2
  186. package/build-module/components/save-panel/index.mjs.map +2 -2
  187. package/build-module/components/sidebar/index.mjs.map +2 -2
  188. package/build-module/components/sidebar-button/index.mjs.map +2 -2
  189. package/build-module/components/sidebar-dataviews/index.mjs.map +2 -2
  190. package/build-module/components/sidebar-global-styles/index.mjs.map +2 -2
  191. package/build-module/components/sidebar-identity/index.mjs +5 -2
  192. package/build-module/components/sidebar-identity/index.mjs.map +2 -2
  193. package/build-module/components/sidebar-navigation-item/index.mjs.map +2 -2
  194. package/build-module/components/sidebar-navigation-screen/index.mjs.map +2 -2
  195. package/build-module/components/sidebar-navigation-screen-details-footer/index.mjs.map +2 -2
  196. package/build-module/components/sidebar-navigation-screen-global-styles/content.mjs.map +2 -2
  197. package/build-module/components/sidebar-navigation-screen-global-styles/index.mjs.map +2 -2
  198. package/build-module/components/sidebar-navigation-screen-identity/index.mjs.map +2 -2
  199. package/build-module/components/sidebar-navigation-screen-main/index.mjs.map +2 -2
  200. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.mjs.map +2 -2
  201. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.mjs.map +2 -2
  202. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.mjs.map +2 -2
  203. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.mjs.map +2 -2
  204. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.mjs.map +2 -2
  205. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.mjs.map +2 -2
  206. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.mjs.map +2 -2
  207. package/build-module/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.mjs.map +2 -2
  208. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.mjs.map +2 -2
  209. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.mjs +24 -25
  210. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.mjs.map +2 -2
  211. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.mjs.map +2 -2
  212. package/build-module/components/sidebar-navigation-screen-patterns/category-item.mjs.map +2 -2
  213. package/build-module/components/sidebar-navigation-screen-patterns/index.mjs.map +2 -2
  214. package/build-module/components/sidebar-navigation-screen-patterns/use-default-pattern-categories.mjs.map +2 -2
  215. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.mjs.map +2 -2
  216. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.mjs.map +2 -2
  217. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.mjs.map +2 -2
  218. package/build-module/components/sidebar-navigation-screen-templates-browse/content-legacy.mjs.map +2 -2
  219. package/build-module/components/sidebar-navigation-screen-templates-browse/content.mjs +1 -1
  220. package/build-module/components/sidebar-navigation-screen-templates-browse/content.mjs.map +2 -2
  221. package/build-module/components/sidebar-navigation-screen-templates-browse/index.mjs.map +2 -2
  222. package/build-module/components/sidebar-navigation-screen-unsupported/index.mjs.map +2 -2
  223. package/build-module/components/site-editor-routes/home.mjs.map +2 -2
  224. package/build-module/components/site-editor-routes/identity.mjs.map +2 -2
  225. package/build-module/components/site-editor-routes/index.mjs.map +2 -2
  226. package/build-module/components/site-editor-routes/navigation-item.mjs.map +2 -2
  227. package/build-module/components/site-editor-routes/navigation.mjs.map +2 -2
  228. package/build-module/components/site-editor-routes/notfound.mjs.map +2 -2
  229. package/build-module/components/site-editor-routes/page-item.mjs.map +2 -2
  230. package/build-module/components/site-editor-routes/pages.mjs.map +2 -2
  231. package/build-module/components/site-editor-routes/pattern-item.mjs.map +2 -2
  232. package/build-module/components/site-editor-routes/patterns.mjs.map +2 -2
  233. package/build-module/components/site-editor-routes/stylebook.mjs.map +2 -2
  234. package/build-module/components/site-editor-routes/styles.mjs.map +2 -2
  235. package/build-module/components/site-editor-routes/template-item.mjs.map +2 -2
  236. package/build-module/components/site-editor-routes/template-part-item.mjs.map +2 -2
  237. package/build-module/components/site-editor-routes/templates.mjs.map +2 -2
  238. package/build-module/components/site-hub/index.mjs.map +2 -2
  239. package/build-module/components/welcome-guide/editor.mjs.map +2 -2
  240. package/build-module/components/welcome-guide/index.mjs.map +2 -2
  241. package/build-module/components/welcome-guide/page.mjs.map +2 -2
  242. package/build-module/components/welcome-guide/template.mjs.map +2 -2
  243. package/build-module/deprecated.mjs.map +2 -2
  244. package/build-module/hooks/commands/use-common-commands.mjs.map +2 -2
  245. package/build-module/hooks/commands/use-set-command-context.mjs.map +2 -2
  246. package/build-module/index.mjs.map +2 -2
  247. package/build-module/lock-unlock.mjs.map +2 -2
  248. package/build-module/store/actions.mjs.map +2 -2
  249. package/build-module/store/index.mjs.map +2 -2
  250. package/build-module/store/reducer.mjs.map +2 -2
  251. package/build-module/store/selectors.mjs.map +2 -2
  252. package/build-module/utils/constants.mjs.map +2 -2
  253. package/build-module/utils/get-filtered-template-parts.mjs.map +2 -2
  254. package/build-module/utils/is-previewing-theme.mjs.map +2 -2
  255. package/build-module/utils/is-template-removable.mjs.map +2 -2
  256. package/build-module/utils/is-template-revertable.mjs.map +2 -2
  257. package/build-module/utils/use-activate-theme.mjs.map +2 -2
  258. package/build-module/utils/use-actual-current-theme.mjs.map +2 -2
  259. package/build-style/style-rtl.css +60 -14
  260. package/build-style/style.css +60 -14
  261. package/package.json +48 -48
  262. package/src/components/add-new-pattern/index.js +0 -7
  263. package/src/components/add-new-post/index.js +0 -3
  264. package/src/components/add-new-template/add-custom-generic-template-modal-content.js +0 -7
  265. package/src/components/add-new-template/add-custom-template-modal-content.js +0 -7
  266. package/src/components/add-new-template/index.js +0 -15
  267. package/src/components/add-new-template/utils.js +0 -7
  268. package/src/components/add-new-template-legacy/add-custom-generic-template-modal-content.js +0 -7
  269. package/src/components/add-new-template-legacy/add-custom-template-modal-content.js +0 -7
  270. package/src/components/add-new-template-legacy/index.js +0 -15
  271. package/src/components/add-new-template-legacy/utils.js +0 -7
  272. package/src/components/app/index.js +0 -7
  273. package/src/components/block-editor/use-editor-iframe-props.js +0 -11
  274. package/src/components/block-editor/use-navigate-to-entity-record.js +0 -7
  275. package/src/components/block-editor/use-site-editor-settings.js +0 -7
  276. package/src/components/block-editor/use-viewport-sync.js +0 -7
  277. package/src/components/canvas-loader/index.js +0 -7
  278. package/src/components/dataviews-actions/index.js +0 -7
  279. package/src/components/editor/index.js +6 -12
  280. package/src/components/editor/site-preview.js +0 -3
  281. package/src/components/editor/use-adapt-editor-to-canvas.js +0 -7
  282. package/src/components/editor/use-editor-title.js +0 -7
  283. package/src/components/editor/use-resolve-edited-entity.js +0 -7
  284. package/src/components/editor/use-revisions-url-sync.js +132 -0
  285. package/src/components/layout/animation.js +0 -7
  286. package/src/components/layout/hooks.js +0 -3
  287. package/src/components/layout/index.js +0 -12
  288. package/src/components/media/index.js +0 -3
  289. package/src/components/more-menu/index.js +0 -7
  290. package/src/components/more-menu/site-export.js +0 -3
  291. package/src/components/more-menu/welcome-guide-menu-item.js +0 -3
  292. package/src/components/page-patterns/actions.js +0 -7
  293. package/src/components/page-patterns/delete-category-menu-item.js +0 -7
  294. package/src/components/page-patterns/fields.js +0 -7
  295. package/src/components/page-patterns/index.js +0 -7
  296. package/src/components/page-patterns/rename-category-menu-item.js +0 -10
  297. package/src/components/page-patterns/search-items.js +0 -12
  298. package/src/components/page-patterns/style.scss +3 -0
  299. package/src/components/page-patterns/use-pattern-settings.js +0 -7
  300. package/src/components/page-patterns/use-patterns.js +0 -7
  301. package/src/components/page-templates/fields.js +0 -11
  302. package/src/components/page-templates/hooks.js +0 -7
  303. package/src/components/page-templates/index-legacy.js +0 -7
  304. package/src/components/page-templates/index.js +0 -7
  305. package/src/components/pagination/index.js +0 -7
  306. package/src/components/plugin-template-setting-panel/index.js +0 -4
  307. package/src/components/post-list/index.js +0 -9
  308. package/src/components/post-list/quick-edit-modal.js +0 -7
  309. package/src/components/post-list/use-notes-count.js +0 -3
  310. package/src/components/resizable-frame/index.js +0 -11
  311. package/src/components/routes/use-title.js +0 -7
  312. package/src/components/save-button/index.js +0 -7
  313. package/src/components/save-hub/index.js +0 -7
  314. package/src/components/save-keyboard-shortcut/index.js +0 -7
  315. package/src/components/save-panel/index.js +0 -11
  316. package/src/components/sidebar/index.js +0 -7
  317. package/src/components/sidebar-button/index.js +0 -7
  318. package/src/components/sidebar-dataviews/index.js +0 -7
  319. package/src/components/sidebar-global-styles/index.js +0 -7
  320. package/src/components/sidebar-identity/index.js +3 -3
  321. package/src/components/sidebar-navigation-item/index.js +0 -11
  322. package/src/components/sidebar-navigation-item/style.scss +3 -10
  323. package/src/components/sidebar-navigation-screen/index.js +0 -11
  324. package/src/components/sidebar-navigation-screen-details-footer/index.js +0 -7
  325. package/src/components/sidebar-navigation-screen-global-styles/content.js +0 -7
  326. package/src/components/sidebar-navigation-screen-global-styles/index.js +0 -7
  327. package/src/components/sidebar-navigation-screen-identity/index.js +0 -7
  328. package/src/components/sidebar-navigation-screen-main/index.js +0 -7
  329. package/src/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js +0 -3
  330. package/src/components/sidebar-navigation-screen-navigation-menu/index.js +0 -7
  331. package/src/components/sidebar-navigation-screen-navigation-menu/more-menu.js +0 -7
  332. package/src/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +0 -7
  333. package/src/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +0 -3
  334. package/src/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +0 -6
  335. package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +0 -7
  336. package/src/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js +0 -3
  337. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +0 -8
  338. package/src/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +38 -48
  339. package/src/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +0 -7
  340. package/src/components/sidebar-navigation-screen-patterns/category-item.js +0 -3
  341. package/src/components/sidebar-navigation-screen-patterns/index.js +0 -7
  342. package/src/components/sidebar-navigation-screen-patterns/use-default-pattern-categories.js +0 -7
  343. package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +0 -7
  344. package/src/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +0 -7
  345. package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +0 -7
  346. package/src/components/sidebar-navigation-screen-templates-browse/content-legacy.js +0 -7
  347. package/src/components/sidebar-navigation-screen-templates-browse/content.js +1 -8
  348. package/src/components/sidebar-navigation-screen-templates-browse/index.js +0 -7
  349. package/src/components/sidebar-navigation-screen-unsupported/index.js +0 -3
  350. package/src/components/site-editor-routes/home.js +0 -3
  351. package/src/components/site-editor-routes/identity.js +0 -3
  352. package/src/components/site-editor-routes/index.js +0 -7
  353. package/src/components/site-editor-routes/navigation-item.js +0 -3
  354. package/src/components/site-editor-routes/navigation.js +0 -3
  355. package/src/components/site-editor-routes/notfound.js +0 -7
  356. package/src/components/site-editor-routes/page-item.js +0 -7
  357. package/src/components/site-editor-routes/pages.js +0 -7
  358. package/src/components/site-editor-routes/pattern-item.js +0 -3
  359. package/src/components/site-editor-routes/patterns.js +0 -3
  360. package/src/components/site-editor-routes/stylebook.js +0 -7
  361. package/src/components/site-editor-routes/styles.js +0 -7
  362. package/src/components/site-editor-routes/template-item.js +0 -3
  363. package/src/components/site-editor-routes/template-part-item.js +0 -3
  364. package/src/components/site-editor-routes/templates.js +0 -7
  365. package/src/components/site-hub/index.js +0 -7
  366. package/src/components/welcome-guide/editor.js +0 -7
  367. package/src/components/welcome-guide/index.js +0 -3
  368. package/src/components/welcome-guide/page.js +0 -3
  369. package/src/components/welcome-guide/template.js +0 -3
  370. package/src/deprecated.js +0 -3
  371. package/src/hooks/commands/use-common-commands.js +0 -7
  372. package/src/hooks/commands/use-set-command-context.js +0 -7
  373. package/src/index.js +0 -7
  374. package/src/lock-unlock.js +0 -3
  375. package/src/store/actions.js +0 -7
  376. package/src/store/index.js +0 -7
  377. package/src/store/reducer.js +0 -3
  378. package/src/store/selectors.js +0 -7
  379. package/src/utils/constants.js +0 -7
  380. package/src/utils/get-filtered-template-parts.js +0 -3
  381. package/src/utils/is-previewing-theme.js +0 -3
  382. package/src/utils/is-template-removable.js +0 -3
  383. package/src/utils/is-template-revertable.js +0 -3
  384. package/src/utils/test/get-filtered-template-parts.js +0 -3
  385. package/src/utils/use-activate-theme.js +0 -7
  386. package/src/utils/use-actual-current-theme.js +0 -3
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/constants.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as patternPrivateApis } from '@wordpress/patterns';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\n// Attachments / media\nexport const ATTACHMENT_POST_TYPE = 'attachment';\n\n// Navigation\nexport const NAVIGATION_POST_TYPE = 'wp_navigation';\n\n// Templates.\nexport const TEMPLATE_POST_TYPE = 'wp_template';\nexport const TEMPLATE_PART_POST_TYPE = 'wp_template_part';\nexport const TEMPLATE_ORIGINS = {\n\tcustom: 'custom',\n\ttheme: 'theme',\n\tplugin: 'plugin',\n};\nexport const TEMPLATE_PART_AREA_DEFAULT_CATEGORY = 'uncategorized';\nexport const TEMPLATE_PART_ALL_AREAS_CATEGORY = 'all-parts';\n\n// Patterns.\nexport const {\n\tPATTERN_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_USER_CATEGORY,\n\tEXCLUDED_PATTERN_SOURCES,\n\tPATTERN_SYNC_TYPES,\n} = unlock( patternPrivateApis );\n\n// Entities that are editable in focus mode.\nexport const FOCUSABLE_ENTITIES = [\n\tTEMPLATE_PART_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_TYPES.user,\n];\n\nexport const POST_TYPE_LABELS = {\n\t[ TEMPLATE_POST_TYPE ]: __( 'Template' ),\n\t[ TEMPLATE_PART_POST_TYPE ]: __( 'Template part' ),\n\t[ PATTERN_TYPES.user ]: __( 'Pattern' ),\n\t[ NAVIGATION_POST_TYPE ]: __( 'Navigation' ),\n};\n\n// DataViews constants\nexport const LAYOUT_GRID = 'grid';\nexport const LAYOUT_TABLE = 'table';\nexport const LAYOUT_LIST = 'list';\n\nexport const OPERATOR_IS = 'is';\nexport const OPERATOR_IS_NOT = 'isNot';\nexport const OPERATOR_IS_ANY = 'isAny';\nexport const OPERATOR_IS_NONE = 'isNone';\nexport const OPERATOR_BEFORE = 'before';\nexport const OPERATOR_AFTER = 'after';\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,sBAAkD;AAKlD,yBAAuB;AAGhB,IAAM,uBAAuB;AAG7B,IAAM,uBAAuB;AAG7B,IAAM,qBAAqB;AAC3B,IAAM,0BAA0B;AAChC,IAAM,mBAAmB;AAAA,EAC/B,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,QAAQ;AACT;AACO,IAAM,sCAAsC;AAC5C,IAAM,mCAAmC;AAGzC,IAAM;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,QAAI,2BAAQ,gBAAAA,WAAmB;AAGxB,IAAM,qBAAqB;AAAA,EACjC;AAAA,EACA;AAAA,EACA,cAAc;AACf;AAEO,IAAM,mBAAmB;AAAA,EAC/B,CAAE,kBAAmB,OAAG,gBAAI,UAAW;AAAA,EACvC,CAAE,uBAAwB,OAAG,gBAAI,eAAgB;AAAA,EACjD,CAAE,cAAc,IAAK,OAAG,gBAAI,SAAU;AAAA,EACtC,CAAE,oBAAqB,OAAG,gBAAI,YAAa;AAC5C;AAGO,IAAM,cAAc;AACpB,IAAM,eAAe;AACrB,IAAM,cAAc;AAEpB,IAAM,cAAc;AACpB,IAAM,kBAAkB;AACxB,IAAM,kBAAkB;AACxB,IAAM,mBAAmB;AACzB,IAAM,kBAAkB;AACxB,IAAM,iBAAiB;",
4
+ "sourcesContent": ["import { __ } from '@wordpress/i18n';\nimport { privateApis as patternPrivateApis } from '@wordpress/patterns';\nimport { unlock } from '../lock-unlock';\n\n// Attachments / media\nexport const ATTACHMENT_POST_TYPE = 'attachment';\n\n// Navigation\nexport const NAVIGATION_POST_TYPE = 'wp_navigation';\n\n// Templates.\nexport const TEMPLATE_POST_TYPE = 'wp_template';\nexport const TEMPLATE_PART_POST_TYPE = 'wp_template_part';\nexport const TEMPLATE_ORIGINS = {\n\tcustom: 'custom',\n\ttheme: 'theme',\n\tplugin: 'plugin',\n};\nexport const TEMPLATE_PART_AREA_DEFAULT_CATEGORY = 'uncategorized';\nexport const TEMPLATE_PART_ALL_AREAS_CATEGORY = 'all-parts';\n\n// Patterns.\nexport const {\n\tPATTERN_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_USER_CATEGORY,\n\tEXCLUDED_PATTERN_SOURCES,\n\tPATTERN_SYNC_TYPES,\n} = unlock( patternPrivateApis );\n\n// Entities that are editable in focus mode.\nexport const FOCUSABLE_ENTITIES = [\n\tTEMPLATE_PART_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_TYPES.user,\n];\n\nexport const POST_TYPE_LABELS = {\n\t[ TEMPLATE_POST_TYPE ]: __( 'Template' ),\n\t[ TEMPLATE_PART_POST_TYPE ]: __( 'Template part' ),\n\t[ PATTERN_TYPES.user ]: __( 'Pattern' ),\n\t[ NAVIGATION_POST_TYPE ]: __( 'Navigation' ),\n};\n\n// DataViews constants\nexport const LAYOUT_GRID = 'grid';\nexport const LAYOUT_TABLE = 'table';\nexport const LAYOUT_LIST = 'list';\n\nexport const OPERATOR_IS = 'is';\nexport const OPERATOR_IS_NOT = 'isNot';\nexport const OPERATOR_IS_ANY = 'isAny';\nexport const OPERATOR_IS_NONE = 'isNone';\nexport const OPERATOR_BEFORE = 'before';\nexport const OPERATOR_AFTER = 'after';\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAmB;AACnB,sBAAkD;AAClD,yBAAuB;AAGhB,IAAM,uBAAuB;AAG7B,IAAM,uBAAuB;AAG7B,IAAM,qBAAqB;AAC3B,IAAM,0BAA0B;AAChC,IAAM,mBAAmB;AAAA,EAC/B,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,QAAQ;AACT;AACO,IAAM,sCAAsC;AAC5C,IAAM,mCAAmC;AAGzC,IAAM;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,QAAI,2BAAQ,gBAAAA,WAAmB;AAGxB,IAAM,qBAAqB;AAAA,EACjC;AAAA,EACA;AAAA,EACA,cAAc;AACf;AAEO,IAAM,mBAAmB;AAAA,EAC/B,CAAE,kBAAmB,OAAG,gBAAI,UAAW;AAAA,EACvC,CAAE,uBAAwB,OAAG,gBAAI,eAAgB;AAAA,EACjD,CAAE,cAAc,IAAK,OAAG,gBAAI,SAAU;AAAA,EACtC,CAAE,oBAAqB,OAAG,gBAAI,YAAa;AAC5C;AAGO,IAAM,cAAc;AACpB,IAAM,eAAe;AACrB,IAAM,cAAc;AAEpB,IAAM,cAAc;AACpB,IAAM,kBAAkB;AACxB,IAAM,kBAAkB;AACxB,IAAM,mBAAmB;AACzB,IAAM,kBAAkB;AACxB,IAAM,iBAAiB;",
6
6
  "names": ["patternPrivateApis"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/get-filtered-template-parts.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { isTemplatePart } from '@wordpress/blocks';\n\nconst EMPTY_ARRAY = [];\n\n/**\n * Get a flattened and filtered list of template parts and the matching block for that template part.\n *\n * Takes a list of blocks defined within a template, and a list of template parts, and returns a\n * flattened list of template parts and the matching block for that template part.\n *\n * @param {Array} blocks Blocks to flatten.\n * @param {?Array} templateParts Available template parts.\n * @return {Array} An array of template parts and their blocks.\n */\nexport default function getFilteredTemplatePartBlocks(\n\tblocks = EMPTY_ARRAY,\n\ttemplateParts\n) {\n\tconst templatePartsById = templateParts\n\t\t? // Key template parts by their ID.\n\t\t templateParts.reduce(\n\t\t\t\t( newTemplateParts, part ) => ( {\n\t\t\t\t\t...newTemplateParts,\n\t\t\t\t\t[ part.id ]: part,\n\t\t\t\t} ),\n\t\t\t\t{}\n\t\t )\n\t\t: {};\n\n\tconst result = [];\n\n\t// Iterate over all blocks, recursing into inner blocks.\n\t// Output will be based on a depth-first traversal.\n\tconst stack = [ ...blocks ];\n\twhile ( stack.length ) {\n\t\tconst { innerBlocks, ...block } = stack.shift();\n\t\t// Place inner blocks at the beginning of the stack to preserve order.\n\t\tstack.unshift( ...innerBlocks );\n\n\t\tif ( isTemplatePart( block ) ) {\n\t\t\tconst {\n\t\t\t\tattributes: { theme, slug },\n\t\t\t} = block;\n\t\t\tconst templatePartId = `${ theme }//${ slug }`;\n\t\t\tconst templatePart = templatePartsById[ templatePartId ];\n\n\t\t\t// Only add to output if the found template part block is in the list of available template parts.\n\t\t\tif ( templatePart ) {\n\t\t\t\tresult.push( {\n\t\t\t\t\ttemplatePart,\n\t\t\t\t\tblock,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn result;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAA+B;AAE/B,IAAM,cAAc,CAAC;AAYN,SAAR,8BACN,SAAS,aACT,eACC;AACD,QAAM,oBAAoB;AAAA;AAAA,IAEvB,cAAc;AAAA,MACd,CAAE,kBAAkB,UAAY;AAAA,QAC/B,GAAG;AAAA,QACH,CAAE,KAAK,EAAG,GAAG;AAAA,MACd;AAAA,MACA,CAAC;AAAA,IACD;AAAA,MACA,CAAC;AAEJ,QAAM,SAAS,CAAC;AAIhB,QAAM,QAAQ,CAAE,GAAG,MAAO;AAC1B,SAAQ,MAAM,QAAS;AACtB,UAAM,EAAE,aAAa,GAAG,MAAM,IAAI,MAAM,MAAM;AAE9C,UAAM,QAAS,GAAG,WAAY;AAE9B,YAAK,8BAAgB,KAAM,GAAI;AAC9B,YAAM;AAAA,QACL,YAAY,EAAE,OAAO,KAAK;AAAA,MAC3B,IAAI;AACJ,YAAM,iBAAiB,GAAI,KAAM,KAAM,IAAK;AAC5C,YAAM,eAAe,kBAAmB,cAAe;AAGvD,UAAK,cAAe;AACnB,eAAO,KAAM;AAAA,UACZ;AAAA,UACA;AAAA,QACD,CAAE;AAAA,MACH;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AACR;",
4
+ "sourcesContent": ["import { isTemplatePart } from '@wordpress/blocks';\n\nconst EMPTY_ARRAY = [];\n\n/**\n * Get a flattened and filtered list of template parts and the matching block for that template part.\n *\n * Takes a list of blocks defined within a template, and a list of template parts, and returns a\n * flattened list of template parts and the matching block for that template part.\n *\n * @param {Array} blocks Blocks to flatten.\n * @param {?Array} templateParts Available template parts.\n * @return {Array} An array of template parts and their blocks.\n */\nexport default function getFilteredTemplatePartBlocks(\n\tblocks = EMPTY_ARRAY,\n\ttemplateParts\n) {\n\tconst templatePartsById = templateParts\n\t\t? // Key template parts by their ID.\n\t\t templateParts.reduce(\n\t\t\t\t( newTemplateParts, part ) => ( {\n\t\t\t\t\t...newTemplateParts,\n\t\t\t\t\t[ part.id ]: part,\n\t\t\t\t} ),\n\t\t\t\t{}\n\t\t )\n\t\t: {};\n\n\tconst result = [];\n\n\t// Iterate over all blocks, recursing into inner blocks.\n\t// Output will be based on a depth-first traversal.\n\tconst stack = [ ...blocks ];\n\twhile ( stack.length ) {\n\t\tconst { innerBlocks, ...block } = stack.shift();\n\t\t// Place inner blocks at the beginning of the stack to preserve order.\n\t\tstack.unshift( ...innerBlocks );\n\n\t\tif ( isTemplatePart( block ) ) {\n\t\t\tconst {\n\t\t\t\tattributes: { theme, slug },\n\t\t\t} = block;\n\t\t\tconst templatePartId = `${ theme }//${ slug }`;\n\t\t\tconst templatePart = templatePartsById[ templatePartId ];\n\n\t\t\t// Only add to output if the found template part block is in the list of available template parts.\n\t\t\tif ( templatePart ) {\n\t\t\t\tresult.push( {\n\t\t\t\t\ttemplatePart,\n\t\t\t\t\tblock,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn result;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA+B;AAE/B,IAAM,cAAc,CAAC;AAYN,SAAR,8BACN,SAAS,aACT,eACC;AACD,QAAM,oBAAoB;AAAA;AAAA,IAEvB,cAAc;AAAA,MACd,CAAE,kBAAkB,UAAY;AAAA,QAC/B,GAAG;AAAA,QACH,CAAE,KAAK,EAAG,GAAG;AAAA,MACd;AAAA,MACA,CAAC;AAAA,IACD;AAAA,MACA,CAAC;AAEJ,QAAM,SAAS,CAAC;AAIhB,QAAM,QAAQ,CAAE,GAAG,MAAO;AAC1B,SAAQ,MAAM,QAAS;AACtB,UAAM,EAAE,aAAa,GAAG,MAAM,IAAI,MAAM,MAAM;AAE9C,UAAM,QAAS,GAAG,WAAY;AAE9B,YAAK,8BAAgB,KAAM,GAAI;AAC9B,YAAM;AAAA,QACL,YAAY,EAAE,OAAO,KAAK;AAAA,MAC3B,IAAI;AACJ,YAAM,iBAAiB,GAAI,KAAM,KAAM,IAAK;AAC5C,YAAM,eAAe,kBAAmB,cAAe;AAGvD,UAAK,cAAe;AACnB,eAAO,KAAM;AAAA,UACZ;AAAA,UACA;AAAA,QACD,CAAE;AAAA,MACH;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AACR;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/is-previewing-theme.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { getQueryArg } from '@wordpress/url';\n\nexport function isPreviewingTheme() {\n\treturn !! getQueryArg( window.location.href, 'wp_theme_preview' );\n}\n\nexport function currentlyPreviewingTheme() {\n\tif ( isPreviewingTheme() ) {\n\t\treturn getQueryArg( window.location.href, 'wp_theme_preview' );\n\t}\n\treturn null;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,iBAA4B;AAErB,SAAS,oBAAoB;AACnC,SAAO,CAAC,KAAE,wBAAa,OAAO,SAAS,MAAM,kBAAmB;AACjE;AAEO,SAAS,2BAA2B;AAC1C,MAAK,kBAAkB,GAAI;AAC1B,eAAO,wBAAa,OAAO,SAAS,MAAM,kBAAmB;AAAA,EAC9D;AACA,SAAO;AACR;",
4
+ "sourcesContent": ["import { getQueryArg } from '@wordpress/url';\n\nexport function isPreviewingTheme() {\n\treturn !! getQueryArg( window.location.href, 'wp_theme_preview' );\n}\n\nexport function currentlyPreviewingTheme() {\n\tif ( isPreviewingTheme() ) {\n\t\treturn getQueryArg( window.location.href, 'wp_theme_preview' );\n\t}\n\treturn null;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAA4B;AAErB,SAAS,oBAAoB;AACnC,SAAO,CAAC,KAAE,wBAAa,OAAO,SAAS,MAAM,kBAAmB;AACjE;AAEO,SAAS,2BAA2B;AAC1C,MAAK,kBAAkB,GAAI;AAC1B,eAAO,wBAAa,OAAO,SAAS,MAAM,kBAAmB;AAAA,EAC9D;AACA,SAAO;AACR;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/is-template-removable.js"],
4
- "sourcesContent": ["/**\n * Internal dependencies\n */\nimport { TEMPLATE_ORIGINS } from './constants';\n\n/**\n * Check if a template is removable.\n *\n * @param {Object} template The template entity to check.\n * @return {boolean} Whether the template is removable.\n */\nexport default function isTemplateRemovable( template ) {\n\tif ( ! template ) {\n\t\treturn false;\n\t}\n\n\treturn (\n\t\ttemplate.source === TEMPLATE_ORIGINS.custom &&\n\t\t! Boolean( template.plugin ) &&\n\t\t! template.has_theme_file\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,uBAAiC;AAQlB,SAAR,oBAAsC,UAAW;AACvD,MAAK,CAAE,UAAW;AACjB,WAAO;AAAA,EACR;AAEA,SACC,SAAS,WAAW,kCAAiB,UACrC,CAAE,QAAS,SAAS,MAAO,KAC3B,CAAE,SAAS;AAEb;",
4
+ "sourcesContent": ["import { TEMPLATE_ORIGINS } from './constants';\n\n/**\n * Check if a template is removable.\n *\n * @param {Object} template The template entity to check.\n * @return {boolean} Whether the template is removable.\n */\nexport default function isTemplateRemovable( template ) {\n\tif ( ! template ) {\n\t\treturn false;\n\t}\n\n\treturn (\n\t\ttemplate.source === TEMPLATE_ORIGINS.custom &&\n\t\t! Boolean( template.plugin ) &&\n\t\t! template.has_theme_file\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAiC;AAQlB,SAAR,oBAAsC,UAAW;AACvD,MAAK,CAAE,UAAW;AACjB,WAAO;AAAA,EACR;AAEA,SACC,SAAS,WAAW,kCAAiB,UACrC,CAAE,QAAS,SAAS,MAAO,KAC3B,CAAE,SAAS;AAEb;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/is-template-revertable.js"],
4
- "sourcesContent": ["/**\n * Internal dependencies\n */\nimport { TEMPLATE_ORIGINS } from './constants';\n\n/**\n * Check if a template is revertable to its original theme-provided template file.\n *\n * @param {Object} template The template entity to check.\n * @return {boolean} Whether the template is revertable.\n */\nexport default function isTemplateRevertable( template ) {\n\tif ( ! template ) {\n\t\treturn false;\n\t}\n\n\treturn (\n\t\ttemplate?.source === TEMPLATE_ORIGINS.custom &&\n\t\t( Boolean( template?.plugin ) || template?.has_theme_file )\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,uBAAiC;AAQlB,SAAR,qBAAuC,UAAW;AACxD,MAAK,CAAE,UAAW;AACjB,WAAO;AAAA,EACR;AAEA,SACC,UAAU,WAAW,kCAAiB,WACpC,QAAS,UAAU,MAAO,KAAK,UAAU;AAE7C;",
4
+ "sourcesContent": ["import { TEMPLATE_ORIGINS } from './constants';\n\n/**\n * Check if a template is revertable to its original theme-provided template file.\n *\n * @param {Object} template The template entity to check.\n * @return {boolean} Whether the template is revertable.\n */\nexport default function isTemplateRevertable( template ) {\n\tif ( ! template ) {\n\t\treturn false;\n\t}\n\n\treturn (\n\t\ttemplate?.source === TEMPLATE_ORIGINS.custom &&\n\t\t( Boolean( template?.plugin ) || template?.has_theme_file )\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAiC;AAQlB,SAAR,qBAAuC,UAAW;AACxD,MAAK,CAAE,UAAW;AACjB,WAAO;AAAA,EACR;AAEA,SACC,UAAU,WAAW,kCAAiB,WACpC,QAAS,UAAU,MAAO,KAAK,UAAU;AAE7C;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/use-activate-theme.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport {\n\tisPreviewingTheme,\n\tcurrentlyPreviewingTheme,\n} from './is-previewing-theme';\n\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\n/**\n * This should be refactored to use the REST API, once the REST API can activate themes.\n *\n * @return {Function} A function that activates the theme.\n */\nexport function useActivateTheme() {\n\tconst history = useHistory();\n\tconst { path } = useLocation();\n\tconst { startResolution, finishResolution } = useDispatch( coreStore );\n\n\treturn async () => {\n\t\tif ( isPreviewingTheme() ) {\n\t\t\tconst activationURL =\n\t\t\t\t'themes.php?action=activate&stylesheet=' +\n\t\t\t\tcurrentlyPreviewingTheme() +\n\t\t\t\t'&_wpnonce=' +\n\t\t\t\twindow.WP_BLOCK_THEME_ACTIVATE_NONCE;\n\t\t\tstartResolution( 'activateTheme' );\n\t\t\tawait window.fetch( activationURL );\n\t\t\tfinishResolution( 'activateTheme' );\n\t\t\t// Remove the wp_theme_preview query param: we've finished activating\n\t\t\t// the queue and are switching to normal Site Editor.\n\t\t\thistory.navigate( addQueryArgs( path, { wp_theme_preview: '' } ) );\n\t\t}\n\t};\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,uBAAmC;AACnC,kBAA4B;AAC5B,oBAAiD;AACjD,iBAA6B;AAK7B,yBAAuB;AACvB,iCAGO;AAEP,IAAM,EAAE,YAAY,YAAY,QAAI,2BAAQ,cAAAA,WAAkB;AAOvD,SAAS,mBAAmB;AAClC,QAAM,UAAU,WAAW;AAC3B,QAAM,EAAE,KAAK,IAAI,YAAY;AAC7B,QAAM,EAAE,iBAAiB,iBAAiB,QAAI,yBAAa,iBAAAC,KAAU;AAErE,SAAO,YAAY;AAClB,YAAK,8CAAkB,GAAI;AAC1B,YAAM,gBACL,+CACA,qDAAyB,IACzB,eACA,OAAO;AACR,sBAAiB,eAAgB;AACjC,YAAM,OAAO,MAAO,aAAc;AAClC,uBAAkB,eAAgB;AAGlC,cAAQ,aAAU,yBAAc,MAAM,EAAE,kBAAkB,GAAG,CAAE,CAAE;AAAA,IAClE;AAAA,EACD;AACD;",
4
+ "sourcesContent": ["import { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { addQueryArgs } from '@wordpress/url';\nimport { unlock } from '../lock-unlock';\nimport {\n\tisPreviewingTheme,\n\tcurrentlyPreviewingTheme,\n} from './is-previewing-theme';\n\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\n/**\n * This should be refactored to use the REST API, once the REST API can activate themes.\n *\n * @return {Function} A function that activates the theme.\n */\nexport function useActivateTheme() {\n\tconst history = useHistory();\n\tconst { path } = useLocation();\n\tconst { startResolution, finishResolution } = useDispatch( coreStore );\n\n\treturn async () => {\n\t\tif ( isPreviewingTheme() ) {\n\t\t\tconst activationURL =\n\t\t\t\t'themes.php?action=activate&stylesheet=' +\n\t\t\t\tcurrentlyPreviewingTheme() +\n\t\t\t\t'&_wpnonce=' +\n\t\t\t\twindow.WP_BLOCK_THEME_ACTIVATE_NONCE;\n\t\t\tstartResolution( 'activateTheme' );\n\t\t\tawait window.fetch( activationURL );\n\t\t\tfinishResolution( 'activateTheme' );\n\t\t\t// Remove the wp_theme_preview query param: we've finished activating\n\t\t\t// the queue and are switching to normal Site Editor.\n\t\t\thistory.navigate( addQueryArgs( path, { wp_theme_preview: '' } ) );\n\t\t}\n\t};\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAmC;AACnC,kBAA4B;AAC5B,oBAAiD;AACjD,iBAA6B;AAC7B,yBAAuB;AACvB,iCAGO;AAEP,IAAM,EAAE,YAAY,YAAY,QAAI,2BAAQ,cAAAA,WAAkB;AAOvD,SAAS,mBAAmB;AAClC,QAAM,UAAU,WAAW;AAC3B,QAAM,EAAE,KAAK,IAAI,YAAY;AAC7B,QAAM,EAAE,iBAAiB,iBAAiB,QAAI,yBAAa,iBAAAC,KAAU;AAErE,SAAO,YAAY;AAClB,YAAK,8CAAkB,GAAI;AAC1B,YAAM,gBACL,+CACA,qDAAyB,IACzB,eACA,OAAO;AACR,sBAAiB,eAAgB;AACjC,YAAM,OAAO,MAAO,aAAc;AAClC,uBAAkB,eAAgB;AAGlC,cAAQ,aAAU,yBAAc,MAAM,EAAE,kBAAkB,GAAG,CAAE,CAAE;AAAA,IAClE;AAAA,EACD;AACD;",
6
6
  "names": ["routerPrivateApis", "coreStore"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/use-actual-current-theme.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport apiFetch from '@wordpress/api-fetch';\nimport { useState, useEffect } from '@wordpress/element';\nimport { addQueryArgs } from '@wordpress/url';\n\nconst ACTIVE_THEMES_URL = '/wp/v2/themes?status=active';\n\nexport function useActualCurrentTheme() {\n\tconst [ currentTheme, setCurrentTheme ] = useState();\n\n\tuseEffect( () => {\n\t\t// Set the `wp_theme_preview` to empty string to bypass the createThemePreviewMiddleware.\n\t\tconst path = addQueryArgs( ACTIVE_THEMES_URL, {\n\t\t\tcontext: 'edit',\n\t\t\twp_theme_preview: '',\n\t\t} );\n\n\t\tapiFetch( { path } )\n\t\t\t.then( ( activeThemes ) => setCurrentTheme( activeThemes[ 0 ] ) )\n\t\t\t// Do nothing\n\t\t\t.catch( () => {} );\n\t}, [] );\n\n\treturn currentTheme;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,uBAAqB;AACrB,qBAAoC;AACpC,iBAA6B;AAE7B,IAAM,oBAAoB;AAEnB,SAAS,wBAAwB;AACvC,QAAM,CAAE,cAAc,eAAgB,QAAI,yBAAS;AAEnD,gCAAW,MAAM;AAEhB,UAAM,WAAO,yBAAc,mBAAmB;AAAA,MAC7C,SAAS;AAAA,MACT,kBAAkB;AAAA,IACnB,CAAE;AAEF,yBAAAA,SAAU,EAAE,KAAK,CAAE,EACjB,KAAM,CAAE,iBAAkB,gBAAiB,aAAc,CAAE,CAAE,CAAE,EAE/D,MAAO,MAAM;AAAA,IAAC,CAAE;AAAA,EACnB,GAAG,CAAC,CAAE;AAEN,SAAO;AACR;",
4
+ "sourcesContent": ["import apiFetch from '@wordpress/api-fetch';\nimport { useState, useEffect } from '@wordpress/element';\nimport { addQueryArgs } from '@wordpress/url';\n\nconst ACTIVE_THEMES_URL = '/wp/v2/themes?status=active';\n\nexport function useActualCurrentTheme() {\n\tconst [ currentTheme, setCurrentTheme ] = useState();\n\n\tuseEffect( () => {\n\t\t// Set the `wp_theme_preview` to empty string to bypass the createThemePreviewMiddleware.\n\t\tconst path = addQueryArgs( ACTIVE_THEMES_URL, {\n\t\t\tcontext: 'edit',\n\t\t\twp_theme_preview: '',\n\t\t} );\n\n\t\tapiFetch( { path } )\n\t\t\t.then( ( activeThemes ) => setCurrentTheme( activeThemes[ 0 ] ) )\n\t\t\t// Do nothing\n\t\t\t.catch( () => {} );\n\t}, [] );\n\n\treturn currentTheme;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAqB;AACrB,qBAAoC;AACpC,iBAA6B;AAE7B,IAAM,oBAAoB;AAEnB,SAAS,wBAAwB;AACvC,QAAM,CAAE,cAAc,eAAgB,QAAI,yBAAS;AAEnD,gCAAW,MAAM;AAEhB,UAAM,WAAO,yBAAc,mBAAmB;AAAA,MAC7C,SAAS;AAAA,MACT,kBAAkB;AAAA,IACnB,CAAE;AAEF,yBAAAA,SAAU,EAAE,KAAK,CAAE,EACjB,KAAM,CAAE,iBAAkB,gBAAiB,aAAc,CAAE,CAAE,CAAE,EAE/D,MAAO,MAAM;AAAA,IAAC,CAAE;AAAA,EACnB,GAAG,CAAC,CAAE;AAEN,SAAO;AACR;",
6
6
  "names": ["apiFetch"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/add-new-pattern/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { 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';\n\n/**\n * Internal dependencies\n */\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
- "mappings": "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",
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
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/add-new-post/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\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
- "mappings": ";AAGA;AAAA,EACC;AAAA,EACA;AAAA,EACA,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,EACxB;AAAA,OACM;AACP,SAAS,IAAI,eAAe;AAC5B,SAAS,aAAa,aAAa,iBAAiB;AACpD,SAAS,gBAAgB;AACzB,SAAS,SAAS,iBAAiB;AACnC,SAAS,SAAS,oBAAoB;AACtC,SAAS,sBAAsB;AAC/B,SAAS,WAAW,qCAAqC;AAmFpD,cAMA,YANA;AAjFU,SAAR,gBAAkC,EAAE,UAAU,QAAQ,QAAQ,GAAI;AACxE,QAAM,SAAS;AAAA,IACd,CAAE,WAAY,OAAQ,SAAU,EAAE,YAAa,QAAS,GAAG;AAAA,IAC3D,CAAE,QAAS;AAAA,EACZ;AACA,QAAM,CAAE,gBAAgB,iBAAkB,IAAI,SAAU,KAAM;AAC9D,QAAM,CAAE,OAAO,QAAS,IAAI,SAAU,EAAG;AAEzC,QAAM,EAAE,iBAAiB,IAAI,YAAa,SAAU;AACpD,QAAM,EAAE,mBAAmB,oBAAoB,IAC9C,YAAa,YAAa;AAC3B,QAAM,EAAE,cAAc,IAAI,YAAY;AAEtC,iBAAe,WAAY,OAAQ;AAClC,UAAM,eAAe;AAErB,QAAK,gBAAiB;AACrB;AAAA,IACD;AACA,sBAAmB,IAAK;AACxB,QAAI;AACH,YAAM,iBACL,MAAM,cAAe,SAAU,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,SACrB;AAAA,YACA;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,QACC;AAAA;AAAA,UAEC,GAAI,4BAA6B;AAAA,UACjC,eAAgB,QAAQ,OAAO,YAAY,KAAM,KAChD,GAAI,YAAa;AAAA,QACnB;AAAA,QACA,EAAE,MAAM,WAAW;AAAA,MACpB;AAAA,IACD,SAAU,OAAQ;AACjB,YAAM,eACL,MAAM,WAAW,MAAM,SAAS,kBAC7B,MAAM,UACN,GAAI,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,QAEC,QAAS,GAAI,eAAgB,GAAG,QAAQ,aAAc;AAAA;AAAA,MAEvD,gBAAiB;AAAA,MACjB,cAAa;AAAA,MACb,MAAK;AAAA,MAEL,8BAAC,UAAK,UAAW,YAChB,+BAAC,UAAO,SAAU,GACjB;AAAA;AAAA,UAAC;AAAA;AAAA,YACA,OAAQ,GAAI,OAAQ;AAAA,YACpB,UAAW;AAAA,YACX,aAAc,GAAI,UAAW;AAAA,YAC7B,OAAQ;AAAA;AAAA,QACT;AAAA,QACA,qBAAC,UAAO,SAAU,GAAI,SAAQ,OAC7B;AAAA;AAAA,YAAC;AAAA;AAAA,cACA,uBAAqB;AAAA,cACrB,SAAQ;AAAA,cACR,SAAU;AAAA,cAER,aAAI,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,aAAI,cAAe;AAAA;AAAA,UACtB;AAAA,WACD;AAAA,SACD,GACD;AAAA;AAAA,EACD;AAEF;",
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
+ "mappings": ";AAAA;AAAA,EACC;AAAA,EACA;AAAA,EACA,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,EACxB;AAAA,OACM;AACP,SAAS,IAAI,eAAe;AAC5B,SAAS,aAAa,aAAa,iBAAiB;AACpD,SAAS,gBAAgB;AACzB,SAAS,SAAS,iBAAiB;AACnC,SAAS,SAAS,oBAAoB;AACtC,SAAS,sBAAsB;AAC/B,SAAS,WAAW,qCAAqC;AAmFpD,cAMA,YANA;AAjFU,SAAR,gBAAkC,EAAE,UAAU,QAAQ,QAAQ,GAAI;AACxE,QAAM,SAAS;AAAA,IACd,CAAE,WAAY,OAAQ,SAAU,EAAE,YAAa,QAAS,GAAG;AAAA,IAC3D,CAAE,QAAS;AAAA,EACZ;AACA,QAAM,CAAE,gBAAgB,iBAAkB,IAAI,SAAU,KAAM;AAC9D,QAAM,CAAE,OAAO,QAAS,IAAI,SAAU,EAAG;AAEzC,QAAM,EAAE,iBAAiB,IAAI,YAAa,SAAU;AACpD,QAAM,EAAE,mBAAmB,oBAAoB,IAC9C,YAAa,YAAa;AAC3B,QAAM,EAAE,cAAc,IAAI,YAAY;AAEtC,iBAAe,WAAY,OAAQ;AAClC,UAAM,eAAe;AAErB,QAAK,gBAAiB;AACrB;AAAA,IACD;AACA,sBAAmB,IAAK;AACxB,QAAI;AACH,YAAM,iBACL,MAAM,cAAe,SAAU,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,SACrB;AAAA,YACA;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,QACC;AAAA;AAAA,UAEC,GAAI,4BAA6B;AAAA,UACjC,eAAgB,QAAQ,OAAO,YAAY,KAAM,KAChD,GAAI,YAAa;AAAA,QACnB;AAAA,QACA,EAAE,MAAM,WAAW;AAAA,MACpB;AAAA,IACD,SAAU,OAAQ;AACjB,YAAM,eACL,MAAM,WAAW,MAAM,SAAS,kBAC7B,MAAM,UACN,GAAI,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,QAEC,QAAS,GAAI,eAAgB,GAAG,QAAQ,aAAc;AAAA;AAAA,MAEvD,gBAAiB;AAAA,MACjB,cAAa;AAAA,MACb,MAAK;AAAA,MAEL,8BAAC,UAAK,UAAW,YAChB,+BAAC,UAAO,SAAU,GACjB;AAAA;AAAA,UAAC;AAAA;AAAA,YACA,OAAQ,GAAI,OAAQ;AAAA,YACpB,UAAW;AAAA,YACX,aAAc,GAAI,UAAW;AAAA,YAC7B,OAAQ;AAAA;AAAA,QACT;AAAA,QACA,qBAAC,UAAO,SAAU,GAAI,SAAQ,OAC7B;AAAA;AAAA,YAAC;AAAA;AAAA,cACA,uBAAqB;AAAA,cACrB,SAAQ;AAAA,cACR,SAAU;AAAA,cAER,aAAI,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,aAAI,cAAe;AAAA;AAAA,UACtB;AAAA,WACD;AAAA,SACD,GACD;AAAA;AAAA,EACD;AAEF;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/add-new-template/add-custom-generic-template-modal-content.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport { paramCase as kebabCase } from 'change-case';\n\n/**\n * WordPress dependencies\n */\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
- "mappings": ";AAGA,SAAS,aAAa,iBAAiB;AAKvC,SAAS,UAAU,WAAW,cAAc;AAC5C,SAAS,UAAU;AACnB;AAAA,EACC;AAAA,EACA;AAAA,EACA,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,OAClB;AAsCH,cAYA,YAZA;AApCJ,SAAS,qCAAsC,EAAE,gBAAgB,OAAO,GAAI;AAC3E,QAAM,CAAE,OAAO,QAAS,IAAI,SAAU,EAAG;AACzC,QAAM,eAAe,GAAI,iBAAkB;AAC3C,QAAM,CAAE,QAAQ,SAAU,IAAI,SAAU,KAAM;AAC9C,QAAM,WAAW,OAAO;AAGxB,YAAW,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,MACC,UAAW,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,oBAAC,UAAK,UAAW,kBAChB,+BAAC,UAAO,SAAU,GACjB;AAAA;AAAA,MAAC;AAAA;AAAA,QACA,OAAQ,GAAI,MAAO;AAAA,QACnB,OAAQ;AAAA,QACR,UAAW;AAAA,QACX,aAAc;AAAA,QACd,UAAW;AAAA,QACX,KAAM;AAAA,QACN,MAAO;AAAA;AAAA,UAEN;AAAA,QACD;AAAA;AAAA,IACD;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACA,WAAU;AAAA,QACV,SAAQ;AAAA,QAER;AAAA;AAAA,YAAC;AAAA;AAAA,cACA,uBAAqB;AAAA,cACrB,SAAQ;AAAA,cACR,SAAU;AAAA,cAER,aAAI,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,aAAI,QAAS;AAAA;AAAA,UAChB;AAAA;AAAA;AAAA,IACD;AAAA,KACD,GACD;AAEF;AAEA,IAAO,oDAAQ;",
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
+ "mappings": ";AAAA,SAAS,aAAa,iBAAiB;AACvC,SAAS,UAAU,WAAW,cAAc;AAC5C,SAAS,UAAU;AACnB;AAAA,EACC;AAAA,EACA;AAAA,EACA,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,OAClB;AAsCH,cAYA,YAZA;AApCJ,SAAS,qCAAsC,EAAE,gBAAgB,OAAO,GAAI;AAC3E,QAAM,CAAE,OAAO,QAAS,IAAI,SAAU,EAAG;AACzC,QAAM,eAAe,GAAI,iBAAkB;AAC3C,QAAM,CAAE,QAAQ,SAAU,IAAI,SAAU,KAAM;AAC9C,QAAM,WAAW,OAAO;AAGxB,YAAW,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,MACC,UAAW,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,oBAAC,UAAK,UAAW,kBAChB,+BAAC,UAAO,SAAU,GACjB;AAAA;AAAA,MAAC;AAAA;AAAA,QACA,OAAQ,GAAI,MAAO;AAAA,QACnB,OAAQ;AAAA,QACR,UAAW;AAAA,QACX,aAAc;AAAA,QACd,UAAW;AAAA,QACX,KAAM;AAAA,QACN,MAAO;AAAA;AAAA,UAEN;AAAA,QACD;AAAA;AAAA,IACD;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACA,WAAU;AAAA,QACV,SAAQ;AAAA,QAER;AAAA;AAAA,YAAC;AAAA;AAAA,cACA,uBAAqB;AAAA,cACrB,SAAQ;AAAA,cACR,SAAU;AAAA,cAER,aAAI,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,aAAI,QAAS;AAAA;AAAA,UAChB;AAAA;AAAA;AAAA,IACD;AAAA,KACD,GACD;AAEF;AAEA,IAAO,oDAAQ;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/add-new-template/add-custom-template-modal-content.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { 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';\n\n/**\n * Internal dependencies\n */\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
- "mappings": "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",
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
+ "mappings": ";AAAA,SAAS,UAAU,SAAS,iBAAiB;AAC7C,SAAS,UAAU;AACnB;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,sBAAsB;AAAA,EACtB,wBAAwB;AAAA,OAClB;AACP,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAC/B,SAAS,yBAAyB;AAClC,SAAS,aAAa;AACtB,SAAS,qBAAqB;AAC9B,SAAS,0BAA0B;AAajC,SA4FA,UA1FE,KAFF;AAXF,IAAM,cAAc,CAAC;AAErB,SAAS,mBAAoB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,eACL;AACD,SACC;AAAA,IAAC,UAAU;AAAA,IAAV;AAAA,MACA,QACC;AAAA,QAAC;AAAA;AAAA,UACA,uBAAqB;AAAA,UACrB,MAAK;AAAA,UACL,WAAY;AAAA,UACZ,SAAU,MACT;AAAA,YACC,qBAAqB,OAAO;AAAA,cAC3B;AAAA,YACD;AAAA,UACD;AAAA;AAAA,MAEF;AAAA,MAGD;AAAA;AAAA,UAAC;AAAA;AAAA,YACA,MAAK;AAAA,YACL,YAAa;AAAA,YACb,QAAO;AAAA,YACP,WAAY,GAAI,YAAa;AAAA,YAE7B;AAAA,cAAC;AAAA;AAAA,gBACA,MAAO,eAAgB,WAAW,IAAK;AAAA,gBACvC,WAAY;AAAA;AAAA,YACb;AAAA;AAAA,QACD;AAAA,QACE,WAAW,QACZ;AAAA,UAAC;AAAA;AAAA,YACA,MAAK;AAAA,YACL,YAAa;AAAA,YACb,WAAY,GAAI,YAAa;AAAA,YAE3B,wBAAe,WAAW,IAAK;AAAA;AAAA,QAClC;AAAA;AAAA;AAAA,EAEF;AAEF;AAEA,SAAS,qBAAsB,sBAAsB,QAAS;AAC7D,QAAM,EAAE,OAAO,IAAI;AACnB,QAAM,QAAQ;AAAA,IACb,OAAQ;AAAA,MACP,OAAO;AAAA,MACP,SAAS;AAAA,MACT;AAAA,MACA,UAAU,SAAS,KAAK;AAAA,MACxB,GAAG,OAAO,UAAW,MAAO;AAAA,IAC7B;AAAA,IACA,CAAE,QAAQ,MAAO;AAAA,EAClB;AACA,QAAM,EAAE,SAAS,eAAe,aAAa,kBAAkB,IAC9D;AAAA,IACC,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB;AAAA,EACD;AACD,QAAM,CAAE,aAAa,cAAe,IAAI,SAAU,WAAY;AAC9D,YAAW,MAAM;AAChB,QAAK,CAAE,mBAAoB;AAC1B;AAAA,IACD;AACA,QAAI,iBAAiB;AACrB,QAAK,eAAe,QAAS;AAC5B,uBAAiB;AACjB,UAAK,OAAO,gBAAiB;AAC5B,yBAAiB;AAAA,UAChB;AAAA,UACA,OAAO;AAAA,QACR;AAAA,MACD;AAAA,IACD;AAGA,mBAAgB,cAAe;AAAA,EAChC,GAAG,CAAE,eAAe,iBAAkB,CAAE;AACxC,SAAO;AACR;AAEA,SAAS,eAAgB,EAAE,sBAAsB,SAAS,GAAI;AAC7D,QAAM,CAAE,QAAQ,WAAW,eAAgB,IAAI,kBAAkB;AACjE,QAAM,cAAc;AAAA,IACnB;AAAA,IACA;AAAA,EACD;AACA,QAAM,EAAE,OAAO,IAAI;AACnB,QAAM,CAAE,mBAAmB,oBAAqB,IAAI,SAAU,KAAM;AACpE,MAAK,CAAE,qBAAqB,aAAa,SAAS,GAAI;AACrD,yBAAsB,IAAK;AAAA,EAC5B;AACA,SACC,iCACG;AAAA,yBACD;AAAA,MAAC;AAAA;AAAA,QACA,UAAW;AAAA,QACX,OAAQ;AAAA,QACR,OAAQ,OAAO;AAAA,QACf,aAAc,OAAO;AAAA;AAAA,IACtB;AAAA,IAEC,CAAC,CAAE,aAAa,UACjB;AAAA,MAAC;AAAA;AAAA,QACA,aAAY;AAAA,QACZ,MAAK;AAAA,QACL,WAAU;AAAA,QACV,cAAa,GAAI,kBAAmB;AAAA,QAElC,sBAAY,IAAK,CAAE,eACpB;AAAA,UAAC;AAAA;AAAA,YAEA;AAAA,YACA,QAAS;AAAA,YACT;AAAA,YACA;AAAA;AAAA,UAJM,WAAW;AAAA,QAKlB,CACC;AAAA;AAAA,IACH;AAAA,IAEC,mBAAmB,CAAE,aAAa,UACnC;AAAA,MAAC;AAAA;AAAA,QACA,IAAG;AAAA,QACH,WAAU;AAAA,QAER,iBAAO;AAAA;AAAA,IACV;AAAA,KAEF;AAEF;AAEA,SAAS,8BAA+B;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,CAAE,oBAAoB,qBAAsB,IAAI,SAAS;AAI/D,YAAW,MAAM;AAChB,QAAK,aAAa,SAAU;AAC3B,YAAM,CAAE,cAAe,IAAI,MAAM,UAAU;AAAA,QAC1C,aAAa;AAAA,MACd;AACA,sBAAgB,MAAM;AAAA,IACvB;AAAA,EACD,GAAG,CAAE,kBAAmB,CAAE;AAE1B,SACC;AAAA,IAAC;AAAA;AAAA,MACA,SAAU;AAAA,MACV,WAAU;AAAA,MACV,WAAU;AAAA,MAER;AAAA,SAAE,sBACH,iCACC;AAAA,8BAAC,UAAO,IAAG,KACR;AAAA,YACD;AAAA,UACD,GACD;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACA,WAAU;AAAA,cACV,KAAI;AAAA,cACJ,OAAM;AAAA,cAEN;AAAA;AAAA,kBAAC;AAAA;AAAA,oBACA,SAAO;AAAA,oBACP,IAAK;AAAA,oBACL,SAAU,MAAM;AACf,4BAAM;AAAA,wBACL;AAAA,wBACA;AAAA,wBACA;AAAA,wBACA;AAAA,sBACD,IAAI,qBAAqB;AACzB,+BAAU;AAAA,wBACT;AAAA,wBACA;AAAA,wBACA;AAAA,wBACA;AAAA,sBACD,CAAE;AAAA,oBACH;AAAA,oBAEA;AAAA;AAAA,wBAAC;AAAA;AAAA,0BACA,IAAG;AAAA,0BACH,QAAO;AAAA,0BACP,YAAa;AAAA,0BAEX,+BAAqB,OAAO;AAAA;AAAA,sBAC/B;AAAA,sBACA;AAAA,wBAAC;AAAA;AAAA,0BACA,IAAG;AAAA,0BACH,YAAa;AAAA;AAAA,0BAIZ,aAAI,eAAgB;AAAA;AAAA,sBAEtB;AAAA;AAAA;AAAA,gBACD;AAAA,gBACA;AAAA,kBAAC;AAAA;AAAA,oBACA,SAAO;AAAA,oBACP,IAAK;AAAA,oBACL,SAAU,MAAM;AACf,4CAAuB,IAAK;AAAA,oBAC7B;AAAA,oBAEA;AAAA;AAAA,wBAAC;AAAA;AAAA,0BACA,IAAG;AAAA,0BACH,QAAO;AAAA,0BACP,YAAa;AAAA,0BAEX,+BAAqB,OAAO;AAAA;AAAA,sBAC/B;AAAA,sBACA;AAAA,wBAAC;AAAA;AAAA,0BACA,IAAG;AAAA,0BACH,YAAa;AAAA;AAAA,0BAIZ,aAAI,qBAAsB;AAAA;AAAA,sBAE5B;AAAA;AAAA;AAAA,gBACD;AAAA;AAAA;AAAA,UACD;AAAA,UACA,oBAAC,QAAK,SAAQ,SACb;AAAA,YAAC;AAAA;AAAA,cACA,uBAAqB;AAAA,cACrB,SAAQ;AAAA,cACR,SAAU;AAAA,cAER,aAAI,MAAO;AAAA;AAAA,UACd,GACD;AAAA,WACD;AAAA,QAEC,sBACD,iCACC;AAAA,8BAAC,UAAO,IAAG,KACR;AAAA,YACD;AAAA,UACD,GACD;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACA;AAAA,cACA;AAAA;AAAA,UACD;AAAA,UACA,oBAAC,QAAK,SAAQ,SACb;AAAA,YAAC;AAAA;AAAA,cACA,uBAAqB;AAAA,cACrB,SAAQ;AAAA,cACR,SAAU,MAAM;AAGf,oBAAK,qBAAqB,oBAAqB;AAC9C,yBAAO;AAAA,gBACR,OAAO;AACN,wCAAuB,KAAM;AAAA,gBAC9B;AAAA,cACD;AAAA,cAEE,aAAI,MAAO;AAAA;AAAA,UACd,GACD;AAAA,WACD;AAAA;AAAA;AAAA,EAEF;AAEF;AAEA,IAAO,4CAAQ;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/add-new-template/index.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\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';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\n\n/**\n * Internal dependencies\n */\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
- "mappings": "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",
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
+ "mappings": "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",
6
6
  "names": []
7
7
  }