@wordpress/edit-site 5.12.0 → 5.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (883) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/build/components/add-new-pattern/index.js +99 -0
  3. package/build/components/add-new-pattern/index.js.map +1 -0
  4. package/build/components/add-new-template/add-custom-template-modal-content.js +9 -23
  5. package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  6. package/build/components/add-new-template/index.js +2 -10
  7. package/build/components/add-new-template/index.js.map +1 -1
  8. package/build/components/add-new-template/new-template.js +6 -8
  9. package/build/components/add-new-template/new-template.js.map +1 -1
  10. package/build/components/app/index.js +2 -2
  11. package/build/components/app/index.js.map +1 -1
  12. package/build/components/block-editor/back-button.js +5 -3
  13. package/build/components/block-editor/back-button.js.map +1 -1
  14. package/build/components/block-editor/constants.js +9 -0
  15. package/build/components/block-editor/constants.js.map +1 -0
  16. package/build/components/block-editor/editor-canvas.js +8 -8
  17. package/build/components/block-editor/editor-canvas.js.map +1 -1
  18. package/build/components/block-editor/get-block-editor-provider.js +42 -0
  19. package/build/components/block-editor/get-block-editor-provider.js.map +1 -0
  20. package/build/components/block-editor/index.js +6 -132
  21. package/build/components/block-editor/index.js.map +1 -1
  22. package/build/components/block-editor/providers/default-block-editor-provider.js +58 -0
  23. package/build/components/block-editor/providers/default-block-editor-provider.js.map +1 -0
  24. package/build/components/block-editor/providers/navigation-block-editor-provider.js +117 -0
  25. package/build/components/block-editor/providers/navigation-block-editor-provider.js.map +1 -0
  26. package/build/components/block-editor/site-editor-canvas.js +137 -0
  27. package/build/components/block-editor/site-editor-canvas.js.map +1 -0
  28. package/build/components/block-editor/use-site-editor-settings.js +82 -0
  29. package/build/components/block-editor/use-site-editor-settings.js.map +1 -0
  30. package/build/components/canvas-spinner/index.js +18 -1
  31. package/build/components/canvas-spinner/index.js.map +1 -1
  32. package/build/components/create-pattern-modal/index.js +125 -0
  33. package/build/components/create-pattern-modal/index.js.map +1 -0
  34. package/build/components/create-template-part-modal/index.js +49 -5
  35. package/build/components/create-template-part-modal/index.js.map +1 -1
  36. package/build/components/editor/index.js +23 -13
  37. package/build/components/editor/index.js.map +1 -1
  38. package/build/components/editor-canvas-container/index.js +22 -4
  39. package/build/components/editor-canvas-container/index.js.map +1 -1
  40. package/build/components/global-styles/color-indicator-wrapper.js +4 -5
  41. package/build/components/global-styles/color-indicator-wrapper.js.map +1 -1
  42. package/build/components/global-styles/color-palette-panel.js +2 -2
  43. package/build/components/global-styles/color-palette-panel.js.map +1 -1
  44. package/build/components/global-styles/dimensions-panel.js +2 -2
  45. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  46. package/build/components/global-styles/global-styles-provider.js +12 -16
  47. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  48. package/build/components/global-styles/gradients-palette-panel.js +2 -2
  49. package/build/components/global-styles/gradients-palette-panel.js.map +1 -1
  50. package/build/components/global-styles/hooks.js +3 -3
  51. package/build/components/global-styles/hooks.js.map +1 -1
  52. package/build/components/global-styles/icon-with-current-color.js +4 -5
  53. package/build/components/global-styles/icon-with-current-color.js.map +1 -1
  54. package/build/components/global-styles/navigation-button.js +10 -11
  55. package/build/components/global-styles/navigation-button.js.map +1 -1
  56. package/build/components/global-styles/palette.js +3 -3
  57. package/build/components/global-styles/palette.js.map +1 -1
  58. package/build/components/global-styles/preview.js +2 -2
  59. package/build/components/global-styles/preview.js.map +1 -1
  60. package/build/components/global-styles/root-menu.js +2 -2
  61. package/build/components/global-styles/root-menu.js.map +1 -1
  62. package/build/components/global-styles/screen-block-list.js +2 -2
  63. package/build/components/global-styles/screen-block-list.js.map +1 -1
  64. package/build/components/global-styles/screen-block.js +2 -2
  65. package/build/components/global-styles/screen-block.js.map +1 -1
  66. package/build/components/global-styles/screen-colors.js +2 -2
  67. package/build/components/global-styles/screen-colors.js.map +1 -1
  68. package/build/components/global-styles/screen-css.js +2 -2
  69. package/build/components/global-styles/screen-css.js.map +1 -1
  70. package/build/components/global-styles/screen-layout.js +2 -2
  71. package/build/components/global-styles/screen-layout.js.map +1 -1
  72. package/build/components/global-styles/screen-revisions/index.js +4 -4
  73. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  74. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +2 -2
  75. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  76. package/build/components/global-styles/screen-root.js +2 -2
  77. package/build/components/global-styles/screen-root.js.map +1 -1
  78. package/build/components/global-styles/screen-typography.js +2 -2
  79. package/build/components/global-styles/screen-typography.js.map +1 -1
  80. package/build/components/global-styles/style-variations-container.js +11 -3
  81. package/build/components/global-styles/style-variations-container.js.map +1 -1
  82. package/build/components/global-styles/typography-panel.js +2 -2
  83. package/build/components/global-styles/typography-panel.js.map +1 -1
  84. package/build/components/global-styles/typography-preview.js +2 -2
  85. package/build/components/global-styles/typography-preview.js.map +1 -1
  86. package/build/components/global-styles/ui.js +90 -36
  87. package/build/components/global-styles/ui.js.map +1 -1
  88. package/build/components/global-styles-renderer/index.js +2 -2
  89. package/build/components/global-styles-renderer/index.js.map +1 -1
  90. package/build/components/header-edit-mode/document-actions/index.js +55 -22
  91. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  92. package/build/components/header-edit-mode/index.js +6 -8
  93. package/build/components/header-edit-mode/index.js.map +1 -1
  94. package/build/components/header-edit-mode/plugin-sidebar-more-menu-item/index.js +4 -7
  95. package/build/components/header-edit-mode/plugin-sidebar-more-menu-item/index.js.map +1 -1
  96. package/build/components/header-edit-mode/undo-redo/redo.js +2 -6
  97. package/build/components/header-edit-mode/undo-redo/redo.js.map +1 -1
  98. package/build/components/header-edit-mode/undo-redo/undo.js +2 -6
  99. package/build/components/header-edit-mode/undo-redo/undo.js.map +1 -1
  100. package/build/components/keyboard-shortcut-help-modal/index.js +2 -1
  101. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  102. package/build/components/keyboard-shortcuts/edit-mode.js +7 -2
  103. package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  104. package/build/components/keyboard-shortcuts/index.js +7 -2
  105. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  106. package/build/components/keyboard-shortcuts/register.js +1 -1
  107. package/build/components/keyboard-shortcuts/register.js.map +1 -1
  108. package/build/components/layout/hooks.js +21 -0
  109. package/build/components/layout/hooks.js.map +1 -1
  110. package/build/components/layout/index.js +40 -22
  111. package/build/components/layout/index.js.map +1 -1
  112. package/build/components/list/index.js +2 -2
  113. package/build/components/list/index.js.map +1 -1
  114. package/build/components/page/header.js +41 -0
  115. package/build/components/page/header.js.map +1 -0
  116. package/build/components/page/index.js +49 -0
  117. package/build/components/page/index.js.map +1 -0
  118. package/build/components/page-content-focus-manager/back-to-page-notification.js +67 -0
  119. package/build/components/page-content-focus-manager/back-to-page-notification.js.map +1 -0
  120. package/build/components/page-content-focus-manager/constants.js +9 -0
  121. package/build/components/page-content-focus-manager/constants.js.map +1 -0
  122. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +60 -0
  123. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -0
  124. package/build/components/page-content-focus-manager/edit-template-notification.js +121 -0
  125. package/build/components/page-content-focus-manager/edit-template-notification.js.map +1 -0
  126. package/build/components/page-content-focus-manager/index.js +37 -0
  127. package/build/components/page-content-focus-manager/index.js.map +1 -0
  128. package/build/components/page-library/grid-item.js +165 -0
  129. package/build/components/page-library/grid-item.js.map +1 -0
  130. package/build/components/page-library/grid.js +49 -0
  131. package/build/components/page-library/grid.js.map +1 -0
  132. package/build/components/page-library/index.js +61 -0
  133. package/build/components/page-library/index.js.map +1 -0
  134. package/build/components/page-library/no-patterns.js +20 -0
  135. package/build/components/page-library/no-patterns.js.map +1 -0
  136. package/build/components/page-library/patterns-list.js +108 -0
  137. package/build/components/page-library/patterns-list.js.map +1 -0
  138. package/build/components/page-library/search-items.js +172 -0
  139. package/build/components/page-library/search-items.js.map +1 -0
  140. package/build/components/page-library/use-library-settings.js +53 -0
  141. package/build/components/page-library/use-library-settings.js.map +1 -0
  142. package/build/components/page-library/use-patterns.js +194 -0
  143. package/build/components/page-library/use-patterns.js.map +1 -0
  144. package/build/components/page-library/utils.js +30 -0
  145. package/build/components/page-library/utils.js.map +1 -0
  146. package/build/components/page-main/index.js +46 -0
  147. package/build/components/page-main/index.js.map +1 -0
  148. package/build/components/page-templates/index.js +101 -0
  149. package/build/components/page-templates/index.js.map +1 -0
  150. package/build/components/preferences-modal/enable-feature.js +4 -7
  151. package/build/components/preferences-modal/enable-feature.js.map +1 -1
  152. package/build/components/resizable-frame/index.js +6 -4
  153. package/build/components/resizable-frame/index.js.map +1 -1
  154. package/build/components/revisions/index.js +2 -2
  155. package/build/components/revisions/index.js.map +1 -1
  156. package/build/components/routes/link.js +7 -10
  157. package/build/components/routes/link.js.map +1 -1
  158. package/build/components/routes/use-title.js +2 -2
  159. package/build/components/routes/use-title.js.map +1 -1
  160. package/build/components/save-button/index.js +15 -11
  161. package/build/components/save-button/index.js.map +1 -1
  162. package/build/components/save-hub/index.js +2 -2
  163. package/build/components/save-hub/index.js.map +1 -1
  164. package/build/components/save-panel/index.js +5 -7
  165. package/build/components/save-panel/index.js.map +1 -1
  166. package/build/components/secondary-sidebar/inserter-sidebar.js +4 -8
  167. package/build/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
  168. package/build/components/secondary-sidebar/list-view-sidebar.js +47 -10
  169. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  170. package/build/components/sidebar/index.js +12 -8
  171. package/build/components/sidebar/index.js.map +1 -1
  172. package/build/components/sidebar-button/index.js +2 -4
  173. package/build/components/sidebar-button/index.js.map +1 -1
  174. package/build/components/sidebar-edit-mode/global-styles-sidebar.js +22 -8
  175. package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  176. package/build/components/sidebar-edit-mode/index.js +5 -5
  177. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  178. package/build/components/sidebar-edit-mode/page-panels/edit-template.js +84 -0
  179. package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -0
  180. package/build/components/sidebar-edit-mode/page-panels/index.js +51 -38
  181. package/build/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
  182. package/build/components/sidebar-edit-mode/page-panels/page-content.js +35 -0
  183. package/build/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -0
  184. package/build/components/sidebar-edit-mode/page-panels/page-status.js +192 -0
  185. package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -0
  186. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +45 -0
  187. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -0
  188. package/build/components/sidebar-edit-mode/page-panels/publish-date.js +98 -0
  189. package/build/components/sidebar-edit-mode/page-panels/publish-date.js.map +1 -0
  190. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js +4 -7
  191. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  192. package/build/components/sidebar-edit-mode/settings-header/index.js +19 -6
  193. package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  194. package/build/components/sidebar-edit-mode/sidebar-fixed-bottom.js +2 -2
  195. package/build/components/sidebar-edit-mode/sidebar-fixed-bottom.js.map +1 -1
  196. package/build/components/sidebar-edit-mode/template-panel/index.js +10 -6
  197. package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  198. package/build/components/sidebar-navigation-item/index.js +11 -7
  199. package/build/components/sidebar-navigation-item/index.js.map +1 -1
  200. package/build/components/sidebar-navigation-screen/index.js +18 -7
  201. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  202. package/build/components/sidebar-navigation-screen-details-footer/index.js +36 -0
  203. package/build/components/sidebar-navigation-screen-details-footer/index.js.map +1 -0
  204. package/build/components/sidebar-navigation-screen-details-panel/index.js +58 -0
  205. package/build/components/sidebar-navigation-screen-details-panel/index.js.map +1 -0
  206. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js +22 -0
  207. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js.map +1 -0
  208. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +35 -0
  209. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -0
  210. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js +22 -0
  211. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js.map +1 -0
  212. package/build/components/sidebar-navigation-screen-global-styles/index.js +13 -13
  213. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  214. package/build/components/sidebar-navigation-screen-library/category-item.js +48 -0
  215. package/build/components/sidebar-navigation-screen-library/category-item.js.map +1 -0
  216. package/build/components/sidebar-navigation-screen-library/index.js +112 -0
  217. package/build/components/sidebar-navigation-screen-library/index.js.map +1 -0
  218. package/build/components/sidebar-navigation-screen-library/use-default-pattern-categories.js +36 -0
  219. package/build/components/sidebar-navigation-screen-library/use-default-pattern-categories.js.map +1 -0
  220. package/build/components/sidebar-navigation-screen-library/use-pattern-categories.js +76 -0
  221. package/build/components/sidebar-navigation-screen-library/use-pattern-categories.js.map +1 -0
  222. package/build/components/sidebar-navigation-screen-library/use-template-part-areas.js +41 -0
  223. package/build/components/sidebar-navigation-screen-library/use-template-part-areas.js.map +1 -0
  224. package/build/components/sidebar-navigation-screen-library/use-theme-patterns.js +40 -0
  225. package/build/components/sidebar-navigation-screen-library/use-theme-patterns.js.map +1 -0
  226. package/build/components/sidebar-navigation-screen-main/index.js +12 -13
  227. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  228. package/build/components/sidebar-navigation-screen-navigation-item/index.js +2 -2
  229. package/build/components/sidebar-navigation-screen-navigation-item/index.js.map +1 -1
  230. package/build/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +42 -0
  231. package/build/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +1 -0
  232. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js +41 -0
  233. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -0
  234. package/build/components/sidebar-navigation-screen-navigation-menu/index.js +47 -92
  235. package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  236. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js +84 -0
  237. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -0
  238. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +71 -0
  239. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +1 -0
  240. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +54 -0
  241. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -0
  242. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +49 -0
  243. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -0
  244. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +163 -0
  245. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -0
  246. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js +3 -1
  247. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -1
  248. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +46 -7
  249. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  250. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +57 -10
  251. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  252. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +21 -50
  253. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  254. package/build/components/sidebar-navigation-screen-page/index.js +14 -34
  255. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
  256. package/build/components/sidebar-navigation-screen-page/page-details.js +29 -27
  257. package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  258. package/build/components/sidebar-navigation-screen-page/status-label.js +8 -7
  259. package/build/components/sidebar-navigation-screen-page/status-label.js.map +1 -1
  260. package/build/components/sidebar-navigation-screen-pages/index.js +9 -8
  261. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  262. package/build/components/sidebar-navigation-screen-pattern/index.js +66 -0
  263. package/build/components/sidebar-navigation-screen-pattern/index.js.map +1 -0
  264. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +41 -0
  265. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -0
  266. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js +33 -0
  267. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js.map +1 -0
  268. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +40 -0
  269. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -0
  270. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +47 -0
  271. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -0
  272. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +82 -0
  273. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -0
  274. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +80 -0
  275. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -0
  276. package/build/components/sidebar-navigation-screen-template/home-template-details.js +212 -0
  277. package/build/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -0
  278. package/build/components/sidebar-navigation-screen-template/index.js +21 -7
  279. package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
  280. package/build/components/sidebar-navigation-screen-templates/index.js +11 -11
  281. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  282. package/build/components/site-hub/index.js +10 -12
  283. package/build/components/site-hub/index.js.map +1 -1
  284. package/build/components/style-book/index.js +10 -11
  285. package/build/components/style-book/index.js.map +1 -1
  286. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +14 -4
  287. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  288. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +4 -4
  289. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -1
  290. package/build/components/sync-state-with-url/use-sync-path-with-url.js +12 -2
  291. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  292. package/build/components/table/index.js +29 -0
  293. package/build/components/table/index.js.map +1 -0
  294. package/build/components/template-part-converter/convert-to-template-part.js +3 -21
  295. package/build/components/template-part-converter/convert-to-template-part.js.map +1 -1
  296. package/build/components/welcome-guide/editor.js +1 -1
  297. package/build/components/welcome-guide/editor.js.map +1 -1
  298. package/build/components/welcome-guide/styles.js +4 -3
  299. package/build/components/welcome-guide/styles.js.map +1 -1
  300. package/build/hooks/commands/use-common-commands.js +190 -0
  301. package/build/hooks/commands/use-common-commands.js.map +1 -0
  302. package/build/hooks/commands/use-edit-mode-commands.js +67 -23
  303. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  304. package/build/hooks/index.js +2 -0
  305. package/build/hooks/index.js.map +1 -1
  306. package/build/hooks/navigation-menu-edit.js +95 -0
  307. package/build/hooks/navigation-menu-edit.js.map +1 -0
  308. package/build/hooks/push-changes-to-global-styles/index.js +5 -3
  309. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  310. package/build/hooks/template-part-edit.js +6 -9
  311. package/build/hooks/template-part-edit.js.map +1 -1
  312. package/build/{private-apis.js → lock-unlock.js} +1 -1
  313. package/build/lock-unlock.js.map +1 -0
  314. package/build/store/actions.js +45 -9
  315. package/build/store/actions.js.map +1 -1
  316. package/build/store/index.js +3 -3
  317. package/build/store/index.js.map +1 -1
  318. package/build/store/reducer.js +7 -6
  319. package/build/store/reducer.js.map +1 -1
  320. package/build/store/selectors.js +40 -16
  321. package/build/store/selectors.js.map +1 -1
  322. package/build/utils/get-is-list-page.js +12 -5
  323. package/build/utils/get-is-list-page.js.map +1 -1
  324. package/build/utils/is-previewing-theme.js +2 -2
  325. package/build/utils/is-previewing-theme.js.map +1 -1
  326. package/build/utils/use-activate-theme.js +3 -3
  327. package/build/utils/use-activate-theme.js.map +1 -1
  328. package/build/utils/use-debounced-input.js +26 -0
  329. package/build/utils/use-debounced-input.js.map +1 -0
  330. package/build-module/components/add-new-pattern/index.js +82 -0
  331. package/build-module/components/add-new-pattern/index.js.map +1 -0
  332. package/build-module/components/add-new-template/add-custom-template-modal-content.js +7 -20
  333. package/build-module/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  334. package/build-module/components/add-new-template/index.js +2 -8
  335. package/build-module/components/add-new-template/index.js.map +1 -1
  336. package/build-module/components/add-new-template/new-template.js +4 -5
  337. package/build-module/components/add-new-template/new-template.js.map +1 -1
  338. package/build-module/components/app/index.js +1 -1
  339. package/build-module/components/app/index.js.map +1 -1
  340. package/build-module/components/block-editor/back-button.js +4 -2
  341. package/build-module/components/block-editor/back-button.js.map +1 -1
  342. package/build-module/components/block-editor/constants.js +2 -0
  343. package/build-module/components/block-editor/constants.js.map +1 -0
  344. package/build-module/components/block-editor/editor-canvas.js +6 -5
  345. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  346. package/build-module/components/block-editor/get-block-editor-provider.js +31 -0
  347. package/build-module/components/block-editor/get-block-editor-provider.js.map +1 -0
  348. package/build-module/components/block-editor/index.js +9 -127
  349. package/build-module/components/block-editor/index.js.map +1 -1
  350. package/build-module/components/block-editor/providers/default-block-editor-provider.js +42 -0
  351. package/build-module/components/block-editor/providers/default-block-editor-provider.js.map +1 -0
  352. package/build-module/components/block-editor/providers/navigation-block-editor-provider.js +102 -0
  353. package/build-module/components/block-editor/providers/navigation-block-editor-provider.js.map +1 -0
  354. package/build-module/components/block-editor/site-editor-canvas.js +115 -0
  355. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -0
  356. package/build-module/components/block-editor/use-site-editor-settings.js +67 -0
  357. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -0
  358. package/build-module/components/canvas-spinner/index.js +15 -1
  359. package/build-module/components/canvas-spinner/index.js.map +1 -1
  360. package/build-module/components/create-pattern-modal/index.js +113 -0
  361. package/build-module/components/create-pattern-modal/index.js.map +1 -0
  362. package/build-module/components/create-template-part-modal/index.js +46 -6
  363. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  364. package/build-module/components/editor/index.js +23 -13
  365. package/build-module/components/editor/index.js.map +1 -1
  366. package/build-module/components/editor-canvas-container/index.js +19 -2
  367. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  368. package/build-module/components/global-styles/color-indicator-wrapper.js +4 -4
  369. package/build-module/components/global-styles/color-indicator-wrapper.js.map +1 -1
  370. package/build-module/components/global-styles/color-palette-panel.js +1 -1
  371. package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
  372. package/build-module/components/global-styles/dimensions-panel.js +1 -1
  373. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  374. package/build-module/components/global-styles/global-styles-provider.js +10 -15
  375. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  376. package/build-module/components/global-styles/gradients-palette-panel.js +1 -1
  377. package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -1
  378. package/build-module/components/global-styles/hooks.js +1 -1
  379. package/build-module/components/global-styles/hooks.js.map +1 -1
  380. package/build-module/components/global-styles/icon-with-current-color.js +4 -4
  381. package/build-module/components/global-styles/icon-with-current-color.js.map +1 -1
  382. package/build-module/components/global-styles/navigation-button.js +10 -8
  383. package/build-module/components/global-styles/navigation-button.js.map +1 -1
  384. package/build-module/components/global-styles/palette.js +2 -2
  385. package/build-module/components/global-styles/palette.js.map +1 -1
  386. package/build-module/components/global-styles/preview.js +1 -1
  387. package/build-module/components/global-styles/preview.js.map +1 -1
  388. package/build-module/components/global-styles/root-menu.js +1 -1
  389. package/build-module/components/global-styles/root-menu.js.map +1 -1
  390. package/build-module/components/global-styles/screen-block-list.js +1 -1
  391. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  392. package/build-module/components/global-styles/screen-block.js +1 -1
  393. package/build-module/components/global-styles/screen-block.js.map +1 -1
  394. package/build-module/components/global-styles/screen-colors.js +1 -1
  395. package/build-module/components/global-styles/screen-colors.js.map +1 -1
  396. package/build-module/components/global-styles/screen-css.js +1 -1
  397. package/build-module/components/global-styles/screen-css.js.map +1 -1
  398. package/build-module/components/global-styles/screen-layout.js +1 -1
  399. package/build-module/components/global-styles/screen-layout.js.map +1 -1
  400. package/build-module/components/global-styles/screen-revisions/index.js +1 -1
  401. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  402. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +1 -1
  403. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  404. package/build-module/components/global-styles/screen-root.js +1 -1
  405. package/build-module/components/global-styles/screen-root.js.map +1 -1
  406. package/build-module/components/global-styles/screen-typography.js +1 -1
  407. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  408. package/build-module/components/global-styles/style-variations-container.js +11 -3
  409. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  410. package/build-module/components/global-styles/typography-panel.js +1 -1
  411. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  412. package/build-module/components/global-styles/typography-preview.js +1 -1
  413. package/build-module/components/global-styles/typography-preview.js.map +1 -1
  414. package/build-module/components/global-styles/ui.js +89 -35
  415. package/build-module/components/global-styles/ui.js.map +1 -1
  416. package/build-module/components/global-styles-renderer/index.js +1 -1
  417. package/build-module/components/global-styles-renderer/index.js.map +1 -1
  418. package/build-module/components/header-edit-mode/document-actions/index.js +55 -22
  419. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  420. package/build-module/components/header-edit-mode/index.js +4 -6
  421. package/build-module/components/header-edit-mode/index.js.map +1 -1
  422. package/build-module/components/header-edit-mode/plugin-sidebar-more-menu-item/index.js +4 -4
  423. package/build-module/components/header-edit-mode/plugin-sidebar-more-menu-item/index.js.map +1 -1
  424. package/build-module/components/header-edit-mode/undo-redo/redo.js +2 -3
  425. package/build-module/components/header-edit-mode/undo-redo/redo.js.map +1 -1
  426. package/build-module/components/header-edit-mode/undo-redo/undo.js +2 -3
  427. package/build-module/components/header-edit-mode/undo-redo/undo.js.map +1 -1
  428. package/build-module/components/keyboard-shortcut-help-modal/index.js +2 -1
  429. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  430. package/build-module/components/keyboard-shortcuts/edit-mode.js +7 -2
  431. package/build-module/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  432. package/build-module/components/keyboard-shortcuts/index.js +7 -2
  433. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  434. package/build-module/components/keyboard-shortcuts/register.js +1 -1
  435. package/build-module/components/keyboard-shortcuts/register.js.map +1 -1
  436. package/build-module/components/layout/hooks.js +21 -0
  437. package/build-module/components/layout/hooks.js.map +1 -1
  438. package/build-module/components/layout/index.js +33 -16
  439. package/build-module/components/layout/index.js.map +1 -1
  440. package/build-module/components/list/index.js +1 -1
  441. package/build-module/components/list/index.js.map +1 -1
  442. package/build-module/components/page/header.js +33 -0
  443. package/build-module/components/page/header.js.map +1 -0
  444. package/build-module/components/page/index.js +37 -0
  445. package/build-module/components/page/index.js.map +1 -0
  446. package/build-module/components/page-content-focus-manager/back-to-page-notification.js +53 -0
  447. package/build-module/components/page-content-focus-manager/back-to-page-notification.js.map +1 -0
  448. package/build-module/components/page-content-focus-manager/constants.js +2 -0
  449. package/build-module/components/page-content-focus-manager/constants.js.map +1 -0
  450. package/build-module/components/{page-content-lock/use-disable-non-content-blocks.js → page-content-focus-manager/disable-non-page-content-blocks.js} +18 -9
  451. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -0
  452. package/build-module/components/page-content-focus-manager/edit-template-notification.js +110 -0
  453. package/build-module/components/page-content-focus-manager/edit-template-notification.js.map +1 -0
  454. package/build-module/components/page-content-focus-manager/index.js +23 -0
  455. package/build-module/components/page-content-focus-manager/index.js.map +1 -0
  456. package/build-module/components/page-library/grid-item.js +145 -0
  457. package/build-module/components/page-library/grid-item.js.map +1 -0
  458. package/build-module/components/page-library/grid.js +38 -0
  459. package/build-module/components/page-library/grid.js.map +1 -0
  460. package/build-module/components/page-library/index.js +43 -0
  461. package/build-module/components/page-library/index.js.map +1 -0
  462. package/build-module/components/page-library/no-patterns.js +12 -0
  463. package/build-module/components/page-library/no-patterns.js.map +1 -0
  464. package/build-module/components/page-library/patterns-list.js +87 -0
  465. package/build-module/components/page-library/patterns-list.js.map +1 -0
  466. package/build-module/components/page-library/search-items.js +156 -0
  467. package/build-module/components/page-library/search-items.js.map +1 -0
  468. package/build-module/components/page-library/use-library-settings.js +40 -0
  469. package/build-module/components/page-library/use-library-settings.js.map +1 -0
  470. package/build-module/components/page-library/use-patterns.js +176 -0
  471. package/build-module/components/page-library/use-patterns.js.map +1 -0
  472. package/build-module/components/page-library/utils.js +13 -0
  473. package/build-module/components/page-library/utils.js.map +1 -0
  474. package/build-module/components/page-main/index.js +32 -0
  475. package/build-module/components/page-main/index.js.map +1 -0
  476. package/build-module/components/page-templates/index.js +80 -0
  477. package/build-module/components/page-templates/index.js.map +1 -0
  478. package/build-module/components/preferences-modal/enable-feature.js +4 -4
  479. package/build-module/components/preferences-modal/enable-feature.js.map +1 -1
  480. package/build-module/components/resizable-frame/index.js +5 -3
  481. package/build-module/components/resizable-frame/index.js.map +1 -1
  482. package/build-module/components/revisions/index.js +1 -1
  483. package/build-module/components/revisions/index.js.map +1 -1
  484. package/build-module/components/routes/link.js +6 -6
  485. package/build-module/components/routes/link.js.map +1 -1
  486. package/build-module/components/routes/use-title.js +1 -1
  487. package/build-module/components/routes/use-title.js.map +1 -1
  488. package/build-module/components/save-button/index.js +15 -11
  489. package/build-module/components/save-button/index.js.map +1 -1
  490. package/build-module/components/save-hub/index.js +1 -1
  491. package/build-module/components/save-hub/index.js.map +1 -1
  492. package/build-module/components/save-panel/index.js +3 -4
  493. package/build-module/components/save-panel/index.js.map +1 -1
  494. package/build-module/components/secondary-sidebar/inserter-sidebar.js +4 -5
  495. package/build-module/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
  496. package/build-module/components/secondary-sidebar/list-view-sidebar.js +44 -10
  497. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  498. package/build-module/components/sidebar/index.js +10 -7
  499. package/build-module/components/sidebar/index.js.map +1 -1
  500. package/build-module/components/sidebar-button/index.js +2 -3
  501. package/build-module/components/sidebar-button/index.js.map +1 -1
  502. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js +19 -6
  503. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  504. package/build-module/components/sidebar-edit-mode/index.js +5 -5
  505. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  506. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +71 -0
  507. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -0
  508. package/build-module/components/sidebar-edit-mode/page-panels/index.js +51 -40
  509. package/build-module/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
  510. package/build-module/components/sidebar-edit-mode/page-panels/page-content.js +23 -0
  511. package/build-module/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -0
  512. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js +176 -0
  513. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -0
  514. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +33 -0
  515. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -0
  516. package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js +85 -0
  517. package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js.map +1 -0
  518. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js +4 -4
  519. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  520. package/build-module/components/sidebar-edit-mode/settings-header/index.js +20 -7
  521. package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  522. package/build-module/components/sidebar-edit-mode/sidebar-fixed-bottom.js +1 -1
  523. package/build-module/components/sidebar-edit-mode/sidebar-fixed-bottom.js.map +1 -1
  524. package/build-module/components/sidebar-edit-mode/template-panel/index.js +9 -6
  525. package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  526. package/build-module/components/sidebar-navigation-item/index.js +11 -7
  527. package/build-module/components/sidebar-navigation-item/index.js.map +1 -1
  528. package/build-module/components/sidebar-navigation-screen/index.js +18 -7
  529. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  530. package/build-module/components/sidebar-navigation-screen-details-footer/index.js +27 -0
  531. package/build-module/components/sidebar-navigation-screen-details-footer/index.js.map +1 -0
  532. package/build-module/components/sidebar-navigation-screen-details-panel/index.js +30 -0
  533. package/build-module/components/sidebar-navigation-screen-details-panel/index.js.map +1 -0
  534. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js +14 -0
  535. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js.map +1 -0
  536. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +24 -0
  537. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -0
  538. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js +14 -0
  539. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js.map +1 -0
  540. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +9 -8
  541. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  542. package/build-module/components/sidebar-navigation-screen-library/category-item.js +37 -0
  543. package/build-module/components/sidebar-navigation-screen-library/category-item.js.map +1 -0
  544. package/build-module/components/sidebar-navigation-screen-library/index.js +87 -0
  545. package/build-module/components/sidebar-navigation-screen-library/index.js.map +1 -0
  546. package/build-module/components/sidebar-navigation-screen-library/use-default-pattern-categories.js +25 -0
  547. package/build-module/components/sidebar-navigation-screen-library/use-default-pattern-categories.js.map +1 -0
  548. package/build-module/components/sidebar-navigation-screen-library/use-pattern-categories.js +61 -0
  549. package/build-module/components/sidebar-navigation-screen-library/use-pattern-categories.js.map +1 -0
  550. package/build-module/components/sidebar-navigation-screen-library/use-template-part-areas.js +34 -0
  551. package/build-module/components/sidebar-navigation-screen-library/use-template-part-areas.js.map +1 -0
  552. package/build-module/components/sidebar-navigation-screen-library/use-theme-patterns.js +27 -0
  553. package/build-module/components/sidebar-navigation-screen-library/use-theme-patterns.js.map +1 -0
  554. package/build-module/components/sidebar-navigation-screen-main/index.js +13 -13
  555. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  556. package/build-module/components/sidebar-navigation-screen-navigation-item/index.js +1 -1
  557. package/build-module/components/sidebar-navigation-screen-navigation-item/index.js.map +1 -1
  558. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +33 -0
  559. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +1 -0
  560. package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js +26 -0
  561. package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -0
  562. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js +45 -90
  563. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  564. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js +70 -0
  565. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -0
  566. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +58 -0
  567. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +1 -0
  568. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +46 -0
  569. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -0
  570. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +35 -0
  571. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -0
  572. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +151 -0
  573. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -0
  574. package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js +3 -1
  575. package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -1
  576. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +45 -7
  577. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  578. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +55 -7
  579. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  580. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +22 -50
  581. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  582. package/build-module/components/sidebar-navigation-screen-page/index.js +14 -34
  583. package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
  584. package/build-module/components/sidebar-navigation-screen-page/page-details.js +28 -28
  585. package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  586. package/build-module/components/sidebar-navigation-screen-page/status-label.js +9 -8
  587. package/build-module/components/sidebar-navigation-screen-page/status-label.js.map +1 -1
  588. package/build-module/components/sidebar-navigation-screen-pages/index.js +8 -6
  589. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  590. package/build-module/components/sidebar-navigation-screen-pattern/index.js +46 -0
  591. package/build-module/components/sidebar-navigation-screen-pattern/index.js.map +1 -0
  592. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +28 -0
  593. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -0
  594. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js +22 -0
  595. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js.map +1 -0
  596. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +27 -0
  597. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -0
  598. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +34 -0
  599. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -0
  600. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +71 -0
  601. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -0
  602. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +64 -0
  603. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -0
  604. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js +192 -0
  605. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -0
  606. package/build-module/components/sidebar-navigation-screen-template/index.js +18 -6
  607. package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
  608. package/build-module/components/sidebar-navigation-screen-templates/index.js +11 -10
  609. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  610. package/build-module/components/site-hub/index.js +8 -9
  611. package/build-module/components/site-hub/index.js.map +1 -1
  612. package/build-module/components/style-book/index.js +9 -9
  613. package/build-module/components/style-book/index.js.map +1 -1
  614. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +13 -3
  615. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  616. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +1 -1
  617. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -1
  618. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +11 -1
  619. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  620. package/build-module/components/table/index.js +21 -0
  621. package/build-module/components/table/index.js.map +1 -0
  622. package/build-module/components/template-part-converter/convert-to-template-part.js +4 -20
  623. package/build-module/components/template-part-converter/convert-to-template-part.js.map +1 -1
  624. package/build-module/components/welcome-guide/editor.js +1 -1
  625. package/build-module/components/welcome-guide/editor.js.map +1 -1
  626. package/build-module/components/welcome-guide/styles.js +5 -3
  627. package/build-module/components/welcome-guide/styles.js.map +1 -1
  628. package/build-module/hooks/commands/use-common-commands.js +172 -0
  629. package/build-module/hooks/commands/use-common-commands.js.map +1 -0
  630. package/build-module/hooks/commands/use-edit-mode-commands.js +68 -24
  631. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  632. package/build-module/hooks/index.js +1 -0
  633. package/build-module/hooks/index.js.map +1 -1
  634. package/build-module/hooks/navigation-menu-edit.js +77 -0
  635. package/build-module/hooks/navigation-menu-edit.js.map +1 -0
  636. package/build-module/hooks/push-changes-to-global-styles/index.js +4 -2
  637. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  638. package/build-module/hooks/template-part-edit.js +5 -5
  639. package/build-module/hooks/template-part-edit.js.map +1 -1
  640. package/build-module/{private-apis.js → lock-unlock.js} +1 -1
  641. package/build-module/lock-unlock.js.map +1 -0
  642. package/build-module/store/actions.js +39 -7
  643. package/build-module/store/actions.js.map +1 -1
  644. package/build-module/store/index.js +1 -1
  645. package/build-module/store/index.js.map +1 -1
  646. package/build-module/store/reducer.js +6 -5
  647. package/build-module/store/reducer.js.map +1 -1
  648. package/build-module/store/selectors.js +35 -14
  649. package/build-module/store/selectors.js.map +1 -1
  650. package/build-module/utils/get-is-list-page.js +12 -5
  651. package/build-module/utils/get-is-list-page.js.map +1 -1
  652. package/build-module/utils/is-previewing-theme.js +2 -2
  653. package/build-module/utils/is-previewing-theme.js.map +1 -1
  654. package/build-module/utils/use-activate-theme.js +2 -2
  655. package/build-module/utils/use-activate-theme.js.map +1 -1
  656. package/build-module/utils/use-debounced-input.js +17 -0
  657. package/build-module/utils/use-debounced-input.js.map +1 -0
  658. package/build-style/style-rtl.css +323 -29
  659. package/build-style/style.css +323 -29
  660. package/package.json +44 -40
  661. package/src/components/add-new-pattern/index.js +94 -0
  662. package/src/components/add-new-template/add-custom-template-modal-content.js +1 -13
  663. package/src/components/add-new-template/index.js +0 -3
  664. package/src/components/add-new-template/new-template.js +1 -2
  665. package/src/components/app/index.js +1 -1
  666. package/src/components/block-editor/back-button.js +5 -2
  667. package/src/components/block-editor/constants.js +1 -0
  668. package/src/components/block-editor/editor-canvas.js +1 -1
  669. package/src/components/block-editor/get-block-editor-provider.js +29 -0
  670. package/src/components/block-editor/index.js +15 -199
  671. package/src/components/block-editor/providers/default-block-editor-provider.js +44 -0
  672. package/src/components/block-editor/providers/navigation-block-editor-provider.js +114 -0
  673. package/src/components/block-editor/site-editor-canvas.js +155 -0
  674. package/src/components/block-editor/style.scss +6 -0
  675. package/src/components/block-editor/use-site-editor-settings.js +91 -0
  676. package/src/components/canvas-spinner/index.js +11 -1
  677. package/src/components/create-pattern-modal/index.js +134 -0
  678. package/src/components/create-pattern-modal/style.scss +3 -0
  679. package/src/components/create-template-part-modal/index.js +63 -3
  680. package/src/components/editor/index.js +24 -15
  681. package/src/components/editor-canvas-container/index.js +21 -4
  682. package/src/components/global-styles/color-palette-panel.js +1 -1
  683. package/src/components/global-styles/dimensions-panel.js +1 -1
  684. package/src/components/global-styles/global-styles-provider.js +10 -14
  685. package/src/components/global-styles/gradients-palette-panel.js +1 -1
  686. package/src/components/global-styles/hooks.js +1 -1
  687. package/src/components/global-styles/palette.js +2 -2
  688. package/src/components/global-styles/preview.js +1 -1
  689. package/src/components/global-styles/root-menu.js +1 -1
  690. package/src/components/global-styles/screen-block-list.js +1 -1
  691. package/src/components/global-styles/screen-block.js +1 -1
  692. package/src/components/global-styles/screen-colors.js +1 -1
  693. package/src/components/global-styles/screen-css.js +1 -1
  694. package/src/components/global-styles/screen-layout.js +1 -1
  695. package/src/components/global-styles/screen-revisions/index.js +1 -1
  696. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +1 -1
  697. package/src/components/global-styles/screen-root.js +1 -1
  698. package/src/components/global-styles/screen-typography.js +1 -1
  699. package/src/components/global-styles/stories/index.js +1 -1
  700. package/src/components/global-styles/style-variations-container.js +13 -3
  701. package/src/components/global-styles/style.scss +11 -0
  702. package/src/components/global-styles/typography-panel.js +1 -1
  703. package/src/components/global-styles/typography-preview.js +1 -1
  704. package/src/components/global-styles/ui.js +105 -46
  705. package/src/components/global-styles-renderer/index.js +1 -1
  706. package/src/components/header-edit-mode/document-actions/index.js +51 -26
  707. package/src/components/header-edit-mode/document-actions/style.scss +9 -5
  708. package/src/components/header-edit-mode/index.js +4 -4
  709. package/src/components/keyboard-shortcuts/edit-mode.js +5 -1
  710. package/src/components/keyboard-shortcuts/index.js +5 -1
  711. package/src/components/keyboard-shortcuts/register.js +1 -1
  712. package/src/components/layout/hooks.js +21 -0
  713. package/src/components/layout/index.js +92 -64
  714. package/src/components/layout/style.scss +7 -0
  715. package/src/components/list/index.js +1 -1
  716. package/src/components/page/header.js +38 -0
  717. package/src/components/page/index.js +38 -0
  718. package/src/components/page/style.scss +38 -0
  719. package/src/components/page-content-focus-manager/back-to-page-notification.js +65 -0
  720. package/src/components/{page-content-lock → page-content-focus-manager}/constants.js +1 -1
  721. package/src/components/{page-content-lock/use-disable-non-content-blocks.js → page-content-focus-manager/disable-non-page-content-blocks.js} +15 -7
  722. package/src/components/page-content-focus-manager/edit-template-notification.js +108 -0
  723. package/src/components/page-content-focus-manager/index.js +26 -0
  724. package/src/components/page-library/grid-item.js +179 -0
  725. package/src/components/page-library/grid.js +39 -0
  726. package/src/components/page-library/index.js +39 -0
  727. package/src/components/page-library/no-patterns.js +12 -0
  728. package/src/components/page-library/patterns-list.js +114 -0
  729. package/src/components/page-library/search-items.js +171 -0
  730. package/src/components/page-library/style.scss +105 -0
  731. package/src/components/page-library/use-library-settings.js +51 -0
  732. package/src/components/page-library/use-patterns.js +238 -0
  733. package/src/components/page-library/utils.js +21 -0
  734. package/src/components/page-main/index.js +27 -0
  735. package/src/components/page-templates/index.js +104 -0
  736. package/src/components/resizable-frame/index.js +3 -1
  737. package/src/components/revisions/index.js +1 -1
  738. package/src/components/routes/link.js +2 -2
  739. package/src/components/routes/use-title.js +1 -1
  740. package/src/components/save-button/index.js +14 -11
  741. package/src/components/save-hub/index.js +1 -1
  742. package/src/components/save-panel/index.js +1 -1
  743. package/src/components/secondary-sidebar/list-view-sidebar.js +53 -6
  744. package/src/components/sidebar/index.js +11 -7
  745. package/src/components/sidebar-edit-mode/global-styles-sidebar.js +42 -29
  746. package/src/components/sidebar-edit-mode/index.js +5 -5
  747. package/src/components/sidebar-edit-mode/page-panels/edit-template.js +69 -0
  748. package/src/components/sidebar-edit-mode/page-panels/index.js +53 -53
  749. package/src/components/sidebar-edit-mode/page-panels/page-content.js +27 -0
  750. package/src/components/sidebar-edit-mode/page-panels/page-status.js +233 -0
  751. package/src/components/sidebar-edit-mode/page-panels/page-summary.js +35 -0
  752. package/src/components/sidebar-edit-mode/page-panels/publish-date.js +94 -0
  753. package/src/components/sidebar-edit-mode/page-panels/style.scss +31 -0
  754. package/src/components/sidebar-edit-mode/settings-header/index.js +18 -9
  755. package/src/components/sidebar-edit-mode/sidebar-fixed-bottom.js +1 -1
  756. package/src/components/sidebar-edit-mode/template-panel/index.js +9 -6
  757. package/src/components/sidebar-navigation-item/index.js +6 -2
  758. package/src/components/sidebar-navigation-item/style.scss +7 -0
  759. package/src/components/sidebar-navigation-screen/index.js +19 -7
  760. package/src/components/sidebar-navigation-screen/style.scss +28 -8
  761. package/src/components/sidebar-navigation-screen-details-footer/index.js +45 -0
  762. package/src/components/sidebar-navigation-screen-details-footer/style.scss +5 -0
  763. package/src/components/sidebar-navigation-screen-details-panel/index.js +40 -0
  764. package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js +14 -0
  765. package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +29 -0
  766. package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js +14 -0
  767. package/src/components/sidebar-navigation-screen-details-panel/style.scss +25 -0
  768. package/src/components/sidebar-navigation-screen-global-styles/index.js +9 -3
  769. package/src/components/sidebar-navigation-screen-global-styles/style.scss +0 -3
  770. package/src/components/sidebar-navigation-screen-library/category-item.js +43 -0
  771. package/src/components/sidebar-navigation-screen-library/index.js +136 -0
  772. package/src/components/sidebar-navigation-screen-library/style.scss +7 -0
  773. package/src/components/sidebar-navigation-screen-library/use-default-pattern-categories.js +32 -0
  774. package/src/components/sidebar-navigation-screen-library/use-pattern-categories.js +64 -0
  775. package/src/components/sidebar-navigation-screen-library/use-template-part-areas.js +33 -0
  776. package/src/components/sidebar-navigation-screen-library/use-theme-patterns.js +44 -0
  777. package/src/components/sidebar-navigation-screen-main/index.js +11 -14
  778. package/src/components/sidebar-navigation-screen-navigation-item/index.js +1 -1
  779. package/src/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +45 -0
  780. package/src/components/sidebar-navigation-screen-navigation-menu/edit-button.js +24 -0
  781. package/src/components/sidebar-navigation-screen-navigation-menu/index.js +50 -96
  782. package/src/components/sidebar-navigation-screen-navigation-menu/more-menu.js +89 -0
  783. package/src/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +51 -0
  784. package/src/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +51 -0
  785. package/src/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +39 -0
  786. package/src/components/sidebar-navigation-screen-navigation-menu/style.scss +15 -0
  787. package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +175 -0
  788. package/src/components/sidebar-navigation-screen-navigation-menus/constants.js +3 -1
  789. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +43 -7
  790. package/src/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +61 -2
  791. package/src/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +25 -47
  792. package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +4 -0
  793. package/src/components/sidebar-navigation-screen-page/index.js +19 -58
  794. package/src/components/sidebar-navigation-screen-page/page-details.js +42 -39
  795. package/src/components/sidebar-navigation-screen-page/status-label.js +23 -19
  796. package/src/components/sidebar-navigation-screen-page/style.scss +1 -18
  797. package/src/components/sidebar-navigation-screen-pages/index.js +30 -29
  798. package/src/components/sidebar-navigation-screen-pattern/index.js +44 -0
  799. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +28 -0
  800. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js +21 -0
  801. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +30 -0
  802. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +33 -0
  803. package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +71 -0
  804. package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +86 -0
  805. package/src/components/sidebar-navigation-screen-template/home-template-details.js +230 -0
  806. package/src/components/sidebar-navigation-screen-template/index.js +19 -5
  807. package/src/components/sidebar-navigation-screen-template/style.scss +23 -0
  808. package/src/components/sidebar-navigation-screen-templates/index.js +18 -25
  809. package/src/components/site-hub/index.js +13 -9
  810. package/src/components/style-book/index.js +1 -1
  811. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +16 -3
  812. package/src/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +1 -1
  813. package/src/components/sync-state-with-url/use-sync-path-with-url.js +11 -1
  814. package/src/components/table/index.js +33 -0
  815. package/src/components/table/style.scss +37 -0
  816. package/src/components/template-part-converter/convert-to-template-part.js +4 -27
  817. package/src/components/welcome-guide/editor.js +1 -1
  818. package/src/components/welcome-guide/styles.js +5 -3
  819. package/src/hooks/commands/use-common-commands.js +167 -0
  820. package/src/hooks/commands/use-edit-mode-commands.js +61 -25
  821. package/src/hooks/index.js +1 -0
  822. package/src/hooks/navigation-menu-edit.js +95 -0
  823. package/src/hooks/push-changes-to-global-styles/index.js +1 -1
  824. package/src/hooks/template-part-edit.js +1 -1
  825. package/src/store/actions.js +40 -8
  826. package/src/store/index.js +1 -1
  827. package/src/store/reducer.js +6 -5
  828. package/src/store/selectors.js +34 -9
  829. package/src/store/test/actions.js +8 -8
  830. package/src/store/test/reducer.js +11 -11
  831. package/src/store/test/selectors.js +8 -8
  832. package/src/style.scss +12 -2
  833. package/src/utils/get-is-list-page.js +16 -4
  834. package/src/utils/is-previewing-theme.js +4 -2
  835. package/src/utils/use-activate-theme.js +3 -2
  836. package/src/utils/use-debounced-input.js +17 -0
  837. package/build/components/add-new-template/new-template-part.js +0 -113
  838. package/build/components/add-new-template/new-template-part.js.map +0 -1
  839. package/build/components/page-content-lock/constants.js +0 -9
  840. package/build/components/page-content-lock/constants.js.map +0 -1
  841. package/build/components/page-content-lock/index.js +0 -29
  842. package/build/components/page-content-lock/index.js.map +0 -1
  843. package/build/components/page-content-lock/use-disable-non-content-blocks.js +0 -49
  844. package/build/components/page-content-lock/use-disable-non-content-blocks.js.map +0 -1
  845. package/build/components/page-content-lock/use-page-content-lock-notifications.js +0 -112
  846. package/build/components/page-content-lock/use-page-content-lock-notifications.js.map +0 -1
  847. package/build/components/sidebar-edit-mode/page-panels/content-blocks-list.js +0 -79
  848. package/build/components/sidebar-edit-mode/page-panels/content-blocks-list.js.map +0 -1
  849. package/build/components/sidebar-navigation-screen-navigation-menus/navigator-button.js +0 -52
  850. package/build/components/sidebar-navigation-screen-navigation-menus/navigator-button.js.map +0 -1
  851. package/build/components/sidebar-navigation-screen-template-part/index.js +0 -105
  852. package/build/components/sidebar-navigation-screen-template-part/index.js.map +0 -1
  853. package/build/components/sidebar-navigation-subtitle/index.js +0 -17
  854. package/build/components/sidebar-navigation-subtitle/index.js.map +0 -1
  855. package/build/private-apis.js.map +0 -1
  856. package/build-module/components/add-new-template/new-template-part.js +0 -93
  857. package/build-module/components/add-new-template/new-template-part.js.map +0 -1
  858. package/build-module/components/page-content-lock/constants.js +0 -2
  859. package/build-module/components/page-content-lock/constants.js.map +0 -1
  860. package/build-module/components/page-content-lock/index.js +0 -14
  861. package/build-module/components/page-content-lock/index.js.map +0 -1
  862. package/build-module/components/page-content-lock/use-disable-non-content-blocks.js.map +0 -1
  863. package/build-module/components/page-content-lock/use-page-content-lock-notifications.js +0 -98
  864. package/build-module/components/page-content-lock/use-page-content-lock-notifications.js.map +0 -1
  865. package/build-module/components/sidebar-edit-mode/page-panels/content-blocks-list.js +0 -67
  866. package/build-module/components/sidebar-edit-mode/page-panels/content-blocks-list.js.map +0 -1
  867. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigator-button.js +0 -39
  868. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigator-button.js.map +0 -1
  869. package/build-module/components/sidebar-navigation-screen-template-part/index.js +0 -86
  870. package/build-module/components/sidebar-navigation-screen-template-part/index.js.map +0 -1
  871. package/build-module/components/sidebar-navigation-subtitle/index.js +0 -9
  872. package/build-module/components/sidebar-navigation-subtitle/index.js.map +0 -1
  873. package/build-module/private-apis.js.map +0 -1
  874. package/src/components/add-new-template/new-template-part.js +0 -109
  875. package/src/components/page-content-lock/index.js +0 -14
  876. package/src/components/page-content-lock/use-page-content-lock-notifications.js +0 -128
  877. package/src/components/sidebar-edit-mode/page-panels/content-blocks-list.js +0 -77
  878. package/src/components/sidebar-navigation-screen-navigation-menus/navigator-button.js +0 -47
  879. package/src/components/sidebar-navigation-screen-template-part/index.js +0 -103
  880. package/src/components/sidebar-navigation-screen-templates/style.scss +0 -4
  881. package/src/components/sidebar-navigation-subtitle/index.js +0 -5
  882. package/src/components/sidebar-navigation-subtitle/style.scss +0 -7
  883. /package/src/{private-apis.js → lock-unlock.js} +0 -0
