@wordpress/edit-site 5.19.0 → 5.19.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 (443) hide show
  1. package/build/components/add-new-pattern/index.js +3 -3
  2. package/build/components/add-new-pattern/index.js.map +1 -1
  3. package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js +73 -0
  4. package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +1 -0
  5. package/build/components/block-editor/block-editor-provider/index.js +31 -0
  6. package/build/components/block-editor/block-editor-provider/index.js.map +1 -0
  7. package/build/components/block-editor/{providers → block-editor-provider}/navigation-block-editor-provider.js +2 -1
  8. package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +1 -0
  9. package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js +76 -0
  10. package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +1 -0
  11. package/build/components/block-editor/index.js +2 -9
  12. package/build/components/block-editor/index.js.map +1 -1
  13. package/build/components/block-editor/site-editor-canvas.js +1 -1
  14. package/build/components/block-editor/site-editor-canvas.js.map +1 -1
  15. package/build/components/create-template-part-modal/index.js +8 -12
  16. package/build/components/create-template-part-modal/index.js.map +1 -1
  17. package/build/components/editor/index.js +4 -1
  18. package/build/components/editor/index.js.map +1 -1
  19. package/build/components/global-styles/font-family-item.js +2 -2
  20. package/build/components/global-styles/font-family-item.js.map +1 -1
  21. package/build/components/global-styles/font-library-modal/collection-font-details.js +49 -0
  22. package/build/components/global-styles/font-library-modal/collection-font-details.js.map +1 -0
  23. package/build/components/global-styles/font-library-modal/collection-font-variant.js +55 -0
  24. package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -0
  25. package/build/components/global-styles/font-library-modal/context.js +26 -2
  26. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  27. package/build/components/global-styles/font-library-modal/font-card.js +7 -4
  28. package/build/components/global-styles/font-library-modal/font-card.js.map +1 -1
  29. package/build/components/global-styles/font-library-modal/font-collection.js +172 -0
  30. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -0
  31. package/build/components/global-styles/font-library-modal/font-demo.js +30 -13
  32. package/build/components/global-styles/font-library-modal/font-demo.js.map +1 -1
  33. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +41 -0
  34. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -0
  35. package/build/components/global-styles/font-library-modal/index.js +25 -7
  36. package/build/components/global-styles/font-library-modal/index.js.map +1 -1
  37. package/build/components/global-styles/font-library-modal/installed-fonts.js +2 -2
  38. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  39. package/build/components/global-styles/font-library-modal/library-font-card.js +0 -5
  40. package/build/components/global-styles/font-library-modal/library-font-card.js.map +1 -1
  41. package/build/components/global-styles/font-library-modal/library-font-details.js +2 -1
  42. package/build/components/global-styles/font-library-modal/library-font-details.js.map +1 -1
  43. package/build/components/global-styles/font-library-modal/resolvers.js +16 -0
  44. package/build/components/global-styles/font-library-modal/resolvers.js.map +1 -1
  45. package/build/components/global-styles/font-library-modal/tab-layout.js +2 -2
  46. package/build/components/global-styles/font-library-modal/tab-layout.js.map +1 -1
  47. package/build/components/global-styles/font-library-modal/utils/constants.js +1 -7
  48. package/build/components/global-styles/font-library-modal/utils/constants.js.map +1 -1
  49. package/build/components/global-styles/font-library-modal/utils/filter-fonts.js +21 -0
  50. package/build/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -0
  51. package/build/components/global-styles/font-library-modal/utils/fonts-outline.js +20 -0
  52. package/build/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -0
  53. package/build/components/global-styles/font-library-modal/utils/index.js +2 -52
  54. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  55. package/build/components/global-styles/font-library-modal/utils/preview-styles.js +76 -0
  56. package/build/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -0
  57. package/build/components/global-styles/font-library-modal/utils/sort-font-faces.js +36 -0
  58. package/build/components/global-styles/font-library-modal/utils/sort-font-faces.js.map +1 -0
  59. package/build/components/global-styles/screen-typography.js +1 -1
  60. package/build/components/global-styles/screen-typography.js.map +1 -1
  61. package/build/components/header-edit-mode/document-actions/index.js +9 -8
  62. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  63. package/build/components/header-edit-mode/index.js +4 -1
  64. package/build/components/header-edit-mode/index.js.map +1 -1
  65. package/build/components/layout/index.js +5 -1
  66. package/build/components/layout/index.js.map +1 -1
  67. package/build/components/list/added-by.js +13 -8
  68. package/build/components/list/added-by.js.map +1 -1
  69. package/build/components/list/index.js +2 -1
  70. package/build/components/list/index.js.map +1 -1
  71. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +2 -3
  72. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  73. package/build/components/page-patterns/duplicate-menu-item.js +5 -5
  74. package/build/components/page-patterns/duplicate-menu-item.js.map +1 -1
  75. package/build/components/page-patterns/grid-item.js +5 -5
  76. package/build/components/page-patterns/grid-item.js.map +1 -1
  77. package/build/components/page-patterns/index.js +1 -1
  78. package/build/components/page-patterns/index.js.map +1 -1
  79. package/build/components/page-patterns/search-items.js +1 -1
  80. package/build/components/page-patterns/search-items.js.map +1 -1
  81. package/build/components/page-patterns/use-patterns.js +28 -34
  82. package/build/components/page-patterns/use-patterns.js.map +1 -1
  83. package/build/components/page-template-parts/add-new-template-part.js +3 -2
  84. package/build/components/page-template-parts/add-new-template-part.js.map +1 -1
  85. package/build/components/page-template-parts/index.js +2 -1
  86. package/build/components/page-template-parts/index.js.map +1 -1
  87. package/build/components/page-templates/index.js +3 -2
  88. package/build/components/page-templates/index.js.map +1 -1
  89. package/build/components/save-hub/index.js +2 -1
  90. package/build/components/save-hub/index.js.map +1 -1
  91. package/build/components/secondary-sidebar/list-view-sidebar.js +24 -17
  92. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  93. package/build/components/sidebar-edit-mode/page-panels/edit-template.js +21 -3
  94. package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  95. package/build/components/sidebar-edit-mode/page-panels/hooks.js +2 -1
  96. package/build/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
  97. package/build/components/sidebar-edit-mode/settings-header/index.js +2 -6
  98. package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  99. package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js +9 -2
  100. package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -1
  101. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js +2 -1
  102. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -1
  103. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +2 -1
  104. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  105. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +3 -2
  106. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  107. package/build/components/sidebar-navigation-screen-page/page-details.js +2 -1
  108. package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  109. package/build/components/sidebar-navigation-screen-pages/index.js +5 -4
  110. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  111. package/build/components/sidebar-navigation-screen-pattern/index.js +2 -1
  112. package/build/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  113. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +3 -2
  114. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
  115. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -1
  116. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  117. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +2 -1
  118. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
  119. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +8 -7
  120. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  121. package/build/components/sidebar-navigation-screen-patterns/index.js +3 -3
  122. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  123. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +7 -2
  124. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  125. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +7 -2
  126. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
  127. package/build/components/sidebar-navigation-screen-template/home-template-details.js +2 -1
  128. package/build/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
  129. package/build/components/sidebar-navigation-screen-templates/index.js +4 -3
  130. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  131. package/build/components/sidebar-navigation-screen-templates-browse/index.js +3 -2
  132. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  133. package/build/components/start-template-options/index.js +20 -2
  134. package/build/components/start-template-options/index.js.map +1 -1
  135. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -4
  136. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  137. package/build/components/sync-state-with-url/use-sync-path-with-url.js +4 -3
  138. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  139. package/build/components/template-actions/index.js +2 -1
  140. package/build/components/template-actions/index.js.map +1 -1
  141. package/build/components/template-actions/rename-menu-item.js +8 -3
  142. package/build/components/template-actions/rename-menu-item.js.map +1 -1
  143. package/build/hooks/commands/use-edit-mode-commands.js +4 -3
  144. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  145. package/build/hooks/navigation-menu-edit.js +2 -1
  146. package/build/hooks/navigation-menu-edit.js.map +1 -1
  147. package/build/hooks/template-part-edit.js +2 -1
  148. package/build/hooks/template-part-edit.js.map +1 -1
  149. package/build/store/actions.js +10 -9
  150. package/build/store/actions.js.map +1 -1
  151. package/build/store/constants.js +1 -9
  152. package/build/store/constants.js.map +1 -1
  153. package/build/store/private-actions.js +21 -1
  154. package/build/store/private-actions.js.map +1 -1
  155. package/build/store/private-selectors.js +23 -0
  156. package/build/store/private-selectors.js.map +1 -1
  157. package/build/store/reducer.js +19 -1
  158. package/build/store/reducer.js.map +1 -1
  159. package/build/store/selectors.js +3 -2
  160. package/build/store/selectors.js.map +1 -1
  161. package/build/utils/constants.js +22 -3
  162. package/build/utils/constants.js.map +1 -1
  163. package/build/utils/is-template-removable.js +1 -1
  164. package/build/utils/is-template-removable.js.map +1 -1
  165. package/build/utils/is-template-revertable.js +1 -1
  166. package/build/utils/is-template-revertable.js.map +1 -1
  167. package/build/utils/template-part-create.js +6 -1
  168. package/build/utils/template-part-create.js.map +1 -1
  169. package/build-module/components/add-new-pattern/index.js +3 -3
  170. package/build-module/components/add-new-pattern/index.js.map +1 -1
  171. package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js +65 -0
  172. package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +1 -0
  173. package/build-module/components/block-editor/block-editor-provider/index.js +23 -0
  174. package/build-module/components/block-editor/block-editor-provider/index.js.map +1 -0
  175. package/build-module/components/block-editor/{providers → block-editor-provider}/navigation-block-editor-provider.js +2 -1
  176. package/build-module/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +1 -0
  177. package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js +70 -0
  178. package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +1 -0
  179. package/build-module/components/block-editor/index.js +1 -8
  180. package/build-module/components/block-editor/index.js.map +1 -1
  181. package/build-module/components/block-editor/site-editor-canvas.js +2 -2
  182. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
  183. package/build-module/components/create-template-part-modal/index.js +8 -12
  184. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  185. package/build-module/components/editor/index.js +4 -1
  186. package/build-module/components/editor/index.js.map +1 -1
  187. package/build-module/components/global-styles/font-family-item.js +2 -2
  188. package/build-module/components/global-styles/font-family-item.js.map +1 -1
  189. package/build-module/components/global-styles/font-library-modal/collection-font-details.js +40 -0
  190. package/build-module/components/global-styles/font-library-modal/collection-font-details.js.map +1 -0
  191. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js +45 -0
  192. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -0
  193. package/build-module/components/global-styles/font-library-modal/context.js +27 -3
  194. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  195. package/build-module/components/global-styles/font-library-modal/font-card.js +8 -5
  196. package/build-module/components/global-styles/font-library-modal/font-card.js.map +1 -1
  197. package/build-module/components/global-styles/font-library-modal/font-collection.js +164 -0
  198. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -0
  199. package/build-module/components/global-styles/font-library-modal/font-demo.js +30 -13
  200. package/build-module/components/global-styles/font-library-modal/font-demo.js.map +1 -1
  201. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +33 -0
  202. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -0
  203. package/build-module/components/global-styles/font-library-modal/index.js +26 -7
  204. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
  205. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +2 -2
  206. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  207. package/build-module/components/global-styles/font-library-modal/library-font-card.js +0 -5
  208. package/build-module/components/global-styles/font-library-modal/library-font-card.js.map +1 -1
  209. package/build-module/components/global-styles/font-library-modal/library-font-details.js +2 -1
  210. package/build-module/components/global-styles/font-library-modal/library-font-details.js.map +1 -1
  211. package/build-module/components/global-styles/font-library-modal/resolvers.js +14 -0
  212. package/build-module/components/global-styles/font-library-modal/resolvers.js.map +1 -1
  213. package/build-module/components/global-styles/font-library-modal/tab-layout.js +2 -2
  214. package/build-module/components/global-styles/font-library-modal/tab-layout.js.map +1 -1
  215. package/build-module/components/global-styles/font-library-modal/utils/constants.js +1 -6
  216. package/build-module/components/global-styles/font-library-modal/utils/constants.js.map +1 -1
  217. package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js +15 -0
  218. package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -0
  219. package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js +13 -0
  220. package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -0
  221. package/build-module/components/global-styles/font-library-modal/utils/index.js +2 -51
  222. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  223. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js +68 -0
  224. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -0
  225. package/build-module/components/global-styles/font-library-modal/utils/sort-font-faces.js +30 -0
  226. package/build-module/components/global-styles/font-library-modal/utils/sort-font-faces.js.map +1 -0
  227. package/build-module/components/global-styles/screen-typography.js +1 -1
  228. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  229. package/build-module/components/header-edit-mode/document-actions/index.js +9 -8
  230. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  231. package/build-module/components/header-edit-mode/index.js +4 -1
  232. package/build-module/components/header-edit-mode/index.js.map +1 -1
  233. package/build-module/components/layout/index.js +5 -1
  234. package/build-module/components/layout/index.js.map +1 -1
  235. package/build-module/components/list/added-by.js +13 -8
  236. package/build-module/components/list/added-by.js.map +1 -1
  237. package/build-module/components/list/index.js +2 -1
  238. package/build-module/components/list/index.js.map +1 -1
  239. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +2 -3
  240. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  241. package/build-module/components/page-patterns/duplicate-menu-item.js +5 -5
  242. package/build-module/components/page-patterns/duplicate-menu-item.js.map +1 -1
  243. package/build-module/components/page-patterns/grid-item.js +5 -5
  244. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  245. package/build-module/components/page-patterns/index.js +1 -1
  246. package/build-module/components/page-patterns/index.js.map +1 -1
  247. package/build-module/components/page-patterns/search-items.js +2 -2
  248. package/build-module/components/page-patterns/search-items.js.map +1 -1
  249. package/build-module/components/page-patterns/use-patterns.js +28 -35
  250. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  251. package/build-module/components/page-template-parts/add-new-template-part.js +3 -2
  252. package/build-module/components/page-template-parts/add-new-template-part.js.map +1 -1
  253. package/build-module/components/page-template-parts/index.js +2 -1
  254. package/build-module/components/page-template-parts/index.js.map +1 -1
  255. package/build-module/components/page-templates/index.js +3 -2
  256. package/build-module/components/page-templates/index.js.map +1 -1
  257. package/build-module/components/save-hub/index.js +2 -1
  258. package/build-module/components/save-hub/index.js.map +1 -1
  259. package/build-module/components/secondary-sidebar/list-view-sidebar.js +26 -19
  260. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  261. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +21 -3
  262. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  263. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js +2 -1
  264. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
  265. package/build-module/components/sidebar-edit-mode/settings-header/index.js +2 -6
  266. package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  267. package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js +9 -2
  268. package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -1
  269. package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js +2 -1
  270. package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -1
  271. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +3 -1
  272. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  273. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +3 -2
  274. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  275. package/build-module/components/sidebar-navigation-screen-page/page-details.js +2 -1
  276. package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  277. package/build-module/components/sidebar-navigation-screen-pages/index.js +5 -4
  278. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  279. package/build-module/components/sidebar-navigation-screen-pattern/index.js +2 -1
  280. package/build-module/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  281. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +3 -2
  282. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
  283. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -1
  284. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  285. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +2 -1
  286. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
  287. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +8 -7
  288. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  289. package/build-module/components/sidebar-navigation-screen-patterns/index.js +4 -4
  290. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  291. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +8 -3
  292. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  293. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +7 -2
  294. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
  295. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js +2 -1
  296. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
  297. package/build-module/components/sidebar-navigation-screen-templates/index.js +4 -3
  298. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  299. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +3 -2
  300. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  301. package/build-module/components/start-template-options/index.js +20 -2
  302. package/build-module/components/start-template-options/index.js.map +1 -1
  303. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -4
  304. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  305. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +4 -3
  306. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  307. package/build-module/components/template-actions/index.js +2 -1
  308. package/build-module/components/template-actions/index.js.map +1 -1
  309. package/build-module/components/template-actions/rename-menu-item.js +8 -3
  310. package/build-module/components/template-actions/rename-menu-item.js.map +1 -1
  311. package/build-module/hooks/commands/use-edit-mode-commands.js +4 -3
  312. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  313. package/build-module/hooks/navigation-menu-edit.js +2 -1
  314. package/build-module/hooks/navigation-menu-edit.js.map +1 -1
  315. package/build-module/hooks/template-part-edit.js +2 -1
  316. package/build-module/hooks/template-part-edit.js.map +1 -1
  317. package/build-module/store/actions.js +10 -10
  318. package/build-module/store/actions.js.map +1 -1
  319. package/build-module/store/constants.js +0 -4
  320. package/build-module/store/constants.js.map +1 -1
  321. package/build-module/store/private-actions.js +19 -0
  322. package/build-module/store/private-actions.js.map +1 -1
  323. package/build-module/store/private-selectors.js +22 -0
  324. package/build-module/store/private-selectors.js.map +1 -1
  325. package/build-module/store/reducer.js +18 -1
  326. package/build-module/store/reducer.js.map +1 -1
  327. package/build-module/store/selectors.js +3 -3
  328. package/build-module/store/selectors.js.map +1 -1
  329. package/build-module/utils/constants.js +17 -1
  330. package/build-module/utils/constants.js.map +1 -1
  331. package/build-module/utils/is-template-removable.js +2 -2
  332. package/build-module/utils/is-template-removable.js.map +1 -1
  333. package/build-module/utils/is-template-revertable.js +2 -2
  334. package/build-module/utils/is-template-revertable.js.map +1 -1
  335. package/build-module/utils/template-part-create.js +6 -1
  336. package/build-module/utils/template-part-create.js.map +1 -1
  337. package/build-style/style-rtl.css +23 -0
  338. package/build-style/style.css +23 -0
  339. package/package.json +40 -40
  340. package/src/components/add-new-pattern/index.js +3 -3
  341. package/src/components/block-editor/block-editor-provider/default-block-editor-provider.js +70 -0
  342. package/src/components/block-editor/block-editor-provider/index.js +29 -0
  343. package/src/components/block-editor/{providers → block-editor-provider}/navigation-block-editor-provider.js +2 -1
  344. package/src/components/block-editor/block-editor-provider/test/use-page-content-blocks.js +87 -0
  345. package/src/components/block-editor/block-editor-provider/use-page-content-blocks.js +77 -0
  346. package/src/components/block-editor/index.js +1 -14
  347. package/src/components/block-editor/site-editor-canvas.js +5 -2
  348. package/src/components/create-template-part-modal/index.js +11 -12
  349. package/src/components/editor/index.js +6 -2
  350. package/src/components/global-styles/font-family-item.js +2 -2
  351. package/src/components/global-styles/font-library-modal/collection-font-details.js +56 -0
  352. package/src/components/global-styles/font-library-modal/collection-font-variant.js +45 -0
  353. package/src/components/global-styles/font-library-modal/context.js +33 -2
  354. package/src/components/global-styles/font-library-modal/font-card.js +9 -4
  355. package/src/components/global-styles/font-library-modal/font-collection.js +257 -0
  356. package/src/components/global-styles/font-library-modal/font-demo.js +36 -10
  357. package/src/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +50 -0
  358. package/src/components/global-styles/font-library-modal/index.js +30 -5
  359. package/src/components/global-styles/font-library-modal/installed-fonts.js +1 -1
  360. package/src/components/global-styles/font-library-modal/library-font-card.js +1 -8
  361. package/src/components/global-styles/font-library-modal/library-font-details.js +2 -3
  362. package/src/components/global-styles/font-library-modal/resolvers.js +16 -0
  363. package/src/components/global-styles/font-library-modal/style.scss +26 -0
  364. package/src/components/global-styles/font-library-modal/tab-layout.js +2 -2
  365. package/src/components/global-styles/font-library-modal/utils/constants.js +1 -9
  366. package/src/components/global-styles/font-library-modal/utils/filter-fonts.js +18 -0
  367. package/src/components/global-styles/font-library-modal/utils/fonts-outline.js +21 -0
  368. package/src/components/global-styles/font-library-modal/utils/index.js +9 -69
  369. package/src/components/global-styles/font-library-modal/utils/preview-styles.js +86 -0
  370. package/src/components/global-styles/font-library-modal/utils/sort-font-faces.js +33 -0
  371. package/src/components/global-styles/font-library-modal/utils/test/filter-fonts.spec.js +69 -0
  372. package/src/components/global-styles/font-library-modal/utils/test/fonts-outline.spec.js +109 -0
  373. package/src/components/global-styles/font-library-modal/utils/test/{getPreviewStyle.spec.js → preview-styles.spec.js} +49 -9
  374. package/src/components/global-styles/font-library-modal/utils/test/sort-font-faces.js +74 -0
  375. package/src/components/global-styles/screen-typography.js +3 -1
  376. package/src/components/header-edit-mode/document-actions/index.js +17 -8
  377. package/src/components/header-edit-mode/index.js +2 -1
  378. package/src/components/layout/index.js +10 -1
  379. package/src/components/list/added-by.js +29 -11
  380. package/src/components/list/index.js +7 -1
  381. package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +2 -8
  382. package/src/components/page-patterns/duplicate-menu-item.js +5 -5
  383. package/src/components/page-patterns/grid-item.js +5 -5
  384. package/src/components/page-patterns/index.js +1 -1
  385. package/src/components/page-patterns/search-items.js +7 -1
  386. package/src/components/page-patterns/use-patterns.js +190 -134
  387. package/src/components/page-template-parts/add-new-template-part.js +5 -2
  388. package/src/components/page-template-parts/index.js +2 -1
  389. package/src/components/page-templates/index.js +3 -2
  390. package/src/components/save-hub/index.js +2 -1
  391. package/src/components/secondary-sidebar/list-view-sidebar.js +31 -26
  392. package/src/components/sidebar-edit-mode/page-panels/edit-template.js +48 -20
  393. package/src/components/sidebar-edit-mode/page-panels/hooks.js +9 -4
  394. package/src/components/sidebar-edit-mode/page-panels/style.scss +6 -0
  395. package/src/components/sidebar-edit-mode/settings-header/index.js +4 -7
  396. package/src/components/sidebar-edit-mode/template-panel/pattern-categories.js +9 -2
  397. package/src/components/sidebar-navigation-screen-navigation-menu/edit-button.js +2 -1
  398. package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +3 -1
  399. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +3 -2
  400. package/src/components/sidebar-navigation-screen-page/page-details.js +2 -1
  401. package/src/components/sidebar-navigation-screen-pages/index.js +5 -4
  402. package/src/components/sidebar-navigation-screen-pattern/index.js +2 -1
  403. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +8 -2
  404. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +7 -1
  405. package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +2 -1
  406. package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +18 -8
  407. package/src/components/sidebar-navigation-screen-patterns/index.js +8 -4
  408. package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +16 -3
  409. package/src/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +12 -2
  410. package/src/components/sidebar-navigation-screen-template/home-template-details.js +2 -1
  411. package/src/components/sidebar-navigation-screen-templates/index.js +4 -3
  412. package/src/components/sidebar-navigation-screen-templates-browse/index.js +6 -2
  413. package/src/components/start-template-options/index.js +39 -2
  414. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +10 -4
  415. package/src/components/sync-state-with-url/use-sync-path-with-url.js +8 -3
  416. package/src/components/template-actions/index.js +2 -1
  417. package/src/components/template-actions/rename-menu-item.js +8 -3
  418. package/src/hooks/commands/use-edit-mode-commands.js +4 -3
  419. package/src/hooks/navigation-menu-edit.js +2 -1
  420. package/src/hooks/template-part-edit.js +2 -1
  421. package/src/store/actions.js +18 -10
  422. package/src/store/constants.js +0 -5
  423. package/src/store/private-actions.js +19 -0
  424. package/src/store/private-selectors.js +22 -0
  425. package/src/store/reducer.js +18 -0
  426. package/src/store/selectors.js +6 -3
  427. package/src/store/test/reducer.js +18 -0
  428. package/src/utils/constants.js +17 -1
  429. package/src/utils/is-template-removable.js +2 -2
  430. package/src/utils/is-template-revertable.js +2 -2
  431. package/src/utils/template-part-create.js +6 -1
  432. package/build/components/block-editor/get-block-editor-provider.js +0 -35
  433. package/build/components/block-editor/get-block-editor-provider.js.map +0 -1
  434. package/build/components/block-editor/providers/default-block-editor-provider.js +0 -49
  435. package/build/components/block-editor/providers/default-block-editor-provider.js.map +0 -1
  436. package/build/components/block-editor/providers/navigation-block-editor-provider.js.map +0 -1
  437. package/build-module/components/block-editor/get-block-editor-provider.js +0 -28
  438. package/build-module/components/block-editor/get-block-editor-provider.js.map +0 -1
  439. package/build-module/components/block-editor/providers/default-block-editor-provider.js +0 -41
  440. package/build-module/components/block-editor/providers/default-block-editor-provider.js.map +0 -1
  441. package/build-module/components/block-editor/providers/navigation-block-editor-provider.js.map +0 -1
  442. package/src/components/block-editor/get-block-editor-provider.js +0 -29
  443. package/src/components/block-editor/providers/default-block-editor-provider.js +0 -44
