@wordpress/edit-site 5.11.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 (1056) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/build/components/add-new-page/index.js +105 -0
  3. package/build/components/add-new-page/index.js.map +1 -0
  4. package/build/components/add-new-pattern/index.js +99 -0
  5. package/build/components/add-new-pattern/index.js.map +1 -0
  6. package/build/components/add-new-template/add-custom-generic-template-modal-content.js +4 -5
  7. package/build/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -1
  8. package/build/components/add-new-template/add-custom-template-modal-content.js +27 -44
  9. package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  10. package/build/components/add-new-template/index.js +6 -15
  11. package/build/components/add-new-template/index.js.map +1 -1
  12. package/build/components/add-new-template/new-template.js +26 -35
  13. package/build/components/add-new-template/new-template.js.map +1 -1
  14. package/build/components/add-new-template/utils.js +71 -120
  15. package/build/components/add-new-template/utils.js.map +1 -1
  16. package/build/components/app/index.js +2 -2
  17. package/build/components/app/index.js.map +1 -1
  18. package/build/components/block-editor/back-button.js +6 -6
  19. package/build/components/block-editor/back-button.js.map +1 -1
  20. package/build/components/block-editor/block-inspector-button.js +3 -4
  21. package/build/components/block-editor/block-inspector-button.js.map +1 -1
  22. package/build/components/block-editor/constants.js +9 -0
  23. package/build/components/block-editor/constants.js.map +1 -0
  24. package/build/components/block-editor/editor-canvas.js +14 -15
  25. package/build/components/block-editor/editor-canvas.js.map +1 -1
  26. package/build/components/block-editor/get-block-editor-provider.js +42 -0
  27. package/build/components/block-editor/get-block-editor-provider.js.map +1 -0
  28. package/build/components/block-editor/index.js +6 -129
  29. package/build/components/block-editor/index.js.map +1 -1
  30. package/build/components/block-editor/inserter-media-categories.js +25 -42
  31. package/build/components/block-editor/inserter-media-categories.js.map +1 -1
  32. package/build/components/block-editor/providers/default-block-editor-provider.js +58 -0
  33. package/build/components/block-editor/providers/default-block-editor-provider.js.map +1 -0
  34. package/build/components/block-editor/providers/navigation-block-editor-provider.js +117 -0
  35. package/build/components/block-editor/providers/navigation-block-editor-provider.js.map +1 -0
  36. package/build/components/block-editor/resizable-editor.js +6 -7
  37. package/build/components/block-editor/resizable-editor.js.map +1 -1
  38. package/build/components/block-editor/resize-handle.js +5 -7
  39. package/build/components/block-editor/resize-handle.js.map +1 -1
  40. package/build/components/block-editor/site-editor-canvas.js +137 -0
  41. package/build/components/block-editor/site-editor-canvas.js.map +1 -0
  42. package/build/components/block-editor/use-site-editor-settings.js +82 -0
  43. package/build/components/block-editor/use-site-editor-settings.js.map +1 -0
  44. package/build/components/canvas-spinner/index.js +18 -1
  45. package/build/components/canvas-spinner/index.js.map +1 -1
  46. package/build/components/code-editor/code-editor-text-area.js +5 -6
  47. package/build/components/code-editor/code-editor-text-area.js.map +1 -1
  48. package/build/components/create-pattern-modal/index.js +125 -0
  49. package/build/components/create-pattern-modal/index.js.map +1 -0
  50. package/build/components/create-template-part-modal/index.js +73 -33
  51. package/build/components/create-template-part-modal/index.js.map +1 -1
  52. package/build/components/editor/index.js +43 -24
  53. package/build/components/editor/index.js.map +1 -1
  54. package/build/components/editor-canvas-container/index.js +29 -12
  55. package/build/components/editor-canvas-container/index.js.map +1 -1
  56. package/build/components/error-boundary/warning.js +8 -10
  57. package/build/components/error-boundary/warning.js.map +1 -1
  58. package/build/components/global-styles/block-preview-panel.js +7 -10
  59. package/build/components/global-styles/block-preview-panel.js.map +1 -1
  60. package/build/components/global-styles/color-indicator-wrapper.js +7 -9
  61. package/build/components/global-styles/color-indicator-wrapper.js.map +1 -1
  62. package/build/components/global-styles/color-palette-panel.js +5 -6
  63. package/build/components/global-styles/color-palette-panel.js.map +1 -1
  64. package/build/components/global-styles/dimensions-panel.js +3 -5
  65. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  66. package/build/components/global-styles/global-styles-provider.js +20 -26
  67. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  68. package/build/components/global-styles/gradients-palette-panel.js +5 -6
  69. package/build/components/global-styles/gradients-palette-panel.js.map +1 -1
  70. package/build/components/global-styles/header.js +4 -5
  71. package/build/components/global-styles/header.js.map +1 -1
  72. package/build/components/global-styles/hooks.js +3 -3
  73. package/build/components/global-styles/hooks.js.map +1 -1
  74. package/build/components/global-styles/icon-with-current-color.js +7 -9
  75. package/build/components/global-styles/icon-with-current-color.js.map +1 -1
  76. package/build/components/global-styles/navigation-button.js +15 -17
  77. package/build/components/global-styles/navigation-button.js.map +1 -1
  78. package/build/components/global-styles/palette.js +12 -16
  79. package/build/components/global-styles/palette.js.map +1 -1
  80. package/build/components/global-styles/preview.js +43 -53
  81. package/build/components/global-styles/preview.js.map +1 -1
  82. package/build/components/global-styles/root-menu.js +2 -2
  83. package/build/components/global-styles/root-menu.js.map +1 -1
  84. package/build/components/global-styles/screen-block-list.js +6 -9
  85. package/build/components/global-styles/screen-block-list.js.map +1 -1
  86. package/build/components/global-styles/screen-block.js +11 -12
  87. package/build/components/global-styles/screen-block.js.map +1 -1
  88. package/build/components/global-styles/screen-color-palette.js +3 -4
  89. package/build/components/global-styles/screen-color-palette.js.map +1 -1
  90. package/build/components/global-styles/screen-colors.js +2 -2
  91. package/build/components/global-styles/screen-colors.js.map +1 -1
  92. package/build/components/global-styles/screen-css.js +2 -2
  93. package/build/components/global-styles/screen-css.js.map +1 -1
  94. package/build/components/global-styles/screen-layout.js +2 -2
  95. package/build/components/global-styles/screen-layout.js.map +1 -1
  96. package/build/components/global-styles/screen-revisions/index.js +12 -12
  97. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  98. package/build/components/global-styles/screen-revisions/revisions-buttons.js +14 -19
  99. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  100. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +7 -13
  101. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  102. package/build/components/global-styles/screen-root.js +5 -5
  103. package/build/components/global-styles/screen-root.js.map +1 -1
  104. package/build/components/global-styles/screen-typography-element.js +3 -4
  105. package/build/components/global-styles/screen-typography-element.js.map +1 -1
  106. package/build/components/global-styles/screen-typography.js +8 -9
  107. package/build/components/global-styles/screen-typography.js.map +1 -1
  108. package/build/components/global-styles/style-variations-container.js +15 -8
  109. package/build/components/global-styles/style-variations-container.js.map +1 -1
  110. package/build/components/global-styles/subtitle.js +4 -5
  111. package/build/components/global-styles/subtitle.js.map +1 -1
  112. package/build/components/global-styles/typography-panel.js +6 -7
  113. package/build/components/global-styles/typography-panel.js.map +1 -1
  114. package/build/components/global-styles/typography-preview.js +7 -8
  115. package/build/components/global-styles/typography-preview.js.map +1 -1
  116. package/build/components/global-styles/ui.js +123 -50
  117. package/build/components/global-styles/ui.js.map +1 -1
  118. package/build/components/global-styles/variations-panel.js +5 -6
  119. package/build/components/global-styles/variations-panel.js.map +1 -1
  120. package/build/components/global-styles-renderer/index.js +2 -2
  121. package/build/components/global-styles-renderer/index.js.map +1 -1
  122. package/build/components/header-edit-mode/document-actions/index.js +136 -24
  123. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  124. package/build/components/header-edit-mode/index.js +8 -14
  125. package/build/components/header-edit-mode/index.js.map +1 -1
  126. package/build/components/header-edit-mode/more-menu/index.js +49 -53
  127. package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
  128. package/build/components/header-edit-mode/plugin-sidebar-more-menu-item/index.js +4 -7
  129. package/build/components/header-edit-mode/plugin-sidebar-more-menu-item/index.js.map +1 -1
  130. package/build/components/header-edit-mode/tools-more-menu-group/index.js +5 -14
  131. package/build/components/header-edit-mode/tools-more-menu-group/index.js.map +1 -1
  132. package/build/components/header-edit-mode/undo-redo/redo.js +2 -6
  133. package/build/components/header-edit-mode/undo-redo/redo.js.map +1 -1
  134. package/build/components/header-edit-mode/undo-redo/undo.js +2 -6
  135. package/build/components/header-edit-mode/undo-redo/undo.js.map +1 -1
  136. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +3 -4
  137. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
  138. package/build/components/keyboard-shortcut-help-modal/index.js +42 -51
  139. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  140. package/build/components/keyboard-shortcut-help-modal/shortcut.js +10 -12
  141. package/build/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  142. package/build/components/keyboard-shortcuts/edit-mode.js +7 -2
  143. package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  144. package/build/components/keyboard-shortcuts/index.js +7 -2
  145. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  146. package/build/components/keyboard-shortcuts/register.js +1 -1
  147. package/build/components/keyboard-shortcuts/register.js.map +1 -1
  148. package/build/components/layout/hooks.js +21 -0
  149. package/build/components/layout/hooks.js.map +1 -1
  150. package/build/components/layout/index.js +44 -34
  151. package/build/components/layout/index.js.map +1 -1
  152. package/build/components/list/added-by.js +13 -23
  153. package/build/components/list/added-by.js.map +1 -1
  154. package/build/components/list/header.js +4 -7
  155. package/build/components/list/header.js.map +1 -1
  156. package/build/components/list/index.js +4 -6
  157. package/build/components/list/index.js.map +1 -1
  158. package/build/components/list/table.js +35 -40
  159. package/build/components/list/table.js.map +1 -1
  160. package/build/components/page/header.js +41 -0
  161. package/build/components/page/header.js.map +1 -0
  162. package/build/components/page/index.js +49 -0
  163. package/build/components/page/index.js.map +1 -0
  164. package/build/components/page-actions/delete-page-menu-item.js +70 -0
  165. package/build/components/page-actions/delete-page-menu-item.js.map +1 -0
  166. package/build/components/page-actions/index.js +43 -0
  167. package/build/components/page-actions/index.js.map +1 -0
  168. package/build/components/page-content-focus-manager/back-to-page-notification.js +67 -0
  169. package/build/components/page-content-focus-manager/back-to-page-notification.js.map +1 -0
  170. package/build/components/page-content-focus-manager/constants.js +9 -0
  171. package/build/components/page-content-focus-manager/constants.js.map +1 -0
  172. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +60 -0
  173. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -0
  174. package/build/components/page-content-focus-manager/edit-template-notification.js +121 -0
  175. package/build/components/page-content-focus-manager/edit-template-notification.js.map +1 -0
  176. package/build/components/page-content-focus-manager/index.js +37 -0
  177. package/build/components/page-content-focus-manager/index.js.map +1 -0
  178. package/build/components/page-library/grid-item.js +165 -0
  179. package/build/components/page-library/grid-item.js.map +1 -0
  180. package/build/components/page-library/grid.js +49 -0
  181. package/build/components/page-library/grid.js.map +1 -0
  182. package/build/components/page-library/index.js +61 -0
  183. package/build/components/page-library/index.js.map +1 -0
  184. package/build/components/page-library/no-patterns.js +20 -0
  185. package/build/components/page-library/no-patterns.js.map +1 -0
  186. package/build/components/page-library/patterns-list.js +108 -0
  187. package/build/components/page-library/patterns-list.js.map +1 -0
  188. package/build/components/page-library/search-items.js +172 -0
  189. package/build/components/page-library/search-items.js.map +1 -0
  190. package/build/components/page-library/use-library-settings.js +53 -0
  191. package/build/components/page-library/use-library-settings.js.map +1 -0
  192. package/build/components/page-library/use-patterns.js +194 -0
  193. package/build/components/page-library/use-patterns.js.map +1 -0
  194. package/build/components/page-library/utils.js +30 -0
  195. package/build/components/page-library/utils.js.map +1 -0
  196. package/build/components/page-main/index.js +46 -0
  197. package/build/components/page-main/index.js.map +1 -0
  198. package/build/components/page-templates/index.js +101 -0
  199. package/build/components/page-templates/index.js.map +1 -0
  200. package/build/components/preferences-modal/enable-feature.js +4 -7
  201. package/build/components/preferences-modal/enable-feature.js.map +1 -1
  202. package/build/components/preferences-modal/index.js +4 -5
  203. package/build/components/preferences-modal/index.js.map +1 -1
  204. package/build/components/resizable-frame/index.js +25 -15
  205. package/build/components/resizable-frame/index.js.map +1 -1
  206. package/build/components/revisions/index.js +14 -17
  207. package/build/components/revisions/index.js.map +1 -1
  208. package/build/components/routes/link.js +15 -22
  209. package/build/components/routes/link.js.map +1 -1
  210. package/build/components/routes/use-title.js +3 -7
  211. package/build/components/routes/use-title.js.map +1 -1
  212. package/build/components/save-button/index.js +23 -13
  213. package/build/components/save-button/index.js.map +1 -1
  214. package/build/components/save-hub/index.js +97 -5
  215. package/build/components/save-hub/index.js.map +1 -1
  216. package/build/components/save-panel/index.js +63 -19
  217. package/build/components/save-panel/index.js.map +1 -1
  218. package/build/components/secondary-sidebar/inserter-sidebar.js +4 -8
  219. package/build/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
  220. package/build/components/secondary-sidebar/list-view-sidebar.js +51 -9
  221. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  222. package/build/components/sidebar/index.js +14 -8
  223. package/build/components/sidebar/index.js.map +1 -1
  224. package/build/components/sidebar-button/index.js +2 -4
  225. package/build/components/sidebar-button/index.js.map +1 -1
  226. package/build/components/sidebar-edit-mode/default-sidebar.js +11 -12
  227. package/build/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
  228. package/build/components/sidebar-edit-mode/global-styles-sidebar.js +22 -8
  229. package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  230. package/build/components/sidebar-edit-mode/index.js +13 -10
  231. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  232. package/build/components/sidebar-edit-mode/page-panels/edit-template.js +84 -0
  233. package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -0
  234. package/build/components/sidebar-edit-mode/page-panels/index.js +99 -0
  235. package/build/components/sidebar-edit-mode/page-panels/index.js.map +1 -0
  236. package/build/components/sidebar-edit-mode/page-panels/page-content.js +35 -0
  237. package/build/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -0
  238. package/build/components/sidebar-edit-mode/page-panels/page-status.js +192 -0
  239. package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -0
  240. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +45 -0
  241. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -0
  242. package/build/components/sidebar-edit-mode/page-panels/publish-date.js +98 -0
  243. package/build/components/sidebar-edit-mode/page-panels/publish-date.js.map +1 -0
  244. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js +8 -12
  245. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  246. package/build/components/sidebar-edit-mode/settings-header/index.js +52 -21
  247. package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  248. package/build/components/sidebar-edit-mode/sidebar-card/index.js +46 -0
  249. package/build/components/sidebar-edit-mode/sidebar-card/index.js.map +1 -0
  250. package/build/components/sidebar-edit-mode/sidebar-fixed-bottom.js +5 -6
  251. package/build/components/sidebar-edit-mode/sidebar-fixed-bottom.js.map +1 -1
  252. package/build/components/sidebar-edit-mode/{template-card → template-panel}/index.js +30 -22
  253. package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -0
  254. package/build/components/sidebar-edit-mode/{template-revisions/index.js → template-panel/last-revision.js} +7 -8
  255. package/{build-module/components/sidebar-edit-mode/template-revisions/index.js.map → build/components/sidebar-edit-mode/template-panel/last-revision.js.map} +1 -1
  256. package/build/components/sidebar-edit-mode/{template-card → template-panel}/template-actions.js +12 -16
  257. package/build/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -0
  258. package/build/components/sidebar-edit-mode/{template-card → template-panel}/template-areas.js +15 -19
  259. package/build/components/sidebar-edit-mode/template-panel/template-areas.js.map +1 -0
  260. package/build/components/sidebar-navigation-item/index.js +17 -14
  261. package/build/components/sidebar-navigation-item/index.js.map +1 -1
  262. package/build/components/sidebar-navigation-screen/index.js +38 -20
  263. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  264. package/build/components/sidebar-navigation-screen-details-footer/index.js +36 -0
  265. package/build/components/sidebar-navigation-screen-details-footer/index.js.map +1 -0
  266. package/build/components/sidebar-navigation-screen-details-panel/index.js +58 -0
  267. package/build/components/sidebar-navigation-screen-details-panel/index.js.map +1 -0
  268. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js +22 -0
  269. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js.map +1 -0
  270. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +35 -0
  271. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -0
  272. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js +22 -0
  273. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js.map +1 -0
  274. package/build/components/sidebar-navigation-screen-global-styles/index.js +114 -24
  275. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  276. package/build/components/sidebar-navigation-screen-library/category-item.js +48 -0
  277. package/build/components/sidebar-navigation-screen-library/category-item.js.map +1 -0
  278. package/build/components/sidebar-navigation-screen-library/index.js +112 -0
  279. package/build/components/sidebar-navigation-screen-library/index.js.map +1 -0
  280. package/build/components/sidebar-navigation-screen-library/use-default-pattern-categories.js +36 -0
  281. package/build/components/sidebar-navigation-screen-library/use-default-pattern-categories.js.map +1 -0
  282. package/build/components/sidebar-navigation-screen-library/use-pattern-categories.js +76 -0
  283. package/build/components/sidebar-navigation-screen-library/use-pattern-categories.js.map +1 -0
  284. package/build/components/sidebar-navigation-screen-library/use-template-part-areas.js +41 -0
  285. package/build/components/sidebar-navigation-screen-library/use-template-part-areas.js.map +1 -0
  286. package/build/components/sidebar-navigation-screen-library/use-theme-patterns.js +40 -0
  287. package/build/components/sidebar-navigation-screen-library/use-theme-patterns.js.map +1 -0
  288. package/build/components/sidebar-navigation-screen-main/index.js +12 -13
  289. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  290. package/build/components/sidebar-navigation-screen-navigation-item/index.js +5 -7
  291. package/build/components/sidebar-navigation-screen-navigation-item/index.js.map +1 -1
  292. package/build/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +42 -0
  293. package/build/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +1 -0
  294. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js +41 -0
  295. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -0
  296. package/build/components/sidebar-navigation-screen-navigation-menu/index.js +49 -97
  297. package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  298. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js +84 -0
  299. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -0
  300. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +71 -0
  301. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +1 -0
  302. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +54 -0
  303. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -0
  304. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +49 -0
  305. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -0
  306. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +163 -0
  307. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -0
  308. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js +3 -1
  309. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -1
  310. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +59 -26
  311. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  312. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +75 -31
  313. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  314. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +23 -53
  315. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  316. package/build/components/sidebar-navigation-screen-page/index.js +63 -12
  317. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
  318. package/build/components/sidebar-navigation-screen-page/page-details.js +150 -0
  319. package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -0
  320. package/build/components/sidebar-navigation-screen-page/status-label.js +111 -0
  321. package/build/components/sidebar-navigation-screen-page/status-label.js.map +1 -0
  322. package/build/components/sidebar-navigation-screen-pages/index.js +133 -21
  323. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  324. package/build/components/sidebar-navigation-screen-pattern/index.js +66 -0
  325. package/build/components/sidebar-navigation-screen-pattern/index.js.map +1 -0
  326. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +41 -0
  327. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -0
  328. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js +33 -0
  329. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js.map +1 -0
  330. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +40 -0
  331. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -0
  332. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +47 -0
  333. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -0
  334. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +82 -0
  335. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -0
  336. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +80 -0
  337. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -0
  338. package/build/components/sidebar-navigation-screen-template/home-template-details.js +212 -0
  339. package/build/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -0
  340. package/build/components/sidebar-navigation-screen-template/index.js +43 -23
  341. package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
  342. package/build/components/sidebar-navigation-screen-templates/index.js +23 -28
  343. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  344. package/build/components/site-hub/index.js +29 -24
  345. package/build/components/site-hub/index.js.map +1 -1
  346. package/build/components/site-icon/index.js +4 -5
  347. package/build/components/site-icon/index.js.map +1 -1
  348. package/build/components/start-template-options/index.js +15 -21
  349. package/build/components/start-template-options/index.js.map +1 -1
  350. package/build/components/style-book/index.js +45 -50
  351. package/build/components/style-book/index.js.map +1 -1
  352. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +16 -6
  353. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  354. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +4 -4
  355. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -1
  356. package/build/components/sync-state-with-url/use-sync-path-with-url.js +21 -12
  357. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  358. package/build/components/table/index.js +29 -0
  359. package/build/components/table/index.js.map +1 -0
  360. package/build/components/{list/actions → template-actions}/index.js +34 -31
  361. package/build/components/template-actions/index.js.map +1 -0
  362. package/build/components/{list/actions → template-actions}/rename-menu-item.js +4 -5
  363. package/build/components/template-actions/rename-menu-item.js.map +1 -0
  364. package/build/components/template-part-converter/convert-to-regular.js +4 -5
  365. package/build/components/template-part-converter/convert-to-regular.js.map +1 -1
  366. package/build/components/template-part-converter/convert-to-template-part.js +7 -27
  367. package/build/components/template-part-converter/convert-to-template-part.js.map +1 -1
  368. package/build/components/template-part-converter/index.js +12 -18
  369. package/build/components/template-part-converter/index.js.map +1 -1
  370. package/build/components/welcome-guide/editor.js +1 -1
  371. package/build/components/welcome-guide/editor.js.map +1 -1
  372. package/build/components/welcome-guide/image.js +4 -5
  373. package/build/components/welcome-guide/image.js.map +1 -1
  374. package/build/components/welcome-guide/styles.js +4 -3
  375. package/build/components/welcome-guide/styles.js.map +1 -1
  376. package/build/hooks/commands/use-common-commands.js +190 -0
  377. package/build/hooks/commands/use-common-commands.js.map +1 -0
  378. package/build/hooks/commands/use-edit-mode-commands.js +71 -29
  379. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  380. package/build/hooks/index.js +2 -0
  381. package/build/hooks/index.js.map +1 -1
  382. package/build/hooks/navigation-menu-edit.js +95 -0
  383. package/build/hooks/navigation-menu-edit.js.map +1 -0
  384. package/build/hooks/push-changes-to-global-styles/index.js +15 -10
  385. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  386. package/build/hooks/template-part-edit.js +11 -15
  387. package/build/hooks/template-part-edit.js.map +1 -1
  388. package/build/index.js +3 -6
  389. package/build/index.js.map +1 -1
  390. package/build/{private-apis.js → lock-unlock.js} +1 -1
  391. package/build/lock-unlock.js.map +1 -0
  392. package/build/store/actions.js +165 -125
  393. package/build/store/actions.js.map +1 -1
  394. package/build/store/index.js +3 -3
  395. package/build/store/index.js.map +1 -1
  396. package/build/store/private-actions.js +7 -10
  397. package/build/store/private-actions.js.map +1 -1
  398. package/build/store/reducer.js +33 -33
  399. package/build/store/reducer.js.map +1 -1
  400. package/build/store/selectors.js +70 -22
  401. package/build/store/selectors.js.map +1 -1
  402. package/build/store/utils.js +1 -3
  403. package/build/store/utils.js.map +1 -1
  404. package/build/utils/get-is-list-page.js +13 -7
  405. package/build/utils/get-is-list-page.js.map +1 -1
  406. package/build/utils/is-previewing-theme.js +2 -4
  407. package/build/utils/is-previewing-theme.js.map +1 -1
  408. package/build/utils/is-template-revertable.js +1 -1
  409. package/build/utils/is-template-revertable.js.map +1 -1
  410. package/build/utils/use-activate-theme.js +3 -3
  411. package/build/utils/use-activate-theme.js.map +1 -1
  412. package/build/utils/use-debounced-input.js +26 -0
  413. package/build/utils/use-debounced-input.js.map +1 -0
  414. package/build-module/components/add-new-page/index.js +93 -0
  415. package/build-module/components/add-new-page/index.js.map +1 -0
  416. package/build-module/components/add-new-pattern/index.js +82 -0
  417. package/build-module/components/add-new-pattern/index.js.map +1 -0
  418. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js +4 -5
  419. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -1
  420. package/build-module/components/add-new-template/add-custom-template-modal-content.js +25 -41
  421. package/build-module/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  422. package/build-module/components/add-new-template/index.js +6 -13
  423. package/build-module/components/add-new-template/index.js.map +1 -1
  424. package/build-module/components/add-new-template/new-template.js +22 -31
  425. package/build-module/components/add-new-template/new-template.js.map +1 -1
  426. package/build-module/components/add-new-template/utils.js +71 -120
  427. package/build-module/components/add-new-template/utils.js.map +1 -1
  428. package/build-module/components/app/index.js +1 -1
  429. package/build-module/components/app/index.js.map +1 -1
  430. package/build-module/components/block-editor/back-button.js +5 -5
  431. package/build-module/components/block-editor/back-button.js.map +1 -1
  432. package/build-module/components/block-editor/block-inspector-button.js +3 -4
  433. package/build-module/components/block-editor/block-inspector-button.js.map +1 -1
  434. package/build-module/components/block-editor/constants.js +2 -0
  435. package/build-module/components/block-editor/constants.js.map +1 -0
  436. package/build-module/components/block-editor/editor-canvas.js +12 -12
  437. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  438. package/build-module/components/block-editor/get-block-editor-provider.js +31 -0
  439. package/build-module/components/block-editor/get-block-editor-provider.js.map +1 -0
  440. package/build-module/components/block-editor/index.js +9 -125
  441. package/build-module/components/block-editor/index.js.map +1 -1
  442. package/build-module/components/block-editor/inserter-media-categories.js +25 -42
  443. package/build-module/components/block-editor/inserter-media-categories.js.map +1 -1
  444. package/build-module/components/block-editor/providers/default-block-editor-provider.js +42 -0
  445. package/build-module/components/block-editor/providers/default-block-editor-provider.js.map +1 -0
  446. package/build-module/components/block-editor/providers/navigation-block-editor-provider.js +102 -0
  447. package/build-module/components/block-editor/providers/navigation-block-editor-provider.js.map +1 -0
  448. package/build-module/components/block-editor/resizable-editor.js +6 -7
  449. package/build-module/components/block-editor/resizable-editor.js.map +1 -1
  450. package/build-module/components/block-editor/resize-handle.js +5 -7
  451. package/build-module/components/block-editor/resize-handle.js.map +1 -1
  452. package/build-module/components/block-editor/site-editor-canvas.js +115 -0
  453. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -0
  454. package/build-module/components/block-editor/use-site-editor-settings.js +67 -0
  455. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -0
  456. package/build-module/components/canvas-spinner/index.js +15 -1
  457. package/build-module/components/canvas-spinner/index.js.map +1 -1
  458. package/build-module/components/code-editor/code-editor-text-area.js +5 -6
  459. package/build-module/components/code-editor/code-editor-text-area.js.map +1 -1
  460. package/build-module/components/create-pattern-modal/index.js +113 -0
  461. package/build-module/components/create-pattern-modal/index.js.map +1 -0
  462. package/build-module/components/create-template-part-modal/index.js +70 -34
  463. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  464. package/build-module/components/editor/index.js +43 -24
  465. package/build-module/components/editor/index.js.map +1 -1
  466. package/build-module/components/editor-canvas-container/index.js +26 -10
  467. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  468. package/build-module/components/error-boundary/warning.js +8 -10
  469. package/build-module/components/error-boundary/warning.js.map +1 -1
  470. package/build-module/components/global-styles/block-preview-panel.js +7 -10
  471. package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
  472. package/build-module/components/global-styles/color-indicator-wrapper.js +7 -8
  473. package/build-module/components/global-styles/color-indicator-wrapper.js.map +1 -1
  474. package/build-module/components/global-styles/color-palette-panel.js +4 -5
  475. package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
  476. package/build-module/components/global-styles/dimensions-panel.js +2 -4
  477. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  478. package/build-module/components/global-styles/global-styles-provider.js +18 -25
  479. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  480. package/build-module/components/global-styles/gradients-palette-panel.js +4 -5
  481. package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -1
  482. package/build-module/components/global-styles/header.js +4 -5
  483. package/build-module/components/global-styles/header.js.map +1 -1
  484. package/build-module/components/global-styles/hooks.js +1 -1
  485. package/build-module/components/global-styles/hooks.js.map +1 -1
  486. package/build-module/components/global-styles/icon-with-current-color.js +7 -8
  487. package/build-module/components/global-styles/icon-with-current-color.js.map +1 -1
  488. package/build-module/components/global-styles/navigation-button.js +15 -14
  489. package/build-module/components/global-styles/navigation-button.js.map +1 -1
  490. package/build-module/components/global-styles/palette.js +11 -15
  491. package/build-module/components/global-styles/palette.js.map +1 -1
  492. package/build-module/components/global-styles/preview.js +42 -52
  493. package/build-module/components/global-styles/preview.js.map +1 -1
  494. package/build-module/components/global-styles/root-menu.js +1 -1
  495. package/build-module/components/global-styles/root-menu.js.map +1 -1
  496. package/build-module/components/global-styles/screen-block-list.js +5 -8
  497. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  498. package/build-module/components/global-styles/screen-block.js +10 -11
  499. package/build-module/components/global-styles/screen-block.js.map +1 -1
  500. package/build-module/components/global-styles/screen-color-palette.js +3 -4
  501. package/build-module/components/global-styles/screen-color-palette.js.map +1 -1
  502. package/build-module/components/global-styles/screen-colors.js +1 -1
  503. package/build-module/components/global-styles/screen-colors.js.map +1 -1
  504. package/build-module/components/global-styles/screen-css.js +1 -1
  505. package/build-module/components/global-styles/screen-css.js.map +1 -1
  506. package/build-module/components/global-styles/screen-layout.js +1 -1
  507. package/build-module/components/global-styles/screen-layout.js.map +1 -1
  508. package/build-module/components/global-styles/screen-revisions/index.js +9 -9
  509. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  510. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +14 -19
  511. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  512. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +6 -11
  513. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  514. package/build-module/components/global-styles/screen-root.js +4 -4
  515. package/build-module/components/global-styles/screen-root.js.map +1 -1
  516. package/build-module/components/global-styles/screen-typography-element.js +3 -4
  517. package/build-module/components/global-styles/screen-typography-element.js.map +1 -1
  518. package/build-module/components/global-styles/screen-typography.js +6 -7
  519. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  520. package/build-module/components/global-styles/style-variations-container.js +15 -8
  521. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  522. package/build-module/components/global-styles/subtitle.js +4 -5
  523. package/build-module/components/global-styles/subtitle.js.map +1 -1
  524. package/build-module/components/global-styles/typography-panel.js +5 -6
  525. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  526. package/build-module/components/global-styles/typography-preview.js +6 -7
  527. package/build-module/components/global-styles/typography-preview.js.map +1 -1
  528. package/build-module/components/global-styles/ui.js +123 -50
  529. package/build-module/components/global-styles/ui.js.map +1 -1
  530. package/build-module/components/global-styles/variations-panel.js +5 -6
  531. package/build-module/components/global-styles/variations-panel.js.map +1 -1
  532. package/build-module/components/global-styles-renderer/index.js +1 -1
  533. package/build-module/components/global-styles-renderer/index.js.map +1 -1
  534. package/build-module/components/header-edit-mode/document-actions/index.js +136 -25
  535. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  536. package/build-module/components/header-edit-mode/index.js +6 -12
  537. package/build-module/components/header-edit-mode/index.js.map +1 -1
  538. package/build-module/components/header-edit-mode/more-menu/index.js +49 -53
  539. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
  540. package/build-module/components/header-edit-mode/plugin-sidebar-more-menu-item/index.js +4 -4
  541. package/build-module/components/header-edit-mode/plugin-sidebar-more-menu-item/index.js.map +1 -1
  542. package/build-module/components/header-edit-mode/tools-more-menu-group/index.js +5 -13
  543. package/build-module/components/header-edit-mode/tools-more-menu-group/index.js.map +1 -1
  544. package/build-module/components/header-edit-mode/undo-redo/redo.js +2 -3
  545. package/build-module/components/header-edit-mode/undo-redo/redo.js.map +1 -1
  546. package/build-module/components/header-edit-mode/undo-redo/undo.js +2 -3
  547. package/build-module/components/header-edit-mode/undo-redo/undo.js.map +1 -1
  548. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +3 -4
  549. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
  550. package/build-module/components/keyboard-shortcut-help-modal/index.js +40 -49
  551. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  552. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +10 -12
  553. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  554. package/build-module/components/keyboard-shortcuts/edit-mode.js +7 -2
  555. package/build-module/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  556. package/build-module/components/keyboard-shortcuts/index.js +7 -2
  557. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  558. package/build-module/components/keyboard-shortcuts/register.js +1 -1
  559. package/build-module/components/keyboard-shortcuts/register.js.map +1 -1
  560. package/build-module/components/layout/hooks.js +21 -0
  561. package/build-module/components/layout/hooks.js.map +1 -1
  562. package/build-module/components/layout/index.js +37 -28
  563. package/build-module/components/layout/index.js.map +1 -1
  564. package/build-module/components/list/added-by.js +13 -23
  565. package/build-module/components/list/added-by.js.map +1 -1
  566. package/build-module/components/list/header.js +4 -7
  567. package/build-module/components/list/header.js.map +1 -1
  568. package/build-module/components/list/index.js +3 -5
  569. package/build-module/components/list/index.js.map +1 -1
  570. package/build-module/components/list/table.js +34 -39
  571. package/build-module/components/list/table.js.map +1 -1
  572. package/build-module/components/page/header.js +33 -0
  573. package/build-module/components/page/header.js.map +1 -0
  574. package/build-module/components/page/index.js +37 -0
  575. package/build-module/components/page/index.js.map +1 -0
  576. package/build-module/components/page-actions/delete-page-menu-item.js +58 -0
  577. package/build-module/components/page-actions/delete-page-menu-item.js.map +1 -0
  578. package/build-module/components/page-actions/index.js +30 -0
  579. package/build-module/components/page-actions/index.js.map +1 -0
  580. package/build-module/components/page-content-focus-manager/back-to-page-notification.js +53 -0
  581. package/build-module/components/page-content-focus-manager/back-to-page-notification.js.map +1 -0
  582. package/build-module/components/page-content-focus-manager/constants.js +2 -0
  583. package/build-module/components/page-content-focus-manager/constants.js.map +1 -0
  584. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +45 -0
  585. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -0
  586. package/build-module/components/page-content-focus-manager/edit-template-notification.js +110 -0
  587. package/build-module/components/page-content-focus-manager/edit-template-notification.js.map +1 -0
  588. package/build-module/components/page-content-focus-manager/index.js +23 -0
  589. package/build-module/components/page-content-focus-manager/index.js.map +1 -0
  590. package/build-module/components/page-library/grid-item.js +145 -0
  591. package/build-module/components/page-library/grid-item.js.map +1 -0
  592. package/build-module/components/page-library/grid.js +38 -0
  593. package/build-module/components/page-library/grid.js.map +1 -0
  594. package/build-module/components/page-library/index.js +43 -0
  595. package/build-module/components/page-library/index.js.map +1 -0
  596. package/build-module/components/page-library/no-patterns.js +12 -0
  597. package/build-module/components/page-library/no-patterns.js.map +1 -0
  598. package/build-module/components/page-library/patterns-list.js +87 -0
  599. package/build-module/components/page-library/patterns-list.js.map +1 -0
  600. package/build-module/components/page-library/search-items.js +156 -0
  601. package/build-module/components/page-library/search-items.js.map +1 -0
  602. package/build-module/components/page-library/use-library-settings.js +40 -0
  603. package/build-module/components/page-library/use-library-settings.js.map +1 -0
  604. package/build-module/components/page-library/use-patterns.js +176 -0
  605. package/build-module/components/page-library/use-patterns.js.map +1 -0
  606. package/build-module/components/page-library/utils.js +13 -0
  607. package/build-module/components/page-library/utils.js.map +1 -0
  608. package/build-module/components/page-main/index.js +32 -0
  609. package/build-module/components/page-main/index.js.map +1 -0
  610. package/build-module/components/page-templates/index.js +80 -0
  611. package/build-module/components/page-templates/index.js.map +1 -0
  612. package/build-module/components/preferences-modal/enable-feature.js +4 -4
  613. package/build-module/components/preferences-modal/enable-feature.js.map +1 -1
  614. package/build-module/components/preferences-modal/index.js +4 -5
  615. package/build-module/components/preferences-modal/index.js.map +1 -1
  616. package/build-module/components/resizable-frame/index.js +24 -14
  617. package/build-module/components/resizable-frame/index.js.map +1 -1
  618. package/build-module/components/revisions/index.js +12 -14
  619. package/build-module/components/revisions/index.js.map +1 -1
  620. package/build-module/components/routes/link.js +14 -18
  621. package/build-module/components/routes/link.js.map +1 -1
  622. package/build-module/components/routes/use-title.js +2 -6
  623. package/build-module/components/routes/use-title.js.map +1 -1
  624. package/build-module/components/save-button/index.js +23 -13
  625. package/build-module/components/save-button/index.js.map +1 -1
  626. package/build-module/components/save-hub/index.js +95 -8
  627. package/build-module/components/save-hub/index.js.map +1 -1
  628. package/build-module/components/save-panel/index.js +62 -20
  629. package/build-module/components/save-panel/index.js.map +1 -1
  630. package/build-module/components/secondary-sidebar/inserter-sidebar.js +4 -5
  631. package/build-module/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
  632. package/build-module/components/secondary-sidebar/list-view-sidebar.js +48 -8
  633. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  634. package/build-module/components/sidebar/index.js +11 -7
  635. package/build-module/components/sidebar/index.js.map +1 -1
  636. package/build-module/components/sidebar-button/index.js +2 -3
  637. package/build-module/components/sidebar-button/index.js.map +1 -1
  638. package/build-module/components/sidebar-edit-mode/default-sidebar.js +11 -12
  639. package/build-module/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
  640. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js +19 -6
  641. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  642. package/build-module/components/sidebar-edit-mode/index.js +14 -11
  643. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  644. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +71 -0
  645. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -0
  646. package/build-module/components/sidebar-edit-mode/page-panels/index.js +78 -0
  647. package/build-module/components/sidebar-edit-mode/page-panels/index.js.map +1 -0
  648. package/build-module/components/sidebar-edit-mode/page-panels/page-content.js +23 -0
  649. package/build-module/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -0
  650. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js +176 -0
  651. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -0
  652. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +33 -0
  653. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -0
  654. package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js +85 -0
  655. package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js.map +1 -0
  656. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js +8 -9
  657. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  658. package/build-module/components/sidebar-edit-mode/settings-header/index.js +50 -23
  659. package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  660. package/build-module/components/sidebar-edit-mode/sidebar-card/index.js +35 -0
  661. package/build-module/components/sidebar-edit-mode/sidebar-card/index.js.map +1 -0
  662. package/build-module/components/sidebar-edit-mode/sidebar-fixed-bottom.js +4 -5
  663. package/build-module/components/sidebar-edit-mode/sidebar-fixed-bottom.js.map +1 -1
  664. package/build-module/components/sidebar-edit-mode/template-panel/index.js +72 -0
  665. package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -0
  666. package/build-module/components/sidebar-edit-mode/{template-revisions/index.js → template-panel/last-revision.js} +7 -8
  667. package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -0
  668. package/build-module/components/sidebar-edit-mode/{template-card → template-panel}/template-actions.js +12 -16
  669. package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -0
  670. package/build-module/components/sidebar-edit-mode/{template-card → template-panel}/template-areas.js +15 -19
  671. package/build-module/components/sidebar-edit-mode/template-panel/template-areas.js.map +1 -0
  672. package/build-module/components/sidebar-navigation-item/index.js +17 -14
  673. package/build-module/components/sidebar-navigation-item/index.js.map +1 -1
  674. package/build-module/components/sidebar-navigation-screen/index.js +39 -21
  675. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  676. package/build-module/components/sidebar-navigation-screen-details-footer/index.js +27 -0
  677. package/build-module/components/sidebar-navigation-screen-details-footer/index.js.map +1 -0
  678. package/build-module/components/sidebar-navigation-screen-details-panel/index.js +30 -0
  679. package/build-module/components/sidebar-navigation-screen-details-panel/index.js.map +1 -0
  680. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js +14 -0
  681. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js.map +1 -0
  682. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +24 -0
  683. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -0
  684. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js +14 -0
  685. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js.map +1 -0
  686. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +112 -21
  687. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  688. package/build-module/components/sidebar-navigation-screen-library/category-item.js +37 -0
  689. package/build-module/components/sidebar-navigation-screen-library/category-item.js.map +1 -0
  690. package/build-module/components/sidebar-navigation-screen-library/index.js +87 -0
  691. package/build-module/components/sidebar-navigation-screen-library/index.js.map +1 -0
  692. package/build-module/components/sidebar-navigation-screen-library/use-default-pattern-categories.js +25 -0
  693. package/build-module/components/sidebar-navigation-screen-library/use-default-pattern-categories.js.map +1 -0
  694. package/build-module/components/sidebar-navigation-screen-library/use-pattern-categories.js +61 -0
  695. package/build-module/components/sidebar-navigation-screen-library/use-pattern-categories.js.map +1 -0
  696. package/build-module/components/sidebar-navigation-screen-library/use-template-part-areas.js +34 -0
  697. package/build-module/components/sidebar-navigation-screen-library/use-template-part-areas.js.map +1 -0
  698. package/build-module/components/sidebar-navigation-screen-library/use-theme-patterns.js +27 -0
  699. package/build-module/components/sidebar-navigation-screen-library/use-theme-patterns.js.map +1 -0
  700. package/build-module/components/sidebar-navigation-screen-main/index.js +13 -13
  701. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  702. package/build-module/components/sidebar-navigation-screen-navigation-item/index.js +4 -6
  703. package/build-module/components/sidebar-navigation-screen-navigation-item/index.js.map +1 -1
  704. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +33 -0
  705. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +1 -0
  706. package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js +26 -0
  707. package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -0
  708. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js +47 -95
  709. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  710. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js +70 -0
  711. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -0
  712. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +58 -0
  713. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +1 -0
  714. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +46 -0
  715. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -0
  716. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +35 -0
  717. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -0
  718. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +151 -0
  719. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -0
  720. package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js +3 -1
  721. package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -1
  722. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +58 -26
  723. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  724. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +73 -28
  725. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  726. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +24 -53
  727. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  728. package/build-module/components/sidebar-navigation-screen-page/index.js +59 -14
  729. package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
  730. package/build-module/components/sidebar-navigation-screen-page/page-details.js +131 -0
  731. package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +1 -0
  732. package/build-module/components/sidebar-navigation-screen-page/status-label.js +98 -0
  733. package/build-module/components/sidebar-navigation-screen-page/status-label.js.map +1 -0
  734. package/build-module/components/sidebar-navigation-screen-pages/index.js +130 -22
  735. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  736. package/build-module/components/sidebar-navigation-screen-pattern/index.js +46 -0
  737. package/build-module/components/sidebar-navigation-screen-pattern/index.js.map +1 -0
  738. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +28 -0
  739. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -0
  740. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js +22 -0
  741. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js.map +1 -0
  742. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +27 -0
  743. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -0
  744. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +34 -0
  745. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -0
  746. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +71 -0
  747. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -0
  748. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +64 -0
  749. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -0
  750. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js +192 -0
  751. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -0
  752. package/build-module/components/sidebar-navigation-screen-template/index.js +40 -23
  753. package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
  754. package/build-module/components/sidebar-navigation-screen-templates/index.js +23 -27
  755. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  756. package/build-module/components/site-hub/index.js +28 -22
  757. package/build-module/components/site-hub/index.js.map +1 -1
  758. package/build-module/components/site-icon/index.js +4 -5
  759. package/build-module/components/site-icon/index.js.map +1 -1
  760. package/build-module/components/start-template-options/index.js +15 -21
  761. package/build-module/components/start-template-options/index.js.map +1 -1
  762. package/build-module/components/style-book/index.js +44 -48
  763. package/build-module/components/style-book/index.js.map +1 -1
  764. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +15 -5
  765. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  766. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +1 -1
  767. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -1
  768. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +20 -11
  769. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  770. package/build-module/components/table/index.js +21 -0
  771. package/build-module/components/table/index.js.map +1 -0
  772. package/build-module/components/{list/actions → template-actions}/index.js +34 -31
  773. package/build-module/components/template-actions/index.js.map +1 -0
  774. package/build-module/components/{list/actions → template-actions}/rename-menu-item.js +4 -5
  775. package/build-module/components/template-actions/rename-menu-item.js.map +1 -0
  776. package/build-module/components/template-part-converter/convert-to-regular.js +4 -5
  777. package/build-module/components/template-part-converter/convert-to-regular.js.map +1 -1
  778. package/build-module/components/template-part-converter/convert-to-template-part.js +8 -26
  779. package/build-module/components/template-part-converter/convert-to-template-part.js.map +1 -1
  780. package/build-module/components/template-part-converter/index.js +12 -18
  781. package/build-module/components/template-part-converter/index.js.map +1 -1
  782. package/build-module/components/welcome-guide/editor.js +1 -1
  783. package/build-module/components/welcome-guide/editor.js.map +1 -1
  784. package/build-module/components/welcome-guide/image.js +4 -5
  785. package/build-module/components/welcome-guide/image.js.map +1 -1
  786. package/build-module/components/welcome-guide/styles.js +5 -3
  787. package/build-module/components/welcome-guide/styles.js.map +1 -1
  788. package/build-module/hooks/commands/use-common-commands.js +172 -0
  789. package/build-module/hooks/commands/use-common-commands.js.map +1 -0
  790. package/build-module/hooks/commands/use-edit-mode-commands.js +72 -30
  791. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  792. package/build-module/hooks/index.js +1 -0
  793. package/build-module/hooks/index.js.map +1 -1
  794. package/build-module/hooks/navigation-menu-edit.js +77 -0
  795. package/build-module/hooks/navigation-menu-edit.js.map +1 -0
  796. package/build-module/hooks/push-changes-to-global-styles/index.js +14 -9
  797. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  798. package/build-module/hooks/template-part-edit.js +10 -11
  799. package/build-module/hooks/template-part-edit.js.map +1 -1
  800. package/build-module/index.js +3 -6
  801. package/build-module/index.js.map +1 -1
  802. package/build-module/{private-apis.js → lock-unlock.js} +1 -1
  803. package/build-module/lock-unlock.js.map +1 -0
  804. package/build-module/store/actions.js +157 -126
  805. package/build-module/store/actions.js.map +1 -1
  806. package/build-module/store/index.js +1 -1
  807. package/build-module/store/index.js.map +1 -1
  808. package/build-module/store/private-actions.js +7 -10
  809. package/build-module/store/private-actions.js.map +1 -1
  810. package/build-module/store/reducer.js +31 -33
  811. package/build-module/store/reducer.js.map +1 -1
  812. package/build-module/store/selectors.js +62 -21
  813. package/build-module/store/selectors.js.map +1 -1
  814. package/build-module/store/utils.js +1 -3
  815. package/build-module/store/utils.js.map +1 -1
  816. package/build-module/utils/get-is-list-page.js +13 -7
  817. package/build-module/utils/get-is-list-page.js.map +1 -1
  818. package/build-module/utils/is-previewing-theme.js +2 -4
  819. package/build-module/utils/is-previewing-theme.js.map +1 -1
  820. package/build-module/utils/is-template-revertable.js +1 -1
  821. package/build-module/utils/is-template-revertable.js.map +1 -1
  822. package/build-module/utils/use-activate-theme.js +2 -2
  823. package/build-module/utils/use-activate-theme.js.map +1 -1
  824. package/build-module/utils/use-debounced-input.js +17 -0
  825. package/build-module/utils/use-debounced-input.js.map +1 -0
  826. package/build-style/style-rtl.css +587 -71
  827. package/build-style/style.css +587 -71
  828. package/package.json +44 -37
  829. package/src/components/add-new-page/index.js +105 -0
  830. package/src/components/add-new-pattern/index.js +94 -0
  831. package/src/components/add-new-template/add-custom-template-modal-content.js +1 -13
  832. package/src/components/add-new-template/index.js +0 -3
  833. package/src/components/add-new-template/new-template.js +3 -3
  834. package/src/components/app/index.js +1 -1
  835. package/src/components/block-editor/back-button.js +5 -2
  836. package/src/components/block-editor/constants.js +1 -0
  837. package/src/components/block-editor/editor-canvas.js +1 -1
  838. package/src/components/block-editor/get-block-editor-provider.js +29 -0
  839. package/src/components/block-editor/index.js +15 -188
  840. package/src/components/block-editor/providers/default-block-editor-provider.js +44 -0
  841. package/src/components/block-editor/providers/navigation-block-editor-provider.js +114 -0
  842. package/src/components/block-editor/site-editor-canvas.js +155 -0
  843. package/src/components/block-editor/style.scss +6 -0
  844. package/src/components/block-editor/use-site-editor-settings.js +91 -0
  845. package/src/components/canvas-spinner/index.js +11 -1
  846. package/src/components/create-pattern-modal/index.js +134 -0
  847. package/src/components/create-pattern-modal/style.scss +3 -0
  848. package/src/components/create-template-part-modal/index.js +63 -3
  849. package/src/components/editor/index.js +32 -17
  850. package/src/components/editor/style.scss +6 -11
  851. package/src/components/editor-canvas-container/index.js +21 -4
  852. package/src/components/global-styles/color-palette-panel.js +1 -1
  853. package/src/components/global-styles/dimensions-panel.js +1 -1
  854. package/src/components/global-styles/global-styles-provider.js +10 -14
  855. package/src/components/global-styles/gradients-palette-panel.js +1 -1
  856. package/src/components/global-styles/hooks.js +1 -1
  857. package/src/components/global-styles/palette.js +2 -2
  858. package/src/components/global-styles/preview.js +1 -1
  859. package/src/components/global-styles/root-menu.js +1 -1
  860. package/src/components/global-styles/screen-block-list.js +1 -1
  861. package/src/components/global-styles/screen-block.js +1 -1
  862. package/src/components/global-styles/screen-colors.js +1 -1
  863. package/src/components/global-styles/screen-css.js +1 -1
  864. package/src/components/global-styles/screen-layout.js +1 -1
  865. package/src/components/global-styles/screen-revisions/index.js +1 -1
  866. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +8 -6
  867. package/src/components/global-styles/screen-root.js +1 -1
  868. package/src/components/global-styles/screen-typography.js +1 -1
  869. package/src/components/global-styles/stories/index.js +1 -1
  870. package/src/components/global-styles/style-variations-container.js +13 -3
  871. package/src/components/global-styles/style.scss +11 -0
  872. package/src/components/global-styles/typography-panel.js +1 -1
  873. package/src/components/global-styles/typography-preview.js +1 -1
  874. package/src/components/global-styles/ui.js +132 -45
  875. package/src/components/global-styles-renderer/index.js +1 -1
  876. package/src/components/header-edit-mode/document-actions/index.js +155 -36
  877. package/src/components/header-edit-mode/document-actions/style.scss +72 -13
  878. package/src/components/header-edit-mode/index.js +4 -4
  879. package/src/components/header-edit-mode/tools-more-menu-group/index.js +1 -6
  880. package/src/components/keyboard-shortcuts/edit-mode.js +5 -1
  881. package/src/components/keyboard-shortcuts/index.js +5 -1
  882. package/src/components/keyboard-shortcuts/register.js +1 -1
  883. package/src/components/layout/hooks.js +21 -0
  884. package/src/components/layout/index.js +92 -70
  885. package/src/components/layout/style.scss +7 -0
  886. package/src/components/list/index.js +1 -1
  887. package/src/components/list/table.js +6 -2
  888. package/src/components/page/header.js +38 -0
  889. package/src/components/page/index.js +38 -0
  890. package/src/components/page/style.scss +38 -0
  891. package/src/components/page-actions/delete-page-menu-item.js +71 -0
  892. package/src/components/page-actions/index.js +36 -0
  893. package/src/components/page-content-focus-manager/back-to-page-notification.js +65 -0
  894. package/src/components/page-content-focus-manager/constants.js +5 -0
  895. package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +52 -0
  896. package/src/components/page-content-focus-manager/edit-template-notification.js +108 -0
  897. package/src/components/page-content-focus-manager/index.js +26 -0
  898. package/src/components/page-library/grid-item.js +179 -0
  899. package/src/components/page-library/grid.js +39 -0
  900. package/src/components/page-library/index.js +39 -0
  901. package/src/components/page-library/no-patterns.js +12 -0
  902. package/src/components/page-library/patterns-list.js +114 -0
  903. package/src/components/page-library/search-items.js +171 -0
  904. package/src/components/page-library/style.scss +105 -0
  905. package/src/components/page-library/use-library-settings.js +51 -0
  906. package/src/components/page-library/use-patterns.js +238 -0
  907. package/src/components/page-library/utils.js +21 -0
  908. package/src/components/page-main/index.js +27 -0
  909. package/src/components/page-templates/index.js +104 -0
  910. package/src/components/resizable-frame/index.js +18 -6
  911. package/src/components/resizable-frame/style.scss +20 -18
  912. package/src/components/revisions/index.js +7 -8
  913. package/src/components/routes/link.js +2 -2
  914. package/src/components/routes/use-title.js +1 -1
  915. package/src/components/save-button/index.js +16 -7
  916. package/src/components/save-hub/index.js +143 -38
  917. package/src/components/save-hub/style.scss +6 -0
  918. package/src/components/save-panel/index.js +63 -16
  919. package/src/components/secondary-sidebar/list-view-sidebar.js +56 -2
  920. package/src/components/sidebar/index.js +13 -7
  921. package/src/components/sidebar/style.scss +3 -4
  922. package/src/components/sidebar-edit-mode/global-styles-sidebar.js +42 -29
  923. package/src/components/sidebar-edit-mode/index.js +16 -14
  924. package/src/components/sidebar-edit-mode/page-panels/edit-template.js +69 -0
  925. package/src/components/sidebar-edit-mode/page-panels/index.js +89 -0
  926. package/src/components/sidebar-edit-mode/page-panels/page-content.js +27 -0
  927. package/src/components/sidebar-edit-mode/page-panels/page-status.js +233 -0
  928. package/src/components/sidebar-edit-mode/page-panels/page-summary.js +35 -0
  929. package/src/components/sidebar-edit-mode/page-panels/publish-date.js +94 -0
  930. package/src/components/sidebar-edit-mode/page-panels/style.scss +41 -0
  931. package/src/components/sidebar-edit-mode/settings-header/index.js +61 -29
  932. package/src/components/sidebar-edit-mode/sidebar-card/index.js +34 -0
  933. package/src/components/sidebar-edit-mode/sidebar-card/style.scss +34 -0
  934. package/src/components/sidebar-edit-mode/sidebar-fixed-bottom.js +1 -1
  935. package/src/components/sidebar-edit-mode/template-panel/index.js +65 -0
  936. package/src/components/sidebar-edit-mode/{template-card → template-panel}/style.scss +2 -32
  937. package/src/components/sidebar-navigation-item/index.js +6 -2
  938. package/src/components/sidebar-navigation-item/style.scss +7 -0
  939. package/src/components/sidebar-navigation-screen/index.js +89 -53
  940. package/src/components/sidebar-navigation-screen/style.scss +66 -5
  941. package/src/components/sidebar-navigation-screen-details-footer/index.js +45 -0
  942. package/src/components/sidebar-navigation-screen-details-footer/style.scss +5 -0
  943. package/src/components/sidebar-navigation-screen-details-panel/index.js +40 -0
  944. package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js +14 -0
  945. package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +29 -0
  946. package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js +14 -0
  947. package/src/components/sidebar-navigation-screen-details-panel/style.scss +25 -0
  948. package/src/components/sidebar-navigation-screen-global-styles/index.js +126 -14
  949. package/src/components/sidebar-navigation-screen-global-styles/style.scss +12 -0
  950. package/src/components/sidebar-navigation-screen-library/category-item.js +43 -0
  951. package/src/components/sidebar-navigation-screen-library/index.js +136 -0
  952. package/src/components/sidebar-navigation-screen-library/style.scss +7 -0
  953. package/src/components/sidebar-navigation-screen-library/use-default-pattern-categories.js +32 -0
  954. package/src/components/sidebar-navigation-screen-library/use-pattern-categories.js +64 -0
  955. package/src/components/sidebar-navigation-screen-library/use-template-part-areas.js +33 -0
  956. package/src/components/sidebar-navigation-screen-library/use-theme-patterns.js +44 -0
  957. package/src/components/sidebar-navigation-screen-main/index.js +11 -14
  958. package/src/components/sidebar-navigation-screen-navigation-item/index.js +1 -1
  959. package/src/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +45 -0
  960. package/src/components/sidebar-navigation-screen-navigation-menu/edit-button.js +24 -0
  961. package/src/components/sidebar-navigation-screen-navigation-menu/index.js +50 -96
  962. package/src/components/sidebar-navigation-screen-navigation-menu/more-menu.js +89 -0
  963. package/src/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +51 -0
  964. package/src/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +51 -0
  965. package/src/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +39 -0
  966. package/src/components/sidebar-navigation-screen-navigation-menu/style.scss +15 -0
  967. package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +175 -0
  968. package/src/components/sidebar-navigation-screen-navigation-menus/constants.js +3 -1
  969. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +43 -7
  970. package/src/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +61 -2
  971. package/src/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +25 -47
  972. package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +5 -1
  973. package/src/components/sidebar-navigation-screen-page/index.js +98 -24
  974. package/src/components/sidebar-navigation-screen-page/page-details.js +166 -0
  975. package/src/components/sidebar-navigation-screen-page/status-label.js +105 -0
  976. package/src/components/sidebar-navigation-screen-page/style.scss +63 -0
  977. package/src/components/sidebar-navigation-screen-pages/index.js +181 -44
  978. package/src/components/sidebar-navigation-screen-pattern/index.js +44 -0
  979. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +28 -0
  980. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js +21 -0
  981. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +30 -0
  982. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +33 -0
  983. package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +71 -0
  984. package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +86 -0
  985. package/src/components/sidebar-navigation-screen-template/home-template-details.js +230 -0
  986. package/src/components/sidebar-navigation-screen-template/index.js +44 -27
  987. package/src/components/sidebar-navigation-screen-template/style.scss +23 -0
  988. package/src/components/sidebar-navigation-screen-templates/index.js +19 -26
  989. package/src/components/site-hub/index.js +26 -7
  990. package/src/components/site-hub/style.scss +26 -0
  991. package/src/components/style-book/index.js +1 -1
  992. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +16 -3
  993. package/src/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +1 -1
  994. package/src/components/sync-state-with-url/use-sync-path-with-url.js +11 -1
  995. package/src/components/table/index.js +33 -0
  996. package/src/components/table/style.scss +37 -0
  997. package/src/components/{list/actions → template-actions}/index.js +19 -6
  998. package/src/components/template-part-converter/convert-to-template-part.js +4 -27
  999. package/src/components/welcome-guide/editor.js +1 -1
  1000. package/src/components/welcome-guide/styles.js +5 -3
  1001. package/src/hooks/commands/use-common-commands.js +167 -0
  1002. package/src/hooks/commands/use-edit-mode-commands.js +61 -25
  1003. package/src/hooks/index.js +1 -0
  1004. package/src/hooks/navigation-menu-edit.js +95 -0
  1005. package/src/hooks/push-changes-to-global-styles/index.js +14 -8
  1006. package/src/hooks/template-part-edit.js +1 -1
  1007. package/src/store/actions.js +52 -1
  1008. package/src/store/index.js +1 -1
  1009. package/src/store/reducer.js +21 -0
  1010. package/src/store/selectors.js +54 -5
  1011. package/src/store/test/actions.js +31 -0
  1012. package/src/store/test/reducer.js +44 -0
  1013. package/src/store/test/selectors.js +57 -0
  1014. package/src/style.scss +17 -4
  1015. package/src/utils/get-is-list-page.js +16 -4
  1016. package/src/utils/is-previewing-theme.js +2 -3
  1017. package/src/utils/use-activate-theme.js +3 -2
  1018. package/src/utils/use-debounced-input.js +17 -0
  1019. package/build/components/add-new-template/new-template-part.js +0 -116
  1020. package/build/components/add-new-template/new-template-part.js.map +0 -1
  1021. package/build/components/list/actions/index.js.map +0 -1
  1022. package/build/components/list/actions/rename-menu-item.js.map +0 -1
  1023. package/build/components/sidebar-edit-mode/template-card/index.js.map +0 -1
  1024. package/build/components/sidebar-edit-mode/template-card/template-actions.js.map +0 -1
  1025. package/build/components/sidebar-edit-mode/template-card/template-areas.js.map +0 -1
  1026. package/build/components/sidebar-edit-mode/template-revisions/index.js.map +0 -1
  1027. package/build/components/sidebar-navigation-screen-navigation-menus/navigator-button.js +0 -53
  1028. package/build/components/sidebar-navigation-screen-navigation-menus/navigator-button.js.map +0 -1
  1029. package/build/components/sidebar-navigation-subtitle/index.js +0 -18
  1030. package/build/components/sidebar-navigation-subtitle/index.js.map +0 -1
  1031. package/build/private-apis.js.map +0 -1
  1032. package/build-module/components/add-new-template/new-template-part.js +0 -96
  1033. package/build-module/components/add-new-template/new-template-part.js.map +0 -1
  1034. package/build-module/components/list/actions/index.js.map +0 -1
  1035. package/build-module/components/list/actions/rename-menu-item.js.map +0 -1
  1036. package/build-module/components/sidebar-edit-mode/template-card/index.js +0 -68
  1037. package/build-module/components/sidebar-edit-mode/template-card/index.js.map +0 -1
  1038. package/build-module/components/sidebar-edit-mode/template-card/template-actions.js.map +0 -1
  1039. package/build-module/components/sidebar-edit-mode/template-card/template-areas.js.map +0 -1
  1040. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigator-button.js +0 -40
  1041. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigator-button.js.map +0 -1
  1042. package/build-module/components/sidebar-navigation-subtitle/index.js +0 -10
  1043. package/build-module/components/sidebar-navigation-subtitle/index.js.map +0 -1
  1044. package/build-module/private-apis.js.map +0 -1
  1045. package/src/components/add-new-template/new-template-part.js +0 -109
  1046. package/src/components/sidebar-edit-mode/template-card/index.js +0 -59
  1047. package/src/components/sidebar-navigation-screen-navigation-menus/navigator-button.js +0 -47
  1048. package/src/components/sidebar-navigation-screen-pages/style.scss +0 -4
  1049. package/src/components/sidebar-navigation-screen-templates/style.scss +0 -4
  1050. package/src/components/sidebar-navigation-subtitle/index.js +0 -5
  1051. package/src/components/sidebar-navigation-subtitle/style.scss +0 -7
  1052. /package/src/components/sidebar-edit-mode/{template-revisions/index.js → template-panel/last-revision.js} +0 -0
  1053. /package/src/components/sidebar-edit-mode/{template-card → template-panel}/template-actions.js +0 -0
  1054. /package/src/components/sidebar-edit-mode/{template-card → template-panel}/template-areas.js +0 -0
  1055. /package/src/components/{list/actions → template-actions}/rename-menu-item.js +0 -0
  1056. /package/src/{private-apis.js → lock-unlock.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/add-new-template/utils.js"],"names":["mapToIHasNameAndId","entities","path","map","entity","name","useExistingTemplates","select","coreStore","getEntityRecords","per_page","useDefaultTemplateTypes","editorStore","__experimentalGetDefaultTemplateTypes","usePublicPostTypes","postTypes","getPostTypes","excludedPostTypes","filter","viewable","slug","includes","usePublicTaxonomies","taxonomies","getTaxonomies","visibility","publicly_queryable","usePostTypeNeedsUniqueIdentifier","publicPostTypes","postTypeLabels","reduce","accumulator","labels","singularName","singular_name","toLowerCase","usePostTypeArchiveMenuItems","postTypesWithArchives","postType","has_archive","existingTemplates","needsUniqueIdentifier","some","existingTemplate","title","description","icon","startsWith","slice","archive","templatePrefix","usePostTypeMenuItems","onClickMenuItem","defaultTemplateTypes","templatePrefixes","suffix","postTypesInfo","useEntitiesInfo","existingTemplateSlugs","menuItems","generalTemplateSlug","defaultTemplateType","find","_slug","hasGeneralTemplate","_needsUniqueIdentifier","menuItemTitle","menuItem","post","hasEntities","onClick","template","type","config","recordNamePath","queryArgs","search","_fields","orderBy","exclude","existingEntitiesIds","getSpecificTemplate","suggestion","templateSlug","push","postTypesMenuItems","key","defaultPostTypesMenuItems","useTaxonomiesMenuItems","publicTaxonomies","taxonomyLabels","taxonomiesInfo","taxonomy","blockMeta","taxonomiesMenuItems","defaultTaxonomiesMenuItems","USE_AUTHOR_MENU_ITEM_TEMPLATE_PREFIX","user","USE_AUTHOR_MENU_ITEM_QUERY_PARAMETERS","who","useAuthorMenuItem","authorInfo","authorMenuItem","search_items","not_found","all_items","useExistingTemplateSlugs","existingSlugs","Object","entries","prefix","slugsWithTemplates","_accumulator","_prefix","substring","length","useTemplatesToExclude","entityName","additionalQueryParameters","slugsToExcludePerEntity","recordsToExcludePerEntity","entitiesWithTemplates","context","entitiesInfo","keys","id"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useMemo, useCallback } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { blockMeta, post, archive } from '@wordpress/icons';\n\n/**\n * @typedef IHasNameAndId\n * @property {string|number} id The entity's id.\n * @property {string} name The entity's name.\n */\n\n/**\n * Helper util to map records to add a `name` prop from a\n * provided path, in order to handle all entities in the same\n * fashion(implementing`IHasNameAndId` interface).\n *\n * @param {Object[]} entities The array of entities.\n * @param {string} path The path to map a `name` property from the entity.\n * @return {IHasNameAndId[]} An array of enitities that now implement the `IHasNameAndId` interface.\n */\nexport const mapToIHasNameAndId = ( entities, path ) => {\n\treturn ( entities || [] ).map( ( entity ) => ( {\n\t\t...entity,\n\t\tname: decodeEntities( get( entity, path ) ),\n\t} ) );\n};\n\n/**\n * @typedef {Object} EntitiesInfo\n * @property {boolean} hasEntities If an entity has available records(posts, terms, etc..).\n * @property {number[]} existingEntitiesIds An array of the existing entities ids.\n */\n\nexport const useExistingTemplates = () => {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getEntityRecords( 'postType', 'wp_template', {\n\t\t\t\tper_page: -1,\n\t\t\t} ),\n\t\t[]\n\t);\n};\n\nexport const useDefaultTemplateTypes = () => {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).__experimentalGetDefaultTemplateTypes(),\n\t\t[]\n\t);\n};\n\nconst usePublicPostTypes = () => {\n\tconst postTypes = useSelect(\n\t\t( select ) => select( coreStore ).getPostTypes( { per_page: -1 } ),\n\t\t[]\n\t);\n\treturn useMemo( () => {\n\t\tconst excludedPostTypes = [ 'attachment' ];\n\t\treturn postTypes?.filter(\n\t\t\t( { viewable, slug } ) =>\n\t\t\t\tviewable && ! excludedPostTypes.includes( slug )\n\t\t);\n\t}, [ postTypes ] );\n};\n\nconst usePublicTaxonomies = () => {\n\tconst taxonomies = useSelect(\n\t\t( select ) => select( coreStore ).getTaxonomies( { per_page: -1 } ),\n\t\t[]\n\t);\n\treturn useMemo( () => {\n\t\treturn taxonomies?.filter(\n\t\t\t( { visibility } ) => visibility?.publicly_queryable\n\t\t);\n\t}, [ taxonomies ] );\n};\n\nfunction usePostTypeNeedsUniqueIdentifier( publicPostTypes ) {\n\tconst postTypeLabels = useMemo( () =>\n\t\tpublicPostTypes?.reduce( ( accumulator, { labels } ) => {\n\t\t\tconst singularName = labels.singular_name.toLowerCase();\n\t\t\taccumulator[ singularName ] =\n\t\t\t\t( accumulator[ singularName ] || 0 ) + 1;\n\t\t\treturn accumulator;\n\t\t}, {} )\n\t);\n\treturn useCallback(\n\t\t( { labels, slug } ) => {\n\t\t\tconst singularName = labels.singular_name.toLowerCase();\n\t\t\treturn postTypeLabels[ singularName ] > 1 && singularName !== slug;\n\t\t},\n\t\t[ postTypeLabels ]\n\t);\n}\n\nexport function usePostTypeArchiveMenuItems() {\n\tconst publicPostTypes = usePublicPostTypes();\n\tconst postTypesWithArchives = useMemo(\n\t\t() => publicPostTypes?.filter( ( postType ) => postType.has_archive ),\n\t\t[ publicPostTypes ]\n\t);\n\tconst existingTemplates = useExistingTemplates();\n\tconst needsUniqueIdentifier = usePostTypeNeedsUniqueIdentifier(\n\t\tpostTypesWithArchives\n\t);\n\treturn useMemo(\n\t\t() =>\n\t\t\tpostTypesWithArchives\n\t\t\t\t?.filter(\n\t\t\t\t\t( postType ) =>\n\t\t\t\t\t\t! ( existingTemplates || [] ).some(\n\t\t\t\t\t\t\t( existingTemplate ) =>\n\t\t\t\t\t\t\t\texistingTemplate.slug ===\n\t\t\t\t\t\t\t\t'archive-' + postType.slug\n\t\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t.map( ( postType ) => {\n\t\t\t\t\tlet title;\n\t\t\t\t\tif ( needsUniqueIdentifier( postType ) ) {\n\t\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t\t// translators: %1s: Name of the post type e.g: \"Post\"; %2s: Slug of the post type e.g: \"book\".\n\t\t\t\t\t\t\t__( 'Archive: %1$s (%2$s)' ),\n\t\t\t\t\t\t\tpostType.labels.singular_name,\n\t\t\t\t\t\t\tpostType.slug\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t\t\t\t__( 'Archive: %s' ),\n\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\tslug: 'archive-' + postType.slug,\n\t\t\t\t\t\tdescription: sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'Displays an archive with the latest posts of type: %s.'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t),\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t// `icon` is the `menu_icon` property of a post type. We\n\t\t\t\t\t\t// only handle `dashicons` for now, even if the `menu_icon`\n\t\t\t\t\t\t// also supports urls and svg as values.\n\t\t\t\t\t\ticon: postType.icon?.startsWith( 'dashicons-' )\n\t\t\t\t\t\t\t? postType.icon.slice( 10 )\n\t\t\t\t\t\t\t: archive,\n\t\t\t\t\t\ttemplatePrefix: 'archive',\n\t\t\t\t\t};\n\t\t\t\t} ) || [],\n\t\t[ postTypesWithArchives, existingTemplates, needsUniqueIdentifier ]\n\t);\n}\n\nexport const usePostTypeMenuItems = ( onClickMenuItem ) => {\n\tconst publicPostTypes = usePublicPostTypes();\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst needsUniqueIdentifier =\n\t\tusePostTypeNeedsUniqueIdentifier( publicPostTypes );\n\t// `page`is a special case in template hierarchy.\n\tconst templatePrefixes = useMemo(\n\t\t() =>\n\t\t\tpublicPostTypes?.reduce( ( accumulator, { slug } ) => {\n\t\t\t\tlet suffix = slug;\n\t\t\t\tif ( slug !== 'page' ) {\n\t\t\t\t\tsuffix = `single-${ suffix }`;\n\t\t\t\t}\n\t\t\t\taccumulator[ slug ] = suffix;\n\t\t\t\treturn accumulator;\n\t\t\t}, {} ),\n\t\t[ publicPostTypes ]\n\t);\n\tconst postTypesInfo = useEntitiesInfo( 'postType', templatePrefixes );\n\tconst existingTemplateSlugs = ( existingTemplates || [] ).map(\n\t\t( { slug } ) => slug\n\t);\n\tconst menuItems = ( publicPostTypes || [] ).reduce(\n\t\t( accumulator, postType ) => {\n\t\t\tconst { slug, labels, icon } = postType;\n\t\t\t// We need to check if the general template is part of the\n\t\t\t// defaultTemplateTypes. If it is, just use that info and\n\t\t\t// augment it with the specific template functionality.\n\t\t\tconst generalTemplateSlug = templatePrefixes[ slug ];\n\t\t\tconst defaultTemplateType = defaultTemplateTypes?.find(\n\t\t\t\t( { slug: _slug } ) => _slug === generalTemplateSlug\n\t\t\t);\n\t\t\tconst hasGeneralTemplate =\n\t\t\t\texistingTemplateSlugs?.includes( generalTemplateSlug );\n\t\t\tconst _needsUniqueIdentifier = needsUniqueIdentifier( postType );\n\t\t\tlet menuItemTitle = sprintf(\n\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t__( 'Single item: %s' ),\n\t\t\t\tlabels.singular_name\n\t\t\t);\n\t\t\tif ( _needsUniqueIdentifier ) {\n\t\t\t\tmenuItemTitle = sprintf(\n\t\t\t\t\t// translators: %1s: Name of the post type e.g: \"Post\"; %2s: Slug of the post type e.g: \"book\".\n\t\t\t\t\t__( 'Single item: %1$s (%2$s)' ),\n\t\t\t\t\tlabels.singular_name,\n\t\t\t\t\tslug\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst menuItem = defaultTemplateType\n\t\t\t\t? {\n\t\t\t\t\t\t...defaultTemplateType,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\tslug: generalTemplateSlug,\n\t\t\t\t\t\ttitle: menuItemTitle,\n\t\t\t\t\t\tdescription: sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t\t\t\t__( 'Displays a single item: %s.' ),\n\t\t\t\t\t\t\tlabels.singular_name\n\t\t\t\t\t\t),\n\t\t\t\t\t\t// `icon` is the `menu_icon` property of a post type. We\n\t\t\t\t\t\t// only handle `dashicons` for now, even if the `menu_icon`\n\t\t\t\t\t\t// also supports urls and svg as values.\n\t\t\t\t\t\ticon: icon?.startsWith( 'dashicons-' )\n\t\t\t\t\t\t\t? icon.slice( 10 )\n\t\t\t\t\t\t\t: post,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t };\n\t\t\tconst hasEntities = postTypesInfo?.[ slug ]?.hasEntities;\n\t\t\t// We have a different template creation flow only if they have entities.\n\t\t\tif ( hasEntities ) {\n\t\t\t\tmenuItem.onClick = ( template ) => {\n\t\t\t\t\tonClickMenuItem( {\n\t\t\t\t\t\ttype: 'postType',\n\t\t\t\t\t\tslug,\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\trecordNamePath: 'title.rendered',\n\t\t\t\t\t\t\tqueryArgs: ( { search } ) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t_fields: 'id,title,slug,link',\n\t\t\t\t\t\t\t\t\torderBy: search ? 'relevance' : 'modified',\n\t\t\t\t\t\t\t\t\texclude:\n\t\t\t\t\t\t\t\t\t\tpostTypesInfo[ slug ]\n\t\t\t\t\t\t\t\t\t\t\t.existingEntitiesIds,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgetSpecificTemplate: ( suggestion ) => {\n\t\t\t\t\t\t\t\tconst templateSlug = `${ templatePrefixes[ slug ] }-${ suggestion.slug }`;\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\ttitle: templateSlug,\n\t\t\t\t\t\t\t\t\tslug: templateSlug,\n\t\t\t\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\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\tlabels,\n\t\t\t\t\t\thasGeneralTemplate,\n\t\t\t\t\t\ttemplate,\n\t\t\t\t\t} );\n\t\t\t\t};\n\t\t\t}\n\t\t\t// We don't need to add the menu item if there are no\n\t\t\t// entities and the general template exists.\n\t\t\tif ( ! hasGeneralTemplate || hasEntities ) {\n\t\t\t\taccumulator.push( menuItem );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t},\n\t\t[]\n\t);\n\t// Split menu items into two groups: one for the default post types\n\t// and one for the rest.\n\tconst postTypesMenuItems = useMemo(\n\t\t() =>\n\t\t\tmenuItems.reduce(\n\t\t\t\t( accumulator, postType ) => {\n\t\t\t\t\tconst { slug } = postType;\n\t\t\t\t\tlet key = 'postTypesMenuItems';\n\t\t\t\t\tif ( slug === 'page' ) {\n\t\t\t\t\t\tkey = 'defaultPostTypesMenuItems';\n\t\t\t\t\t}\n\t\t\t\t\taccumulator[ key ].push( postType );\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{ defaultPostTypesMenuItems: [], postTypesMenuItems: [] }\n\t\t\t),\n\t\t[ menuItems ]\n\t);\n\treturn postTypesMenuItems;\n};\n\nexport const useTaxonomiesMenuItems = ( onClickMenuItem ) => {\n\tconst publicTaxonomies = usePublicTaxonomies();\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\t// `category` and `post_tag` are special cases in template hierarchy.\n\tconst templatePrefixes = useMemo(\n\t\t() =>\n\t\t\tpublicTaxonomies?.reduce( ( accumulator, { slug } ) => {\n\t\t\t\tlet suffix = slug;\n\t\t\t\tif ( ! [ 'category', 'post_tag' ].includes( slug ) ) {\n\t\t\t\t\tsuffix = `taxonomy-${ suffix }`;\n\t\t\t\t}\n\t\t\t\tif ( slug === 'post_tag' ) {\n\t\t\t\t\tsuffix = `tag`;\n\t\t\t\t}\n\t\t\t\taccumulator[ slug ] = suffix;\n\t\t\t\treturn accumulator;\n\t\t\t}, {} ),\n\t\t[ publicTaxonomies ]\n\t);\n\t// We need to keep track of naming conflicts. If a conflict\n\t// occurs, we need to add slug.\n\tconst taxonomyLabels = publicTaxonomies?.reduce(\n\t\t( accumulator, { labels } ) => {\n\t\t\tconst singularName = labels.singular_name.toLowerCase();\n\t\t\taccumulator[ singularName ] =\n\t\t\t\t( accumulator[ singularName ] || 0 ) + 1;\n\t\t\treturn accumulator;\n\t\t},\n\t\t{}\n\t);\n\tconst needsUniqueIdentifier = ( labels, slug ) => {\n\t\tif ( [ 'category', 'post_tag' ].includes( slug ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst singularName = labels.singular_name.toLowerCase();\n\t\treturn taxonomyLabels[ singularName ] > 1 && singularName !== slug;\n\t};\n\tconst taxonomiesInfo = useEntitiesInfo( 'taxonomy', templatePrefixes );\n\tconst existingTemplateSlugs = ( existingTemplates || [] ).map(\n\t\t( { slug } ) => slug\n\t);\n\tconst menuItems = ( publicTaxonomies || [] ).reduce(\n\t\t( accumulator, taxonomy ) => {\n\t\t\tconst { slug, labels } = taxonomy;\n\t\t\t// We need to check if the general template is part of the\n\t\t\t// defaultTemplateTypes. If it is, just use that info and\n\t\t\t// augment it with the specific template functionality.\n\t\t\tconst generalTemplateSlug = templatePrefixes[ slug ];\n\t\t\tconst defaultTemplateType = defaultTemplateTypes?.find(\n\t\t\t\t( { slug: _slug } ) => _slug === generalTemplateSlug\n\t\t\t);\n\t\t\tconst hasGeneralTemplate =\n\t\t\t\texistingTemplateSlugs?.includes( generalTemplateSlug );\n\t\t\tconst _needsUniqueIdentifier = needsUniqueIdentifier(\n\t\t\t\tlabels,\n\t\t\t\tslug\n\t\t\t);\n\t\t\tlet menuItemTitle = labels.singular_name;\n\t\t\tif ( _needsUniqueIdentifier ) {\n\t\t\t\tmenuItemTitle = sprintf(\n\t\t\t\t\t// translators: %1s: Name of the taxonomy e.g: \"Category\"; %2s: Slug of the taxonomy e.g: \"product_cat\".\n\t\t\t\t\t__( '%1$s (%2$s)' ),\n\t\t\t\t\tlabels.singular_name,\n\t\t\t\t\tslug\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst menuItem = defaultTemplateType\n\t\t\t\t? {\n\t\t\t\t\t\t...defaultTemplateType,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\tslug: generalTemplateSlug,\n\t\t\t\t\t\ttitle: menuItemTitle,\n\t\t\t\t\t\tdescription: sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the taxonomy e.g: \"Product Categories\".\n\t\t\t\t\t\t\t__( 'Displays taxonomy: %s.' ),\n\t\t\t\t\t\t\tlabels.singular_name\n\t\t\t\t\t\t),\n\t\t\t\t\t\ticon: blockMeta,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t };\n\t\t\tconst hasEntities = taxonomiesInfo?.[ slug ]?.hasEntities;\n\t\t\t// We have a different template creation flow only if they have entities.\n\t\t\tif ( hasEntities ) {\n\t\t\t\tmenuItem.onClick = ( template ) => {\n\t\t\t\t\tonClickMenuItem( {\n\t\t\t\t\t\ttype: 'taxonomy',\n\t\t\t\t\t\tslug,\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\tqueryArgs: ( { search } ) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t_fields: 'id,name,slug,link',\n\t\t\t\t\t\t\t\t\torderBy: search ? 'name' : 'count',\n\t\t\t\t\t\t\t\t\texclude:\n\t\t\t\t\t\t\t\t\t\ttaxonomiesInfo[ slug ]\n\t\t\t\t\t\t\t\t\t\t\t.existingEntitiesIds,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgetSpecificTemplate: ( suggestion ) => {\n\t\t\t\t\t\t\t\tconst templateSlug = `${ templatePrefixes[ slug ] }-${ suggestion.slug }`;\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\ttitle: templateSlug,\n\t\t\t\t\t\t\t\t\tslug: templateSlug,\n\t\t\t\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\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\tlabels,\n\t\t\t\t\t\thasGeneralTemplate,\n\t\t\t\t\t\ttemplate,\n\t\t\t\t\t} );\n\t\t\t\t};\n\t\t\t}\n\t\t\t// We don't need to add the menu item if there are no\n\t\t\t// entities and the general template exists.\n\t\t\tif ( ! hasGeneralTemplate || hasEntities ) {\n\t\t\t\taccumulator.push( menuItem );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t},\n\t\t[]\n\t);\n\t// Split menu items into two groups: one for the default taxonomies\n\t// and one for the rest.\n\tconst taxonomiesMenuItems = useMemo(\n\t\t() =>\n\t\t\tmenuItems.reduce(\n\t\t\t\t( accumulator, taxonomy ) => {\n\t\t\t\t\tconst { slug } = taxonomy;\n\t\t\t\t\tlet key = 'taxonomiesMenuItems';\n\t\t\t\t\tif ( [ 'category', 'tag' ].includes( slug ) ) {\n\t\t\t\t\t\tkey = 'defaultTaxonomiesMenuItems';\n\t\t\t\t\t}\n\t\t\t\t\taccumulator[ key ].push( taxonomy );\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{ defaultTaxonomiesMenuItems: [], taxonomiesMenuItems: [] }\n\t\t\t),\n\t\t[ menuItems ]\n\t);\n\treturn taxonomiesMenuItems;\n};\n\nconst USE_AUTHOR_MENU_ITEM_TEMPLATE_PREFIX = { user: 'author' };\nconst USE_AUTHOR_MENU_ITEM_QUERY_PARAMETERS = { user: { who: 'authors' } };\nexport function useAuthorMenuItem( onClickMenuItem ) {\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst authorInfo = useEntitiesInfo(\n\t\t'root',\n\t\tUSE_AUTHOR_MENU_ITEM_TEMPLATE_PREFIX,\n\t\tUSE_AUTHOR_MENU_ITEM_QUERY_PARAMETERS\n\t);\n\tlet authorMenuItem = defaultTemplateTypes?.find(\n\t\t( { slug } ) => slug === 'author'\n\t);\n\tif ( ! authorMenuItem ) {\n\t\tauthorMenuItem = {\n\t\t\tdescription: __(\n\t\t\t\t'Displays latest posts written by a single author.'\n\t\t\t),\n\t\t\tslug: 'author',\n\t\t\ttitle: 'Author',\n\t\t};\n\t}\n\tconst hasGeneralTemplate = !! existingTemplates?.find(\n\t\t( { slug } ) => slug === 'author'\n\t);\n\tif ( authorInfo.user?.hasEntities ) {\n\t\tauthorMenuItem = { ...authorMenuItem, templatePrefix: 'author' };\n\t\tauthorMenuItem.onClick = ( template ) => {\n\t\t\tonClickMenuItem( {\n\t\t\t\ttype: 'root',\n\t\t\t\tslug: 'user',\n\t\t\t\tconfig: {\n\t\t\t\t\tqueryArgs: ( { search } ) => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t_fields: 'id,name,slug,link',\n\t\t\t\t\t\t\torderBy: search ? 'name' : 'registered_date',\n\t\t\t\t\t\t\texclude: authorInfo.user.existingEntitiesIds,\n\t\t\t\t\t\t\twho: 'authors',\n\t\t\t\t\t\t};\n\t\t\t\t\t},\n\t\t\t\t\tgetSpecificTemplate: ( suggestion ) => {\n\t\t\t\t\t\tconst templateSlug = `author-${ suggestion.slug }`;\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttitle: templateSlug,\n\t\t\t\t\t\t\tslug: templateSlug,\n\t\t\t\t\t\t\ttemplatePrefix: 'author',\n\t\t\t\t\t\t};\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlabels: {\n\t\t\t\t\tsingular_name: __( 'Author' ),\n\t\t\t\t\tsearch_items: __( 'Search Authors' ),\n\t\t\t\t\tnot_found: __( 'No authors found.' ),\n\t\t\t\t\tall_items: __( 'All Authors' ),\n\t\t\t\t},\n\t\t\t\thasGeneralTemplate,\n\t\t\t\ttemplate,\n\t\t\t} );\n\t\t};\n\t}\n\tif ( ! hasGeneralTemplate || authorInfo.user?.hasEntities ) {\n\t\treturn authorMenuItem;\n\t}\n}\n\n/**\n * Helper hook that filters all the existing templates by the given\n * object with the entity's slug as key and the template prefix as value.\n *\n * Example:\n * `existingTemplates` is: [ { slug: 'tag-apple' }, { slug: 'page-about' }, { slug: 'tag' } ]\n * `templatePrefixes` is: { post_tag: 'tag' }\n * It will return: { post_tag: ['apple'] }\n *\n * Note: We append the `-` to the given template prefix in this function for our checks.\n *\n * @param {Record<string,string>} templatePrefixes An object with the entity's slug as key and the template prefix as value.\n * @return {Record<string,string[]>} An object with the entity's slug as key and an array with the existing template slugs as value.\n */\nconst useExistingTemplateSlugs = ( templatePrefixes ) => {\n\tconst existingTemplates = useExistingTemplates();\n\tconst existingSlugs = useMemo( () => {\n\t\treturn Object.entries( templatePrefixes || {} ).reduce(\n\t\t\t( accumulator, [ slug, prefix ] ) => {\n\t\t\t\tconst slugsWithTemplates = ( existingTemplates || [] ).reduce(\n\t\t\t\t\t( _accumulator, existingTemplate ) => {\n\t\t\t\t\t\tconst _prefix = `${ prefix }-`;\n\t\t\t\t\t\tif ( existingTemplate.slug.startsWith( _prefix ) ) {\n\t\t\t\t\t\t\t_accumulator.push(\n\t\t\t\t\t\t\t\texistingTemplate.slug.substring(\n\t\t\t\t\t\t\t\t\t_prefix.length\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\treturn _accumulator;\n\t\t\t\t\t},\n\t\t\t\t\t[]\n\t\t\t\t);\n\t\t\t\tif ( slugsWithTemplates.length ) {\n\t\t\t\t\taccumulator[ slug ] = slugsWithTemplates;\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t}, [ templatePrefixes, existingTemplates ] );\n\treturn existingSlugs;\n};\n\n/**\n * Helper hook that finds the existing records with an associated template,\n * as they need to be excluded from the template suggestions.\n *\n * @param {string} entityName The entity's name.\n * @param {Record<string,string>} templatePrefixes An object with the entity's slug as key and the template prefix as value.\n * @param {Record<string,Object>} additionalQueryParameters An object with the entity's slug as key and additional query parameters as value.\n * @return {Record<string,EntitiesInfo>} An object with the entity's slug as key and the existing records as value.\n */\nconst useTemplatesToExclude = (\n\tentityName,\n\ttemplatePrefixes,\n\tadditionalQueryParameters = {}\n) => {\n\tconst slugsToExcludePerEntity =\n\t\tuseExistingTemplateSlugs( templatePrefixes );\n\tconst recordsToExcludePerEntity = useSelect(\n\t\t( select ) => {\n\t\t\treturn Object.entries( slugsToExcludePerEntity || {} ).reduce(\n\t\t\t\t( accumulator, [ slug, slugsWithTemplates ] ) => {\n\t\t\t\t\tconst entitiesWithTemplates = select(\n\t\t\t\t\t\tcoreStore\n\t\t\t\t\t).getEntityRecords( entityName, slug, {\n\t\t\t\t\t\t_fields: 'id',\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\tslug: slugsWithTemplates,\n\t\t\t\t\t\t...additionalQueryParameters[ slug ],\n\t\t\t\t\t} );\n\t\t\t\t\tif ( entitiesWithTemplates?.length ) {\n\t\t\t\t\t\taccumulator[ slug ] = entitiesWithTemplates;\n\t\t\t\t\t}\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t},\n\t\t[ slugsToExcludePerEntity ]\n\t);\n\treturn recordsToExcludePerEntity;\n};\n\n/**\n * Helper hook that returns information about an entity having\n * records that we can create a specific template for.\n *\n * For example we can search for `terms` in `taxonomy` entity or\n * `posts` in `postType` entity.\n *\n * First we need to find the existing records with an associated template,\n * to query afterwards for any remaining record, by excluding them.\n *\n * @param {string} entityName The entity's name.\n * @param {Record<string,string>} templatePrefixes An object with the entity's slug as key and the template prefix as value.\n * @param {Record<string,Object>} additionalQueryParameters An object with the entity's slug as key and additional query parameters as value.\n * @return {Record<string,EntitiesInfo>} An object with the entity's slug as key and the EntitiesInfo as value.\n */\nconst useEntitiesInfo = (\n\tentityName,\n\ttemplatePrefixes,\n\tadditionalQueryParameters = {}\n) => {\n\tconst recordsToExcludePerEntity = useTemplatesToExclude(\n\t\tentityName,\n\t\ttemplatePrefixes,\n\t\tadditionalQueryParameters\n\t);\n\tconst entitiesInfo = useSelect(\n\t\t( select ) => {\n\t\t\treturn Object.keys( templatePrefixes || {} ).reduce(\n\t\t\t\t( accumulator, slug ) => {\n\t\t\t\t\tconst existingEntitiesIds =\n\t\t\t\t\t\trecordsToExcludePerEntity?.[ slug ]?.map(\n\t\t\t\t\t\t\t( { id } ) => id\n\t\t\t\t\t\t) || [];\n\t\t\t\t\taccumulator[ slug ] = {\n\t\t\t\t\t\thasEntities: !! select( coreStore ).getEntityRecords(\n\t\t\t\t\t\t\tentityName,\n\t\t\t\t\t\t\tslug,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tper_page: 1,\n\t\t\t\t\t\t\t\t_fields: 'id',\n\t\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t\t\texclude: existingEntitiesIds,\n\t\t\t\t\t\t\t\t...additionalQueryParameters[ slug ],\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t)?.length,\n\t\t\t\t\t\texistingEntitiesIds,\n\t\t\t\t\t};\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t},\n\t\t[ templatePrefixes, recordsToExcludePerEntity ]\n\t);\n\treturn entitiesInfo;\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/add-new-template/utils.js"],"names":["mapToIHasNameAndId","entities","path","map","entity","name","useExistingTemplates","select","coreStore","getEntityRecords","per_page","useDefaultTemplateTypes","editorStore","__experimentalGetDefaultTemplateTypes","usePublicPostTypes","postTypes","getPostTypes","excludedPostTypes","filter","viewable","slug","includes","usePublicTaxonomies","taxonomies","getTaxonomies","visibility","publicly_queryable","usePostTypeNeedsUniqueIdentifier","publicPostTypes","postTypeLabels","reduce","accumulator","labels","singularName","singular_name","toLowerCase","usePostTypeArchiveMenuItems","postTypesWithArchives","postType","has_archive","existingTemplates","needsUniqueIdentifier","some","existingTemplate","title","description","icon","startsWith","slice","archive","templatePrefix","usePostTypeMenuItems","onClickMenuItem","defaultTemplateTypes","templatePrefixes","suffix","postTypesInfo","useEntitiesInfo","existingTemplateSlugs","menuItems","generalTemplateSlug","defaultTemplateType","find","_slug","hasGeneralTemplate","_needsUniqueIdentifier","menuItemTitle","menuItem","post","hasEntities","onClick","template","type","config","recordNamePath","queryArgs","search","_fields","orderBy","exclude","existingEntitiesIds","getSpecificTemplate","suggestion","templateSlug","push","postTypesMenuItems","key","defaultPostTypesMenuItems","useTaxonomiesMenuItems","publicTaxonomies","taxonomyLabels","taxonomiesInfo","taxonomy","blockMeta","taxonomiesMenuItems","defaultTaxonomiesMenuItems","USE_AUTHOR_MENU_ITEM_TEMPLATE_PREFIX","user","USE_AUTHOR_MENU_ITEM_QUERY_PARAMETERS","who","useAuthorMenuItem","authorInfo","authorMenuItem","search_items","not_found","all_items","useExistingTemplateSlugs","existingSlugs","Object","entries","prefix","slugsWithTemplates","_accumulator","_prefix","substring","length","useTemplatesToExclude","entityName","additionalQueryParameters","slugsToExcludePerEntity","recordsToExcludePerEntity","entitiesWithTemplates","context","entitiesInfo","keys","id"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useMemo, useCallback } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { blockMeta, post, archive } from '@wordpress/icons';\n\n/**\n * @typedef IHasNameAndId\n * @property {string|number} id The entity's id.\n * @property {string} name The entity's name.\n */\n\n/**\n * Helper util to map records to add a `name` prop from a\n * provided path, in order to handle all entities in the same\n * fashion(implementing`IHasNameAndId` interface).\n *\n * @param {Object[]} entities The array of entities.\n * @param {string} path The path to map a `name` property from the entity.\n * @return {IHasNameAndId[]} An array of enitities that now implement the `IHasNameAndId` interface.\n */\nexport const mapToIHasNameAndId = ( entities, path ) => {\n\treturn ( entities || [] ).map( ( entity ) => ( {\n\t\t...entity,\n\t\tname: decodeEntities( get( entity, path ) ),\n\t} ) );\n};\n\n/**\n * @typedef {Object} EntitiesInfo\n * @property {boolean} hasEntities If an entity has available records(posts, terms, etc..).\n * @property {number[]} existingEntitiesIds An array of the existing entities ids.\n */\n\nexport const useExistingTemplates = () => {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getEntityRecords( 'postType', 'wp_template', {\n\t\t\t\tper_page: -1,\n\t\t\t} ),\n\t\t[]\n\t);\n};\n\nexport const useDefaultTemplateTypes = () => {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).__experimentalGetDefaultTemplateTypes(),\n\t\t[]\n\t);\n};\n\nconst usePublicPostTypes = () => {\n\tconst postTypes = useSelect(\n\t\t( select ) => select( coreStore ).getPostTypes( { per_page: -1 } ),\n\t\t[]\n\t);\n\treturn useMemo( () => {\n\t\tconst excludedPostTypes = [ 'attachment' ];\n\t\treturn postTypes?.filter(\n\t\t\t( { viewable, slug } ) =>\n\t\t\t\tviewable && ! excludedPostTypes.includes( slug )\n\t\t);\n\t}, [ postTypes ] );\n};\n\nconst usePublicTaxonomies = () => {\n\tconst taxonomies = useSelect(\n\t\t( select ) => select( coreStore ).getTaxonomies( { per_page: -1 } ),\n\t\t[]\n\t);\n\treturn useMemo( () => {\n\t\treturn taxonomies?.filter(\n\t\t\t( { visibility } ) => visibility?.publicly_queryable\n\t\t);\n\t}, [ taxonomies ] );\n};\n\nfunction usePostTypeNeedsUniqueIdentifier( publicPostTypes ) {\n\tconst postTypeLabels = useMemo( () =>\n\t\tpublicPostTypes?.reduce( ( accumulator, { labels } ) => {\n\t\t\tconst singularName = labels.singular_name.toLowerCase();\n\t\t\taccumulator[ singularName ] =\n\t\t\t\t( accumulator[ singularName ] || 0 ) + 1;\n\t\t\treturn accumulator;\n\t\t}, {} )\n\t);\n\treturn useCallback(\n\t\t( { labels, slug } ) => {\n\t\t\tconst singularName = labels.singular_name.toLowerCase();\n\t\t\treturn postTypeLabels[ singularName ] > 1 && singularName !== slug;\n\t\t},\n\t\t[ postTypeLabels ]\n\t);\n}\n\nexport function usePostTypeArchiveMenuItems() {\n\tconst publicPostTypes = usePublicPostTypes();\n\tconst postTypesWithArchives = useMemo(\n\t\t() => publicPostTypes?.filter( ( postType ) => postType.has_archive ),\n\t\t[ publicPostTypes ]\n\t);\n\tconst existingTemplates = useExistingTemplates();\n\tconst needsUniqueIdentifier = usePostTypeNeedsUniqueIdentifier(\n\t\tpostTypesWithArchives\n\t);\n\treturn useMemo(\n\t\t() =>\n\t\t\tpostTypesWithArchives\n\t\t\t\t?.filter(\n\t\t\t\t\t( postType ) =>\n\t\t\t\t\t\t! ( existingTemplates || [] ).some(\n\t\t\t\t\t\t\t( existingTemplate ) =>\n\t\t\t\t\t\t\t\texistingTemplate.slug ===\n\t\t\t\t\t\t\t\t'archive-' + postType.slug\n\t\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t.map( ( postType ) => {\n\t\t\t\t\tlet title;\n\t\t\t\t\tif ( needsUniqueIdentifier( postType ) ) {\n\t\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t\t// translators: %1s: Name of the post type e.g: \"Post\"; %2s: Slug of the post type e.g: \"book\".\n\t\t\t\t\t\t\t__( 'Archive: %1$s (%2$s)' ),\n\t\t\t\t\t\t\tpostType.labels.singular_name,\n\t\t\t\t\t\t\tpostType.slug\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t\t\t\t__( 'Archive: %s' ),\n\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\tslug: 'archive-' + postType.slug,\n\t\t\t\t\t\tdescription: sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'Displays an archive with the latest posts of type: %s.'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t),\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t// `icon` is the `menu_icon` property of a post type. We\n\t\t\t\t\t\t// only handle `dashicons` for now, even if the `menu_icon`\n\t\t\t\t\t\t// also supports urls and svg as values.\n\t\t\t\t\t\ticon: postType.icon?.startsWith( 'dashicons-' )\n\t\t\t\t\t\t\t? postType.icon.slice( 10 )\n\t\t\t\t\t\t\t: archive,\n\t\t\t\t\t\ttemplatePrefix: 'archive',\n\t\t\t\t\t};\n\t\t\t\t} ) || [],\n\t\t[ postTypesWithArchives, existingTemplates, needsUniqueIdentifier ]\n\t);\n}\n\nexport const usePostTypeMenuItems = ( onClickMenuItem ) => {\n\tconst publicPostTypes = usePublicPostTypes();\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst needsUniqueIdentifier =\n\t\tusePostTypeNeedsUniqueIdentifier( publicPostTypes );\n\t// `page`is a special case in template hierarchy.\n\tconst templatePrefixes = useMemo(\n\t\t() =>\n\t\t\tpublicPostTypes?.reduce( ( accumulator, { slug } ) => {\n\t\t\t\tlet suffix = slug;\n\t\t\t\tif ( slug !== 'page' ) {\n\t\t\t\t\tsuffix = `single-${ suffix }`;\n\t\t\t\t}\n\t\t\t\taccumulator[ slug ] = suffix;\n\t\t\t\treturn accumulator;\n\t\t\t}, {} ),\n\t\t[ publicPostTypes ]\n\t);\n\tconst postTypesInfo = useEntitiesInfo( 'postType', templatePrefixes );\n\tconst existingTemplateSlugs = ( existingTemplates || [] ).map(\n\t\t( { slug } ) => slug\n\t);\n\tconst menuItems = ( publicPostTypes || [] ).reduce(\n\t\t( accumulator, postType ) => {\n\t\t\tconst { slug, labels, icon } = postType;\n\t\t\t// We need to check if the general template is part of the\n\t\t\t// defaultTemplateTypes. If it is, just use that info and\n\t\t\t// augment it with the specific template functionality.\n\t\t\tconst generalTemplateSlug = templatePrefixes[ slug ];\n\t\t\tconst defaultTemplateType = defaultTemplateTypes?.find(\n\t\t\t\t( { slug: _slug } ) => _slug === generalTemplateSlug\n\t\t\t);\n\t\t\tconst hasGeneralTemplate =\n\t\t\t\texistingTemplateSlugs?.includes( generalTemplateSlug );\n\t\t\tconst _needsUniqueIdentifier = needsUniqueIdentifier( postType );\n\t\t\tlet menuItemTitle = sprintf(\n\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t__( 'Single item: %s' ),\n\t\t\t\tlabels.singular_name\n\t\t\t);\n\t\t\tif ( _needsUniqueIdentifier ) {\n\t\t\t\tmenuItemTitle = sprintf(\n\t\t\t\t\t// translators: %1s: Name of the post type e.g: \"Post\"; %2s: Slug of the post type e.g: \"book\".\n\t\t\t\t\t__( 'Single item: %1$s (%2$s)' ),\n\t\t\t\t\tlabels.singular_name,\n\t\t\t\t\tslug\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst menuItem = defaultTemplateType\n\t\t\t\t? {\n\t\t\t\t\t\t...defaultTemplateType,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\tslug: generalTemplateSlug,\n\t\t\t\t\t\ttitle: menuItemTitle,\n\t\t\t\t\t\tdescription: sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t\t\t\t__( 'Displays a single item: %s.' ),\n\t\t\t\t\t\t\tlabels.singular_name\n\t\t\t\t\t\t),\n\t\t\t\t\t\t// `icon` is the `menu_icon` property of a post type. We\n\t\t\t\t\t\t// only handle `dashicons` for now, even if the `menu_icon`\n\t\t\t\t\t\t// also supports urls and svg as values.\n\t\t\t\t\t\ticon: icon?.startsWith( 'dashicons-' )\n\t\t\t\t\t\t\t? icon.slice( 10 )\n\t\t\t\t\t\t\t: post,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t };\n\t\t\tconst hasEntities = postTypesInfo?.[ slug ]?.hasEntities;\n\t\t\t// We have a different template creation flow only if they have entities.\n\t\t\tif ( hasEntities ) {\n\t\t\t\tmenuItem.onClick = ( template ) => {\n\t\t\t\t\tonClickMenuItem( {\n\t\t\t\t\t\ttype: 'postType',\n\t\t\t\t\t\tslug,\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\trecordNamePath: 'title.rendered',\n\t\t\t\t\t\t\tqueryArgs: ( { search } ) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t_fields: 'id,title,slug,link',\n\t\t\t\t\t\t\t\t\torderBy: search ? 'relevance' : 'modified',\n\t\t\t\t\t\t\t\t\texclude:\n\t\t\t\t\t\t\t\t\t\tpostTypesInfo[ slug ]\n\t\t\t\t\t\t\t\t\t\t\t.existingEntitiesIds,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgetSpecificTemplate: ( suggestion ) => {\n\t\t\t\t\t\t\t\tconst templateSlug = `${ templatePrefixes[ slug ] }-${ suggestion.slug }`;\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\ttitle: templateSlug,\n\t\t\t\t\t\t\t\t\tslug: templateSlug,\n\t\t\t\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\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\tlabels,\n\t\t\t\t\t\thasGeneralTemplate,\n\t\t\t\t\t\ttemplate,\n\t\t\t\t\t} );\n\t\t\t\t};\n\t\t\t}\n\t\t\t// We don't need to add the menu item if there are no\n\t\t\t// entities and the general template exists.\n\t\t\tif ( ! hasGeneralTemplate || hasEntities ) {\n\t\t\t\taccumulator.push( menuItem );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t},\n\t\t[]\n\t);\n\t// Split menu items into two groups: one for the default post types\n\t// and one for the rest.\n\tconst postTypesMenuItems = useMemo(\n\t\t() =>\n\t\t\tmenuItems.reduce(\n\t\t\t\t( accumulator, postType ) => {\n\t\t\t\t\tconst { slug } = postType;\n\t\t\t\t\tlet key = 'postTypesMenuItems';\n\t\t\t\t\tif ( slug === 'page' ) {\n\t\t\t\t\t\tkey = 'defaultPostTypesMenuItems';\n\t\t\t\t\t}\n\t\t\t\t\taccumulator[ key ].push( postType );\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{ defaultPostTypesMenuItems: [], postTypesMenuItems: [] }\n\t\t\t),\n\t\t[ menuItems ]\n\t);\n\treturn postTypesMenuItems;\n};\n\nexport const useTaxonomiesMenuItems = ( onClickMenuItem ) => {\n\tconst publicTaxonomies = usePublicTaxonomies();\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\t// `category` and `post_tag` are special cases in template hierarchy.\n\tconst templatePrefixes = useMemo(\n\t\t() =>\n\t\t\tpublicTaxonomies?.reduce( ( accumulator, { slug } ) => {\n\t\t\t\tlet suffix = slug;\n\t\t\t\tif ( ! [ 'category', 'post_tag' ].includes( slug ) ) {\n\t\t\t\t\tsuffix = `taxonomy-${ suffix }`;\n\t\t\t\t}\n\t\t\t\tif ( slug === 'post_tag' ) {\n\t\t\t\t\tsuffix = `tag`;\n\t\t\t\t}\n\t\t\t\taccumulator[ slug ] = suffix;\n\t\t\t\treturn accumulator;\n\t\t\t}, {} ),\n\t\t[ publicTaxonomies ]\n\t);\n\t// We need to keep track of naming conflicts. If a conflict\n\t// occurs, we need to add slug.\n\tconst taxonomyLabels = publicTaxonomies?.reduce(\n\t\t( accumulator, { labels } ) => {\n\t\t\tconst singularName = labels.singular_name.toLowerCase();\n\t\t\taccumulator[ singularName ] =\n\t\t\t\t( accumulator[ singularName ] || 0 ) + 1;\n\t\t\treturn accumulator;\n\t\t},\n\t\t{}\n\t);\n\tconst needsUniqueIdentifier = ( labels, slug ) => {\n\t\tif ( [ 'category', 'post_tag' ].includes( slug ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst singularName = labels.singular_name.toLowerCase();\n\t\treturn taxonomyLabels[ singularName ] > 1 && singularName !== slug;\n\t};\n\tconst taxonomiesInfo = useEntitiesInfo( 'taxonomy', templatePrefixes );\n\tconst existingTemplateSlugs = ( existingTemplates || [] ).map(\n\t\t( { slug } ) => slug\n\t);\n\tconst menuItems = ( publicTaxonomies || [] ).reduce(\n\t\t( accumulator, taxonomy ) => {\n\t\t\tconst { slug, labels } = taxonomy;\n\t\t\t// We need to check if the general template is part of the\n\t\t\t// defaultTemplateTypes. If it is, just use that info and\n\t\t\t// augment it with the specific template functionality.\n\t\t\tconst generalTemplateSlug = templatePrefixes[ slug ];\n\t\t\tconst defaultTemplateType = defaultTemplateTypes?.find(\n\t\t\t\t( { slug: _slug } ) => _slug === generalTemplateSlug\n\t\t\t);\n\t\t\tconst hasGeneralTemplate =\n\t\t\t\texistingTemplateSlugs?.includes( generalTemplateSlug );\n\t\t\tconst _needsUniqueIdentifier = needsUniqueIdentifier(\n\t\t\t\tlabels,\n\t\t\t\tslug\n\t\t\t);\n\t\t\tlet menuItemTitle = labels.singular_name;\n\t\t\tif ( _needsUniqueIdentifier ) {\n\t\t\t\tmenuItemTitle = sprintf(\n\t\t\t\t\t// translators: %1s: Name of the taxonomy e.g: \"Category\"; %2s: Slug of the taxonomy e.g: \"product_cat\".\n\t\t\t\t\t__( '%1$s (%2$s)' ),\n\t\t\t\t\tlabels.singular_name,\n\t\t\t\t\tslug\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst menuItem = defaultTemplateType\n\t\t\t\t? {\n\t\t\t\t\t\t...defaultTemplateType,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\tslug: generalTemplateSlug,\n\t\t\t\t\t\ttitle: menuItemTitle,\n\t\t\t\t\t\tdescription: sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the taxonomy e.g: \"Product Categories\".\n\t\t\t\t\t\t\t__( 'Displays taxonomy: %s.' ),\n\t\t\t\t\t\t\tlabels.singular_name\n\t\t\t\t\t\t),\n\t\t\t\t\t\ticon: blockMeta,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t };\n\t\t\tconst hasEntities = taxonomiesInfo?.[ slug ]?.hasEntities;\n\t\t\t// We have a different template creation flow only if they have entities.\n\t\t\tif ( hasEntities ) {\n\t\t\t\tmenuItem.onClick = ( template ) => {\n\t\t\t\t\tonClickMenuItem( {\n\t\t\t\t\t\ttype: 'taxonomy',\n\t\t\t\t\t\tslug,\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\tqueryArgs: ( { search } ) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t_fields: 'id,name,slug,link',\n\t\t\t\t\t\t\t\t\torderBy: search ? 'name' : 'count',\n\t\t\t\t\t\t\t\t\texclude:\n\t\t\t\t\t\t\t\t\t\ttaxonomiesInfo[ slug ]\n\t\t\t\t\t\t\t\t\t\t\t.existingEntitiesIds,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgetSpecificTemplate: ( suggestion ) => {\n\t\t\t\t\t\t\t\tconst templateSlug = `${ templatePrefixes[ slug ] }-${ suggestion.slug }`;\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\ttitle: templateSlug,\n\t\t\t\t\t\t\t\t\tslug: templateSlug,\n\t\t\t\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\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\tlabels,\n\t\t\t\t\t\thasGeneralTemplate,\n\t\t\t\t\t\ttemplate,\n\t\t\t\t\t} );\n\t\t\t\t};\n\t\t\t}\n\t\t\t// We don't need to add the menu item if there are no\n\t\t\t// entities and the general template exists.\n\t\t\tif ( ! hasGeneralTemplate || hasEntities ) {\n\t\t\t\taccumulator.push( menuItem );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t},\n\t\t[]\n\t);\n\t// Split menu items into two groups: one for the default taxonomies\n\t// and one for the rest.\n\tconst taxonomiesMenuItems = useMemo(\n\t\t() =>\n\t\t\tmenuItems.reduce(\n\t\t\t\t( accumulator, taxonomy ) => {\n\t\t\t\t\tconst { slug } = taxonomy;\n\t\t\t\t\tlet key = 'taxonomiesMenuItems';\n\t\t\t\t\tif ( [ 'category', 'tag' ].includes( slug ) ) {\n\t\t\t\t\t\tkey = 'defaultTaxonomiesMenuItems';\n\t\t\t\t\t}\n\t\t\t\t\taccumulator[ key ].push( taxonomy );\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{ defaultTaxonomiesMenuItems: [], taxonomiesMenuItems: [] }\n\t\t\t),\n\t\t[ menuItems ]\n\t);\n\treturn taxonomiesMenuItems;\n};\n\nconst USE_AUTHOR_MENU_ITEM_TEMPLATE_PREFIX = { user: 'author' };\nconst USE_AUTHOR_MENU_ITEM_QUERY_PARAMETERS = { user: { who: 'authors' } };\nexport function useAuthorMenuItem( onClickMenuItem ) {\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst authorInfo = useEntitiesInfo(\n\t\t'root',\n\t\tUSE_AUTHOR_MENU_ITEM_TEMPLATE_PREFIX,\n\t\tUSE_AUTHOR_MENU_ITEM_QUERY_PARAMETERS\n\t);\n\tlet authorMenuItem = defaultTemplateTypes?.find(\n\t\t( { slug } ) => slug === 'author'\n\t);\n\tif ( ! authorMenuItem ) {\n\t\tauthorMenuItem = {\n\t\t\tdescription: __(\n\t\t\t\t'Displays latest posts written by a single author.'\n\t\t\t),\n\t\t\tslug: 'author',\n\t\t\ttitle: 'Author',\n\t\t};\n\t}\n\tconst hasGeneralTemplate = !! existingTemplates?.find(\n\t\t( { slug } ) => slug === 'author'\n\t);\n\tif ( authorInfo.user?.hasEntities ) {\n\t\tauthorMenuItem = { ...authorMenuItem, templatePrefix: 'author' };\n\t\tauthorMenuItem.onClick = ( template ) => {\n\t\t\tonClickMenuItem( {\n\t\t\t\ttype: 'root',\n\t\t\t\tslug: 'user',\n\t\t\t\tconfig: {\n\t\t\t\t\tqueryArgs: ( { search } ) => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t_fields: 'id,name,slug,link',\n\t\t\t\t\t\t\torderBy: search ? 'name' : 'registered_date',\n\t\t\t\t\t\t\texclude: authorInfo.user.existingEntitiesIds,\n\t\t\t\t\t\t\twho: 'authors',\n\t\t\t\t\t\t};\n\t\t\t\t\t},\n\t\t\t\t\tgetSpecificTemplate: ( suggestion ) => {\n\t\t\t\t\t\tconst templateSlug = `author-${ suggestion.slug }`;\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttitle: templateSlug,\n\t\t\t\t\t\t\tslug: templateSlug,\n\t\t\t\t\t\t\ttemplatePrefix: 'author',\n\t\t\t\t\t\t};\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlabels: {\n\t\t\t\t\tsingular_name: __( 'Author' ),\n\t\t\t\t\tsearch_items: __( 'Search Authors' ),\n\t\t\t\t\tnot_found: __( 'No authors found.' ),\n\t\t\t\t\tall_items: __( 'All Authors' ),\n\t\t\t\t},\n\t\t\t\thasGeneralTemplate,\n\t\t\t\ttemplate,\n\t\t\t} );\n\t\t};\n\t}\n\tif ( ! hasGeneralTemplate || authorInfo.user?.hasEntities ) {\n\t\treturn authorMenuItem;\n\t}\n}\n\n/**\n * Helper hook that filters all the existing templates by the given\n * object with the entity's slug as key and the template prefix as value.\n *\n * Example:\n * `existingTemplates` is: [ { slug: 'tag-apple' }, { slug: 'page-about' }, { slug: 'tag' } ]\n * `templatePrefixes` is: { post_tag: 'tag' }\n * It will return: { post_tag: ['apple'] }\n *\n * Note: We append the `-` to the given template prefix in this function for our checks.\n *\n * @param {Record<string,string>} templatePrefixes An object with the entity's slug as key and the template prefix as value.\n * @return {Record<string,string[]>} An object with the entity's slug as key and an array with the existing template slugs as value.\n */\nconst useExistingTemplateSlugs = ( templatePrefixes ) => {\n\tconst existingTemplates = useExistingTemplates();\n\tconst existingSlugs = useMemo( () => {\n\t\treturn Object.entries( templatePrefixes || {} ).reduce(\n\t\t\t( accumulator, [ slug, prefix ] ) => {\n\t\t\t\tconst slugsWithTemplates = ( existingTemplates || [] ).reduce(\n\t\t\t\t\t( _accumulator, existingTemplate ) => {\n\t\t\t\t\t\tconst _prefix = `${ prefix }-`;\n\t\t\t\t\t\tif ( existingTemplate.slug.startsWith( _prefix ) ) {\n\t\t\t\t\t\t\t_accumulator.push(\n\t\t\t\t\t\t\t\texistingTemplate.slug.substring(\n\t\t\t\t\t\t\t\t\t_prefix.length\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\treturn _accumulator;\n\t\t\t\t\t},\n\t\t\t\t\t[]\n\t\t\t\t);\n\t\t\t\tif ( slugsWithTemplates.length ) {\n\t\t\t\t\taccumulator[ slug ] = slugsWithTemplates;\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t}, [ templatePrefixes, existingTemplates ] );\n\treturn existingSlugs;\n};\n\n/**\n * Helper hook that finds the existing records with an associated template,\n * as they need to be excluded from the template suggestions.\n *\n * @param {string} entityName The entity's name.\n * @param {Record<string,string>} templatePrefixes An object with the entity's slug as key and the template prefix as value.\n * @param {Record<string,Object>} additionalQueryParameters An object with the entity's slug as key and additional query parameters as value.\n * @return {Record<string,EntitiesInfo>} An object with the entity's slug as key and the existing records as value.\n */\nconst useTemplatesToExclude = (\n\tentityName,\n\ttemplatePrefixes,\n\tadditionalQueryParameters = {}\n) => {\n\tconst slugsToExcludePerEntity =\n\t\tuseExistingTemplateSlugs( templatePrefixes );\n\tconst recordsToExcludePerEntity = useSelect(\n\t\t( select ) => {\n\t\t\treturn Object.entries( slugsToExcludePerEntity || {} ).reduce(\n\t\t\t\t( accumulator, [ slug, slugsWithTemplates ] ) => {\n\t\t\t\t\tconst entitiesWithTemplates = select(\n\t\t\t\t\t\tcoreStore\n\t\t\t\t\t).getEntityRecords( entityName, slug, {\n\t\t\t\t\t\t_fields: 'id',\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\tslug: slugsWithTemplates,\n\t\t\t\t\t\t...additionalQueryParameters[ slug ],\n\t\t\t\t\t} );\n\t\t\t\t\tif ( entitiesWithTemplates?.length ) {\n\t\t\t\t\t\taccumulator[ slug ] = entitiesWithTemplates;\n\t\t\t\t\t}\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t},\n\t\t[ slugsToExcludePerEntity ]\n\t);\n\treturn recordsToExcludePerEntity;\n};\n\n/**\n * Helper hook that returns information about an entity having\n * records that we can create a specific template for.\n *\n * For example we can search for `terms` in `taxonomy` entity or\n * `posts` in `postType` entity.\n *\n * First we need to find the existing records with an associated template,\n * to query afterwards for any remaining record, by excluding them.\n *\n * @param {string} entityName The entity's name.\n * @param {Record<string,string>} templatePrefixes An object with the entity's slug as key and the template prefix as value.\n * @param {Record<string,Object>} additionalQueryParameters An object with the entity's slug as key and additional query parameters as value.\n * @return {Record<string,EntitiesInfo>} An object with the entity's slug as key and the EntitiesInfo as value.\n */\nconst useEntitiesInfo = (\n\tentityName,\n\ttemplatePrefixes,\n\tadditionalQueryParameters = {}\n) => {\n\tconst recordsToExcludePerEntity = useTemplatesToExclude(\n\t\tentityName,\n\t\ttemplatePrefixes,\n\t\tadditionalQueryParameters\n\t);\n\tconst entitiesInfo = useSelect(\n\t\t( select ) => {\n\t\t\treturn Object.keys( templatePrefixes || {} ).reduce(\n\t\t\t\t( accumulator, slug ) => {\n\t\t\t\t\tconst existingEntitiesIds =\n\t\t\t\t\t\trecordsToExcludePerEntity?.[ slug ]?.map(\n\t\t\t\t\t\t\t( { id } ) => id\n\t\t\t\t\t\t) || [];\n\t\t\t\t\taccumulator[ slug ] = {\n\t\t\t\t\t\thasEntities: !! select( coreStore ).getEntityRecords(\n\t\t\t\t\t\t\tentityName,\n\t\t\t\t\t\t\tslug,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tper_page: 1,\n\t\t\t\t\t\t\t\t_fields: 'id',\n\t\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t\t\texclude: existingEntitiesIds,\n\t\t\t\t\t\t\t\t...additionalQueryParameters[ slug ],\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t)?.length,\n\t\t\t\t\t\texistingEntitiesIds,\n\t\t\t\t\t};\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t},\n\t\t[ templatePrefixes, recordsToExcludePerEntity ]\n\t);\n\treturn entitiesInfo;\n};\n"]}
@@ -29,7 +29,7 @@ var _layout = _interopRequireDefault(require("../layout"));
29
29
 
30
30
  var _globalStylesProvider = require("../global-styles/global-styles-provider");
31
31
 
32
- var _privateApis = require("../../private-apis");
32
+ var _lockUnlock = require("../../lock-unlock");
33
33
 
34
34
  /**
35
35
  * WordPress dependencies
@@ -40,7 +40,7 @@ var _privateApis = require("../../private-apis");
40
40
  */
41
41
  const {
42
42
  RouterProvider
43
- } = (0, _privateApis.unlock)(_router.privateApis);
43
+ } = (0, _lockUnlock.unlock)(_router.privateApis);
44
44
 
45
45
  function App() {
46
46
  const {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/app/index.js"],"names":["RouterProvider","routerPrivateApis","App","createErrorNotice","noticesStore","onPluginAreaError","name","height"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AAjBA;AACA;AACA;;AAUA;AACA;AACA;AAKA,MAAM;AAAEA,EAAAA;AAAF,IAAqB,yBAAQC,mBAAR,CAA3B;;AAEe,SAASC,GAAT,GAAe;AAC7B,QAAM;AAAEC,IAAAA;AAAF,MAAwB,uBAAaC,cAAb,CAA9B;;AAEA,WAASC,iBAAT,CAA4BC,IAA5B,EAAmC;AAClCH,IAAAA,iBAAiB,CAChB;AACC;AACA,kBACC,kEADD,CAFD,EAKCG,IALD,CADgB,CAAjB;AASA;;AAED,SACC,4BAAC,mCAAD;AAAkB,IAAA,KAAK,EAAG;AAAEC,MAAAA,MAAM,EAAE;AAAV;AAA1B,KACC,4BAAC,4BAAD,QACC,4BAAC,0CAAD,QACC,4BAAC,mBAAD,CAAS,IAAT,OADD,EAEC,4BAAC,6BAAD,OAFD,EAGC,4BAAC,cAAD,QACC,4BAAC,eAAD,OADD,EAEC,4BAAC,mBAAD;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":["RouterProvider","routerPrivateApis","App","createErrorNotice","noticesStore","onPluginAreaError","name","height"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AAjBA;AACA;AACA;;AAUA;AACA;AACA;AAKA,MAAM;AAAEA,EAAAA;AAAF,IAAqB,wBAAQC,mBAAR,CAA3B;;AAEe,SAASC,GAAT,GAAe;AAC7B,QAAM;AAAEC,IAAAA;AAAF,MAAwB,uBAAaC,cAAb,CAA9B;;AAEA,WAASC,iBAAT,CAA4BC,IAA5B,EAAmC;AAClCH,IAAAA,iBAAiB,CAChB;AACC;AACA,kBACC,kEADD,CAFD,EAKCG,IALD,CADgB,CAAjB;AASA;;AAED,SACC,4BAAC,mCAAD;AAAkB,IAAA,KAAK,EAAG;AAAEC,MAAAA,MAAM,EAAE;AAAV;AAA1B,KACC,4BAAC,4BAAD,QACC,4BAAC,0CAAD,QACC,4BAAC,mBAAD,CAAS,IAAT,OADD,EAEC,4BAAC,6BAAD,OAFD,EAGC,4BAAC,cAAD,QACC,4BAAC,eAAD,OADD,EAEC,4BAAC,mBAAD;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"]}
@@ -15,7 +15,7 @@ var _i18n = require("@wordpress/i18n");
15
15
 
16
16
  var _router = require("@wordpress/router");
17
17
 
18
- var _privateApis = require("../../private-apis");
18
+ var _lockUnlock = require("../../lock-unlock");
19
19
 
20
20
  /**
21
21
  * WordPress dependencies
@@ -27,17 +27,17 @@ var _privateApis = require("../../private-apis");
27
27
  const {
28
28
  useLocation,
29
29
  useHistory
30
- } = (0, _privateApis.unlock)(_router.privateApis);
30
+ } = (0, _lockUnlock.unlock)(_router.privateApis);
31
31
 
32
32
  function BackButton() {
33
- var _location$state;
34
-
35
33
  const location = useLocation();
36
34
  const history = useHistory();
37
35
  const isTemplatePart = location.params.postType === 'wp_template_part';
38
- const previousTemplateId = (_location$state = location.state) === null || _location$state === void 0 ? void 0 : _location$state.fromTemplateId;
36
+ const isNavigationMenu = location.params.postType === 'wp_navigation';
37
+ const previousTemplateId = location.state?.fromTemplateId;
38
+ const isFocusMode = isTemplatePart || isNavigationMenu;
39
39
 
40
- if (!isTemplatePart || !previousTemplateId) {
40
+ if (!isFocusMode || !previousTemplateId) {
41
41
  return null;
42
42
  }
43
43
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/block-editor/back-button.js"],"names":["useLocation","useHistory","routerPrivateApis","BackButton","location","history","isTemplatePart","params","postType","previousTemplateId","state","fromTemplateId","arrowLeft","back"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AAKA;;AAXA;AACA;AACA;;AAMA;AACA;AACA;AAGA,MAAM;AAAEA,EAAAA,WAAF;AAAeC,EAAAA;AAAf,IAA8B,yBAAQC,mBAAR,CAApC;;AAEA,SAASC,UAAT,GAAsB;AAAA;;AACrB,QAAMC,QAAQ,GAAGJ,WAAW,EAA5B;AACA,QAAMK,OAAO,GAAGJ,UAAU,EAA1B;AACA,QAAMK,cAAc,GAAGF,QAAQ,CAACG,MAAT,CAAgBC,QAAhB,KAA6B,kBAApD;AACA,QAAMC,kBAAkB,sBAAGL,QAAQ,CAACM,KAAZ,oDAAG,gBAAgBC,cAA3C;;AAEA,MAAK,CAAEL,cAAF,IAAoB,CAAEG,kBAA3B,EAAgD;AAC/C,WAAO,IAAP;AACA;;AAED,SACC,4BAAC,kBAAD;AACC,IAAA,SAAS,EAAC,sCADX;AAEC,IAAA,IAAI,EAAGG,gBAFR;AAGC,IAAA,OAAO,EAAG,MAAM;AACfP,MAAAA,OAAO,CAACQ,IAAR;AACA;AALF,KAOG,cAAI,MAAJ,CAPH,CADD;AAWA;;eAEcV,U","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { arrowLeft } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../private-apis';\n\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nfunction BackButton() {\n\tconst location = useLocation();\n\tconst history = useHistory();\n\tconst isTemplatePart = location.params.postType === 'wp_template_part';\n\tconst previousTemplateId = location.state?.fromTemplateId;\n\n\tif ( ! isTemplatePart || ! previousTemplateId ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\tclassName=\"edit-site-visual-editor__back-button\"\n\t\t\ticon={ arrowLeft }\n\t\t\tonClick={ () => {\n\t\t\t\thistory.back();\n\t\t\t} }\n\t\t>\n\t\t\t{ __( 'Back' ) }\n\t\t</Button>\n\t);\n}\n\nexport default BackButton;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/block-editor/back-button.js"],"names":["useLocation","useHistory","routerPrivateApis","BackButton","location","history","isTemplatePart","params","postType","isNavigationMenu","previousTemplateId","state","fromTemplateId","isFocusMode","arrowLeft","back"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AAKA;;AAXA;AACA;AACA;;AAMA;AACA;AACA;AAGA,MAAM;AAAEA,EAAAA,WAAF;AAAeC,EAAAA;AAAf,IAA8B,wBAAQC,mBAAR,CAApC;;AAEA,SAASC,UAAT,GAAsB;AACrB,QAAMC,QAAQ,GAAGJ,WAAW,EAA5B;AACA,QAAMK,OAAO,GAAGJ,UAAU,EAA1B;AACA,QAAMK,cAAc,GAAGF,QAAQ,CAACG,MAAT,CAAgBC,QAAhB,KAA6B,kBAApD;AACA,QAAMC,gBAAgB,GAAGL,QAAQ,CAACG,MAAT,CAAgBC,QAAhB,KAA6B,eAAtD;AACA,QAAME,kBAAkB,GAAGN,QAAQ,CAACO,KAAT,EAAgBC,cAA3C;AAEA,QAAMC,WAAW,GAAGP,cAAc,IAAIG,gBAAtC;;AAEA,MAAK,CAAEI,WAAF,IAAiB,CAAEH,kBAAxB,EAA6C;AAC5C,WAAO,IAAP;AACA;;AAED,SACC,4BAAC,kBAAD;AACC,IAAA,SAAS,EAAC,sCADX;AAEC,IAAA,IAAI,EAAGI,gBAFR;AAGC,IAAA,OAAO,EAAG,MAAM;AACfT,MAAAA,OAAO,CAACU,IAAR;AACA;AALF,KAOG,cAAI,MAAJ,CAPH,CADD;AAWA;;eAEcZ,U","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { arrowLeft } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nfunction BackButton() {\n\tconst location = useLocation();\n\tconst history = useHistory();\n\tconst isTemplatePart = location.params.postType === 'wp_template_part';\n\tconst isNavigationMenu = location.params.postType === 'wp_navigation';\n\tconst previousTemplateId = location.state?.fromTemplateId;\n\n\tconst isFocusMode = isTemplatePart || isNavigationMenu;\n\n\tif ( ! isFocusMode || ! previousTemplateId ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\tclassName=\"edit-site-visual-editor__back-button\"\n\t\t\ticon={ arrowLeft }\n\t\t\tonClick={ () => {\n\t\t\t\thistory.back();\n\t\t\t} }\n\t\t>\n\t\t\t{ __( 'Back' ) }\n\t\t</Button>\n\t);\n}\n\nexport default BackButton;\n"]}
@@ -32,10 +32,9 @@ var _constants2 = require("../sidebar-edit-mode/constants");
32
32
  /**
33
33
  * Internal dependencies
34
34
  */
35
- function BlockInspectorButton(_ref) {
36
- let {
37
- onClick = () => {}
38
- } = _ref;
35
+ function BlockInspectorButton({
36
+ onClick = () => {}
37
+ }) {
39
38
  const {
40
39
  shortcut,
41
40
  isBlockInspectorOpen
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/block-editor/block-inspector-button.js"],"names":["BlockInspectorButton","onClick","shortcut","isBlockInspectorOpen","select","keyboardShortcutsStore","getShortcutRepresentation","interfaceStore","getActiveComplementaryArea","editSiteStore","name","SIDEBAR_BLOCK","enableComplementaryArea","disableComplementaryArea","label","STORE_NAME"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AAfA;AACA;AACA;;AAQA;AACA;AACA;AAKe,SAASA,oBAAT,OAAwD;AAAA,MAAzB;AAAEC,IAAAA,OAAO,GAAG,MAAM,CAAE;AAApB,GAAyB;AACtE,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,MAAqC,qBACxCC,MAAF,KAAgB;AACfF,IAAAA,QAAQ,EAAEE,MAAM,CACfC,wBADe,CAAN,CAERC,yBAFQ,CAGT,8CAHS,CADK;AAMfH,IAAAA,oBAAoB,EACnBC,MAAM,CAAEG,gBAAF,CAAN,CAAyBC,0BAAzB,CACCC,aAAcC,IADf,MAEMC;AATQ,GAAhB,CAD0C,EAY1C,EAZ0C,CAA3C;AAcA,QAAM;AAAEC,IAAAA,uBAAF;AAA2BC,IAAAA;AAA3B,MACL,uBAAaN,gBAAb,CADD;AAGA,QAAMO,KAAK,GAAGX,oBAAoB,GAC/B,cAAI,oBAAJ,CAD+B,GAE/B,cAAI,oBAAJ,CAFH;AAIA,SACC,4BAAC,oBAAD;AACC,IAAA,OAAO,EAAG,MAAM;AACf,UAAKA,oBAAL,EAA4B;AAC3BU,QAAAA,wBAAwB,CAAEE,qBAAF,CAAxB;AACA,yBAAO,cAAI,uBAAJ,CAAP;AACA,OAHD,MAGO;AACNH,QAAAA,uBAAuB,CAAEG,qBAAF,EAAcJ,yBAAd,CAAvB;AACA,yBACC,cACC,4EADD,CADD;AAKA,OAXc,CAYf;;;AACAV,MAAAA,OAAO;AACP,KAfF;AAgBC,IAAA,QAAQ,EAAGC;AAhBZ,KAkBGY,KAlBH,CADD;AAsBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { MenuItem } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { STORE_NAME } from '../../store/constants';\nimport { SIDEBAR_BLOCK } from '../sidebar-edit-mode/constants';\n\nexport default function BlockInspectorButton( { onClick = () => {} } ) {\n\tconst { shortcut, isBlockInspectorOpen } = useSelect(\n\t\t( select ) => ( {\n\t\t\tshortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getShortcutRepresentation(\n\t\t\t\t'core/edit-site/toggle-block-settings-sidebar'\n\t\t\t),\n\t\t\tisBlockInspectorOpen:\n\t\t\t\tselect( interfaceStore ).getActiveComplementaryArea(\n\t\t\t\t\teditSiteStore.name\n\t\t\t\t) === SIDEBAR_BLOCK,\n\t\t} ),\n\t\t[]\n\t);\n\tconst { enableComplementaryArea, disableComplementaryArea } =\n\t\tuseDispatch( interfaceStore );\n\n\tconst label = isBlockInspectorOpen\n\t\t? __( 'Hide more settings' )\n\t\t: __( 'Show more settings' );\n\n\treturn (\n\t\t<MenuItem\n\t\t\tonClick={ () => {\n\t\t\t\tif ( isBlockInspectorOpen ) {\n\t\t\t\t\tdisableComplementaryArea( STORE_NAME );\n\t\t\t\t\tspeak( __( 'Block settings closed' ) );\n\t\t\t\t} else {\n\t\t\t\t\tenableComplementaryArea( STORE_NAME, SIDEBAR_BLOCK );\n\t\t\t\t\tspeak(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Additional settings are now available in the Editor block settings sidebar'\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\t// Close dropdown menu.\n\t\t\t\tonClick();\n\t\t\t} }\n\t\t\tshortcut={ shortcut }\n\t\t>\n\t\t\t{ label }\n\t\t</MenuItem>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/block-editor/block-inspector-button.js"],"names":["BlockInspectorButton","onClick","shortcut","isBlockInspectorOpen","select","keyboardShortcutsStore","getShortcutRepresentation","interfaceStore","getActiveComplementaryArea","editSiteStore","name","SIDEBAR_BLOCK","enableComplementaryArea","disableComplementaryArea","label","STORE_NAME"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AAfA;AACA;AACA;;AAQA;AACA;AACA;AAKe,SAASA,oBAAT,CAA+B;AAAEC,EAAAA,OAAO,GAAG,MAAM,CAAE;AAApB,CAA/B,EAAwD;AACtE,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,MAAqC,qBACxCC,MAAF,KAAgB;AACfF,IAAAA,QAAQ,EAAEE,MAAM,CACfC,wBADe,CAAN,CAERC,yBAFQ,CAGT,8CAHS,CADK;AAMfH,IAAAA,oBAAoB,EACnBC,MAAM,CAAEG,gBAAF,CAAN,CAAyBC,0BAAzB,CACCC,aAAcC,IADf,MAEMC;AATQ,GAAhB,CAD0C,EAY1C,EAZ0C,CAA3C;AAcA,QAAM;AAAEC,IAAAA,uBAAF;AAA2BC,IAAAA;AAA3B,MACL,uBAAaN,gBAAb,CADD;AAGA,QAAMO,KAAK,GAAGX,oBAAoB,GAC/B,cAAI,oBAAJ,CAD+B,GAE/B,cAAI,oBAAJ,CAFH;AAIA,SACC,4BAAC,oBAAD;AACC,IAAA,OAAO,EAAG,MAAM;AACf,UAAKA,oBAAL,EAA4B;AAC3BU,QAAAA,wBAAwB,CAAEE,qBAAF,CAAxB;AACA,yBAAO,cAAI,uBAAJ,CAAP;AACA,OAHD,MAGO;AACNH,QAAAA,uBAAuB,CAAEG,qBAAF,EAAcJ,yBAAd,CAAvB;AACA,yBACC,cACC,4EADD,CADD;AAKA,OAXc,CAYf;;;AACAV,MAAAA,OAAO;AACP,KAfF;AAgBC,IAAA,QAAQ,EAAGC;AAhBZ,KAkBGY,KAlBH,CADD;AAsBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { MenuItem } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { STORE_NAME } from '../../store/constants';\nimport { SIDEBAR_BLOCK } from '../sidebar-edit-mode/constants';\n\nexport default function BlockInspectorButton( { onClick = () => {} } ) {\n\tconst { shortcut, isBlockInspectorOpen } = useSelect(\n\t\t( select ) => ( {\n\t\t\tshortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getShortcutRepresentation(\n\t\t\t\t'core/edit-site/toggle-block-settings-sidebar'\n\t\t\t),\n\t\t\tisBlockInspectorOpen:\n\t\t\t\tselect( interfaceStore ).getActiveComplementaryArea(\n\t\t\t\t\teditSiteStore.name\n\t\t\t\t) === SIDEBAR_BLOCK,\n\t\t} ),\n\t\t[]\n\t);\n\tconst { enableComplementaryArea, disableComplementaryArea } =\n\t\tuseDispatch( interfaceStore );\n\n\tconst label = isBlockInspectorOpen\n\t\t? __( 'Hide more settings' )\n\t\t: __( 'Show more settings' );\n\n\treturn (\n\t\t<MenuItem\n\t\t\tonClick={ () => {\n\t\t\t\tif ( isBlockInspectorOpen ) {\n\t\t\t\t\tdisableComplementaryArea( STORE_NAME );\n\t\t\t\t\tspeak( __( 'Block settings closed' ) );\n\t\t\t\t} else {\n\t\t\t\t\tenableComplementaryArea( STORE_NAME, SIDEBAR_BLOCK );\n\t\t\t\t\tspeak(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Additional settings are now available in the Editor block settings sidebar'\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\t// Close dropdown menu.\n\t\t\t\tonClick();\n\t\t\t} }\n\t\t\tshortcut={ shortcut }\n\t\t>\n\t\t\t{ label }\n\t\t</MenuItem>\n\t);\n}\n"]}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FOCUSABLE_ENTITIES = void 0;
7
+ const FOCUSABLE_ENTITIES = ['wp_template_part', 'wp_navigation'];
8
+ exports.FOCUSABLE_ENTITIES = FOCUSABLE_ENTITIES;
9
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/block-editor/constants.js"],"names":["FOCUSABLE_ENTITIES"],"mappings":";;;;;;AAAO,MAAMA,kBAAkB,GAAG,CAAE,kBAAF,EAAsB,eAAtB,CAA3B","sourcesContent":["export const FOCUSABLE_ENTITIES = [ 'wp_template_part', 'wp_navigation' ];\n"]}
@@ -9,8 +9,6 @@ exports.default = void 0;
9
9
 
10
10
  var _element = require("@wordpress/element");
11
11
 
12
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
-
14
12
  var _classnames = _interopRequireDefault(require("classnames"));
15
13
 
16
14
  var _blockEditor = require("@wordpress/block-editor");
@@ -21,7 +19,7 @@ var _keycodes = require("@wordpress/keycodes");
21
19
 
22
20
  var _i18n = require("@wordpress/i18n");
23
21
 
24
- var _privateApis = require("../../private-apis");
22
+ var _lockUnlock = require("../../lock-unlock");
25
23
 
26
24
  var _store = require("../../store");
27
25
 
@@ -36,13 +34,12 @@ var _store = require("../../store");
36
34
  /**
37
35
  * Internal dependencies
38
36
  */
39
- function EditorCanvas(_ref) {
40
- let {
41
- enableResizing,
42
- settings,
43
- children,
44
- ...props
45
- } = _ref;
37
+ function EditorCanvas({
38
+ enableResizing,
39
+ settings,
40
+ children,
41
+ ...props
42
+ }) {
46
43
  const {
47
44
  canvasMode,
48
45
  deviceType,
@@ -50,11 +47,11 @@ function EditorCanvas(_ref) {
50
47
  } = (0, _data.useSelect)(select => ({
51
48
  deviceType: select(_store.store).__experimentalGetPreviewDeviceType(),
52
49
  isZoomOutMode: select(_blockEditor.store).__unstableGetEditorMode() === 'zoom-out',
53
- canvasMode: (0, _privateApis.unlock)(select(_store.store)).getCanvasMode()
50
+ canvasMode: (0, _lockUnlock.unlock)(select(_store.store)).getCanvasMode()
54
51
  }), []);
55
52
  const {
56
53
  setCanvasMode
57
- } = (0, _privateApis.unlock)((0, _data.useDispatch)(_store.store));
54
+ } = (0, _lockUnlock.unlock)((0, _data.useDispatch)(_store.store));
58
55
  const deviceStyles = (0, _blockEditor.__experimentalUseResizeCanvas)(deviceType);
59
56
  const mouseMoveTypingRef = (0, _blockEditor.__unstableUseMouseMoveTypingReset)();
60
57
  const [isFocused, setIsFocused] = (0, _element.useState)(false);
@@ -82,7 +79,7 @@ function EditorCanvas(_ref) {
82
79
  onClick: () => setCanvasMode('edit'),
83
80
  readonly: true
84
81
  };
85
- return (0, _element.createElement)(_blockEditor.__unstableIframe, (0, _extends2.default)({
82
+ return (0, _element.createElement)(_blockEditor.__unstableIframe, {
86
83
  expand: isZoomOutMode,
87
84
  scale: isZoomOutMode && 0.45 || undefined,
88
85
  frameSize: isZoomOutMode ? 100 : undefined,
@@ -91,8 +88,10 @@ function EditorCanvas(_ref) {
91
88
  name: "editor-canvas",
92
89
  className: (0, _classnames.default)('edit-site-visual-editor__editor-canvas', {
93
90
  'is-focused': isFocused && canvasMode === 'view'
94
- })
95
- }, props, canvasMode === 'view' ? viewModeProps : {}), (0, _element.createElement)(_blockEditor.__unstableEditorStyles, {
91
+ }),
92
+ ...props,
93
+ ...(canvasMode === 'view' ? viewModeProps : {})
94
+ }, (0, _element.createElement)(_blockEditor.__unstableEditorStyles, {
96
95
  styles: settings.styles
97
96
  }), (0, _element.createElement)("style", null, // Forming a "block formatting context" to prevent margin collapsing.
98
97
  // @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/block-editor/editor-canvas.js"],"names":["EditorCanvas","enableResizing","settings","children","props","canvasMode","deviceType","isZoomOutMode","select","editSiteStore","__experimentalGetPreviewDeviceType","blockEditorStore","__unstableGetEditorMode","getCanvasMode","setCanvasMode","deviceStyles","mouseMoveTypingRef","isFocused","setIsFocused","viewModeProps","role","tabIndex","onFocus","onBlur","onKeyDown","event","keyCode","ENTER","SPACE","preventDefault","onClick","readonly","undefined","styles"],"mappings":";;;;;;;;;AAiBA;;;;AAdA;;AAKA;;AAOA;;AACA;;AAEA;;AAKA;;AACA;;AAxBA;AACA;AACA;;AAGA;AACA;AACA;;AAaA;AACA;AACA;AAIA,SAASA,YAAT,OAA0E;AAAA,MAAnD;AAAEC,IAAAA,cAAF;AAAkBC,IAAAA,QAAlB;AAA4BC,IAAAA,QAA5B;AAAsC,OAAGC;AAAzC,GAAmD;AACzE,QAAM;AAAEC,IAAAA,UAAF;AAAcC,IAAAA,UAAd;AAA0BC,IAAAA;AAA1B,MAA4C,qBAC/CC,MAAF,KAAgB;AACfF,IAAAA,UAAU,EACTE,MAAM,CAAEC,YAAF,CAAN,CAAwBC,kCAAxB,EAFc;AAGfH,IAAAA,aAAa,EACZC,MAAM,CAAEG,kBAAF,CAAN,CAA2BC,uBAA3B,OACA,UALc;AAMfP,IAAAA,UAAU,EAAE,yBAAQG,MAAM,CAAEC,YAAF,CAAd,EAAkCI,aAAlC;AANG,GAAhB,CADiD,EASjD,EATiD,CAAlD;AAWA,QAAM;AAAEC,IAAAA;AAAF,MAAoB,yBAAQ,uBAAaL,YAAb,CAAR,CAA1B;AACA,QAAMM,YAAY,GAAG,gDAAiBT,UAAjB,CAArB;AACA,QAAMU,kBAAkB,GAAG,qDAA3B;AACA,QAAM,CAAEC,SAAF,EAAaC,YAAb,IAA8B,uBAAU,KAAV,CAApC;AAEA,0BAAW,MAAM;AAChB,QAAKb,UAAU,KAAK,MAApB,EAA6B;AAC5Ba,MAAAA,YAAY,CAAE,KAAF,CAAZ;AACA;AACD,GAJD,EAIG,CAAEb,UAAF,CAJH;AAMA,QAAMc,aAAa,GAAG;AACrB,kBAAc,cAAI,eAAJ,CADO;AAErBC,IAAAA,IAAI,EAAE,QAFe;AAGrBC,IAAAA,QAAQ,EAAE,CAHW;AAIrBC,IAAAA,OAAO,EAAE,MAAMJ,YAAY,CAAE,IAAF,CAJN;AAKrBK,IAAAA,MAAM,EAAE,MAAML,YAAY,CAAE,KAAF,CALL;AAMrBM,IAAAA,SAAS,EAAIC,KAAF,IAAa;AACvB,YAAM;AAAEC,QAAAA;AAAF,UAAcD,KAApB;;AACA,UAAKC,OAAO,KAAKC,eAAZ,IAAqBD,OAAO,KAAKE,eAAtC,EAA8C;AAC7CH,QAAAA,KAAK,CAACI,cAAN;AACAf,QAAAA,aAAa,CAAE,MAAF,CAAb;AACA;AACD,KAZoB;AAarBgB,IAAAA,OAAO,EAAE,MAAMhB,aAAa,CAAE,MAAF,CAbP;AAcrBiB,IAAAA,QAAQ,EAAE;AAdW,GAAtB;AAiBA,SACC,4BAAC,6BAAD;AACC,IAAA,MAAM,EAAGxB,aADV;AAEC,IAAA,KAAK,EAAKA,aAAa,IAAI,IAAnB,IAA6ByB,SAFtC;AAGC,IAAA,SAAS,EAAGzB,aAAa,GAAG,GAAH,GAASyB,SAHnC;AAIC,IAAA,KAAK,EAAG/B,cAAc,GAAG,EAAH,GAAQc,YAJ/B;AAKC,IAAA,GAAG,EAAGC,kBALP;AAMC,IAAA,IAAI,EAAC,eANN;AAOC,IAAA,SAAS,EAAG,yBAAY,wCAAZ,EAAsD;AACjE,oBAAcC,SAAS,IAAIZ,UAAU,KAAK;AADuB,KAAtD;AAPb,KAUMD,KAVN,EAWQC,UAAU,KAAK,MAAf,GAAwBc,aAAxB,GAAwC,EAXhD,GAaC,4BAAC,mCAAD;AAAc,IAAA,MAAM,EAAGjB,QAAQ,CAAC+B;AAAhC,IAbD,EAcC,2CACC;AACA;AACC,0CACA;AACA;AACAhC,EAAAA,cAAc,GAAG,yBAAH,GAA+B,EAC7C,4BACAI,UAAU,KAAK,MAAf,GAAwB,kBAAxB,GAA6C,EAC7C,IATF,CAdD,EAyBGF,QAzBH,CADD;AA6BA;;eAEcH,Y","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n\t__unstableEditorStyles as EditorStyles,\n\t__unstableIframe as Iframe,\n\t__unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { ENTER, SPACE } from '@wordpress/keycodes';\nimport { useState, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../private-apis';\nimport { store as editSiteStore } from '../../store';\n\nfunction EditorCanvas( { enableResizing, settings, children, ...props } ) {\n\tconst { canvasMode, deviceType, isZoomOutMode } = useSelect(\n\t\t( select ) => ( {\n\t\t\tdeviceType:\n\t\t\t\tselect( editSiteStore ).__experimentalGetPreviewDeviceType(),\n\t\t\tisZoomOutMode:\n\t\t\t\tselect( blockEditorStore ).__unstableGetEditorMode() ===\n\t\t\t\t'zoom-out',\n\t\t\tcanvasMode: unlock( select( editSiteStore ) ).getCanvasMode(),\n\t\t} ),\n\t\t[]\n\t);\n\tconst { setCanvasMode } = unlock( useDispatch( editSiteStore ) );\n\tconst deviceStyles = useResizeCanvas( deviceType );\n\tconst mouseMoveTypingRef = useMouseMoveTypingReset();\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( canvasMode === 'edit' ) {\n\t\t\tsetIsFocused( false );\n\t\t}\n\t}, [ canvasMode ] );\n\n\tconst viewModeProps = {\n\t\t'aria-label': __( 'Editor Canvas' ),\n\t\trole: 'button',\n\t\ttabIndex: 0,\n\t\tonFocus: () => setIsFocused( true ),\n\t\tonBlur: () => setIsFocused( false ),\n\t\tonKeyDown: ( event ) => {\n\t\t\tconst { keyCode } = event;\n\t\t\tif ( keyCode === ENTER || keyCode === SPACE ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tsetCanvasMode( 'edit' );\n\t\t\t}\n\t\t},\n\t\tonClick: () => setCanvasMode( 'edit' ),\n\t\treadonly: true,\n\t};\n\n\treturn (\n\t\t<Iframe\n\t\t\texpand={ isZoomOutMode }\n\t\t\tscale={ ( isZoomOutMode && 0.45 ) || undefined }\n\t\t\tframeSize={ isZoomOutMode ? 100 : undefined }\n\t\t\tstyle={ enableResizing ? {} : deviceStyles }\n\t\t\tref={ mouseMoveTypingRef }\n\t\t\tname=\"editor-canvas\"\n\t\t\tclassName={ classnames( 'edit-site-visual-editor__editor-canvas', {\n\t\t\t\t'is-focused': isFocused && canvasMode === 'view',\n\t\t\t} ) }\n\t\t\t{ ...props }\n\t\t\t{ ...( canvasMode === 'view' ? viewModeProps : {} ) }\n\t\t>\n\t\t\t<EditorStyles styles={ settings.styles } />\n\t\t\t<style>{\n\t\t\t\t// Forming a \"block formatting context\" to prevent margin collapsing.\n\t\t\t\t// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\n\t\t\t\t`.is-root-container{display:flow-root;${\n\t\t\t\t\t// Some themes will have `min-height: 100vh` for the root container,\n\t\t\t\t\t// which isn't a requirement in auto resize mode.\n\t\t\t\t\tenableResizing ? 'min-height:0!important;' : ''\n\t\t\t\t}}body{position:relative; ${\n\t\t\t\t\tcanvasMode === 'view' ? 'cursor: pointer;' : ''\n\t\t\t\t}}}`\n\t\t\t}</style>\n\t\t\t{ children }\n\t\t</Iframe>\n\t);\n}\n\nexport default EditorCanvas;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/block-editor/editor-canvas.js"],"names":["EditorCanvas","enableResizing","settings","children","props","canvasMode","deviceType","isZoomOutMode","select","editSiteStore","__experimentalGetPreviewDeviceType","blockEditorStore","__unstableGetEditorMode","getCanvasMode","setCanvasMode","deviceStyles","mouseMoveTypingRef","isFocused","setIsFocused","viewModeProps","role","tabIndex","onFocus","onBlur","onKeyDown","event","keyCode","ENTER","SPACE","preventDefault","onClick","readonly","undefined","styles"],"mappings":";;;;;;;;;AAiBA;;AAdA;;AAKA;;AAOA;;AACA;;AAEA;;AAKA;;AACA;;AAxBA;AACA;AACA;;AAGA;AACA;AACA;;AAaA;AACA;AACA;AAIA,SAASA,YAAT,CAAuB;AAAEC,EAAAA,cAAF;AAAkBC,EAAAA,QAAlB;AAA4BC,EAAAA,QAA5B;AAAsC,KAAGC;AAAzC,CAAvB,EAA0E;AACzE,QAAM;AAAEC,IAAAA,UAAF;AAAcC,IAAAA,UAAd;AAA0BC,IAAAA;AAA1B,MAA4C,qBAC/CC,MAAF,KAAgB;AACfF,IAAAA,UAAU,EACTE,MAAM,CAAEC,YAAF,CAAN,CAAwBC,kCAAxB,EAFc;AAGfH,IAAAA,aAAa,EACZC,MAAM,CAAEG,kBAAF,CAAN,CAA2BC,uBAA3B,OACA,UALc;AAMfP,IAAAA,UAAU,EAAE,wBAAQG,MAAM,CAAEC,YAAF,CAAd,EAAkCI,aAAlC;AANG,GAAhB,CADiD,EASjD,EATiD,CAAlD;AAWA,QAAM;AAAEC,IAAAA;AAAF,MAAoB,wBAAQ,uBAAaL,YAAb,CAAR,CAA1B;AACA,QAAMM,YAAY,GAAG,gDAAiBT,UAAjB,CAArB;AACA,QAAMU,kBAAkB,GAAG,qDAA3B;AACA,QAAM,CAAEC,SAAF,EAAaC,YAAb,IAA8B,uBAAU,KAAV,CAApC;AAEA,0BAAW,MAAM;AAChB,QAAKb,UAAU,KAAK,MAApB,EAA6B;AAC5Ba,MAAAA,YAAY,CAAE,KAAF,CAAZ;AACA;AACD,GAJD,EAIG,CAAEb,UAAF,CAJH;AAMA,QAAMc,aAAa,GAAG;AACrB,kBAAc,cAAI,eAAJ,CADO;AAErBC,IAAAA,IAAI,EAAE,QAFe;AAGrBC,IAAAA,QAAQ,EAAE,CAHW;AAIrBC,IAAAA,OAAO,EAAE,MAAMJ,YAAY,CAAE,IAAF,CAJN;AAKrBK,IAAAA,MAAM,EAAE,MAAML,YAAY,CAAE,KAAF,CALL;AAMrBM,IAAAA,SAAS,EAAIC,KAAF,IAAa;AACvB,YAAM;AAAEC,QAAAA;AAAF,UAAcD,KAApB;;AACA,UAAKC,OAAO,KAAKC,eAAZ,IAAqBD,OAAO,KAAKE,eAAtC,EAA8C;AAC7CH,QAAAA,KAAK,CAACI,cAAN;AACAf,QAAAA,aAAa,CAAE,MAAF,CAAb;AACA;AACD,KAZoB;AAarBgB,IAAAA,OAAO,EAAE,MAAMhB,aAAa,CAAE,MAAF,CAbP;AAcrBiB,IAAAA,QAAQ,EAAE;AAdW,GAAtB;AAiBA,SACC,4BAAC,6BAAD;AACC,IAAA,MAAM,EAAGxB,aADV;AAEC,IAAA,KAAK,EAAKA,aAAa,IAAI,IAAnB,IAA6ByB,SAFtC;AAGC,IAAA,SAAS,EAAGzB,aAAa,GAAG,GAAH,GAASyB,SAHnC;AAIC,IAAA,KAAK,EAAG/B,cAAc,GAAG,EAAH,GAAQc,YAJ/B;AAKC,IAAA,GAAG,EAAGC,kBALP;AAMC,IAAA,IAAI,EAAC,eANN;AAOC,IAAA,SAAS,EAAG,yBAAY,wCAAZ,EAAsD;AACjE,oBAAcC,SAAS,IAAIZ,UAAU,KAAK;AADuB,KAAtD,CAPb;AAAA,OAUMD,KAVN;AAAA,QAWQC,UAAU,KAAK,MAAf,GAAwBc,aAAxB,GAAwC,EAXhD;AAAA,KAaC,4BAAC,mCAAD;AAAc,IAAA,MAAM,EAAGjB,QAAQ,CAAC+B;AAAhC,IAbD,EAcC,2CACC;AACA;AACC,0CACA;AACA;AACAhC,EAAAA,cAAc,GAAG,yBAAH,GAA+B,EAC7C,4BACAI,UAAU,KAAK,MAAf,GAAwB,kBAAxB,GAA6C,EAC7C,IATF,CAdD,EAyBGF,QAzBH,CADD;AA6BA;;eAEcH,Y","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n\t__unstableEditorStyles as EditorStyles,\n\t__unstableIframe as Iframe,\n\t__unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { ENTER, SPACE } from '@wordpress/keycodes';\nimport { useState, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\n\nfunction EditorCanvas( { enableResizing, settings, children, ...props } ) {\n\tconst { canvasMode, deviceType, isZoomOutMode } = useSelect(\n\t\t( select ) => ( {\n\t\t\tdeviceType:\n\t\t\t\tselect( editSiteStore ).__experimentalGetPreviewDeviceType(),\n\t\t\tisZoomOutMode:\n\t\t\t\tselect( blockEditorStore ).__unstableGetEditorMode() ===\n\t\t\t\t'zoom-out',\n\t\t\tcanvasMode: unlock( select( editSiteStore ) ).getCanvasMode(),\n\t\t} ),\n\t\t[]\n\t);\n\tconst { setCanvasMode } = unlock( useDispatch( editSiteStore ) );\n\tconst deviceStyles = useResizeCanvas( deviceType );\n\tconst mouseMoveTypingRef = useMouseMoveTypingReset();\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( canvasMode === 'edit' ) {\n\t\t\tsetIsFocused( false );\n\t\t}\n\t}, [ canvasMode ] );\n\n\tconst viewModeProps = {\n\t\t'aria-label': __( 'Editor Canvas' ),\n\t\trole: 'button',\n\t\ttabIndex: 0,\n\t\tonFocus: () => setIsFocused( true ),\n\t\tonBlur: () => setIsFocused( false ),\n\t\tonKeyDown: ( event ) => {\n\t\t\tconst { keyCode } = event;\n\t\t\tif ( keyCode === ENTER || keyCode === SPACE ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tsetCanvasMode( 'edit' );\n\t\t\t}\n\t\t},\n\t\tonClick: () => setCanvasMode( 'edit' ),\n\t\treadonly: true,\n\t};\n\n\treturn (\n\t\t<Iframe\n\t\t\texpand={ isZoomOutMode }\n\t\t\tscale={ ( isZoomOutMode && 0.45 ) || undefined }\n\t\t\tframeSize={ isZoomOutMode ? 100 : undefined }\n\t\t\tstyle={ enableResizing ? {} : deviceStyles }\n\t\t\tref={ mouseMoveTypingRef }\n\t\t\tname=\"editor-canvas\"\n\t\t\tclassName={ classnames( 'edit-site-visual-editor__editor-canvas', {\n\t\t\t\t'is-focused': isFocused && canvasMode === 'view',\n\t\t\t} ) }\n\t\t\t{ ...props }\n\t\t\t{ ...( canvasMode === 'view' ? viewModeProps : {} ) }\n\t\t>\n\t\t\t<EditorStyles styles={ settings.styles } />\n\t\t\t<style>{\n\t\t\t\t// Forming a \"block formatting context\" to prevent margin collapsing.\n\t\t\t\t// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\n\t\t\t\t`.is-root-container{display:flow-root;${\n\t\t\t\t\t// Some themes will have `min-height: 100vh` for the root container,\n\t\t\t\t\t// which isn't a requirement in auto resize mode.\n\t\t\t\t\tenableResizing ? 'min-height:0!important;' : ''\n\t\t\t\t}}body{position:relative; ${\n\t\t\t\t\tcanvasMode === 'view' ? 'cursor: pointer;' : ''\n\t\t\t\t}}}`\n\t\t\t}</style>\n\t\t\t{ children }\n\t\t</Iframe>\n\t);\n}\n\nexport default EditorCanvas;\n"]}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = getBlockEditorProvider;
9
+
10
+ var _defaultBlockEditorProvider = _interopRequireDefault(require("./providers/default-block-editor-provider"));
11
+
12
+ var _navigationBlockEditorProvider = _interopRequireDefault(require("./providers/navigation-block-editor-provider"));
13
+
14
+ /**
15
+ * Internal dependencies
16
+ */
17
+
18
+ /**
19
+ * Factory to isolate choosing the appropriate block editor
20
+ * component to handle a given entity type.
21
+ *
22
+ * @param {string} entityType the entity type being edited
23
+ * @return {JSX.Element} the block editor component to use.
24
+ */
25
+ function getBlockEditorProvider(entityType) {
26
+ let Provider = null;
27
+
28
+ switch (entityType) {
29
+ case 'wp_navigation':
30
+ Provider = _navigationBlockEditorProvider.default;
31
+ break;
32
+
33
+ case 'wp_template':
34
+ case 'wp_template_part':
35
+ default:
36
+ Provider = _defaultBlockEditorProvider.default;
37
+ break;
38
+ }
39
+
40
+ return Provider;
41
+ }
42
+ //# sourceMappingURL=get-block-editor-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/block-editor/get-block-editor-provider.js"],"names":["getBlockEditorProvider","entityType","Provider","NavigationBlockEditor","DefaultBlockEditor"],"mappings":";;;;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,sBAAT,CAAiCC,UAAjC,EAA8C;AAC5D,MAAIC,QAAQ,GAAG,IAAf;;AAEA,UAASD,UAAT;AACC,SAAK,eAAL;AACCC,MAAAA,QAAQ,GAAGC,sCAAX;AACA;;AACD,SAAK,aAAL;AACA,SAAK,kBAAL;AACA;AACCD,MAAAA,QAAQ,GAAGE,mCAAX;AACA;AARF;;AAWA,SAAOF,QAAP;AACA","sourcesContent":["/**\n * Internal dependencies\n */\nimport DefaultBlockEditor from './providers/default-block-editor-provider';\nimport NavigationBlockEditor from './providers/navigation-block-editor-provider';\n\n/**\n * Factory to isolate choosing the appropriate block editor\n * component to handle a given entity type.\n *\n * @param {string} entityType the entity type being edited\n * @return {JSX.Element} the block editor component to use.\n */\nexport default function getBlockEditorProvider( entityType ) {\n\tlet Provider = null;\n\n\tswitch ( entityType ) {\n\t\tcase 'wp_navigation':\n\t\t\tProvider = NavigationBlockEditor;\n\t\t\tbreak;\n\t\tcase 'wp_template':\n\t\tcase 'wp_template_part':\n\t\tdefault:\n\t\t\tProvider = DefaultBlockEditor;\n\t\t\tbreak;\n\t}\n\n\treturn Provider;\n}\n"]}