@@ -8,14 +8,21 @@ exports.default = getIsListPage;
8
8
  /**
9
9
  * Returns if the params match the list page route.
10
10
  *
11
- * @param {Object} params The url params.
12
- * @param {string} params.path The current path.
11
+ * @param {Object} params The url params.
12
+ * @param {string} params.path The current path.
13
+ * @param {string} [params.categoryType] The current category type.
14
+ * @param {string} [params.categoryId] The current category id.
15
+ * @param {boolean} isMobileViewport Is mobile viewport.
13
16
  *
14
17
  * @return {boolean} Is list page or not.
15
18
  */
16
19
  function getIsListPage({
17
- path
18
- }) {
19
- return path === '/wp_template/all' || path === '/wp_template_part/all';
20
+ path,
21
+ categoryType,
22
+ categoryId
23
+ }, isMobileViewport) {
24
+ return path === '/wp_template/all' || path === '/library' && ( // Don't treat "/library" without categoryType and categoryId as a list page
25
+ // in mobile because the sidebar covers the whole page.
26
+ !isMobileViewport || !!categoryType && !!categoryId);
20
27
  }
21
28
  //# sourceMappingURL=get-is-list-page.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/utils/get-is-list-page.js"],"names":["getIsListPage","path"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,aAAT,CAAwB;AAAEC,EAAAA;AAAF,CAAxB,EAAmC;AACjD,SAAOA,IAAI,KAAK,kBAAT,IAA+BA,IAAI,KAAK,uBAA/C;AACA","sourcesContent":["/**\n * Returns if the params match the list page route.\n *\n * @param {Object} params The url params.\n * @param {string} params.path The current path.\n *\n * @return {boolean} Is list page or not.\n */\nexport default function getIsListPage( { path } ) {\n\treturn path === '/wp_template/all' || path === '/wp_template_part/all';\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/utils/get-is-list-page.js"],"names":["getIsListPage","path","categoryType","categoryId","isMobileViewport"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,aAAT,CACd;AAAEC,EAAAA,IAAF;AAAQC,EAAAA,YAAR;AAAsBC,EAAAA;AAAtB,CADc,EAEdC,gBAFc,EAGb;AACD,SACCH,IAAI,KAAK,kBAAT,IACEA,IAAI,KAAK,UAAT,MACD;AACA;AACE,GAAEG,gBAAF,IAAwB,CAAC,CAAEF,YAAH,IAAmB,CAAC,CAAEC,UAH/C,CAFH;AAOA","sourcesContent":["/**\n * Returns if the params match the list page route.\n *\n * @param {Object} params The url params.\n * @param {string} params.path The current path.\n * @param {string} [params.categoryType] The current category type.\n * @param {string} [params.categoryId] The current category id.\n * @param {boolean} isMobileViewport Is mobile viewport.\n *\n * @return {boolean} Is list page or not.\n */\nexport default function getIsListPage(\n\t{ path, categoryType, categoryId },\n\tisMobileViewport\n) {\n\treturn (\n\t\tpath === '/wp_template/all' ||\n\t\t( path === '/library' &&\n\t\t\t// Don't treat \"/library\" without categoryType and categoryId as a list page\n\t\t\t// in mobile because the sidebar covers the whole page.\n\t\t\t( ! isMobileViewport || ( !! categoryType && !! categoryId ) ) )\n\t);\n}\n"]}