@@ -63,8 +63,8 @@ function AddNewPattern() {
63
63
  setShowPatternModal(false);
64
64
  history.push({
65
65
  postId: pattern.id,
66
- postType: 'wp_block',
67
- categoryType: 'wp_block',
66
+ postType: _constants.PATTERN_TYPES.user,
67
+ categoryType: _constants.PATTERN_TYPES.user,
68
68
  categoryId,
69
69
  canvas: 'edit'
70
70
  });
@@ -75,7 +75,7 @@ function AddNewPattern() {
75
75
  // Navigate to the created template part editor.
76
76
  history.push({
77
77
  postId: templatePart.id,
78
- postType: 'wp_template_part',
78
+ postType: _constants.TEMPLATE_PART_POST_TYPE,
79
79
  canvas: 'edit'
80
80
  });
81
81
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_components","_i18n","_icons","_data","_router","_patterns","_notices","_createTemplatePartModal","_interopRequireDefault","_sidebarButton","_lockUnlock","_store","_constants","_usePatternCategories","useHistory","useLocation","unlock","routerPrivateApis","CreatePatternModal","editPatternsPrivateApis","AddNewPattern","history","params","showPatternModal","setShowPatternModal","useState","showTemplatePartModal","setShowTemplatePartModal","isTemplatePartsMode","useSelect","select","settings","editSiteStore","getSettings","supportsTemplatePartsMode","createPatternFromFile","useDispatch","patternsStore","createSuccessNotice","createErrorNotice","noticesStore","patternUploadInputRef","useRef","patternCategories","usePatternCategories","handleCreatePattern","pattern","categoryId","push","postId","id","postType","categoryType","canvas","handleCreateTemplatePart","templatePart","handleError","controls","icon","symbol","onClick","title","__","symbolFilled","current","click","createElement","Fragment","DropdownMenu","toggleProps","as","SidebarButton","plus","label","onClose","onSuccess","onError","default","closeModal","blocks","onCreate","type","accept","hidden","ref","onChange","event","file","target","files","currentCategoryId","TEMPLATE_PART_POST_TYPE","find","category","name","undefined","path","PATTERN_TYPES","theme","PATTERN_DEFAULT_CATEGORY","sprintf","raw","err","message","value"],"sources":["@wordpress/edit-site/src/components/add-new-pattern/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { DropdownMenu } from '@wordpress/components';\nimport { useState, useRef } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { plus, symbol, symbolFilled } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport {\n\tprivateApis as editPatternsPrivateApis,\n\tstore as patternsStore,\n} from '@wordpress/patterns';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport CreateTemplatePartModal from '../create-template-part-modal';\nimport SidebarButton from '../sidebar-button';\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport {\n\tPATTERN_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\nimport usePatternCategories from '../sidebar-navigation-screen-patterns/use-pattern-categories';\n\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\nconst { CreatePatternModal } = unlock( editPatternsPrivateApis );\n\nexport default function AddNewPattern() {\n\tconst history = useHistory();\n\tconst { params } = useLocation();\n\tconst [ showPatternModal, setShowPatternModal ] = useState( false );\n\tconst [ showTemplatePartModal, setShowTemplatePartModal ] =\n\t\tuseState( false );\n\tconst isTemplatePartsMode = useSelect( ( select ) => {\n\t\tconst settings = select( editSiteStore ).getSettings();\n\t\treturn !! settings.supportsTemplatePartsMode;\n\t}, [] );\n\tconst { createPatternFromFile } = unlock( useDispatch( patternsStore ) );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst patternUploadInputRef = useRef();\n\tconst { patternCategories } = usePatternCategories();\n\n\tfunction handleCreatePattern( { pattern, categoryId } ) {\n\t\tsetShowPatternModal( false );\n\n\t\thistory.push( {\n\t\t\tpostId: pattern.id,\n\t\t\tpostType: 'wp_block',\n\t\t\tcategoryType: 'wp_block',\n\t\t\tcategoryId,\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t}\n\n\tfunction handleCreateTemplatePart( templatePart ) {\n\t\tsetShowTemplatePartModal( false );\n\n\t\t// Navigate to the created template part editor.\n\t\thistory.push( {\n\t\t\tpostId: templatePart.id,\n\t\t\tpostType: 'wp_template_part',\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t}\n\n\tfunction handleError() {\n\t\tsetShowPatternModal( false );\n\t\tsetShowTemplatePartModal( false );\n\t}\n\n\tconst controls = [\n\t\t{\n\t\t\ticon: symbol,\n\t\t\tonClick: () => setShowPatternModal( true ),\n\t\t\ttitle: __( 'Create pattern' ),\n\t\t},\n\t];\n\n\t// Remove condition when command palette issues are resolved.\n\t// See: https://github.com/WordPress/gutenberg/issues/52154.\n\tif ( ! isTemplatePartsMode ) {\n\t\tcontrols.push( {\n\t\t\ticon: symbolFilled,\n\t\t\tonClick: () => setShowTemplatePartModal( true ),\n\t\t\ttitle: __( 'Create template part' ),\n\t\t} );\n\t}\n\n\tcontrols.push( {\n\t\ticon: symbol,\n\t\tonClick: () => {\n\t\t\tpatternUploadInputRef.current.click();\n\t\t},\n\t\ttitle: __( 'Import pattern from JSON' ),\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<DropdownMenu\n\t\t\t\tcontrols={ controls }\n\t\t\t\ttoggleProps={ {\n\t\t\t\t\tas: SidebarButton,\n\t\t\t\t} }\n\t\t\t\ticon={ plus }\n\t\t\t\tlabel={ __( 'Create pattern' ) }\n\t\t\t/>\n\t\t\t{ showPatternModal && (\n\t\t\t\t<CreatePatternModal\n\t\t\t\t\tonClose={ () => setShowPatternModal( false ) }\n\t\t\t\t\tonSuccess={ handleCreatePattern }\n\t\t\t\t\tonError={ handleError }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showTemplatePartModal && (\n\t\t\t\t<CreateTemplatePartModal\n\t\t\t\t\tcloseModal={ () => setShowTemplatePartModal( false ) }\n\t\t\t\t\tblocks={ [] }\n\t\t\t\t\tonCreate={ handleCreateTemplatePart }\n\t\t\t\t\tonError={ handleError }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<input\n\t\t\t\ttype=\"file\"\n\t\t\t\taccept=\".json\"\n\t\t\t\thidden\n\t\t\t\tref={ patternUploadInputRef }\n\t\t\t\tonChange={ async ( event ) => {\n\t\t\t\t\tconst file = event.target.files?.[ 0 ];\n\t\t\t\t\tif ( ! file ) return;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst currentCategoryId =\n\t\t\t\t\t\t\tparams.categoryType !== TEMPLATE_PART_POST_TYPE &&\n\t\t\t\t\t\t\tpatternCategories.find(\n\t\t\t\t\t\t\t\t( category ) =>\n\t\t\t\t\t\t\t\t\tcategory.name === params.categoryId\n\t\t\t\t\t\t\t)?.id;\n\t\t\t\t\t\tconst pattern = await createPatternFromFile(\n\t\t\t\t\t\t\tfile,\n\t\t\t\t\t\t\tcurrentCategoryId\n\t\t\t\t\t\t\t\t? [ currentCategoryId ]\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Navigate to the All patterns category for the newly created pattern\n\t\t\t\t\t\t// if we're not on that page already.\n\t\t\t\t\t\tif ( ! currentCategoryId ) {\n\t\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\t\tpath: `/patterns`,\n\t\t\t\t\t\t\t\tcategoryType: PATTERN_TYPES.theme,\n\t\t\t\t\t\t\t\tcategoryId: PATTERN_DEFAULT_CATEGORY,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The imported pattern's title.\n\t\t\t\t\t\t\t\t__( 'Imported \"%s\" from JSON.' ),\n\t\t\t\t\t\t\t\tpattern.title.raw\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'import-pattern-success',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t} catch ( err ) {\n\t\t\t\t\t\tcreateErrorNotice( err.message, {\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'import-pattern-error',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tevent.target.value = '';\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_components","_i18n","_icons","_data","_router","_patterns","_notices","_createTemplatePartModal","_interopRequireDefault","_sidebarButton","_lockUnlock","_store","_constants","_usePatternCategories","useHistory","useLocation","unlock","routerPrivateApis","CreatePatternModal","editPatternsPrivateApis","AddNewPattern","history","params","showPatternModal","setShowPatternModal","useState","showTemplatePartModal","setShowTemplatePartModal","isTemplatePartsMode","useSelect","select","settings","editSiteStore","getSettings","supportsTemplatePartsMode","createPatternFromFile","useDispatch","patternsStore","createSuccessNotice","createErrorNotice","noticesStore","patternUploadInputRef","useRef","patternCategories","usePatternCategories","handleCreatePattern","pattern","categoryId","push","postId","id","postType","PATTERN_TYPES","user","categoryType","canvas","handleCreateTemplatePart","templatePart","TEMPLATE_PART_POST_TYPE","handleError","controls","icon","symbol","onClick","title","__","symbolFilled","current","click","createElement","Fragment","DropdownMenu","toggleProps","as","SidebarButton","plus","label","onClose","onSuccess","onError","default","closeModal","blocks","onCreate","type","accept","hidden","ref","onChange","event","file","target","files","currentCategoryId","find","category","name","undefined","path","theme","PATTERN_DEFAULT_CATEGORY","sprintf","raw","err","message","value"],"sources":["@wordpress/edit-site/src/components/add-new-pattern/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { DropdownMenu } from '@wordpress/components';\nimport { useState, useRef } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { plus, symbol, symbolFilled } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport {\n\tprivateApis as editPatternsPrivateApis,\n\tstore as patternsStore,\n} from '@wordpress/patterns';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport CreateTemplatePartModal from '../create-template-part-modal';\nimport SidebarButton from '../sidebar-button';\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport {\n\tPATTERN_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\nimport usePatternCategories from '../sidebar-navigation-screen-patterns/use-pattern-categories';\n\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\nconst { CreatePatternModal } = unlock( editPatternsPrivateApis );\n\nexport default function AddNewPattern() {\n\tconst history = useHistory();\n\tconst { params } = useLocation();\n\tconst [ showPatternModal, setShowPatternModal ] = useState( false );\n\tconst [ showTemplatePartModal, setShowTemplatePartModal ] =\n\t\tuseState( false );\n\tconst isTemplatePartsMode = useSelect( ( select ) => {\n\t\tconst settings = select( editSiteStore ).getSettings();\n\t\treturn !! settings.supportsTemplatePartsMode;\n\t}, [] );\n\tconst { createPatternFromFile } = unlock( useDispatch( patternsStore ) );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst patternUploadInputRef = useRef();\n\tconst { patternCategories } = usePatternCategories();\n\n\tfunction handleCreatePattern( { pattern, categoryId } ) {\n\t\tsetShowPatternModal( false );\n\n\t\thistory.push( {\n\t\t\tpostId: pattern.id,\n\t\t\tpostType: PATTERN_TYPES.user,\n\t\t\tcategoryType: PATTERN_TYPES.user,\n\t\t\tcategoryId,\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t}\n\n\tfunction handleCreateTemplatePart( templatePart ) {\n\t\tsetShowTemplatePartModal( false );\n\n\t\t// Navigate to the created template part editor.\n\t\thistory.push( {\n\t\t\tpostId: templatePart.id,\n\t\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t}\n\n\tfunction handleError() {\n\t\tsetShowPatternModal( false );\n\t\tsetShowTemplatePartModal( false );\n\t}\n\n\tconst controls = [\n\t\t{\n\t\t\ticon: symbol,\n\t\t\tonClick: () => setShowPatternModal( true ),\n\t\t\ttitle: __( 'Create pattern' ),\n\t\t},\n\t];\n\n\t// Remove condition when command palette issues are resolved.\n\t// See: https://github.com/WordPress/gutenberg/issues/52154.\n\tif ( ! isTemplatePartsMode ) {\n\t\tcontrols.push( {\n\t\t\ticon: symbolFilled,\n\t\t\tonClick: () => setShowTemplatePartModal( true ),\n\t\t\ttitle: __( 'Create template part' ),\n\t\t} );\n\t}\n\n\tcontrols.push( {\n\t\ticon: symbol,\n\t\tonClick: () => {\n\t\t\tpatternUploadInputRef.current.click();\n\t\t},\n\t\ttitle: __( 'Import pattern from JSON' ),\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<DropdownMenu\n\t\t\t\tcontrols={ controls }\n\t\t\t\ttoggleProps={ {\n\t\t\t\t\tas: SidebarButton,\n\t\t\t\t} }\n\t\t\t\ticon={ plus }\n\t\t\t\tlabel={ __( 'Create pattern' ) }\n\t\t\t/>\n\t\t\t{ showPatternModal && (\n\t\t\t\t<CreatePatternModal\n\t\t\t\t\tonClose={ () => setShowPatternModal( false ) }\n\t\t\t\t\tonSuccess={ handleCreatePattern }\n\t\t\t\t\tonError={ handleError }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showTemplatePartModal && (\n\t\t\t\t<CreateTemplatePartModal\n\t\t\t\t\tcloseModal={ () => setShowTemplatePartModal( false ) }\n\t\t\t\t\tblocks={ [] }\n\t\t\t\t\tonCreate={ handleCreateTemplatePart }\n\t\t\t\t\tonError={ handleError }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<input\n\t\t\t\ttype=\"file\"\n\t\t\t\taccept=\".json\"\n\t\t\t\thidden\n\t\t\t\tref={ patternUploadInputRef }\n\t\t\t\tonChange={ async ( event ) => {\n\t\t\t\t\tconst file = event.target.files?.[ 0 ];\n\t\t\t\t\tif ( ! file ) return;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst currentCategoryId =\n\t\t\t\t\t\t\tparams.categoryType !== TEMPLATE_PART_POST_TYPE &&\n\t\t\t\t\t\t\tpatternCategories.find(\n\t\t\t\t\t\t\t\t( category ) =>\n\t\t\t\t\t\t\t\t\tcategory.name === params.categoryId\n\t\t\t\t\t\t\t)?.id;\n\t\t\t\t\t\tconst pattern = await createPatternFromFile(\n\t\t\t\t\t\t\tfile,\n\t\t\t\t\t\t\tcurrentCategoryId\n\t\t\t\t\t\t\t\t? [ currentCategoryId ]\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Navigate to the All patterns category for the newly created pattern\n\t\t\t\t\t\t// if we're not on that page already.\n\t\t\t\t\t\tif ( ! currentCategoryId ) {\n\t\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\t\tpath: `/patterns`,\n\t\t\t\t\t\t\t\tcategoryType: PATTERN_TYPES.theme,\n\t\t\t\t\t\t\t\tcategoryId: PATTERN_DEFAULT_CATEGORY,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The imported pattern's title.\n\t\t\t\t\t\t\t\t__( 'Imported \"%s\" from JSON.' ),\n\t\t\t\t\t\t\t\tpattern.title.raw\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'import-pattern-success',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t} catch ( err ) {\n\t\t\t\t\t\tcreateErrorNotice( err.message, {\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'import-pattern-error',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tevent.target.value = '';\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = DefaultBlockEditorProvider;
8
+ var _element = require("@wordpress/element");
9
+ var _coreData = require("@wordpress/core-data");
10
+ var _blockEditor = require("@wordpress/block-editor");
11
+ var _data = require("@wordpress/data");
12
+ var _store = require("../../../store");
13
+ var _lockUnlock = require("../../../lock-unlock");
14
+ var _useSiteEditorSettings = _interopRequireDefault(require("../use-site-editor-settings"));
15
+ var _usePageContentBlocks = _interopRequireDefault(require("./use-page-content-blocks"));
16
+ /**
17
+ * WordPress dependencies
18
+ */
19
+
20
+ /**
21
+ * Internal dependencies
22
+ */
23
+
24
+ const {
25
+ ExperimentalBlockEditorProvider
26
+ } = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
27
+ const noop = () => {};
28
+
29
+ /**
30
+ * The default block editor provider for the site editor. Typically used when
31
+ * the post type is `'wp_template_part'` or `'wp_template'` and allows editing
32
+ * of the template and its nested entities.
33
+ *
34
+ * If the page content focus type is `'hideTemplate'`, the provider will provide
35
+ * a set of page content blocks wrapped in a container that, together,
36
+ * mimic the look and feel of the post editor and
37
+ * allow editing of the page content only.
38
+ *
39
+ * @param {Object} props
40
+ * @param {WPElement} props.children
41
+ */
42
+ function DefaultBlockEditorProvider({
43
+ children
44
+ }) {
45
+ const settings = (0, _useSiteEditorSettings.default)();
46
+ const {
47
+ templateType,
48
+ isTemplateHidden
49
+ } = (0, _data.useSelect)(select => {
50
+ const {
51
+ getEditedPostType
52
+ } = select(_store.store);
53
+ const {
54
+ getPageContentFocusType,
55
+ getCanvasMode
56
+ } = (0, _lockUnlock.unlock)(select(_store.store));
57
+ return {
58
+ templateType: getEditedPostType(),
59
+ isTemplateHidden: getCanvasMode() === 'edit' && getPageContentFocusType() === 'hideTemplate',
60
+ canvasMode: (0, _lockUnlock.unlock)(select(_store.store)).getCanvasMode()
61
+ };
62
+ }, []);
63
+ const [blocks, onInput, onChange] = (0, _coreData.useEntityBlockEditor)('postType', templateType);
64
+ const pageContentBlock = (0, _usePageContentBlocks.default)(blocks, isTemplateHidden);
65
+ return (0, _element.createElement)(ExperimentalBlockEditorProvider, {
66
+ settings: settings,
67
+ value: isTemplateHidden && pageContentBlock.length ? pageContentBlock : blocks,
68
+ onInput: isTemplateHidden ? noop : onInput,
69
+ onChange: isTemplateHidden ? noop : onChange,
70
+ useSubRegistry: false
71
+ }, children);
72
+ }
73
+ //# sourceMappingURL=default-block-editor-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_coreData","require","_blockEditor","_data","_store","_lockUnlock","_useSiteEditorSettings","_interopRequireDefault","_usePageContentBlocks","ExperimentalBlockEditorProvider","unlock","blockEditorPrivateApis","noop","DefaultBlockEditorProvider","children","settings","useSiteEditorSettings","templateType","isTemplateHidden","useSelect","select","getEditedPostType","editSiteStore","getPageContentFocusType","getCanvasMode","canvasMode","blocks","onInput","onChange","useEntityBlockEditor","pageContentBlock","usePageContentBlocks","_element","createElement","value","length","useSubRegistry"],"sources":["@wordpress/edit-site/src/components/block-editor/block-editor-provider/default-block-editor-provider.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityBlockEditor } from '@wordpress/core-data';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\nimport { unlock } from '../../../lock-unlock';\nimport useSiteEditorSettings from '../use-site-editor-settings';\nimport usePageContentBlocks from './use-page-content-blocks';\n\nconst { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );\n\nconst noop = () => {};\n\n/**\n * The default block editor provider for the site editor. Typically used when\n * the post type is `'wp_template_part'` or `'wp_template'` and allows editing\n * of the template and its nested entities.\n *\n * If the page content focus type is `'hideTemplate'`, the provider will provide\n * a set of page content blocks wrapped in a container that, together,\n * mimic the look and feel of the post editor and\n * allow editing of the page content only.\n *\n * @param {Object} props\n * @param {WPElement} props.children\n */\nexport default function DefaultBlockEditorProvider( { children } ) {\n\tconst settings = useSiteEditorSettings();\n\n\tconst { templateType, isTemplateHidden } = useSelect( ( select ) => {\n\t\tconst { getEditedPostType } = select( editSiteStore );\n\t\tconst { getPageContentFocusType, getCanvasMode } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\t\treturn {\n\t\t\ttemplateType: getEditedPostType(),\n\t\t\tisTemplateHidden:\n\t\t\t\tgetCanvasMode() === 'edit' &&\n\t\t\t\tgetPageContentFocusType() === 'hideTemplate',\n\t\t\tcanvasMode: unlock( select( editSiteStore ) ).getCanvasMode(),\n\t\t};\n\t}, [] );\n\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\ttemplateType\n\t);\n\tconst pageContentBlock = usePageContentBlocks( blocks, isTemplateHidden );\n\treturn (\n\t\t<ExperimentalBlockEditorProvider\n\t\t\tsettings={ settings }\n\t\t\tvalue={\n\t\t\t\tisTemplateHidden && pageContentBlock.length\n\t\t\t\t\t? pageContentBlock\n\t\t\t\t\t: blocks\n\t\t\t}\n\t\t\tonInput={ isTemplateHidden ? noop : onInput }\n\t\t\tonChange={ isTemplateHidden ? noop : onChange }\n\t\t\tuseSubRegistry={ false }\n\t\t>\n\t\t\t{ children }\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAKA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,sBAAA,GAAAC,sBAAA,CAAAN,OAAA;AACA,IAAAO,qBAAA,GAAAD,sBAAA,CAAAN,OAAA;AAbA;AACA;AACA;;AAKA;AACA;AACA;;AAMA,MAAM;EAAEQ;AAAgC,CAAC,GAAG,IAAAC,kBAAM,EAAEC,wBAAuB,CAAC;AAE5E,MAAMC,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASC,0BAA0BA,CAAE;EAAEC;AAAS,CAAC,EAAG;EAClE,MAAMC,QAAQ,GAAG,IAAAC,8BAAqB,EAAC,CAAC;EAExC,MAAM;IAAEC,YAAY;IAAEC;EAAiB,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACnE,MAAM;MAAEC;IAAkB,CAAC,GAAGD,MAAM,CAAEE,YAAc,CAAC;IACrD,MAAM;MAAEC,uBAAuB;MAAEC;IAAc,CAAC,GAAG,IAAAd,kBAAM,EACxDU,MAAM,CAAEE,YAAc,CACvB,CAAC;IACD,OAAO;MACNL,YAAY,EAAEI,iBAAiB,CAAC,CAAC;MACjCH,gBAAgB,EACfM,aAAa,CAAC,CAAC,KAAK,MAAM,IAC1BD,uBAAuB,CAAC,CAAC,KAAK,cAAc;MAC7CE,UAAU,EAAE,IAAAf,kBAAM,EAAEU,MAAM,CAAEE,YAAc,CAAE,CAAC,CAACE,aAAa,CAAC;IAC7D,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM,CAAEE,MAAM,EAAEC,OAAO,EAAEC,QAAQ,CAAE,GAAG,IAAAC,8BAAoB,EACzD,UAAU,EACVZ,YACD,CAAC;EACD,MAAMa,gBAAgB,GAAG,IAAAC,6BAAoB,EAAEL,MAAM,EAAER,gBAAiB,CAAC;EACzE,OACC,IAAAc,QAAA,CAAAC,aAAA,EAACxB,+BAA+B;IAC/BM,QAAQ,EAAGA,QAAU;IACrBmB,KAAK,EACJhB,gBAAgB,IAAIY,gBAAgB,CAACK,MAAM,GACxCL,gBAAgB,GAChBJ,MACH;IACDC,OAAO,EAAGT,gBAAgB,GAAGN,IAAI,GAAGe,OAAS;IAC7CC,QAAQ,EAAGV,gBAAgB,GAAGN,IAAI,GAAGgB,QAAU;IAC/CQ,cAAc,EAAG;EAAO,GAEtBtB,QAC8B,CAAC;AAEpC"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = BlockEditorProvider;
8
+ var _element = require("@wordpress/element");
9
+ var _data = require("@wordpress/data");
10
+ var _store = require("../../../store");
11
+ var _defaultBlockEditorProvider = _interopRequireDefault(require("./default-block-editor-provider"));
12
+ var _navigationBlockEditorProvider = _interopRequireDefault(require("./navigation-block-editor-provider"));
13
+ var _constants = require("../../../utils/constants");
14
+ /**
15
+ * WordPress dependencies
16
+ */
17
+
18
+ /**
19
+ * Internal dependencies
20
+ */
21
+
22
+ function BlockEditorProvider({
23
+ children
24
+ }) {
25
+ const entityType = (0, _data.useSelect)(select => select(_store.store).getEditedPostType(), []);
26
+ if (entityType === _constants.NAVIGATION_POST_TYPE) {
27
+ return (0, _element.createElement)(_navigationBlockEditorProvider.default, null, children);
28
+ }
29
+ return (0, _element.createElement)(_defaultBlockEditorProvider.default, null, children);
30
+ }
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_data","require","_store","_defaultBlockEditorProvider","_interopRequireDefault","_navigationBlockEditorProvider","_constants","BlockEditorProvider","children","entityType","useSelect","select","editSiteStore","getEditedPostType","NAVIGATION_POST_TYPE","_element","createElement","default"],"sources":["@wordpress/edit-site/src/components/block-editor/block-editor-provider/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\nimport DefaultBlockEditorProvider from './default-block-editor-provider';\nimport NavigationBlockEditorProvider from './navigation-block-editor-provider';\nimport { NAVIGATION_POST_TYPE } from '../../../utils/constants';\n\nexport default function BlockEditorProvider( { children } ) {\n\tconst entityType = useSelect(\n\t\t( select ) => select( editSiteStore ).getEditedPostType(),\n\t\t[]\n\t);\n\tif ( entityType === NAVIGATION_POST_TYPE ) {\n\t\treturn (\n\t\t\t<NavigationBlockEditorProvider>\n\t\t\t\t{ children }\n\t\t\t</NavigationBlockEditorProvider>\n\t\t);\n\t}\n\treturn (\n\t\t<DefaultBlockEditorProvider>{ children }</DefaultBlockEditorProvider>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,2BAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,8BAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AAXA;AACA;AACA;;AAGA;AACA;AACA;;AAMe,SAASM,mBAAmBA,CAAE;EAAEC;AAAS,CAAC,EAAG;EAC3D,MAAMC,UAAU,GAAG,IAAAC,eAAS,EACzBC,MAAM,IAAMA,MAAM,CAAEC,YAAc,CAAC,CAACC,iBAAiB,CAAC,CAAC,EACzD,EACD,CAAC;EACD,IAAKJ,UAAU,KAAKK,+BAAoB,EAAG;IAC1C,OACC,IAAAC,QAAA,CAAAC,aAAA,EAACX,8BAAA,CAAAY,OAA6B,QAC3BT,QAC4B,CAAC;EAElC;EACA,OACC,IAAAO,QAAA,CAAAC,aAAA,EAACb,2BAAA,CAAAc,OAA0B,QAAGT,QAAsC,CAAC;AAEvE"}
@@ -13,6 +13,7 @@ var _blocks = require("@wordpress/blocks");
13
13
  var _lockUnlock = require("../../../lock-unlock");
14
14
  var _useSiteEditorSettings = _interopRequireDefault(require("../use-site-editor-settings"));
15
15
  var _store = require("../../../store");
16
+ var _constants = require("../../../utils/constants");
16
17
  /**
17
18
  * WordPress dependencies
18
19
  */
@@ -43,7 +44,7 @@ function NavigationBlockEditorProvider({
43
44
  children
44
45
  }) {
45
46
  const defaultSettings = (0, _useSiteEditorSettings.default)();
46
- const navigationMenuId = (0, _coreData.useEntityId)('postType', 'wp_navigation');
47
+ const navigationMenuId = (0, _coreData.useEntityId)('postType', _constants.NAVIGATION_POST_TYPE);
47
48
  const blocks = (0, _element.useMemo)(() => {
48
49
  return [(0, _blocks.createBlock)('core/navigation', {
49
50
  ref: navigationMenuId,
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_element","require","_data","_coreData","_blockEditor","_blocks","_lockUnlock","_useSiteEditorSettings","_interopRequireDefault","_store","_constants","ExperimentalBlockEditorProvider","unlock","blockEditorPrivateApis","noop","NavigationBlockEditorProvider","children","defaultSettings","useSiteEditorSettings","navigationMenuId","useEntityId","NAVIGATION_POST_TYPE","blocks","useMemo","createBlock","ref","templateLock","isEditMode","useSelect","select","getCanvasMode","editSiteStore","selectBlock","setBlockEditingMode","unsetBlockEditingMode","useDispatch","blockEditorStore","navigationBlockClientId","clientId","settings","template","useEffect","createElement","value","onInput","onChange","useSubRegistry"],"sources":["@wordpress/edit-site/src/components/block-editor/block-editor-provider/navigation-block-editor-provider.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMemo, useEffect } from '@wordpress/element';\nimport { useEntityId } from '@wordpress/core-data';\nimport {\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\nimport useSiteEditorSettings from '../use-site-editor-settings';\nimport { store as editSiteStore } from '../../../store';\nimport { NAVIGATION_POST_TYPE } from '../../../utils/constants';\n\nconst { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );\n\nconst noop = () => {};\n\n/**\n * Block editor component for editing navigation menus.\n *\n * Note: Navigation entities require a wrapping Navigation block to provide\n * them with some basic layout and styling. Therefore we create a \"ghost\" block\n * and provide it will a reference to the navigation entity ID being edited.\n *\n * In this scenario it is the **block** that handles syncing the entity content\n * whereas for other entities this is handled by entity block editor.\n *\n * @param {number} navigationMenuId the navigation menu ID\n * @return {[WPBlock[], Function, Function]} The block array and setters.\n */\nexport default function NavigationBlockEditorProvider( { children } ) {\n\tconst defaultSettings = useSiteEditorSettings();\n\n\tconst navigationMenuId = useEntityId( 'postType', NAVIGATION_POST_TYPE );\n\n\tconst blocks = useMemo( () => {\n\t\treturn [\n\t\t\tcreateBlock( 'core/navigation', {\n\t\t\t\tref: navigationMenuId,\n\t\t\t\t// As the parent editor is locked with `templateLock`, the template locking\n\t\t\t\t// must be explicitly \"unset\" on the block itself to allow the user to modify\n\t\t\t\t// the block's content.\n\t\t\t\ttemplateLock: false,\n\t\t\t} ),\n\t\t];\n\t}, [ navigationMenuId ] );\n\n\tconst { isEditMode } = useSelect( ( select ) => {\n\t\tconst { getCanvasMode } = unlock( select( editSiteStore ) );\n\n\t\treturn {\n\t\t\tisEditMode: getCanvasMode() === 'edit',\n\t\t};\n\t}, [] );\n\n\tconst { selectBlock, setBlockEditingMode, unsetBlockEditingMode } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst navigationBlockClientId = blocks && blocks[ 0 ]?.clientId;\n\n\tconst settings = useMemo( () => {\n\t\treturn {\n\t\t\t...defaultSettings,\n\t\t\t// Lock the editor to allow the root (\"ghost\") Navigation block only.\n\t\t\ttemplateLock: 'insert',\n\t\t\ttemplate: [ [ 'core/navigation', {}, [] ] ],\n\t\t};\n\t}, [ defaultSettings ] );\n\n\t// Auto-select the Navigation block when entering Navigation focus mode.\n\tuseEffect( () => {\n\t\tif ( navigationBlockClientId && isEditMode ) {\n\t\t\tselectBlock( navigationBlockClientId );\n\t\t}\n\t}, [ navigationBlockClientId, isEditMode, selectBlock ] );\n\n\t// Set block editing mode to contentOnly when entering Navigation focus mode.\n\t// This ensures that non-content controls on the block will be hidden and thus\n\t// the user can focus on editing the Navigation Menu content only.\n\tuseEffect( () => {\n\t\tif ( ! navigationBlockClientId ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetBlockEditingMode( navigationBlockClientId, 'contentOnly' );\n\n\t\treturn () => {\n\t\t\tunsetBlockEditingMode( navigationBlockClientId );\n\t\t};\n\t}, [\n\t\tnavigationBlockClientId,\n\t\tunsetBlockEditingMode,\n\t\tsetBlockEditingMode,\n\t] );\n\n\treturn (\n\t\t<ExperimentalBlockEditorProvider\n\t\t\tsettings={ settings }\n\t\t\tvalue={ blocks }\n\t\t\tonInput={ noop }\n\t\t\tonChange={ noop }\n\t\t\tuseSubRegistry={ false }\n\t\t>\n\t\t\t{ children }\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n"],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = usePageContentBlocks;
7
+ var _element = require("@wordpress/element");
8
+ var _blocks = require("@wordpress/blocks");
9
+ var _constants = require("../../../utils/constants");
10
+ /**
11
+ * WordPress dependencies
12
+ */
13
+
14
+ /**
15
+ * Internal dependencies
16
+ */
17
+
18
+ /**
19
+ * Helper method to iterate through all blocks, recursing into allowed inner blocks.
20
+ * Returns a flattened object of transformed blocks.
21
+ *
22
+ * @param {Array} blocks Blocks to flatten.
23
+ * @param {Function} transform Transforming function to be applied to each block. If transform returns `undefined`, the block is skipped.
24
+ *
25
+ * @return {Array} Flattened object.
26
+ */
27
+ function flattenBlocks(blocks, transform) {
28
+ const result = [];
29
+ for (let i = 0; i < blocks.length; i++) {
30
+ // Since the Query Block could contain PAGE_CONTENT_BLOCK_TYPES block types,
31
+ // we skip it because we only want to render stand-alone page content blocks in the block list.
32
+ if (['core/query'].includes(blocks[i].name)) {
33
+ continue;
34
+ }
35
+ const transformedBlock = transform(blocks[i]);
36
+ if (transformedBlock) {
37
+ result.push(transformedBlock);
38
+ }
39
+ result.push(...flattenBlocks(blocks[i].innerBlocks, transform));
40
+ }
41
+ return result;
42
+ }
43
+
44
+ /**
45
+ * Returns a memoized array of blocks that contain only page content blocks,
46
+ * surrounded by a group block to mimic the post editor.
47
+ *
48
+ * @param {Array} blocks Block list.
49
+ * @param {boolean} isPageContentFocused Whether the page content has focus. If `true` return page content blocks. Default `false`.
50
+ *
51
+ * @return {Array} Page content blocks.
52
+ */
53
+ function usePageContentBlocks(blocks, isPageContentFocused = false) {
54
+ return (0, _element.useMemo)(() => {
55
+ if (!isPageContentFocused || !blocks || !blocks.length) {
56
+ return [];
57
+ }
58
+ return [(0, _blocks.createBlock)('core/group', {
59
+ layout: {
60
+ type: 'constrained'
61
+ },
62
+ style: {
63
+ spacing: {
64
+ margin: {
65
+ top: '4em' // Mimics the post editor.
66
+ }
67
+ }
68
+ }
69
+ }, flattenBlocks(blocks, block => {
70
+ if (_constants.PAGE_CONTENT_BLOCK_TYPES[block.name]) {
71
+ return (0, _blocks.createBlock)(block.name);
72
+ }
73
+ }))];
74
+ }, [blocks, isPageContentFocused]);
75
+ }
76
+ //# sourceMappingURL=use-page-content-blocks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_element","require","_blocks","_constants","flattenBlocks","blocks","transform","result","i","length","includes","name","transformedBlock","push","innerBlocks","usePageContentBlocks","isPageContentFocused","useMemo","createBlock","layout","type","style","spacing","margin","top","block","PAGE_CONTENT_BLOCK_TYPES"],"sources":["@wordpress/edit-site/src/components/block-editor/block-editor-provider/use-page-content-blocks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { PAGE_CONTENT_BLOCK_TYPES } from '../../../utils/constants';\n\n/**\n * Helper method to iterate through all blocks, recursing into allowed inner blocks.\n * Returns a flattened object of transformed blocks.\n *\n * @param {Array} blocks Blocks to flatten.\n * @param {Function} transform Transforming function to be applied to each block. If transform returns `undefined`, the block is skipped.\n *\n * @return {Array} Flattened object.\n */\nfunction flattenBlocks( blocks, transform ) {\n\tconst result = [];\n\tfor ( let i = 0; i < blocks.length; i++ ) {\n\t\t// Since the Query Block could contain PAGE_CONTENT_BLOCK_TYPES block types,\n\t\t// we skip it because we only want to render stand-alone page content blocks in the block list.\n\t\tif ( [ 'core/query' ].includes( blocks[ i ].name ) ) {\n\t\t\tcontinue;\n\t\t}\n\t\tconst transformedBlock = transform( blocks[ i ] );\n\t\tif ( transformedBlock ) {\n\t\t\tresult.push( transformedBlock );\n\t\t}\n\t\tresult.push( ...flattenBlocks( blocks[ i ].innerBlocks, transform ) );\n\t}\n\n\treturn result;\n}\n\n/**\n * Returns a memoized array of blocks that contain only page content blocks,\n * surrounded by a group block to mimic the post editor.\n *\n * @param {Array} blocks Block list.\n * @param {boolean} isPageContentFocused Whether the page content has focus. If `true` return page content blocks. Default `false`.\n *\n * @return {Array} Page content blocks.\n */\nexport default function usePageContentBlocks(\n\tblocks,\n\tisPageContentFocused = false\n) {\n\treturn useMemo( () => {\n\t\tif ( ! isPageContentFocused || ! blocks || ! blocks.length ) {\n\t\t\treturn [];\n\t\t}\n\t\treturn [\n\t\t\tcreateBlock(\n\t\t\t\t'core/group',\n\t\t\t\t{\n\t\t\t\t\tlayout: { type: 'constrained' },\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tspacing: {\n\t\t\t\t\t\t\tmargin: {\n\t\t\t\t\t\t\t\ttop: '4em', // Mimics the post editor.\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tflattenBlocks( blocks, ( block ) => {\n\t\t\t\t\tif ( PAGE_CONTENT_BLOCK_TYPES[ block.name ] ) {\n\t\t\t\t\t\treturn createBlock( block.name );\n\t\t\t\t\t}\n\t\t\t\t} )\n\t\t\t),\n\t\t];\n\t}, [ blocks, isPageContentFocused ] );\n}\n"],"mappings":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAKA,IAAAE,UAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASG,aAAaA,CAAEC,MAAM,EAAEC,SAAS,EAAG;EAC3C,MAAMC,MAAM,GAAG,EAAE;EACjB,KAAM,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,MAAM,CAACI,MAAM,EAAED,CAAC,EAAE,EAAG;IACzC;IACA;IACA,IAAK,CAAE,YAAY,CAAE,CAACE,QAAQ,CAAEL,MAAM,CAAEG,CAAC,CAAE,CAACG,IAAK,CAAC,EAAG;MACpD;IACD;IACA,MAAMC,gBAAgB,GAAGN,SAAS,CAAED,MAAM,CAAEG,CAAC,CAAG,CAAC;IACjD,IAAKI,gBAAgB,EAAG;MACvBL,MAAM,CAACM,IAAI,CAAED,gBAAiB,CAAC;IAChC;IACAL,MAAM,CAACM,IAAI,CAAE,GAAGT,aAAa,CAAEC,MAAM,CAAEG,CAAC,CAAE,CAACM,WAAW,EAAER,SAAU,CAAE,CAAC;EACtE;EAEA,OAAOC,MAAM;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASQ,oBAAoBA,CAC3CV,MAAM,EACNW,oBAAoB,GAAG,KAAK,EAC3B;EACD,OAAO,IAAAC,gBAAO,EAAE,MAAM;IACrB,IAAK,CAAED,oBAAoB,IAAI,CAAEX,MAAM,IAAI,CAAEA,MAAM,CAACI,MAAM,EAAG;MAC5D,OAAO,EAAE;IACV;IACA,OAAO,CACN,IAAAS,mBAAW,EACV,YAAY,EACZ;MACCC,MAAM,EAAE;QAAEC,IAAI,EAAE;MAAc,CAAC;MAC/BC,KAAK,EAAE;QACNC,OAAO,EAAE;UACRC,MAAM,EAAE;YACPC,GAAG,EAAE,KAAK,CAAE;UACb;QACD;MACD;IACD,CAAC,EACDpB,aAAa,CAAEC,MAAM,EAAIoB,KAAK,IAAM;MACnC,IAAKC,mCAAwB,CAAED,KAAK,CAACd,IAAI,CAAE,EAAG;QAC7C,OAAO,IAAAO,mBAAW,EAAEO,KAAK,CAACd,IAAK,CAAC;MACjC;IACD,CAAE,CACH,CAAC,CACD;EACF,CAAC,EAAE,CAAEN,MAAM,EAAEW,oBAAoB,CAAG,CAAC;AACtC"}
@@ -6,14 +6,12 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = BlockEditor;
8
8
  var _element = require("@wordpress/element");
9
- var _data = require("@wordpress/data");
10
9
  var _blockEditor = require("@wordpress/block-editor");
11
10
  var _patterns = require("@wordpress/patterns");
12
11
  var _templatePartConverter = _interopRequireDefault(require("../template-part-converter"));
13
12
  var _sidebarEditMode = require("../sidebar-edit-mode");
14
- var _store = require("../../store");
15
13
  var _siteEditorCanvas = _interopRequireDefault(require("./site-editor-canvas"));
16
- var _getBlockEditorProvider = _interopRequireDefault(require("./get-block-editor-provider"));
14
+ var _blockEditorProvider = _interopRequireDefault(require("./block-editor-provider"));
17
15
  var _lockUnlock = require("../../lock-unlock");
18
16
  /**
19
17
  * WordPress dependencies
@@ -27,11 +25,6 @@ const {
27
25
  PatternsMenuItems
28
26
  } = (0, _lockUnlock.unlock)(_patterns.privateApis);
29
27
  function BlockEditor() {
30
- const entityType = (0, _data.useSelect)(select => select(_store.store).getEditedPostType(), []);
31
-
32
- // Choose the provider based on the entity type currently
33
- // being edited.
34
- const BlockEditorProvider = (0, _getBlockEditorProvider.default)(entityType);
35
- return (0, _element.createElement)(BlockEditorProvider, null, (0, _element.createElement)(_templatePartConverter.default, null), (0, _element.createElement)(_sidebarEditMode.SidebarInspectorFill, null, (0, _element.createElement)(_blockEditor.BlockInspector, null)), (0, _element.createElement)(_siteEditorCanvas.default, null), (0, _element.createElement)(PatternsMenuItems, null));
28
+ return (0, _element.createElement)(_blockEditorProvider.default, null, (0, _element.createElement)(_templatePartConverter.default, null), (0, _element.createElement)(_sidebarEditMode.SidebarInspectorFill, null, (0, _element.createElement)(_blockEditor.BlockInspector, null)), (0, _element.createElement)(_siteEditorCanvas.default, null), (0, _element.createElement)(PatternsMenuItems, null));
36
29
  }
37
30
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_blockEditor","_patterns","_templatePartConverter","_interopRequireDefault","_sidebarEditMode","_store","_siteEditorCanvas","_getBlockEditorProvider","_lockUnlock","PatternsMenuItems","unlock","editPatternsPrivateApis","BlockEditor","entityType","useSelect","select","editSiteStore","getEditedPostType","BlockEditorProvider","getBlockEditorProvider","_element","createElement","default","SidebarInspectorFill","BlockInspector"],"sources":["@wordpress/edit-site/src/components/block-editor/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { BlockInspector } from '@wordpress/block-editor';\nimport { privateApis as editPatternsPrivateApis } from '@wordpress/patterns';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartConverter from '../template-part-converter';\nimport { SidebarInspectorFill } from '../sidebar-edit-mode';\nimport { store as editSiteStore } from '../../store';\nimport SiteEditorCanvas from './site-editor-canvas';\nimport getBlockEditorProvider from './get-block-editor-provider';\n\nimport { unlock } from '../../lock-unlock';\nconst { PatternsMenuItems } = unlock( editPatternsPrivateApis );\nexport default function BlockEditor() {\n\tconst entityType = useSelect(\n\t\t( select ) => select( editSiteStore ).getEditedPostType(),\n\t\t[]\n\t);\n\n\t// Choose the provider based on the entity type currently\n\t// being edited.\n\tconst BlockEditorProvider = getBlockEditorProvider( entityType );\n\n\treturn (\n\t\t<BlockEditorProvider>\n\t\t\t<TemplatePartConverter />\n\t\t\t<SidebarInspectorFill>\n\t\t\t\t<BlockInspector />\n\t\t\t</SidebarInspectorFill>\n\n\t\t\t<SiteEditorCanvas />\n\n\t\t\t<PatternsMenuItems />\n\t\t</BlockEditorProvider>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAKA,IAAAG,sBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,iBAAA,GAAAH,sBAAA,CAAAJ,OAAA;AACA,IAAAQ,uBAAA,GAAAJ,sBAAA,CAAAJ,OAAA;AAEA,IAAAS,WAAA,GAAAT,OAAA;AAhBA;AACA;AACA;;AAKA;AACA;AACA;;AAQA,MAAM;EAAEU;AAAkB,CAAC,GAAG,IAAAC,kBAAM,EAAEC,qBAAwB,CAAC;AAChD,SAASC,WAAWA,CAAA,EAAG;EACrC,MAAMC,UAAU,GAAG,IAAAC,eAAS,EACzBC,MAAM,IAAMA,MAAM,CAAEC,YAAc,CAAC,CAACC,iBAAiB,CAAC,CAAC,EACzD,EACD,CAAC;;EAED;EACA;EACA,MAAMC,mBAAmB,GAAG,IAAAC,+BAAsB,EAAEN,UAAW,CAAC;EAEhE,OACC,IAAAO,QAAA,CAAAC,aAAA,EAACH,mBAAmB,QACnB,IAAAE,QAAA,CAAAC,aAAA,EAACnB,sBAAA,CAAAoB,OAAqB,MAAE,CAAC,EACzB,IAAAF,QAAA,CAAAC,aAAA,EAACjB,gBAAA,CAAAmB,oBAAoB,QACpB,IAAAH,QAAA,CAAAC,aAAA,EAACrB,YAAA,CAAAwB,cAAc,MAAE,CACI,CAAC,EAEvB,IAAAJ,QAAA,CAAAC,aAAA,EAACf,iBAAA,CAAAgB,OAAgB,MAAE,CAAC,EAEpB,IAAAF,QAAA,CAAAC,aAAA,EAACZ,iBAAiB,MAAE,CACA,CAAC;AAExB"}
1
+ {"version":3,"names":["_blockEditor","require","_patterns","_templatePartConverter","_interopRequireDefault","_sidebarEditMode","_siteEditorCanvas","_blockEditorProvider","_lockUnlock","PatternsMenuItems","unlock","editPatternsPrivateApis","BlockEditor","_element","createElement","default","SidebarInspectorFill","BlockInspector"],"sources":["@wordpress/edit-site/src/components/block-editor/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { BlockInspector } from '@wordpress/block-editor';\nimport { privateApis as editPatternsPrivateApis } from '@wordpress/patterns';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartConverter from '../template-part-converter';\nimport { SidebarInspectorFill } from '../sidebar-edit-mode';\nimport SiteEditorCanvas from './site-editor-canvas';\nimport BlockEditorProvider from './block-editor-provider';\n\nimport { unlock } from '../../lock-unlock';\nconst { PatternsMenuItems } = unlock( editPatternsPrivateApis );\nexport default function BlockEditor() {\n\treturn (\n\t\t<BlockEditorProvider>\n\t\t\t<TemplatePartConverter />\n\t\t\t<SidebarInspectorFill>\n\t\t\t\t<BlockInspector />\n\t\t\t</SidebarInspectorFill>\n\t\t\t<SiteEditorCanvas />\n\t\t\t<PatternsMenuItems />\n\t\t</BlockEditorProvider>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAKA,IAAAE,sBAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;AACA,IAAAK,iBAAA,GAAAF,sBAAA,CAAAH,OAAA;AACA,IAAAM,oBAAA,GAAAH,sBAAA,CAAAH,OAAA;AAEA,IAAAO,WAAA,GAAAP,OAAA;AAdA;AACA;AACA;;AAIA;AACA;AACA;;AAOA,MAAM;EAAEQ;AAAkB,CAAC,GAAG,IAAAC,kBAAM,EAAEC,qBAAwB,CAAC;AAChD,SAASC,WAAWA,CAAA,EAAG;EACrC,OACC,IAAAC,QAAA,CAAAC,aAAA,EAACP,oBAAA,CAAAQ,OAAmB,QACnB,IAAAF,QAAA,CAAAC,aAAA,EAACX,sBAAA,CAAAY,OAAqB,MAAE,CAAC,EACzB,IAAAF,QAAA,CAAAC,aAAA,EAACT,gBAAA,CAAAW,oBAAoB,QACpB,IAAAH,QAAA,CAAAC,aAAA,EAACd,YAAA,CAAAiB,cAAc,MAAE,CACI,CAAC,EACvB,IAAAJ,QAAA,CAAAC,aAAA,EAACR,iBAAA,CAAAS,OAAgB,MAAE,CAAC,EACpB,IAAAF,QAAA,CAAAC,aAAA,EAACL,iBAAiB,MAAE,CACA,CAAC;AAExB"}
@@ -74,7 +74,7 @@ function SiteEditorCanvas() {
74
74
  // Disable resizing in mobile viewport.
75
75
  !isMobileViewport;
76
76
  const contentRef = (0, _element.useRef)();
77
- const isTemplateTypeNavigation = templateType === 'wp_navigation';
77
+ const isTemplateTypeNavigation = templateType === _constants.NAVIGATION_POST_TYPE;
78
78
  const isNavigationFocusMode = isTemplateTypeNavigation && isFocusMode;
79
79
 
80
80
  // Hide the appender when:
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_data","_blockEditor","_compose","_backButton","_resizableEditor","_editorCanvas","_editorCanvasContainer","_useSiteEditorSettings","_store","_constants","_lockUnlock","_pageContentFocusManager","LAYOUT","type","alignments","SiteEditorCanvas","clearSelectedBlock","useDispatch","blockEditorStore","templateType","isFocusMode","isViewMode","useSelect","select","getEditedPostType","getCanvasMode","unlock","editSiteStore","_templateType","FOCUSABLE_ENTITIES","includes","resizeObserver","sizes","useResizeObserver","settings","useSiteEditorSettings","hasBlocks","getBlockCount","blocks","isMobileViewport","useViewportMatch","enableResizing","contentRef","useRef","isTemplateTypeNavigation","isNavigationFocusMode","showBlockAppender","undefined","forceFullHeight","createElement","Fragment","default","Slot","editorCanvasView","className","BlockTools","classnames","__unstableContentRef","onClick","event","target","currentTarget","height","BlockList","layout","renderAppender"],"sources":["@wordpress/edit-site/src/components/block-editor/site-editor-canvas.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRef } from '@wordpress/element';\nimport {\n\tBlockList,\n\tBlockTools,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useViewportMatch, useResizeObserver } from '@wordpress/compose';\n/**\n * Internal dependencies\n */\nimport BackButton from './back-button';\nimport ResizableEditor from './resizable-editor';\nimport EditorCanvas from './editor-canvas';\nimport EditorCanvasContainer from '../editor-canvas-container';\nimport useSiteEditorSettings from './use-site-editor-settings';\nimport { store as editSiteStore } from '../../store';\nimport { FOCUSABLE_ENTITIES } from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport PageContentFocusManager from '../page-content-focus-manager';\n\nconst LAYOUT = {\n\ttype: 'default',\n\t// At the root level of the site editor, no alignments should be allowed.\n\talignments: [],\n};\n\nexport default function SiteEditorCanvas() {\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\n\tconst { templateType, isFocusMode, isViewMode } = useSelect( ( select ) => {\n\t\tconst { getEditedPostType, getCanvasMode } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\n\t\tconst _templateType = getEditedPostType();\n\n\t\treturn {\n\t\t\ttemplateType: _templateType,\n\t\t\tisFocusMode: FOCUSABLE_ENTITIES.includes( _templateType ),\n\t\t\tisViewMode: getCanvasMode() === 'view',\n\t\t};\n\t}, [] );\n\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\n\tconst settings = useSiteEditorSettings();\n\n\tconst { hasBlocks } = useSelect( ( select ) => {\n\t\tconst { getBlockCount } = select( blockEditorStore );\n\n\t\tconst blocks = getBlockCount();\n\n\t\treturn {\n\t\t\thasBlocks: !! blocks,\n\t\t};\n\t}, [] );\n\n\tconst isMobileViewport = useViewportMatch( 'small', '<' );\n\tconst enableResizing =\n\t\tisFocusMode &&\n\t\t! isViewMode &&\n\t\t// Disable resizing in mobile viewport.\n\t\t! isMobileViewport;\n\n\tconst contentRef = useRef();\n\tconst isTemplateTypeNavigation = templateType === 'wp_navigation';\n\n\tconst isNavigationFocusMode = isTemplateTypeNavigation && isFocusMode;\n\n\t// Hide the appender when:\n\t// - In navigation focus mode (should only allow the root Nav block).\n\t// - In view mode (i.e. not editing).\n\tconst showBlockAppender =\n\t\t( isNavigationFocusMode && hasBlocks ) || isViewMode\n\t\t\t? false\n\t\t\t: undefined;\n\n\tconst forceFullHeight = isNavigationFocusMode;\n\n\treturn (\n\t\t<>\n\t\t\t<EditorCanvasContainer.Slot>\n\t\t\t\t{ ( [ editorCanvasView ] ) =>\n\t\t\t\t\teditorCanvasView ? (\n\t\t\t\t\t\t<div className=\"edit-site-visual-editor is-focus-mode\">\n\t\t\t\t\t\t\t{ editorCanvasView }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<BlockTools\n\t\t\t\t\t\t\tclassName={ classnames( 'edit-site-visual-editor', {\n\t\t\t\t\t\t\t\t'is-focus-mode':\n\t\t\t\t\t\t\t\t\tisFocusMode || !! editorCanvasView,\n\t\t\t\t\t\t\t\t'is-view-mode': isViewMode,\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t__unstableContentRef={ contentRef }\n\t\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\t\t// Clear selected block when clicking on the gray background.\n\t\t\t\t\t\t\t\tif ( event.target === event.currentTarget ) {\n\t\t\t\t\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BackButton />\n\t\t\t\t\t\t\t<ResizableEditor\n\t\t\t\t\t\t\t\tenableResizing={ enableResizing }\n\t\t\t\t\t\t\t\theight={\n\t\t\t\t\t\t\t\t\tsizes.height && ! forceFullHeight\n\t\t\t\t\t\t\t\t\t\t? sizes.height\n\t\t\t\t\t\t\t\t\t\t: '100%'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<EditorCanvas\n\t\t\t\t\t\t\t\t\tenableResizing={ enableResizing }\n\t\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ resizeObserver }\n\t\t\t\t\t\t\t\t\t<BlockList\n\t\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t\t'edit-site-block-editor__block-list wp-site-blocks',\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t'is-navigation-block':\n\t\t\t\t\t\t\t\t\t\t\t\t\tisTemplateTypeNavigation,\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tlayout={ LAYOUT }\n\t\t\t\t\t\t\t\t\t\trenderAppender={ showBlockAppender }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</EditorCanvas>\n\t\t\t\t\t\t\t</ResizableEditor>\n\t\t\t\t\t\t</BlockTools>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t</EditorCanvasContainer.Slot>\n\t\t\t<PageContentFocusManager contentRef={ contentRef } />\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_data","_blockEditor","_compose","_backButton","_resizableEditor","_editorCanvas","_editorCanvasContainer","_useSiteEditorSettings","_store","_constants","_lockUnlock","_pageContentFocusManager","LAYOUT","type","alignments","SiteEditorCanvas","clearSelectedBlock","useDispatch","blockEditorStore","templateType","isFocusMode","isViewMode","useSelect","select","getEditedPostType","getCanvasMode","unlock","editSiteStore","_templateType","FOCUSABLE_ENTITIES","includes","resizeObserver","sizes","useResizeObserver","settings","useSiteEditorSettings","hasBlocks","getBlockCount","blocks","isMobileViewport","useViewportMatch","enableResizing","contentRef","useRef","isTemplateTypeNavigation","NAVIGATION_POST_TYPE","isNavigationFocusMode","showBlockAppender","undefined","forceFullHeight","createElement","Fragment","default","Slot","editorCanvasView","className","BlockTools","classnames","__unstableContentRef","onClick","event","target","currentTarget","height","BlockList","layout","renderAppender"],"sources":["@wordpress/edit-site/src/components/block-editor/site-editor-canvas.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRef } from '@wordpress/element';\nimport {\n\tBlockList,\n\tBlockTools,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useViewportMatch, useResizeObserver } from '@wordpress/compose';\n/**\n * Internal dependencies\n */\nimport BackButton from './back-button';\nimport ResizableEditor from './resizable-editor';\nimport EditorCanvas from './editor-canvas';\nimport EditorCanvasContainer from '../editor-canvas-container';\nimport useSiteEditorSettings from './use-site-editor-settings';\nimport { store as editSiteStore } from '../../store';\nimport {\n\tFOCUSABLE_ENTITIES,\n\tNAVIGATION_POST_TYPE,\n} from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport PageContentFocusManager from '../page-content-focus-manager';\n\nconst LAYOUT = {\n\ttype: 'default',\n\t// At the root level of the site editor, no alignments should be allowed.\n\talignments: [],\n};\n\nexport default function SiteEditorCanvas() {\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\n\tconst { templateType, isFocusMode, isViewMode } = useSelect( ( select ) => {\n\t\tconst { getEditedPostType, getCanvasMode } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\n\t\tconst _templateType = getEditedPostType();\n\n\t\treturn {\n\t\t\ttemplateType: _templateType,\n\t\t\tisFocusMode: FOCUSABLE_ENTITIES.includes( _templateType ),\n\t\t\tisViewMode: getCanvasMode() === 'view',\n\t\t};\n\t}, [] );\n\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\n\tconst settings = useSiteEditorSettings();\n\n\tconst { hasBlocks } = useSelect( ( select ) => {\n\t\tconst { getBlockCount } = select( blockEditorStore );\n\n\t\tconst blocks = getBlockCount();\n\n\t\treturn {\n\t\t\thasBlocks: !! blocks,\n\t\t};\n\t}, [] );\n\n\tconst isMobileViewport = useViewportMatch( 'small', '<' );\n\tconst enableResizing =\n\t\tisFocusMode &&\n\t\t! isViewMode &&\n\t\t// Disable resizing in mobile viewport.\n\t\t! isMobileViewport;\n\n\tconst contentRef = useRef();\n\tconst isTemplateTypeNavigation = templateType === NAVIGATION_POST_TYPE;\n\n\tconst isNavigationFocusMode = isTemplateTypeNavigation && isFocusMode;\n\n\t// Hide the appender when:\n\t// - In navigation focus mode (should only allow the root Nav block).\n\t// - In view mode (i.e. not editing).\n\tconst showBlockAppender =\n\t\t( isNavigationFocusMode && hasBlocks ) || isViewMode\n\t\t\t? false\n\t\t\t: undefined;\n\n\tconst forceFullHeight = isNavigationFocusMode;\n\n\treturn (\n\t\t<>\n\t\t\t<EditorCanvasContainer.Slot>\n\t\t\t\t{ ( [ editorCanvasView ] ) =>\n\t\t\t\t\teditorCanvasView ? (\n\t\t\t\t\t\t<div className=\"edit-site-visual-editor is-focus-mode\">\n\t\t\t\t\t\t\t{ editorCanvasView }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<BlockTools\n\t\t\t\t\t\t\tclassName={ classnames( 'edit-site-visual-editor', {\n\t\t\t\t\t\t\t\t'is-focus-mode':\n\t\t\t\t\t\t\t\t\tisFocusMode || !! editorCanvasView,\n\t\t\t\t\t\t\t\t'is-view-mode': isViewMode,\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t__unstableContentRef={ contentRef }\n\t\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\t\t// Clear selected block when clicking on the gray background.\n\t\t\t\t\t\t\t\tif ( event.target === event.currentTarget ) {\n\t\t\t\t\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BackButton />\n\t\t\t\t\t\t\t<ResizableEditor\n\t\t\t\t\t\t\t\tenableResizing={ enableResizing }\n\t\t\t\t\t\t\t\theight={\n\t\t\t\t\t\t\t\t\tsizes.height && ! forceFullHeight\n\t\t\t\t\t\t\t\t\t\t? sizes.height\n\t\t\t\t\t\t\t\t\t\t: '100%'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<EditorCanvas\n\t\t\t\t\t\t\t\t\tenableResizing={ enableResizing }\n\t\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ resizeObserver }\n\t\t\t\t\t\t\t\t\t<BlockList\n\t\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t\t'edit-site-block-editor__block-list wp-site-blocks',\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t'is-navigation-block':\n\t\t\t\t\t\t\t\t\t\t\t\t\tisTemplateTypeNavigation,\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tlayout={ LAYOUT }\n\t\t\t\t\t\t\t\t\t\trenderAppender={ showBlockAppender }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</EditorCanvas>\n\t\t\t\t\t\t\t</ResizableEditor>\n\t\t\t\t\t\t</BlockTools>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t</EditorCanvasContainer.Slot>\n\t\t\t<PageContentFocusManager contentRef={ contentRef } />\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -14,7 +14,7 @@ var _notices = require("@wordpress/notices");
14
14
  var _coreData = require("@wordpress/core-data");
15
15
  var _icons = require("@wordpress/icons");
16
16
  var _blocks = require("@wordpress/blocks");
17
- var _constants = require("../../store/constants");
17
+ var _constants = require("../../utils/constants");
18
18
  var _templatePartCreate = require("../../utils/template-part-create");
19
19
  /**
20
20
  * WordPress dependencies
@@ -38,21 +38,19 @@ function CreateTemplatePartModal({
38
38
  } = (0, _data.useDispatch)(_coreData.store);
39
39
  const existingTemplateParts = (0, _templatePartCreate.useExistingTemplateParts)();
40
40
  const [title, setTitle] = (0, _element.useState)('');
41
- const [area, setArea] = (0, _element.useState)(_constants.TEMPLATE_PART_AREA_GENERAL);
41
+ const [area, setArea] = (0, _element.useState)(_constants.TEMPLATE_PART_AREA_DEFAULT_CATEGORY);
42
42
  const [isSubmitting, setIsSubmitting] = (0, _element.useState)(false);
43
43
  const instanceId = (0, _compose.useInstanceId)(CreateTemplatePartModal);
44
44
  const templatePartAreas = (0, _data.useSelect)(select => select(_editor.store).__experimentalGetDefaultTemplatePartAreas(), []);
45
45
  async function createTemplatePart() {
46
- if (!title) {
47
- createErrorNotice((0, _i18n.__)('Please enter a title.'), {
48
- type: 'snackbar'
49
- });
46
+ if (!title || isSubmitting) {
50
47
  return;
51
48
  }
52
49
  try {
50
+ setIsSubmitting(true);
53
51
  const uniqueTitle = (0, _templatePartCreate.getUniqueTemplatePartTitle)(title, existingTemplateParts);
54
52
  const cleanSlug = (0, _templatePartCreate.getCleanTemplatePartSlug)(uniqueTitle);
55
- const templatePart = await saveEntityRecord('postType', 'wp_template_part', {
53
+ const templatePart = await saveEntityRecord('postType', _constants.TEMPLATE_PART_POST_TYPE, {
56
54
  slug: cleanSlug,
57
55
  title: uniqueTitle,
58
56
  content: (0, _blocks.serialize)(blocks),
@@ -69,6 +67,8 @@ function CreateTemplatePartModal({
69
67
  type: 'snackbar'
70
68
  });
71
69
  onError?.();
70
+ } finally {
71
+ setIsSubmitting(false);
72
72
  }
73
73
  }
74
74
  return (0, _element.createElement)(_components.Modal, {
@@ -78,10 +78,6 @@ function CreateTemplatePartModal({
78
78
  }, (0, _element.createElement)("form", {
79
79
  onSubmit: async event => {
80
80
  event.preventDefault();
81
- if (!title) {
82
- return;
83
- }
84
- setIsSubmitting(true);
85
81
  await createTemplatePart();
86
82
  }
87
83
  }, (0, _element.createElement)(_components.__experimentalVStack, {
@@ -132,7 +128,7 @@ function CreateTemplatePartModal({
132
128
  }, (0, _i18n.__)('Cancel')), (0, _element.createElement)(_components.Button, {
133
129
  variant: "primary",
134
130
  type: "submit",
135
- disabled: !title,
131
+ "aria-disabled": !title || isSubmitting,
136
132
  isBusy: isSubmitting
137
133
  }, (0, _i18n.__)('Create'))))));
138
134
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_data","_components","_i18n","_compose","_editor","_notices","_coreData","_icons","_blocks","_constants","_templatePartCreate","CreateTemplatePartModal","closeModal","blocks","onCreate","onError","createErrorNotice","useDispatch","noticesStore","saveEntityRecord","coreStore","existingTemplateParts","useExistingTemplateParts","title","setTitle","useState","area","setArea","TEMPLATE_PART_AREA_GENERAL","isSubmitting","setIsSubmitting","instanceId","useInstanceId","templatePartAreas","useSelect","select","editorStore","__experimentalGetDefaultTemplatePartAreas","createTemplatePart","__","type","uniqueTitle","getUniqueTemplatePartTitle","cleanSlug","getCleanTemplatePartSlug","templatePart","slug","content","serialize","throwOnError","error","errorMessage","message","code","createElement","Modal","onRequestClose","overlayClassName","onSubmit","event","preventDefault","__experimentalVStack","spacing","TextControl","__nextHasNoMarginBottom","label","value","onChange","required","BaseControl","id","className","__experimentalRadioGroup","checked","map","icon","description","__experimentalRadio","key","Flex","align","justify","FlexItem","Icon","FlexBlock","check","__experimentalHStack","Button","variant","onClick","disabled","isBusy"],"sources":["@wordpress/edit-site/src/components/create-template-part-modal/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tIcon,\n\tBaseControl,\n\tTextControl,\n\tFlex,\n\tFlexItem,\n\tFlexBlock,\n\tButton,\n\tModal,\n\t__experimentalRadioGroup as RadioGroup,\n\t__experimentalRadio as Radio,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { check } from '@wordpress/icons';\nimport { serialize } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_PART_AREA_GENERAL } from '../../store/constants';\nimport {\n\tuseExistingTemplateParts,\n\tgetUniqueTemplatePartTitle,\n\tgetCleanTemplatePartSlug,\n} from '../../utils/template-part-create';\n\nexport default function CreateTemplatePartModal( {\n\tcloseModal,\n\tblocks = [],\n\tonCreate,\n\tonError,\n} ) {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst existingTemplateParts = useExistingTemplateParts();\n\n\tconst [ title, setTitle ] = useState( '' );\n\tconst [ area, setArea ] = useState( TEMPLATE_PART_AREA_GENERAL );\n\tconst [ isSubmitting, setIsSubmitting ] = useState( false );\n\tconst instanceId = useInstanceId( CreateTemplatePartModal );\n\n\tconst templatePartAreas = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).__experimentalGetDefaultTemplatePartAreas(),\n\t\t[]\n\t);\n\n\tasync function createTemplatePart() {\n\t\tif ( ! title ) {\n\t\t\tcreateErrorNotice( __( 'Please enter a title.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst uniqueTitle = getUniqueTemplatePartTitle(\n\t\t\t\ttitle,\n\t\t\t\texistingTemplateParts\n\t\t\t);\n\t\t\tconst cleanSlug = getCleanTemplatePartSlug( uniqueTitle );\n\n\t\t\tconst templatePart = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\t{\n\t\t\t\t\tslug: cleanSlug,\n\t\t\t\t\ttitle: uniqueTitle,\n\t\t\t\t\tcontent: serialize( blocks ),\n\t\t\t\t\tarea,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\t\t\tawait onCreate( templatePart );\n\n\t\t\t// TODO: Add a success notice?\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __(\n\t\t\t\t\t\t\t'An error occurred while creating the template part.'\n\t\t\t\t\t );\n\n\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\n\t\t\tonError?.();\n\t\t}\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Create template part' ) }\n\t\t\tonRequestClose={ closeModal }\n\t\t\toverlayClassName=\"edit-site-create-template-part-modal\"\n\t\t>\n\t\t\t<form\n\t\t\t\tonSubmit={ async ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif ( ! title ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tsetIsSubmitting( true );\n\t\t\t\t\tawait createTemplatePart();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<VStack spacing=\"4\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t\t<BaseControl\n\t\t\t\t\t\tlabel={ __( 'Area' ) }\n\t\t\t\t\t\tid={ `edit-site-create-template-part-modal__area-selection-${ instanceId }` }\n\t\t\t\t\t\tclassName=\"edit-site-create-template-part-modal__area-base-control\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<RadioGroup\n\t\t\t\t\t\t\tlabel={ __( 'Area' ) }\n\t\t\t\t\t\t\tclassName=\"edit-site-create-template-part-modal__area-radio-group\"\n\t\t\t\t\t\t\tid={ `edit-site-create-template-part-modal__area-selection-${ instanceId }` }\n\t\t\t\t\t\t\tonChange={ setArea }\n\t\t\t\t\t\t\tchecked={ area }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ templatePartAreas.map(\n\t\t\t\t\t\t\t\t( {\n\t\t\t\t\t\t\t\t\ticon,\n\t\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\t\tarea: value,\n\t\t\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\t\t} ) => (\n\t\t\t\t\t\t\t\t\t<Radio\n\t\t\t\t\t\t\t\t\t\tkey={ label }\n\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-create-template-part-modal__area-radio\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Flex align=\"start\" justify=\"start\">\n\t\t\t\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t\t\t<FlexBlock className=\"edit-site-create-template-part-modal__option-label\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t\t\t\t\t<div>{ description }</div>\n\t\t\t\t\t\t\t\t\t\t\t</FlexBlock>\n\n\t\t\t\t\t\t\t\t\t\t\t<FlexItem className=\"edit-site-create-template-part-modal__checkbox\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ area === value && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ check } />\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t\t\t</Radio>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</RadioGroup>\n\t\t\t\t\t</BaseControl>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tdisabled={ ! title }\n\t\t\t\t\t\t\tisBusy={ isSubmitting }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_data","_components","_i18n","_compose","_editor","_notices","_coreData","_icons","_blocks","_constants","_templatePartCreate","CreateTemplatePartModal","closeModal","blocks","onCreate","onError","createErrorNotice","useDispatch","noticesStore","saveEntityRecord","coreStore","existingTemplateParts","useExistingTemplateParts","title","setTitle","useState","area","setArea","TEMPLATE_PART_AREA_DEFAULT_CATEGORY","isSubmitting","setIsSubmitting","instanceId","useInstanceId","templatePartAreas","useSelect","select","editorStore","__experimentalGetDefaultTemplatePartAreas","createTemplatePart","uniqueTitle","getUniqueTemplatePartTitle","cleanSlug","getCleanTemplatePartSlug","templatePart","TEMPLATE_PART_POST_TYPE","slug","content","serialize","throwOnError","error","errorMessage","message","code","__","type","createElement","Modal","onRequestClose","overlayClassName","onSubmit","event","preventDefault","__experimentalVStack","spacing","TextControl","__nextHasNoMarginBottom","label","value","onChange","required","BaseControl","id","className","__experimentalRadioGroup","checked","map","icon","description","__experimentalRadio","key","Flex","align","justify","FlexItem","Icon","FlexBlock","check","__experimentalHStack","Button","variant","onClick","isBusy"],"sources":["@wordpress/edit-site/src/components/create-template-part-modal/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tIcon,\n\tBaseControl,\n\tTextControl,\n\tFlex,\n\tFlexItem,\n\tFlexBlock,\n\tButton,\n\tModal,\n\t__experimentalRadioGroup as RadioGroup,\n\t__experimentalRadio as Radio,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { check } from '@wordpress/icons';\nimport { serialize } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_PART_AREA_DEFAULT_CATEGORY,\n} from '../../utils/constants';\nimport {\n\tuseExistingTemplateParts,\n\tgetUniqueTemplatePartTitle,\n\tgetCleanTemplatePartSlug,\n} from '../../utils/template-part-create';\n\nexport default function CreateTemplatePartModal( {\n\tcloseModal,\n\tblocks = [],\n\tonCreate,\n\tonError,\n} ) {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst existingTemplateParts = useExistingTemplateParts();\n\n\tconst [ title, setTitle ] = useState( '' );\n\tconst [ area, setArea ] = useState( TEMPLATE_PART_AREA_DEFAULT_CATEGORY );\n\tconst [ isSubmitting, setIsSubmitting ] = useState( false );\n\tconst instanceId = useInstanceId( CreateTemplatePartModal );\n\n\tconst templatePartAreas = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).__experimentalGetDefaultTemplatePartAreas(),\n\t\t[]\n\t);\n\n\tasync function createTemplatePart() {\n\t\tif ( ! title || isSubmitting ) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tsetIsSubmitting( true );\n\t\t\tconst uniqueTitle = getUniqueTemplatePartTitle(\n\t\t\t\ttitle,\n\t\t\t\texistingTemplateParts\n\t\t\t);\n\t\t\tconst cleanSlug = getCleanTemplatePartSlug( uniqueTitle );\n\n\t\t\tconst templatePart = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t\t{\n\t\t\t\t\tslug: cleanSlug,\n\t\t\t\t\ttitle: uniqueTitle,\n\t\t\t\t\tcontent: serialize( blocks ),\n\t\t\t\t\tarea,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\t\t\tawait onCreate( templatePart );\n\n\t\t\t// TODO: Add a success notice?\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __(\n\t\t\t\t\t\t\t'An error occurred while creating the template part.'\n\t\t\t\t\t );\n\n\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\n\t\t\tonError?.();\n\t\t} finally {\n\t\t\tsetIsSubmitting( false );\n\t\t}\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Create template part' ) }\n\t\t\tonRequestClose={ closeModal }\n\t\t\toverlayClassName=\"edit-site-create-template-part-modal\"\n\t\t>\n\t\t\t<form\n\t\t\t\tonSubmit={ async ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tawait createTemplatePart();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<VStack spacing=\"4\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t\t<BaseControl\n\t\t\t\t\t\tlabel={ __( 'Area' ) }\n\t\t\t\t\t\tid={ `edit-site-create-template-part-modal__area-selection-${ instanceId }` }\n\t\t\t\t\t\tclassName=\"edit-site-create-template-part-modal__area-base-control\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<RadioGroup\n\t\t\t\t\t\t\tlabel={ __( 'Area' ) }\n\t\t\t\t\t\t\tclassName=\"edit-site-create-template-part-modal__area-radio-group\"\n\t\t\t\t\t\t\tid={ `edit-site-create-template-part-modal__area-selection-${ instanceId }` }\n\t\t\t\t\t\t\tonChange={ setArea }\n\t\t\t\t\t\t\tchecked={ area }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ templatePartAreas.map(\n\t\t\t\t\t\t\t\t( {\n\t\t\t\t\t\t\t\t\ticon,\n\t\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\t\tarea: value,\n\t\t\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\t\t} ) => (\n\t\t\t\t\t\t\t\t\t<Radio\n\t\t\t\t\t\t\t\t\t\tkey={ label }\n\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-create-template-part-modal__area-radio\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Flex align=\"start\" justify=\"start\">\n\t\t\t\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t\t\t<FlexBlock className=\"edit-site-create-template-part-modal__option-label\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t\t\t\t\t<div>{ description }</div>\n\t\t\t\t\t\t\t\t\t\t\t</FlexBlock>\n\n\t\t\t\t\t\t\t\t\t\t\t<FlexItem className=\"edit-site-create-template-part-modal__checkbox\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ area === value && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ check } />\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t\t\t</Radio>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</RadioGroup>\n\t\t\t\t\t</BaseControl>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\taria-disabled={ ! title || isSubmitting }\n\t\t\t\t\t\t\tisBusy={ isSubmitting }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"],"mappings":"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"}
@@ -66,6 +66,7 @@ const blockRemovalRules = {
66
66
  'core/post-template': (0, _i18n.__)('Post Template displays each post or page in a Query Loop.')
67
67
  };
68
68
  function Editor({
69
+ listViewToggleElement,
69
70
  isLoading
70
71
  }) {
71
72
  const {
@@ -190,7 +191,9 @@ function Editor({
190
191
  isDismissible: false
191
192
  }, (0, _i18n.__)("You attempted to edit an item that doesn't exist. Perhaps it was deleted?")), isEditMode && (0, _element.createElement)(_editMode.default, null)),
192
193
  contentProps: contentProps,
193
- secondarySidebar: isEditMode && (shouldShowInserter && (0, _element.createElement)(_inserterSidebar.default, null) || shouldShowListView && (0, _element.createElement)(_listViewSidebar.default, null)),
194
+ secondarySidebar: isEditMode && (shouldShowInserter && (0, _element.createElement)(_inserterSidebar.default, null) || shouldShowListView && (0, _element.createElement)(_listViewSidebar.default, {
195
+ listViewToggleElement: listViewToggleElement
196
+ })),
194
197
  sidebar: isEditMode && isRightSidebarOpen && (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_interface.ComplementaryArea.Slot, {
195
198
  scope: "core/edit-site"
196
199
  }), (0, _element.createElement)(_sidebarFixedBottom.SidebarFixedBottomSlot, null)),