@@ -12,12 +12,12 @@ var _url = require("@wordpress/url");
12
12
  * WordPress dependencies
13
13
  */
14
14
  function isPreviewingTheme() {
15
- return (0, _url.getQueryArg)(window.location.href, 'theme_preview') !== undefined;
15
+ return (0, _url.getQueryArg)(window.location.href, 'wp_theme_preview') !== undefined;
16
16
  }
17
17
 
18
18
  function currentlyPreviewingTheme() {
19
19
  if (isPreviewingTheme()) {
20
- return (0, _url.getQueryArg)(window.location.href, 'theme_preview');
20
+ return (0, _url.getQueryArg)(window.location.href, 'wp_theme_preview');
21
21
  }
22
22
 
23
23
  return null;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/utils/is-previewing-theme.js"],"names":["isPreviewingTheme","window","location","href","undefined","currentlyPreviewingTheme"],"mappings":";;;;;;;;AAGA;;AAHA;AACA;AACA;AAGO,SAASA,iBAAT,GAA6B;AACnC,SAAO,sBAAaC,MAAM,CAACC,QAAP,CAAgBC,IAA7B,EAAmC,eAAnC,MAAyDC,SAAhE;AACA;;AAEM,SAASC,wBAAT,GAAoC;AAC1C,MAAKL,iBAAiB,EAAtB,EAA2B;AAC1B,WAAO,sBAAaC,MAAM,CAACC,QAAP,CAAgBC,IAA7B,EAAmC,eAAnC,CAAP;AACA;;AACD,SAAO,IAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getQueryArg } from '@wordpress/url';\n\nexport function isPreviewingTheme() {\n\treturn getQueryArg( window.location.href, 'theme_preview' ) !== undefined;\n}\n\nexport function currentlyPreviewingTheme() {\n\tif ( isPreviewingTheme() ) {\n\t\treturn getQueryArg( window.location.href, 'theme_preview' );\n\t}\n\treturn null;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/utils/is-previewing-theme.js"],"names":["isPreviewingTheme","window","location","href","undefined","currentlyPreviewingTheme"],"mappings":";;;;;;;;AAGA;;AAHA;AACA;AACA;AAGO,SAASA,iBAAT,GAA6B;AACnC,SACC,sBAAaC,MAAM,CAACC,QAAP,CAAgBC,IAA7B,EAAmC,kBAAnC,MAA4DC,SAD7D;AAGA;;AAEM,SAASC,wBAAT,GAAoC;AAC1C,MAAKL,iBAAiB,EAAtB,EAA2B;AAC1B,WAAO,sBAAaC,MAAM,CAACC,QAAP,CAAgBC,IAA7B,EAAmC,kBAAnC,CAAP;AACA;;AACD,SAAO,IAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getQueryArg } from '@wordpress/url';\n\nexport function isPreviewingTheme() {\n\treturn (\n\t\tgetQueryArg( window.location.href, 'wp_theme_preview' ) !== undefined\n\t);\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"]}
@@ -7,7 +7,7 @@ exports.useActivateTheme = useActivateTheme;
7
7
 
8
8
  var _router = require("@wordpress/router");
9
9
 
10
- var _privateApis = require("../private-apis");
10
+ var _lockUnlock = require("../lock-unlock");
11
11
 
12
12
  var _isPreviewingTheme = require("./is-previewing-theme");
13
13
 
@@ -21,7 +21,7 @@ var _isPreviewingTheme = require("./is-previewing-theme");
21
21
  const {
22
22
  useHistory,
23
23
  useLocation
24
- } = (0, _privateApis.unlock)(_router.privateApis);
24
+ } = (0, _lockUnlock.unlock)(_router.privateApis);
25
25
  /**
26
26
  * This should be refactored to use the REST API, once the REST API can activate themes.
27
27
  *
@@ -36,7 +36,7 @@ function useActivateTheme() {
36
36
  const activationURL = 'themes.php?action=activate&stylesheet=' + (0, _isPreviewingTheme.currentlyPreviewingTheme)() + '&_wpnonce=' + window.BLOCK_THEME_ACTIVATE_NONCE;
37
37
  await window.fetch(activationURL);
38
38
  const {
39
- theme_preview: themePreview,
39
+ wp_theme_preview: themePreview,
40
40
  ...params
41
41
  } = location.params;
42
42
  history.replace(params);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/utils/use-activate-theme.js"],"names":["useHistory","useLocation","routerPrivateApis","useActivateTheme","history","location","activationURL","window","BLOCK_THEME_ACTIVATE_NONCE","fetch","theme_preview","themePreview","params","replace"],"mappings":";;;;;;;AAGA;;AAKA;;AACA;;AATA;AACA;AACA;;AAGA;AACA;AACA;AAOA,MAAM;AAAEA,EAAAA,UAAF;AAAcC,EAAAA;AAAd,IAA8B,yBAAQC,mBAAR,CAApC;AAEA;AACA;AACA;AACA;AACA;;AACO,SAASC,gBAAT,GAA4B;AAClC,QAAMC,OAAO,GAAGJ,UAAU,EAA1B;AACA,QAAMK,QAAQ,GAAGJ,WAAW,EAA5B;AAEA,SAAO,YAAY;AAClB,QAAK,2CAAL,EAA2B;AAC1B,YAAMK,aAAa,GAClB,2CACA,kDADA,GAEA,YAFA,GAGAC,MAAM,CAACC,0BAJR;AAKA,YAAMD,MAAM,CAACE,KAAP,CAAcH,aAAd,CAAN;AACA,YAAM;AAAEI,QAAAA,aAAa,EAAEC,YAAjB;AAA+B,WAAGC;AAAlC,UAA6CP,QAAQ,CAACO,MAA5D;AACAR,MAAAA,OAAO,CAACS,OAAR,CAAiBD,MAAjB;AACA;AACD,GAXD;AAYA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../private-apis';\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 location = useLocation();\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.BLOCK_THEME_ACTIVATE_NONCE;\n\t\t\tawait window.fetch( activationURL );\n\t\t\tconst { theme_preview: themePreview, ...params } = location.params;\n\t\t\thistory.replace( params );\n\t\t}\n\t};\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/utils/use-activate-theme.js"],"names":["useHistory","useLocation","routerPrivateApis","useActivateTheme","history","location","activationURL","window","BLOCK_THEME_ACTIVATE_NONCE","fetch","wp_theme_preview","themePreview","params","replace"],"mappings":";;;;;;;AAGA;;AAKA;;AACA;;AATA;AACA;AACA;;AAGA;AACA;AACA;AAOA,MAAM;AAAEA,EAAAA,UAAF;AAAcC,EAAAA;AAAd,IAA8B,wBAAQC,mBAAR,CAApC;AAEA;AACA;AACA;AACA;AACA;;AACO,SAASC,gBAAT,GAA4B;AAClC,QAAMC,OAAO,GAAGJ,UAAU,EAA1B;AACA,QAAMK,QAAQ,GAAGJ,WAAW,EAA5B;AAEA,SAAO,YAAY;AAClB,QAAK,2CAAL,EAA2B;AAC1B,YAAMK,aAAa,GAClB,2CACA,kDADA,GAEA,YAFA,GAGAC,MAAM,CAACC,0BAJR;AAKA,YAAMD,MAAM,CAACE,KAAP,CAAcH,aAAd,CAAN;AACA,YAAM;AAAEI,QAAAA,gBAAgB,EAAEC,YAApB;AAAkC,WAAGC;AAArC,UACLP,QAAQ,CAACO,MADV;AAEAR,MAAAA,OAAO,CAACS,OAAR,CAAiBD,MAAjB;AACA;AACD,GAZD;AAaA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\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 location = useLocation();\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.BLOCK_THEME_ACTIVATE_NONCE;\n\t\t\tawait window.fetch( activationURL );\n\t\t\tconst { wp_theme_preview: themePreview, ...params } =\n\t\t\t\tlocation.params;\n\t\t\thistory.replace( params );\n\t\t}\n\t};\n}\n"]}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useDebouncedInput;
7
+
8
+ var _element = require("@wordpress/element");
9
+
10
+ var _compose = require("@wordpress/compose");
11
+
12
+ /**
13
+ * WordPress dependencies
14
+ */
15
+ function useDebouncedInput(defaultValue = '') {
16
+ const [input, setInput] = (0, _element.useState)(defaultValue);
17
+ const [debounced, setter] = (0, _element.useState)(defaultValue);
18
+ const setDebounced = (0, _compose.useDebounce)(setter, 250);
19
+ (0, _element.useEffect)(() => {
20
+ if (debounced !== input) {
21
+ setDebounced(input);
22
+ }
23
+ }, [debounced, input]);
24
+ return [input, setInput, debounced];
25
+ }
26
+ //# sourceMappingURL=use-debounced-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/utils/use-debounced-input.js"],"names":["useDebouncedInput","defaultValue","input","setInput","debounced","setter","setDebounced"],"mappings":";;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAIe,SAASA,iBAAT,CAA4BC,YAAY,GAAG,EAA3C,EAAgD;AAC9D,QAAM,CAAEC,KAAF,EAASC,QAAT,IAAsB,uBAAUF,YAAV,CAA5B;AACA,QAAM,CAAEG,SAAF,EAAaC,MAAb,IAAwB,uBAAUJ,YAAV,CAA9B;AACA,QAAMK,YAAY,GAAG,0BAAaD,MAAb,EAAqB,GAArB,CAArB;AACA,0BAAW,MAAM;AAChB,QAAKD,SAAS,KAAKF,KAAnB,EAA2B;AAC1BI,MAAAA,YAAY,CAAEJ,KAAF,CAAZ;AACA;AACD,GAJD,EAIG,CAAEE,SAAF,EAAaF,KAAb,CAJH;AAKA,SAAO,CAAEA,KAAF,EAASC,QAAT,EAAmBC,SAAnB,CAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useState } from '@wordpress/element';\nimport { useDebounce } from '@wordpress/compose';\n\nexport default function useDebouncedInput( defaultValue = '' ) {\n\tconst [ input, setInput ] = useState( defaultValue );\n\tconst [ debounced, setter ] = useState( defaultValue );\n\tconst setDebounced = useDebounce( setter, 250 );\n\tuseEffect( () => {\n\t\tif ( debounced !== input ) {\n\t\t\tsetDebounced( input );\n\t\t}\n\t}, [ debounced, input ] );\n\treturn [ input, setInput, debounced ];\n}\n"]}
@@ -0,0 +1,82 @@
1
+ import { createElement, Fragment } from "@wordpress/element";
2
+
3
+ /**
4
+ * WordPress dependencies
5
+ */
6
+ import { DropdownMenu } from '@wordpress/components';
7
+ import { useState } from '@wordpress/element';
8
+ import { __ } from '@wordpress/i18n';
9
+ import { plus, header, file } from '@wordpress/icons';
10
+ import { privateApis as routerPrivateApis } from '@wordpress/router';
11
+ /**
12
+ * Internal dependencies
13
+ */
14
+
15
+ import CreatePatternModal from '../create-pattern-modal';
16
+ import CreateTemplatePartModal from '../create-template-part-modal';
17
+ import { unlock } from '../../lock-unlock';
18
+ import SidebarButton from '../sidebar-button';
19
+ const {
20
+ useHistory
21
+ } = unlock(routerPrivateApis);
22
+ export default function AddNewPattern() {
23
+ const history = useHistory();
24
+ const [showPatternModal, setShowPatternModal] = useState(false);
25
+ const [showTemplatePartModal, setShowTemplatePartModal] = useState(false);
26
+
27
+ function handleCreatePattern({
28
+ pattern,
29
+ categoryId
30
+ }) {
31
+ setShowPatternModal(false);
32
+ history.push({
33
+ postId: pattern.id,
34
+ postType: 'wp_block',
35
+ categoryType: 'wp_block',
36
+ categoryId,
37
+ canvas: 'edit'
38
+ });
39
+ }
40
+
41
+ function handleCreateTemplatePart(templatePart) {
42
+ setShowTemplatePartModal(false); // Navigate to the created template part editor.
43
+
44
+ history.push({
45
+ postId: templatePart.id,
46
+ postType: 'wp_template_part',
47
+ canvas: 'edit'
48
+ });
49
+ }
50
+
51
+ function handleError() {
52
+ setShowPatternModal(false);
53
+ setShowTemplatePartModal(false);
54
+ }
55
+
56
+ return createElement(Fragment, null, createElement(DropdownMenu, {
57
+ controls: [{
58
+ icon: header,
59
+ onClick: () => setShowTemplatePartModal(true),
60
+ title: 'Create a template part'
61
+ }, {
62
+ icon: file,
63
+ onClick: () => setShowPatternModal(true),
64
+ title: 'Create a pattern'
65
+ }],
66
+ icon: createElement(SidebarButton, {
67
+ icon: plus,
68
+ label: __('Create a pattern')
69
+ }),
70
+ label: "Create a pattern."
71
+ }), showPatternModal && createElement(CreatePatternModal, {
72
+ closeModal: () => setShowPatternModal(false),
73
+ onCreate: handleCreatePattern,
74
+ onError: handleError
75
+ }), showTemplatePartModal && createElement(CreateTemplatePartModal, {
76
+ closeModal: () => setShowTemplatePartModal(false),
77
+ blocks: [],
78
+ onCreate: handleCreateTemplatePart,
79
+ onError: handleError
80
+ }));
81
+ }
82
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/add-new-pattern/index.js"],"names":["DropdownMenu","useState","__","plus","header","file","privateApis","routerPrivateApis","CreatePatternModal","CreateTemplatePartModal","unlock","SidebarButton","useHistory","AddNewPattern","history","showPatternModal","setShowPatternModal","showTemplatePartModal","setShowTemplatePartModal","handleCreatePattern","pattern","categoryId","push","postId","id","postType","categoryType","canvas","handleCreateTemplatePart","templatePart","handleError","icon","onClick","title"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,YAAT,QAA6B,uBAA7B;AACA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,IAAT,EAAeC,MAAf,EAAuBC,IAAvB,QAAmC,kBAAnC;AACA,SAASC,WAAW,IAAIC,iBAAxB,QAAiD,mBAAjD;AAEA;AACA;AACA;;AACA,OAAOC,kBAAP,MAA+B,yBAA/B;AACA,OAAOC,uBAAP,MAAoC,+BAApC;AACA,SAASC,MAAT,QAAuB,mBAAvB;AACA,OAAOC,aAAP,MAA0B,mBAA1B;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAiBF,MAAM,CAAEH,iBAAF,CAA7B;AAEA,eAAe,SAASM,aAAT,GAAyB;AACvC,QAAMC,OAAO,GAAGF,UAAU,EAA1B;AACA,QAAM,CAAEG,gBAAF,EAAoBC,mBAApB,IAA4Cf,QAAQ,CAAE,KAAF,CAA1D;AACA,QAAM,CAAEgB,qBAAF,EAAyBC,wBAAzB,IACLjB,QAAQ,CAAE,KAAF,CADT;;AAGA,WAASkB,mBAAT,CAA8B;AAAEC,IAAAA,OAAF;AAAWC,IAAAA;AAAX,GAA9B,EAAwD;AACvDL,IAAAA,mBAAmB,CAAE,KAAF,CAAnB;AAEAF,IAAAA,OAAO,CAACQ,IAAR,CAAc;AACbC,MAAAA,MAAM,EAAEH,OAAO,CAACI,EADH;AAEbC,MAAAA,QAAQ,EAAE,UAFG;AAGbC,MAAAA,YAAY,EAAE,UAHD;AAIbL,MAAAA,UAJa;AAKbM,MAAAA,MAAM,EAAE;AALK,KAAd;AAOA;;AAED,WAASC,wBAAT,CAAmCC,YAAnC,EAAkD;AACjDX,IAAAA,wBAAwB,CAAE,KAAF,CAAxB,CADiD,CAGjD;;AACAJ,IAAAA,OAAO,CAACQ,IAAR,CAAc;AACbC,MAAAA,MAAM,EAAEM,YAAY,CAACL,EADR;AAEbC,MAAAA,QAAQ,EAAE,kBAFG;AAGbE,MAAAA,MAAM,EAAE;AAHK,KAAd;AAKA;;AAED,WAASG,WAAT,GAAuB;AACtBd,IAAAA,mBAAmB,CAAE,KAAF,CAAnB;AACAE,IAAAA,wBAAwB,CAAE,KAAF,CAAxB;AACA;;AAED,SACC,8BACC,cAAC,YAAD;AACC,IAAA,QAAQ,EAAG,CACV;AACCa,MAAAA,IAAI,EAAE3B,MADP;AAEC4B,MAAAA,OAAO,EAAE,MAAMd,wBAAwB,CAAE,IAAF,CAFxC;AAGCe,MAAAA,KAAK,EAAE;AAHR,KADU,EAMV;AACCF,MAAAA,IAAI,EAAE1B,IADP;AAEC2B,MAAAA,OAAO,EAAE,MAAMhB,mBAAmB,CAAE,IAAF,CAFnC;AAGCiB,MAAAA,KAAK,EAAE;AAHR,KANU,CADZ;AAaC,IAAA,IAAI,EACH,cAAC,aAAD;AACC,MAAA,IAAI,EAAG9B,IADR;AAEC,MAAA,KAAK,EAAGD,EAAE,CAAE,kBAAF;AAFX,MAdF;AAmBC,IAAA,KAAK,EAAC;AAnBP,IADD,EAsBGa,gBAAgB,IACjB,cAAC,kBAAD;AACC,IAAA,UAAU,EAAG,MAAMC,mBAAmB,CAAE,KAAF,CADvC;AAEC,IAAA,QAAQ,EAAGG,mBAFZ;AAGC,IAAA,OAAO,EAAGW;AAHX,IAvBF,EA6BGb,qBAAqB,IACtB,cAAC,uBAAD;AACC,IAAA,UAAU,EAAG,MAAMC,wBAAwB,CAAE,KAAF,CAD5C;AAEC,IAAA,MAAM,EAAG,EAFV;AAGC,IAAA,QAAQ,EAAGU,wBAHZ;AAIC,IAAA,OAAO,EAAGE;AAJX,IA9BF,CADD;AAwCA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { DropdownMenu } from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { plus, header, file } from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport CreatePatternModal from '../create-pattern-modal';\nimport CreateTemplatePartModal from '../create-template-part-modal';\nimport { unlock } from '../../lock-unlock';\nimport SidebarButton from '../sidebar-button';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nexport default function AddNewPattern() {\n\tconst history = useHistory();\n\tconst [ showPatternModal, setShowPatternModal ] = useState( false );\n\tconst [ showTemplatePartModal, setShowTemplatePartModal ] =\n\t\tuseState( false );\n\n\tfunction handleCreatePattern( { pattern, categoryId } ) {\n\t\tsetShowPatternModal( false );\n\n\t\thistory.push( {\n\t\t\tpostId: pattern.id,\n\t\t\tpostType: 'wp_block',\n\t\t\tcategoryType: 'wp_block',\n\t\t\tcategoryId,\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t}\n\n\tfunction handleCreateTemplatePart( templatePart ) {\n\t\tsetShowTemplatePartModal( false );\n\n\t\t// Navigate to the created template part editor.\n\t\thistory.push( {\n\t\t\tpostId: templatePart.id,\n\t\t\tpostType: 'wp_template_part',\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t}\n\n\tfunction handleError() {\n\t\tsetShowPatternModal( false );\n\t\tsetShowTemplatePartModal( false );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<DropdownMenu\n\t\t\t\tcontrols={ [\n\t\t\t\t\t{\n\t\t\t\t\t\ticon: header,\n\t\t\t\t\t\tonClick: () => setShowTemplatePartModal( true ),\n\t\t\t\t\t\ttitle: 'Create a template part',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ticon: file,\n\t\t\t\t\t\tonClick: () => setShowPatternModal( true ),\n\t\t\t\t\t\ttitle: 'Create a pattern',\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t\ticon={\n\t\t\t\t\t<SidebarButton\n\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\tlabel={ __( 'Create a pattern' ) }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tlabel=\"Create a pattern.\"\n\t\t\t/>\n\t\t\t{ showPatternModal && (\n\t\t\t\t<CreatePatternModal\n\t\t\t\t\tcloseModal={ () => setShowPatternModal( false ) }\n\t\t\t\t\tonCreate={ 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\t\t</>\n\t);\n}\n"]}
@@ -1,4 +1,3 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
1
  import { createElement, Fragment } from "@wordpress/element";
3
2
 
4
3
  /**
@@ -7,13 +6,13 @@ import { createElement, Fragment } from "@wordpress/element";
7
6
  import { useState, useMemo, useEffect } from '@wordpress/element';
8
7
  import { __ } from '@wordpress/i18n';
9
8
  import { Button, Flex, FlexItem, SearchControl, TextHighlight, __experimentalText as Text, __experimentalVStack as VStack, __unstableComposite as Composite, __unstableUseCompositeState as useCompositeState, __unstableCompositeItem as CompositeItem } from '@wordpress/components';
10
- import { useDebounce } from '@wordpress/compose';
11
9
  import { useEntityRecords } from '@wordpress/core-data';
12
10
  import { decodeEntities } from '@wordpress/html-entities';
13
11
  /**
14
12
  * Internal dependencies
15
13
  */
16
14
 
15
+ import useDebouncedInput from '../../utils/use-debounced-input';
17
16
  import { mapToIHasNameAndId } from './utils';
18
17
  const EMPTY_ARRAY = [];
19
18
 
@@ -25,13 +24,13 @@ function SuggestionListItem({
25
24
  composite
26
25
  }) {
27
26
  const baseCssClass = 'edit-site-custom-template-modal__suggestions_list__list-item';
28
- return createElement(CompositeItem, _extends({
27
+ return createElement(CompositeItem, {
29
28
  role: "option",
30
- as: Button
31
- }, composite, {
29
+ as: Button,
30
+ ...composite,
32
31
  className: baseCssClass,
33
32
  onClick: () => onSelect(entityForSuggestions.config.getSpecificTemplate(suggestion))
34
- }), createElement(Text, {
33
+ }, createElement(Text, {
35
34
  size: "body",
36
35
  lineHeight: 1.53846153846 // 20px
37
36
  ,
@@ -48,18 +47,6 @@ function SuggestionListItem({
48
47
  }, suggestion.link));
49
48
  }
50
49
 
51
- function useDebouncedInput() {
52
- const [input, setInput] = useState('');
53
- const [debounced, setter] = useState('');
54
- const setDebounced = useDebounce(setter, 250);
55
- useEffect(() => {
56
- if (debounced !== input) {
57
- setDebounced(input);
58
- }
59
- }, [debounced, input]);
60
- return [input, setInput, debounced];
61
- }
62
-
63
50
  function useSearchSuggestions(entityForSuggestions, search) {
64
51
  const {
65
52
  config
@@ -119,11 +106,11 @@ function SuggestionList({
119
106
  value: search,
120
107
  label: labels.search_items,
121
108
  placeholder: labels.search_items
122
- }), !!suggestions?.length && createElement(Composite, _extends({}, composite, {
109
+ }), !!suggestions?.length && createElement(Composite, { ...composite,
123
110
  role: "listbox",
124
111
  className: "edit-site-custom-template-modal__suggestions_list",
125
112
  "aria-label": __('Suggestions list')
126
- }), suggestions.map(suggestion => createElement(SuggestionListItem, {
113
+ }, suggestions.map(suggestion => createElement(SuggestionListItem, {
127
114
  key: suggestion.slug,
128
115
  suggestion: suggestion,
129
116
  search: debouncedSearch,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/add-new-template/add-custom-template-modal-content.js"],"names":["useState","useMemo","useEffect","__","Button","Flex","FlexItem","SearchControl","TextHighlight","__experimentalText","Text","__experimentalVStack","VStack","__unstableComposite","Composite","__unstableUseCompositeState","useCompositeState","__unstableCompositeItem","CompositeItem","useDebounce","useEntityRecords","decodeEntities","mapToIHasNameAndId","EMPTY_ARRAY","SuggestionListItem","suggestion","search","onSelect","entityForSuggestions","composite","baseCssClass","config","getSpecificTemplate","name","link","useDebouncedInput","input","setInput","debounced","setter","setDebounced","useSearchSuggestions","query","order","context","per_page","queryArgs","records","searchResults","hasResolved","searchHasResolved","type","slug","suggestions","setSuggestions","newSuggestions","length","recordNamePath","SuggestionList","orientation","setSearch","debouncedSearch","labels","showSearchControl","setShowSearchControl","search_items","map","not_found","AddCustomTemplateModalContent","showSearchEntities","setShowSearchEntities","hasGeneralTemplate","title","description","templatePrefix","template","all_items","singular_name"],"mappings":"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","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\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\t__unstableComposite as Composite,\n\t__unstableUseCompositeState as useCompositeState,\n\t__unstableCompositeItem as CompositeItem,\n} from '@wordpress/components';\nimport { useDebounce } from '@wordpress/compose';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\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\tcomposite,\n} ) {\n\tconst baseCssClass =\n\t\t'edit-site-custom-template-modal__suggestions_list__list-item';\n\treturn (\n\t\t<CompositeItem\n\t\t\trole=\"option\"\n\t\t\tas={ Button }\n\t\t\t{ ...composite }\n\t\t\tclassName={ baseCssClass }\n\t\t\tonClick={ () =>\n\t\t\t\tonSelect(\n\t\t\t\t\tentityForSuggestions.config.getSpecificTemplate(\n\t\t\t\t\t\tsuggestion\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t}\n\t\t>\n\t\t\t<Text\n\t\t\t\tsize=\"body\"\n\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\tweight={ 500 }\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</Text>\n\t\t\t{ suggestion.link && (\n\t\t\t\t<Text\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{ suggestion.link }\n\t\t\t\t</Text>\n\t\t\t) }\n\t\t</CompositeItem>\n\t);\n}\n\nfunction useDebouncedInput() {\n\tconst [ input, setInput ] = useState( '' );\n\tconst [ debounced, setter ] = useState( '' );\n\tconst setDebounced = useDebounce( setter, 250 );\n\tuseEffect( () => {\n\t\tif ( debounced !== input ) {\n\t\t\tsetDebounced( input );\n\t\t}\n\t}, [ debounced, input ] );\n\treturn [ input, setInput, debounced ];\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 ) return;\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 composite = useCompositeState( { orientation: 'vertical' } );\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\t__nextHasNoMarginBottom\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\t{ ...composite }\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\tcomposite={ composite }\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<Text\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</Text>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction AddCustomTemplateModalContent( { onSelect, entityForSuggestions } ) {\n\tconst [ showSearchEntities, setShowSearchEntities ] = useState(\n\t\tentityForSuggestions.hasGeneralTemplate\n\t);\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<Text 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</Text>\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<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tweight={ 500 }\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</Text>\n\t\t\t\t\t\t\t<Text\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</Text>\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<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tweight={ 500 }\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</Text>\n\t\t\t\t\t\t\t<Text\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</Text>\n\t\t\t\t\t\t</FlexItem>\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<Text 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</Text>\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</>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nexport default AddCustomTemplateModalContent;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/add-new-template/add-custom-template-modal-content.js"],"names":["useState","useMemo","useEffect","__","Button","Flex","FlexItem","SearchControl","TextHighlight","__experimentalText","Text","__experimentalVStack","VStack","__unstableComposite","Composite","__unstableUseCompositeState","useCompositeState","__unstableCompositeItem","CompositeItem","useEntityRecords","decodeEntities","useDebouncedInput","mapToIHasNameAndId","EMPTY_ARRAY","SuggestionListItem","suggestion","search","onSelect","entityForSuggestions","composite","baseCssClass","config","getSpecificTemplate","name","link","useSearchSuggestions","query","order","context","per_page","queryArgs","records","searchResults","hasResolved","searchHasResolved","type","slug","suggestions","setSuggestions","newSuggestions","length","recordNamePath","SuggestionList","orientation","setSearch","debouncedSearch","labels","showSearchControl","setShowSearchControl","search_items","map","not_found","AddCustomTemplateModalContent","showSearchEntities","setShowSearchEntities","hasGeneralTemplate","title","description","templatePrefix","template","all_items","singular_name"],"mappings":"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","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\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\t__unstableComposite as Composite,\n\t__unstableUseCompositeState as useCompositeState,\n\t__unstableCompositeItem as CompositeItem,\n} from '@wordpress/components';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport useDebouncedInput from '../../utils/use-debounced-input';\nimport { mapToIHasNameAndId } from './utils';\n\nconst EMPTY_ARRAY = [];\n\nfunction SuggestionListItem( {\n\tsuggestion,\n\tsearch,\n\tonSelect,\n\tentityForSuggestions,\n\tcomposite,\n} ) {\n\tconst baseCssClass =\n\t\t'edit-site-custom-template-modal__suggestions_list__list-item';\n\treturn (\n\t\t<CompositeItem\n\t\t\trole=\"option\"\n\t\t\tas={ Button }\n\t\t\t{ ...composite }\n\t\t\tclassName={ baseCssClass }\n\t\t\tonClick={ () =>\n\t\t\t\tonSelect(\n\t\t\t\t\tentityForSuggestions.config.getSpecificTemplate(\n\t\t\t\t\t\tsuggestion\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t}\n\t\t>\n\t\t\t<Text\n\t\t\t\tsize=\"body\"\n\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\tweight={ 500 }\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</Text>\n\t\t\t{ suggestion.link && (\n\t\t\t\t<Text\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{ suggestion.link }\n\t\t\t\t</Text>\n\t\t\t) }\n\t\t</CompositeItem>\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 ) return;\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 composite = useCompositeState( { orientation: 'vertical' } );\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\t__nextHasNoMarginBottom\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\t{ ...composite }\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\tcomposite={ composite }\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<Text\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</Text>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction AddCustomTemplateModalContent( { onSelect, entityForSuggestions } ) {\n\tconst [ showSearchEntities, setShowSearchEntities ] = useState(\n\t\tentityForSuggestions.hasGeneralTemplate\n\t);\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<Text 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</Text>\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<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tweight={ 500 }\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</Text>\n\t\t\t\t\t\t\t<Text\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</Text>\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<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tweight={ 500 }\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</Text>\n\t\t\t\t\t\t\t<Text\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</Text>\n\t\t\t\t\t\t</FlexItem>\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<Text 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</Text>\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</>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nexport default AddCustomTemplateModalContent;\n"]}
@@ -1,4 +1,3 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
1
  import { createElement } from "@wordpress/element";
3
2
 
4
3
  /**
@@ -11,7 +10,6 @@ import { store as coreStore } from '@wordpress/core-data';
11
10
  */
12
11
 
13
12
  import NewTemplate from './new-template';
14
- import NewTemplatePart from './new-template-part';
15
13
  export default function AddNewTemplate({
16
14
  templateType = 'wp_template',
17
15
  ...props
@@ -23,13 +21,9 @@ export default function AddNewTemplate({
23
21
  }
24
22
 
25
23
  if (templateType === 'wp_template') {
26
- return createElement(NewTemplate, _extends({}, props, {
24
+ return createElement(NewTemplate, { ...props,
27
25
  postType: postType
28
- }));
29
- } else if (templateType === 'wp_template_part') {
30
- return createElement(NewTemplatePart, _extends({}, props, {
31
- postType: postType
32
- }));
26
+ });
33
27
  }
34
28
 
35
29
  return null;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/add-new-template/index.js"],"names":["useSelect","store","coreStore","NewTemplate","NewTemplatePart","AddNewTemplate","templateType","props","postType","select","getPostType"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,iBAA1B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,OAAOC,WAAP,MAAwB,gBAAxB;AACA,OAAOC,eAAP,MAA4B,qBAA5B;AAEA,eAAe,SAASC,cAAT,CAAyB;AACvCC,EAAAA,YAAY,GAAG,aADwB;AAEvC,KAAGC;AAFoC,CAAzB,EAGX;AACH,QAAMC,QAAQ,GAAGR,SAAS,CACvBS,MAAF,IAAcA,MAAM,CAAEP,SAAF,CAAN,CAAoBQ,WAApB,CAAiCJ,YAAjC,CADW,EAEzB,CAAEA,YAAF,CAFyB,CAA1B;;AAKA,MAAK,CAAEE,QAAP,EAAkB;AACjB,WAAO,IAAP;AACA;;AAED,MAAKF,YAAY,KAAK,aAAtB,EAAsC;AACrC,WAAO,cAAC,WAAD,eAAkBC,KAAlB;AAA0B,MAAA,QAAQ,EAAGC;AAArC,OAAP;AACA,GAFD,MAEO,IAAKF,YAAY,KAAK,kBAAtB,EAA2C;AACjD,WAAO,cAAC,eAAD,eAAsBC,KAAtB;AAA8B,MAAA,QAAQ,EAAGC;AAAzC,OAAP;AACA;;AAED,SAAO,IAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport NewTemplate from './new-template';\nimport NewTemplatePart from './new-template-part';\n\nexport default function AddNewTemplate( {\n\ttemplateType = 'wp_template',\n\t...props\n} ) {\n\tconst postType = useSelect(\n\t\t( select ) => select( coreStore ).getPostType( templateType ),\n\t\t[ templateType ]\n\t);\n\n\tif ( ! postType ) {\n\t\treturn null;\n\t}\n\n\tif ( templateType === 'wp_template' ) {\n\t\treturn <NewTemplate { ...props } postType={ postType } />;\n\t} else if ( templateType === 'wp_template_part' ) {\n\t\treturn <NewTemplatePart { ...props } postType={ postType } />;\n\t}\n\n\treturn null;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/add-new-template/index.js"],"names":["useSelect","store","coreStore","NewTemplate","AddNewTemplate","templateType","props","postType","select","getPostType"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,iBAA1B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,OAAOC,WAAP,MAAwB,gBAAxB;AAEA,eAAe,SAASC,cAAT,CAAyB;AACvCC,EAAAA,YAAY,GAAG,aADwB;AAEvC,KAAGC;AAFoC,CAAzB,EAGX;AACH,QAAMC,QAAQ,GAAGP,SAAS,CACvBQ,MAAF,IAAcA,MAAM,CAAEN,SAAF,CAAN,CAAoBO,WAApB,CAAiCJ,YAAjC,CADW,EAEzB,CAAEA,YAAF,CAFyB,CAA1B;;AAKA,MAAK,CAAEE,QAAP,EAAkB;AACjB,WAAO,IAAP;AACA;;AAED,MAAKF,YAAY,KAAK,aAAtB,EAAsC;AACrC,WAAO,cAAC,WAAD,OAAkBC,KAAlB;AAA0B,MAAA,QAAQ,EAAGC;AAArC,MAAP;AACA;;AAED,SAAO,IAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport NewTemplate from './new-template';\n\nexport default function AddNewTemplate( {\n\ttemplateType = 'wp_template',\n\t...props\n} ) {\n\tconst postType = useSelect(\n\t\t( select ) => select( coreStore ).getPostType( templateType ),\n\t\t[ templateType ]\n\t);\n\n\tif ( ! postType ) {\n\t\treturn null;\n\t}\n\n\tif ( templateType === 'wp_template' ) {\n\t\treturn <NewTemplate { ...props } postType={ postType } />;\n\t}\n\n\treturn null;\n}\n"]}
@@ -1,4 +1,3 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
1
  import { createElement, Fragment } from "@wordpress/element";
3
2
 
4
3
  /**
@@ -27,11 +26,11 @@ import { useExistingTemplates, useDefaultTemplateTypes, useTaxonomiesMenuItems,
27
26
  import AddCustomGenericTemplateModalContent from './add-custom-generic-template-modal-content';
28
27
  import TemplateActionsLoadingScreen from './template-actions-loading-screen';
29
28
  import { store as editSiteStore } from '../../store';
30
- import { unlock } from '../../private-apis';
29
+ import { unlock } from '../../lock-unlock';
31
30
  const {
32
31
  useHistory
33
32
  } = unlock(routerPrivateApis);
34
- const DEFAULT_TEMPLATE_SLUGS = ['front-page', 'home', 'single', 'page', 'index', 'archive', 'author', 'category', 'date', 'tag', 'taxonomy', 'search', '404'];
33
+ const DEFAULT_TEMPLATE_SLUGS = ['front-page', 'home', 'single', 'page', 'index', 'archive', 'author', 'category', 'date', 'tag', 'search', '404'];
35
34
 
36
35
  function TemplateListItem({
37
36
  title,
@@ -154,11 +153,11 @@ export default function NewTemplate({
154
153
  modalTitle = __('Create custom template');
155
154
  }
156
155
 
157
- return createElement(Fragment, null, isCreatingTemplate && createElement(TemplateActionsLoadingScreen, null), createElement(Toggle, _extends({}, restToggleProps, {
156
+ return createElement(Fragment, null, isCreatingTemplate && createElement(TemplateActionsLoadingScreen, null), createElement(Toggle, { ...restToggleProps,
158
157
  onClick: () => setShowModal(true),
159
158
  icon: showIcon ? plus : null,
160
159
  label: postType.labels.add_new_item
161
- }), showIcon ? null : postType.labels.add_new_item), showModal && createElement(Modal, {
160
+ }, showIcon ? null : postType.labels.add_new_item), showModal && createElement(Modal, {
162
161
  title: modalTitle,
163
162
  className: classnames('edit-site-add-new-template__modal', {
164
163
  'edit-site-add-new-template__modal_template_list': modalContent === modalContentMap.templatesList,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/add-new-template/new-template.js"],"names":["classnames","Button","Modal","__experimentalGrid","Grid","__experimentalText","Text","__experimentalVStack","VStack","decodeEntities","useState","useDispatch","store","coreStore","plus","__","sprintf","noticesStore","privateApis","routerPrivateApis","AddCustomTemplateModalContent","useExistingTemplates","useDefaultTemplateTypes","useTaxonomiesMenuItems","usePostTypeMenuItems","useAuthorMenuItem","usePostTypeArchiveMenuItems","AddCustomGenericTemplateModalContent","TemplateActionsLoadingScreen","editSiteStore","unlock","useHistory","DEFAULT_TEMPLATE_SLUGS","TemplateListItem","title","description","onClick","width","modalContentMap","templatesList","customTemplate","customGenericTemplate","NewTemplate","postType","toggleProps","showIcon","showModal","setShowModal","modalContent","setModalContent","entityForSuggestions","setEntityForSuggestions","isCreatingTemplate","setIsCreatingTemplate","history","saveEntityRecord","createErrorNotice","createSuccessNotice","setTemplate","createTemplate","template","isWPSuggestion","slug","newTemplate","toString","status","is_wp_suggestion","throwOnError","id","push","postId","type","canvas","rendered","error","errorMessage","message","code","onModalClose","missingTemplates","useMissingTemplates","length","as","Toggle","restToggleProps","modalTitle","labels","singular_name","add_new_item","undefined","map","existingTemplates","defaultTemplateTypes","existingTemplateSlugs","missingDefaultTemplates","filter","includes","onClickMenuItem","_entityForSuggestions","enhancedMissingDefaultTemplateTypes","defaultTaxonomiesMenuItems","taxonomiesMenuItems","defaultPostTypesMenuItems","postTypesMenuItems","authorMenuItem","forEach","menuItem","matchIndex","findIndex","sort","template1","template2","indexOf"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalGrid as Grid,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useState } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { plus } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport AddCustomTemplateModalContent from './add-custom-template-modal-content';\nimport {\n\tuseExistingTemplates,\n\tuseDefaultTemplateTypes,\n\tuseTaxonomiesMenuItems,\n\tusePostTypeMenuItems,\n\tuseAuthorMenuItem,\n\tusePostTypeArchiveMenuItems,\n} from './utils';\nimport AddCustomGenericTemplateModalContent from './add-custom-generic-template-modal-content';\nimport TemplateActionsLoadingScreen from './template-actions-loading-screen';\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../private-apis';\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'taxonomy',\n\t'search',\n\t'404',\n];\n\nfunction TemplateListItem( { title, description, onClick } ) {\n\treturn (\n\t\t<Button onClick={ onClick }>\n\t\t\t<VStack\n\t\t\t\tas=\"span\"\n\t\t\t\tspacing={ 2 }\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t\tstyle={ { width: '100%' } }\n\t\t\t>\n\t\t\t\t<Text\n\t\t\t\t\tweight={ 500 }\n\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t>\n\t\t\t\t\t{ title }\n\t\t\t\t</Text>\n\t\t\t\t<Text\n\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t>\n\t\t\t\t\t{ description }\n\t\t\t\t</Text>\n\t\t\t</VStack>\n\t\t</Button>\n\t);\n}\n\nconst modalContentMap = {\n\ttemplatesList: 1,\n\tcustomTemplate: 2,\n\tcustomGenericTemplate: 3,\n};\n\nexport default function NewTemplate( {\n\tpostType,\n\ttoggleProps,\n\tshowIcon = true,\n} ) {\n\tconst [ showModal, setShowModal ] = useState( false );\n\tconst [ modalContent, setModalContent ] = useState(\n\t\tmodalContentMap.templatesList\n\t);\n\tconst [ entityForSuggestions, setEntityForSuggestions ] = useState( {} );\n\tconst [ isCreatingTemplate, setIsCreatingTemplate ] = useState( false );\n\n\tconst history = useHistory();\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { setTemplate } = unlock( useDispatch( editSiteStore ) );\n\tasync function createTemplate( template, isWPSuggestion = true ) {\n\t\tif ( isCreatingTemplate ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsCreatingTemplate( 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\t'wp_template',\n\t\t\t\t{\n\t\t\t\t\tdescription,\n\t\t\t\t\t// Slugs need to be strings, so this is for template `404`\n\t\t\t\t\tslug: slug.toString(),\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\ttitle,\n\t\t\t\t\t// This adds a post meta field in template that is part of `is_custom` value calculation.\n\t\t\t\t\tis_wp_suggestion: isWPSuggestion,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\t// Set template before navigating away to avoid initial stale value.\n\t\t\tsetTemplate( newTemplate.id, newTemplate.slug );\n\n\t\t\t// Navigate to the created template editor.\n\t\t\thistory.push( {\n\t\t\t\tpostId: newTemplate.id,\n\t\t\t\tpostType: newTemplate.type,\n\t\t\t\tcanvas: '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 template e.g: \"Category\".\n\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\tdecodeEntities( newTemplate.title?.rendered || 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\tsetIsCreatingTemplate( false );\n\t\t}\n\t}\n\tconst onModalClose = () => {\n\t\tsetShowModal( false );\n\t\tsetModalContent( modalContentMap.templatesList );\n\t};\n\n\tconst missingTemplates = useMissingTemplates( setEntityForSuggestions, () =>\n\t\tsetModalContent( modalContentMap.customTemplate )\n\t);\n\tif ( ! missingTemplates.length ) {\n\t\treturn null;\n\t}\n\tconst { as: Toggle = Button, ...restToggleProps } = toggleProps ?? {};\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\treturn (\n\t\t<>\n\t\t\t{ isCreatingTemplate && <TemplateActionsLoadingScreen /> }\n\t\t\t<Toggle\n\t\t\t\t{ ...restToggleProps }\n\t\t\t\tonClick={ () => setShowModal( true ) }\n\t\t\t\ticon={ showIcon ? plus : null }\n\t\t\t\tlabel={ postType.labels.add_new_item }\n\t\t\t>\n\t\t\t\t{ showIcon ? null : postType.labels.add_new_item }\n\t\t\t</Toggle>\n\t\t\t{ showModal && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ modalTitle }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'edit-site-add-new-template__modal',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'edit-site-add-new-template__modal_template_list':\n\t\t\t\t\t\t\t\tmodalContent === modalContentMap.templatesList,\n\t\t\t\t\t\t\t'edit-site-custom-template-modal':\n\t\t\t\t\t\t\t\tmodalContent === modalContentMap.customTemplate,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tonRequestClose={ onModalClose }\n\t\t\t\t\toverlayClassName={\n\t\t\t\t\t\tmodalContent === modalContentMap.customGenericTemplate\n\t\t\t\t\t\t\t? 'edit-site-custom-generic-template__modal'\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ modalContent === modalContentMap.templatesList && (\n\t\t\t\t\t\t<Grid\n\t\t\t\t\t\t\tcolumns={ 3 }\n\t\t\t\t\t\t\tgap={ 4 }\n\t\t\t\t\t\t\talign=\"flex-start\"\n\t\t\t\t\t\t\tjustify=\"center\"\n\t\t\t\t\t\t\tclassName=\"edit-site-add-new-template__template-list__contents\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ missingTemplates.map( ( template ) => {\n\t\t\t\t\t\t\t\tconst { title, description, slug, onClick } =\n\t\t\t\t\t\t\t\t\ttemplate;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\t\t\t\t\tdescription={ description }\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tonClick\n\t\t\t\t\t\t\t\t\t\t\t\t? onClick( template )\n\t\t\t\t\t\t\t\t\t\t\t\t: createTemplate( template )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\t\t\ttitle={ __( 'Custom template' ) }\n\t\t\t\t\t\t\t\tdescription={ __(\n\t\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\t) }\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tsetModalContent(\n\t\t\t\t\t\t\t\t\t\tmodalContentMap.customGenericTemplate\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Grid>\n\t\t\t\t\t) }\n\t\t\t\t\t{ modalContent === modalContentMap.customTemplate && (\n\t\t\t\t\t\t<AddCustomTemplateModalContent\n\t\t\t\t\t\t\tonSelect={ createTemplate }\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\t{ modalContent ===\n\t\t\t\t\t\tmodalContentMap.customGenericTemplate && (\n\t\t\t\t\t\t<AddCustomGenericTemplateModalContent\n\t\t\t\t\t\t\tonClose={ onModalClose }\n\t\t\t\t\t\t\tcreateTemplate={ createTemplate }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction useMissingTemplates( setEntityForSuggestions, onClick ) {\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst existingTemplateSlugs = ( existingTemplates || [] ).map(\n\t\t( { slug } ) => slug\n\t);\n\tconst missingDefaultTemplates = ( defaultTemplateTypes || [] ).filter(\n\t\t( template ) =>\n\t\t\tDEFAULT_TEMPLATE_SLUGS.includes( template.slug ) &&\n\t\t\t! existingTemplateSlugs.includes( template.slug )\n\t);\n\tconst onClickMenuItem = ( _entityForSuggestions ) => {\n\t\tonClick?.();\n\t\tsetEntityForSuggestions( _entityForSuggestions );\n\t};\n\t// We need to replace existing default template types with\n\t// the create specific template functionality. The original\n\t// info (title, description, etc.) is preserved in the\n\t// used hooks.\n\tconst enhancedMissingDefaultTemplateTypes = [ ...missingDefaultTemplates ];\n\tconst { defaultTaxonomiesMenuItems, taxonomiesMenuItems } =\n\t\tuseTaxonomiesMenuItems( onClickMenuItem );\n\tconst { defaultPostTypesMenuItems, postTypesMenuItems } =\n\t\tusePostTypeMenuItems( onClickMenuItem );\n\n\tconst authorMenuItem = useAuthorMenuItem( onClickMenuItem );\n\t[\n\t\t...defaultTaxonomiesMenuItems,\n\t\t...defaultPostTypesMenuItems,\n\t\tauthorMenuItem,\n\t].forEach( ( menuItem ) => {\n\t\tif ( ! menuItem ) {\n\t\t\treturn;\n\t\t}\n\t\tconst matchIndex = enhancedMissingDefaultTemplateTypes.findIndex(\n\t\t\t( template ) => template.slug === menuItem.slug\n\t\t);\n\t\t// Some default template types might have been filtered above from\n\t\t// `missingDefaultTemplates` because they only check for the general\n\t\t// template. So here we either replace or append the item, augmented\n\t\t// with the check if it has available specific item to create a\n\t\t// template for.\n\t\tif ( matchIndex > -1 ) {\n\t\t\tenhancedMissingDefaultTemplateTypes[ matchIndex ] = menuItem;\n\t\t} else {\n\t\t\tenhancedMissingDefaultTemplateTypes.push( menuItem );\n\t\t}\n\t} );\n\t// Update the sort order to match the DEFAULT_TEMPLATE_SLUGS order.\n\tenhancedMissingDefaultTemplateTypes?.sort( ( template1, template2 ) => {\n\t\treturn (\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template1.slug ) -\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template2.slug )\n\t\t);\n\t} );\n\tconst missingTemplates = [\n\t\t...enhancedMissingDefaultTemplateTypes,\n\t\t...usePostTypeArchiveMenuItems(),\n\t\t...postTypesMenuItems,\n\t\t...taxonomiesMenuItems,\n\t];\n\treturn missingTemplates;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/add-new-template/new-template.js"],"names":["classnames","Button","Modal","__experimentalGrid","Grid","__experimentalText","Text","__experimentalVStack","VStack","decodeEntities","useState","useDispatch","store","coreStore","plus","__","sprintf","noticesStore","privateApis","routerPrivateApis","AddCustomTemplateModalContent","useExistingTemplates","useDefaultTemplateTypes","useTaxonomiesMenuItems","usePostTypeMenuItems","useAuthorMenuItem","usePostTypeArchiveMenuItems","AddCustomGenericTemplateModalContent","TemplateActionsLoadingScreen","editSiteStore","unlock","useHistory","DEFAULT_TEMPLATE_SLUGS","TemplateListItem","title","description","onClick","width","modalContentMap","templatesList","customTemplate","customGenericTemplate","NewTemplate","postType","toggleProps","showIcon","showModal","setShowModal","modalContent","setModalContent","entityForSuggestions","setEntityForSuggestions","isCreatingTemplate","setIsCreatingTemplate","history","saveEntityRecord","createErrorNotice","createSuccessNotice","setTemplate","createTemplate","template","isWPSuggestion","slug","newTemplate","toString","status","is_wp_suggestion","throwOnError","id","push","postId","type","canvas","rendered","error","errorMessage","message","code","onModalClose","missingTemplates","useMissingTemplates","length","as","Toggle","restToggleProps","modalTitle","labels","singular_name","add_new_item","undefined","map","existingTemplates","defaultTemplateTypes","existingTemplateSlugs","missingDefaultTemplates","filter","includes","onClickMenuItem","_entityForSuggestions","enhancedMissingDefaultTemplateTypes","defaultTaxonomiesMenuItems","taxonomiesMenuItems","defaultPostTypesMenuItems","postTypesMenuItems","authorMenuItem","forEach","menuItem","matchIndex","findIndex","sort","template1","template2","indexOf"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalGrid as Grid,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useState } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { plus } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport AddCustomTemplateModalContent from './add-custom-template-modal-content';\nimport {\n\tuseExistingTemplates,\n\tuseDefaultTemplateTypes,\n\tuseTaxonomiesMenuItems,\n\tusePostTypeMenuItems,\n\tuseAuthorMenuItem,\n\tusePostTypeArchiveMenuItems,\n} from './utils';\nimport AddCustomGenericTemplateModalContent from './add-custom-generic-template-modal-content';\nimport TemplateActionsLoadingScreen from './template-actions-loading-screen';\nimport { store as editSiteStore } from '../../store';\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\nfunction TemplateListItem( { title, description, onClick } ) {\n\treturn (\n\t\t<Button onClick={ onClick }>\n\t\t\t<VStack\n\t\t\t\tas=\"span\"\n\t\t\t\tspacing={ 2 }\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t\tstyle={ { width: '100%' } }\n\t\t\t>\n\t\t\t\t<Text\n\t\t\t\t\tweight={ 500 }\n\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t>\n\t\t\t\t\t{ title }\n\t\t\t\t</Text>\n\t\t\t\t<Text\n\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t>\n\t\t\t\t\t{ description }\n\t\t\t\t</Text>\n\t\t\t</VStack>\n\t\t</Button>\n\t);\n}\n\nconst modalContentMap = {\n\ttemplatesList: 1,\n\tcustomTemplate: 2,\n\tcustomGenericTemplate: 3,\n};\n\nexport default function NewTemplate( {\n\tpostType,\n\ttoggleProps,\n\tshowIcon = true,\n} ) {\n\tconst [ showModal, setShowModal ] = useState( false );\n\tconst [ modalContent, setModalContent ] = useState(\n\t\tmodalContentMap.templatesList\n\t);\n\tconst [ entityForSuggestions, setEntityForSuggestions ] = useState( {} );\n\tconst [ isCreatingTemplate, setIsCreatingTemplate ] = useState( false );\n\n\tconst history = useHistory();\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { setTemplate } = unlock( useDispatch( editSiteStore ) );\n\tasync function createTemplate( template, isWPSuggestion = true ) {\n\t\tif ( isCreatingTemplate ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsCreatingTemplate( 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\t'wp_template',\n\t\t\t\t{\n\t\t\t\t\tdescription,\n\t\t\t\t\t// Slugs need to be strings, so this is for template `404`\n\t\t\t\t\tslug: slug.toString(),\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\ttitle,\n\t\t\t\t\t// This adds a post meta field in template that is part of `is_custom` value calculation.\n\t\t\t\t\tis_wp_suggestion: isWPSuggestion,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\t// Set template before navigating away to avoid initial stale value.\n\t\t\tsetTemplate( newTemplate.id, newTemplate.slug );\n\n\t\t\t// Navigate to the created template editor.\n\t\t\thistory.push( {\n\t\t\t\tpostId: newTemplate.id,\n\t\t\t\tpostType: newTemplate.type,\n\t\t\t\tcanvas: '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 template e.g: \"Category\".\n\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\tdecodeEntities( newTemplate.title?.rendered || 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\tsetIsCreatingTemplate( false );\n\t\t}\n\t}\n\tconst onModalClose = () => {\n\t\tsetShowModal( false );\n\t\tsetModalContent( modalContentMap.templatesList );\n\t};\n\n\tconst missingTemplates = useMissingTemplates( setEntityForSuggestions, () =>\n\t\tsetModalContent( modalContentMap.customTemplate )\n\t);\n\tif ( ! missingTemplates.length ) {\n\t\treturn null;\n\t}\n\tconst { as: Toggle = Button, ...restToggleProps } = toggleProps ?? {};\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\treturn (\n\t\t<>\n\t\t\t{ isCreatingTemplate && <TemplateActionsLoadingScreen /> }\n\t\t\t<Toggle\n\t\t\t\t{ ...restToggleProps }\n\t\t\t\tonClick={ () => setShowModal( true ) }\n\t\t\t\ticon={ showIcon ? plus : null }\n\t\t\t\tlabel={ postType.labels.add_new_item }\n\t\t\t>\n\t\t\t\t{ showIcon ? null : postType.labels.add_new_item }\n\t\t\t</Toggle>\n\t\t\t{ showModal && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ modalTitle }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'edit-site-add-new-template__modal',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'edit-site-add-new-template__modal_template_list':\n\t\t\t\t\t\t\t\tmodalContent === modalContentMap.templatesList,\n\t\t\t\t\t\t\t'edit-site-custom-template-modal':\n\t\t\t\t\t\t\t\tmodalContent === modalContentMap.customTemplate,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tonRequestClose={ onModalClose }\n\t\t\t\t\toverlayClassName={\n\t\t\t\t\t\tmodalContent === modalContentMap.customGenericTemplate\n\t\t\t\t\t\t\t? 'edit-site-custom-generic-template__modal'\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ modalContent === modalContentMap.templatesList && (\n\t\t\t\t\t\t<Grid\n\t\t\t\t\t\t\tcolumns={ 3 }\n\t\t\t\t\t\t\tgap={ 4 }\n\t\t\t\t\t\t\talign=\"flex-start\"\n\t\t\t\t\t\t\tjustify=\"center\"\n\t\t\t\t\t\t\tclassName=\"edit-site-add-new-template__template-list__contents\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ missingTemplates.map( ( template ) => {\n\t\t\t\t\t\t\t\tconst { title, description, slug, onClick } =\n\t\t\t\t\t\t\t\t\ttemplate;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\t\t\t\t\tdescription={ description }\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tonClick\n\t\t\t\t\t\t\t\t\t\t\t\t? onClick( template )\n\t\t\t\t\t\t\t\t\t\t\t\t: createTemplate( template )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\t\t\ttitle={ __( 'Custom template' ) }\n\t\t\t\t\t\t\t\tdescription={ __(\n\t\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\t) }\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tsetModalContent(\n\t\t\t\t\t\t\t\t\t\tmodalContentMap.customGenericTemplate\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Grid>\n\t\t\t\t\t) }\n\t\t\t\t\t{ modalContent === modalContentMap.customTemplate && (\n\t\t\t\t\t\t<AddCustomTemplateModalContent\n\t\t\t\t\t\t\tonSelect={ createTemplate }\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\t{ modalContent ===\n\t\t\t\t\t\tmodalContentMap.customGenericTemplate && (\n\t\t\t\t\t\t<AddCustomGenericTemplateModalContent\n\t\t\t\t\t\t\tonClose={ onModalClose }\n\t\t\t\t\t\t\tcreateTemplate={ createTemplate }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction useMissingTemplates( setEntityForSuggestions, onClick ) {\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst existingTemplateSlugs = ( existingTemplates || [] ).map(\n\t\t( { slug } ) => slug\n\t);\n\tconst missingDefaultTemplates = ( defaultTemplateTypes || [] ).filter(\n\t\t( template ) =>\n\t\t\tDEFAULT_TEMPLATE_SLUGS.includes( template.slug ) &&\n\t\t\t! existingTemplateSlugs.includes( template.slug )\n\t);\n\tconst onClickMenuItem = ( _entityForSuggestions ) => {\n\t\tonClick?.();\n\t\tsetEntityForSuggestions( _entityForSuggestions );\n\t};\n\t// We need to replace existing default template types with\n\t// the create specific template functionality. The original\n\t// info (title, description, etc.) is preserved in the\n\t// used hooks.\n\tconst enhancedMissingDefaultTemplateTypes = [ ...missingDefaultTemplates ];\n\tconst { defaultTaxonomiesMenuItems, taxonomiesMenuItems } =\n\t\tuseTaxonomiesMenuItems( onClickMenuItem );\n\tconst { defaultPostTypesMenuItems, postTypesMenuItems } =\n\t\tusePostTypeMenuItems( onClickMenuItem );\n\n\tconst authorMenuItem = useAuthorMenuItem( onClickMenuItem );\n\t[\n\t\t...defaultTaxonomiesMenuItems,\n\t\t...defaultPostTypesMenuItems,\n\t\tauthorMenuItem,\n\t].forEach( ( menuItem ) => {\n\t\tif ( ! menuItem ) {\n\t\t\treturn;\n\t\t}\n\t\tconst matchIndex = enhancedMissingDefaultTemplateTypes.findIndex(\n\t\t\t( template ) => template.slug === menuItem.slug\n\t\t);\n\t\t// Some default template types might have been filtered above from\n\t\t// `missingDefaultTemplates` because they only check for the general\n\t\t// template. So here we either replace or append the item, augmented\n\t\t// with the check if it has available specific item to create a\n\t\t// template for.\n\t\tif ( matchIndex > -1 ) {\n\t\t\tenhancedMissingDefaultTemplateTypes[ matchIndex ] = menuItem;\n\t\t} else {\n\t\t\tenhancedMissingDefaultTemplateTypes.push( menuItem );\n\t\t}\n\t} );\n\t// Update the sort order to match the DEFAULT_TEMPLATE_SLUGS order.\n\tenhancedMissingDefaultTemplateTypes?.sort( ( template1, template2 ) => {\n\t\treturn (\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template1.slug ) -\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template2.slug )\n\t\t);\n\t} );\n\tconst missingTemplates = [\n\t\t...enhancedMissingDefaultTemplateTypes,\n\t\t...usePostTypeArchiveMenuItems(),\n\t\t...postTypesMenuItems,\n\t\t...taxonomiesMenuItems,\n\t];\n\treturn missingTemplates;\n}\n"]}
@@ -17,7 +17,7 @@ import { privateApis as routerPrivateApis } from '@wordpress/router';
17
17
 
18
18
  import Layout from '../layout';
19
19
  import { GlobalStylesProvider } from '../global-styles/global-styles-provider';
20
- import { unlock } from '../../private-apis';
20
+ import { unlock } from '../../lock-unlock';
21
21
  const {
22
22
  RouterProvider
23
23
  } = unlock(routerPrivateApis);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/app/index.js"],"names":["SlotFillProvider","Popover","UnsavedChangesWarning","ShortcutProvider","store","noticesStore","useDispatch","__","sprintf","PluginArea","privateApis","routerPrivateApis","Layout","GlobalStylesProvider","unlock","RouterProvider","App","createErrorNotice","onPluginAreaError","name","height"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,gBAAT,EAA2BC,OAA3B,QAA0C,uBAA1C;AACA,SAASC,qBAAT,QAAsC,mBAAtC;AACA,SAASC,gBAAT,QAAiC,+BAAjC;AACA,SAASC,KAAK,IAAIC,YAAlB,QAAsC,oBAAtC;AACA,SAASC,WAAT,QAA4B,iBAA5B;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASC,UAAT,QAA2B,oBAA3B;AACA,SAASC,WAAW,IAAIC,iBAAxB,QAAiD,mBAAjD;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,WAAnB;AACA,SAASC,oBAAT,QAAqC,yCAArC;AACA,SAASC,MAAT,QAAuB,oBAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAqBD,MAAM,CAAEH,iBAAF,CAAjC;AAEA,eAAe,SAASK,GAAT,GAAe;AAC7B,QAAM;AAAEC,IAAAA;AAAF,MAAwBX,WAAW,CAAED,YAAF,CAAzC;;AAEA,WAASa,iBAAT,CAA4BC,IAA5B,EAAmC;AAClCF,IAAAA,iBAAiB,CAChBT,OAAO;AACN;AACAD,IAAAA,EAAE,CACD,kEADC,CAFI,EAKNY,IALM,CADS,CAAjB;AASA;;AAED,SACC,cAAC,gBAAD;AAAkB,IAAA,KAAK,EAAG;AAAEC,MAAAA,MAAM,EAAE;AAAV;AAA1B,KACC,cAAC,gBAAD,QACC,cAAC,oBAAD,QACC,cAAC,OAAD,CAAS,IAAT,OADD,EAEC,cAAC,qBAAD,OAFD,EAGC,cAAC,cAAD,QACC,cAAC,MAAD,OADD,EAEC,cAAC,UAAD;AAAY,IAAA,OAAO,EAAGF;AAAtB,IAFD,CAHD,CADD,CADD,CADD;AAcA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SlotFillProvider, Popover } from '@wordpress/components';\nimport { UnsavedChangesWarning } from '@wordpress/editor';\nimport { ShortcutProvider } from '@wordpress/keyboard-shortcuts';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useDispatch } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { PluginArea } from '@wordpress/plugins';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport Layout from '../layout';\nimport { GlobalStylesProvider } from '../global-styles/global-styles-provider';\nimport { unlock } from '../../private-apis';\n\nconst { RouterProvider } = unlock( routerPrivateApis );\n\nexport default function App() {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tfunction onPluginAreaError( name ) {\n\t\tcreateErrorNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: plugin name */\n\t\t\t\t__(\n\t\t\t\t\t'The \"%s\" plugin has encountered an error and cannot be rendered.'\n\t\t\t\t),\n\t\t\t\tname\n\t\t\t)\n\t\t);\n\t}\n\n\treturn (\n\t\t<ShortcutProvider style={ { height: '100%' } }>\n\t\t\t<SlotFillProvider>\n\t\t\t\t<GlobalStylesProvider>\n\t\t\t\t\t<Popover.Slot />\n\t\t\t\t\t<UnsavedChangesWarning />\n\t\t\t\t\t<RouterProvider>\n\t\t\t\t\t\t<Layout />\n\t\t\t\t\t\t<PluginArea onError={ onPluginAreaError } />\n\t\t\t\t\t</RouterProvider>\n\t\t\t\t</GlobalStylesProvider>\n\t\t\t</SlotFillProvider>\n\t\t</ShortcutProvider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/app/index.js"],"names":["SlotFillProvider","Popover","UnsavedChangesWarning","ShortcutProvider","store","noticesStore","useDispatch","__","sprintf","PluginArea","privateApis","routerPrivateApis","Layout","GlobalStylesProvider","unlock","RouterProvider","App","createErrorNotice","onPluginAreaError","name","height"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,gBAAT,EAA2BC,OAA3B,QAA0C,uBAA1C;AACA,SAASC,qBAAT,QAAsC,mBAAtC;AACA,SAASC,gBAAT,QAAiC,+BAAjC;AACA,SAASC,KAAK,IAAIC,YAAlB,QAAsC,oBAAtC;AACA,SAASC,WAAT,QAA4B,iBAA5B;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASC,UAAT,QAA2B,oBAA3B;AACA,SAASC,WAAW,IAAIC,iBAAxB,QAAiD,mBAAjD;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,WAAnB;AACA,SAASC,oBAAT,QAAqC,yCAArC;AACA,SAASC,MAAT,QAAuB,mBAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAqBD,MAAM,CAAEH,iBAAF,CAAjC;AAEA,eAAe,SAASK,GAAT,GAAe;AAC7B,QAAM;AAAEC,IAAAA;AAAF,MAAwBX,WAAW,CAAED,YAAF,CAAzC;;AAEA,WAASa,iBAAT,CAA4BC,IAA5B,EAAmC;AAClCF,IAAAA,iBAAiB,CAChBT,OAAO;AACN;AACAD,IAAAA,EAAE,CACD,kEADC,CAFI,EAKNY,IALM,CADS,CAAjB;AASA;;AAED,SACC,cAAC,gBAAD;AAAkB,IAAA,KAAK,EAAG;AAAEC,MAAAA,MAAM,EAAE;AAAV;AAA1B,KACC,cAAC,gBAAD,QACC,cAAC,oBAAD,QACC,cAAC,OAAD,CAAS,IAAT,OADD,EAEC,cAAC,qBAAD,OAFD,EAGC,cAAC,cAAD,QACC,cAAC,MAAD,OADD,EAEC,cAAC,UAAD;AAAY,IAAA,OAAO,EAAGF;AAAtB,IAFD,CAHD,CADD,CADD,CADD;AAcA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SlotFillProvider, Popover } from '@wordpress/components';\nimport { UnsavedChangesWarning } from '@wordpress/editor';\nimport { ShortcutProvider } from '@wordpress/keyboard-shortcuts';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useDispatch } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { PluginArea } from '@wordpress/plugins';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport Layout from '../layout';\nimport { GlobalStylesProvider } from '../global-styles/global-styles-provider';\nimport { unlock } from '../../lock-unlock';\n\nconst { RouterProvider } = unlock( routerPrivateApis );\n\nexport default function App() {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tfunction onPluginAreaError( name ) {\n\t\tcreateErrorNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: plugin name */\n\t\t\t\t__(\n\t\t\t\t\t'The \"%s\" plugin has encountered an error and cannot be rendered.'\n\t\t\t\t),\n\t\t\t\tname\n\t\t\t)\n\t\t);\n\t}\n\n\treturn (\n\t\t<ShortcutProvider style={ { height: '100%' } }>\n\t\t\t<SlotFillProvider>\n\t\t\t\t<GlobalStylesProvider>\n\t\t\t\t\t<Popover.Slot />\n\t\t\t\t\t<UnsavedChangesWarning />\n\t\t\t\t\t<RouterProvider>\n\t\t\t\t\t\t<Layout />\n\t\t\t\t\t\t<PluginArea onError={ onPluginAreaError } />\n\t\t\t\t\t</RouterProvider>\n\t\t\t\t</GlobalStylesProvider>\n\t\t\t</SlotFillProvider>\n\t\t</ShortcutProvider>\n\t);\n}\n"]}
@@ -11,7 +11,7 @@ import { privateApis as routerPrivateApis } from '@wordpress/router';
11
11
  * Internal dependencies
12
12
  */
13
13
 
14
- import { unlock } from '../../private-apis';
14
+ import { unlock } from '../../lock-unlock';
15
15
  const {
16
16
  useLocation,
17
17
  useHistory
@@ -21,9 +21,11 @@ function BackButton() {
21
21
  const location = useLocation();
22
22
  const history = useHistory();
23
23
  const isTemplatePart = location.params.postType === 'wp_template_part';
24
+ const isNavigationMenu = location.params.postType === 'wp_navigation';
24
25
  const previousTemplateId = location.state?.fromTemplateId;
26
+ const isFocusMode = isTemplatePart || isNavigationMenu;
25
27
 
26
- if (!isTemplatePart || !previousTemplateId) {
28
+ if (!isFocusMode || !previousTemplateId) {
27
29
  return null;
28
30
  }
29
31