@wordpress/edit-site 4.19.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/components/add-new-template/add-custom-template-modal.js +1 -0
  3. package/build/components/add-new-template/add-custom-template-modal.js.map +1 -1
  4. package/build/components/add-new-template/index.js +8 -5
  5. package/build/components/add-new-template/index.js.map +1 -1
  6. package/build/components/add-new-template/new-template-part.js +21 -6
  7. package/build/components/add-new-template/new-template-part.js.map +1 -1
  8. package/build/components/add-new-template/new-template.js +12 -8
  9. package/build/components/add-new-template/new-template.js.map +1 -1
  10. package/build/components/app/index.js +15 -30
  11. package/build/components/app/index.js.map +1 -1
  12. package/build/components/block-editor/editor-canvas.js +64 -0
  13. package/build/components/block-editor/editor-canvas.js.map +1 -0
  14. package/build/components/block-editor/index.js +61 -59
  15. package/build/components/block-editor/index.js.map +1 -1
  16. package/build/components/block-editor/resizable-editor.js +10 -44
  17. package/build/components/block-editor/resizable-editor.js.map +1 -1
  18. package/build/components/editor/index.js +80 -127
  19. package/build/components/editor/index.js.map +1 -1
  20. package/build/components/global-styles/block-preview-panel.js +42 -0
  21. package/build/components/global-styles/block-preview-panel.js.map +1 -0
  22. package/build/components/global-styles/context-menu.js +6 -2
  23. package/build/components/global-styles/context-menu.js.map +1 -1
  24. package/build/components/global-styles/custom-css.js +61 -0
  25. package/build/components/global-styles/custom-css.js.map +1 -0
  26. package/build/components/global-styles/dimensions-panel.js +2 -6
  27. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  28. package/build/components/global-styles/global-styles-provider.js +15 -2
  29. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  30. package/build/components/global-styles/hooks.js +5 -2
  31. package/build/components/global-styles/hooks.js.map +1 -1
  32. package/build/components/global-styles/palette.js +1 -1
  33. package/build/components/global-styles/palette.js.map +1 -1
  34. package/build/components/global-styles/screen-block-list.js +2 -1
  35. package/build/components/global-styles/screen-block-list.js.map +1 -1
  36. package/build/components/global-styles/screen-block.js +10 -2
  37. package/build/components/global-styles/screen-block.js.map +1 -1
  38. package/build/components/global-styles/screen-border.js +43 -0
  39. package/build/components/global-styles/screen-border.js.map +1 -0
  40. package/build/components/global-styles/screen-colors.js +1 -1
  41. package/build/components/global-styles/screen-colors.js.map +1 -1
  42. package/build/components/global-styles/screen-css.js +42 -0
  43. package/build/components/global-styles/screen-css.js.map +1 -0
  44. package/build/components/global-styles/screen-layout.js +0 -5
  45. package/build/components/global-styles/screen-layout.js.map +1 -1
  46. package/build/components/global-styles/screen-root.js +14 -1
  47. package/build/components/global-styles/screen-root.js.map +1 -1
  48. package/build/components/global-styles/screen-style-variations.js +3 -3
  49. package/build/components/global-styles/screen-style-variations.js.map +1 -1
  50. package/build/components/global-styles/ui.js +50 -4
  51. package/build/components/global-styles/ui.js.map +1 -1
  52. package/build/components/global-styles/use-global-styles-output.js +5 -1
  53. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  54. package/build/components/global-styles/utils.js +3 -3
  55. package/build/components/global-styles/utils.js.map +1 -1
  56. package/build/components/{editor/global-styles-renderer.js → global-styles-renderer/index.js} +4 -8
  57. package/build/components/global-styles-renderer/index.js.map +1 -0
  58. package/build/components/header-edit-mode/document-actions/index.js +12 -5
  59. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  60. package/build/components/header-edit-mode/index.js +19 -12
  61. package/build/components/header-edit-mode/index.js.map +1 -1
  62. package/build/components/keyboard-shortcuts/index.js +11 -1
  63. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  64. package/build/components/layout/index.js +231 -0
  65. package/build/components/layout/index.js.map +1 -0
  66. package/build/components/list/header.js +5 -1
  67. package/build/components/list/header.js.map +1 -1
  68. package/build/components/list/index.js +4 -22
  69. package/build/components/list/index.js.map +1 -1
  70. package/build/components/navigate-to-link/index.js +1 -3
  71. package/build/components/navigate-to-link/index.js.map +1 -1
  72. package/build/components/routes/index.js +1 -1
  73. package/build/components/routes/index.js.map +1 -1
  74. package/build/components/sidebar/index.js +42 -0
  75. package/build/components/sidebar/index.js.map +1 -0
  76. package/build/components/sidebar-edit-mode/global-styles-sidebar.js +24 -4
  77. package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  78. package/build/components/sidebar-edit-mode/index.js +1 -1
  79. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  80. package/build/components/sidebar-navigation-item/index.js +53 -0
  81. package/build/components/sidebar-navigation-item/index.js.map +1 -0
  82. package/build/components/sidebar-navigation-screen/index.js +49 -0
  83. package/build/components/sidebar-navigation-screen/index.js.map +1 -0
  84. package/build/components/sidebar-navigation-screen-main/index.js +76 -0
  85. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -0
  86. package/build/components/sidebar-navigation-screen-templates/index.js +188 -0
  87. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -0
  88. package/build/components/site-icon/index.js +70 -0
  89. package/build/components/site-icon/index.js.map +1 -0
  90. package/build/components/site-title/index.js +55 -0
  91. package/build/components/site-title/index.js.map +1 -0
  92. package/build/components/style-book/index.js +173 -0
  93. package/build/components/style-book/index.js.map +1 -0
  94. package/build/components/{url-query-controller/index.js → sync-state-with-url/use-init-edited-entity-from-url.js} +5 -4
  95. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -0
  96. package/build/components/sync-state-with-url/use-sync-sidebar-path-with-url.js +53 -0
  97. package/build/components/sync-state-with-url/use-sync-sidebar-path-with-url.js.map +1 -0
  98. package/build/index.js +2 -45
  99. package/build/index.js.map +1 -1
  100. package/build/store/actions.js +93 -43
  101. package/build/store/actions.js.map +1 -1
  102. package/build/store/reducer.js +35 -107
  103. package/build/store/reducer.js.map +1 -1
  104. package/build/store/selectors.js +69 -78
  105. package/build/store/selectors.js.map +1 -1
  106. package/build-module/components/add-new-template/add-custom-template-modal.js +1 -0
  107. package/build-module/components/add-new-template/add-custom-template-modal.js.map +1 -1
  108. package/build-module/components/add-new-template/index.js +7 -5
  109. package/build-module/components/add-new-template/index.js.map +1 -1
  110. package/build-module/components/add-new-template/new-template-part.js +18 -6
  111. package/build-module/components/add-new-template/new-template-part.js.map +1 -1
  112. package/build-module/components/add-new-template/new-template.js +13 -9
  113. package/build-module/components/add-new-template/new-template.js.map +1 -1
  114. package/build-module/components/app/index.js +15 -28
  115. package/build-module/components/app/index.js.map +1 -1
  116. package/build-module/components/block-editor/editor-canvas.js +51 -0
  117. package/build-module/components/block-editor/editor-canvas.js.map +1 -0
  118. package/build-module/components/block-editor/index.js +61 -60
  119. package/build-module/components/block-editor/index.js.map +1 -1
  120. package/build-module/components/block-editor/resizable-editor.js +11 -40
  121. package/build-module/components/block-editor/resizable-editor.js.map +1 -1
  122. package/build-module/components/editor/index.js +81 -124
  123. package/build-module/components/editor/index.js.map +1 -1
  124. package/build-module/components/global-styles/block-preview-panel.js +32 -0
  125. package/build-module/components/global-styles/block-preview-panel.js.map +1 -0
  126. package/build-module/components/global-styles/context-menu.js +7 -3
  127. package/build-module/components/global-styles/context-menu.js.map +1 -1
  128. package/build-module/components/global-styles/custom-css.js +51 -0
  129. package/build-module/components/global-styles/custom-css.js.map +1 -0
  130. package/build-module/components/global-styles/dimensions-panel.js +3 -7
  131. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  132. package/build-module/components/global-styles/global-styles-provider.js +15 -2
  133. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  134. package/build-module/components/global-styles/hooks.js +5 -3
  135. package/build-module/components/global-styles/hooks.js.map +1 -1
  136. package/build-module/components/global-styles/palette.js +1 -1
  137. package/build-module/components/global-styles/palette.js.map +1 -1
  138. package/build-module/components/global-styles/screen-block-list.js +2 -1
  139. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  140. package/build-module/components/global-styles/screen-block.js +8 -2
  141. package/build-module/components/global-styles/screen-block.js.map +1 -1
  142. package/build-module/components/global-styles/screen-border.js +27 -0
  143. package/build-module/components/global-styles/screen-border.js.map +1 -0
  144. package/build-module/components/global-styles/screen-colors.js +1 -1
  145. package/build-module/components/global-styles/screen-colors.js.map +1 -1
  146. package/build-module/components/global-styles/screen-css.js +28 -0
  147. package/build-module/components/global-styles/screen-css.js.map +1 -0
  148. package/build-module/components/global-styles/screen-layout.js +0 -4
  149. package/build-module/components/global-styles/screen-layout.js.map +1 -1
  150. package/build-module/components/global-styles/screen-root.js +14 -1
  151. package/build-module/components/global-styles/screen-root.js.map +1 -1
  152. package/build-module/components/global-styles/screen-style-variations.js +2 -2
  153. package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
  154. package/build-module/components/global-styles/ui.js +48 -5
  155. package/build-module/components/global-styles/ui.js.map +1 -1
  156. package/build-module/components/global-styles/use-global-styles-output.js +5 -1
  157. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  158. package/build-module/components/global-styles/utils.js +4 -4
  159. package/build-module/components/global-styles/utils.js.map +1 -1
  160. package/build-module/components/{editor/global-styles-renderer.js → global-styles-renderer/index.js} +4 -7
  161. package/build-module/components/global-styles-renderer/index.js.map +1 -0
  162. package/build-module/components/header-edit-mode/document-actions/index.js +13 -6
  163. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  164. package/build-module/components/header-edit-mode/index.js +16 -11
  165. package/build-module/components/header-edit-mode/index.js.map +1 -1
  166. package/build-module/components/keyboard-shortcuts/index.js +10 -1
  167. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  168. package/build-module/components/layout/index.js +203 -0
  169. package/build-module/components/layout/index.js.map +1 -0
  170. package/build-module/components/list/header.js +5 -1
  171. package/build-module/components/list/header.js.map +1 -1
  172. package/build-module/components/list/index.js +4 -19
  173. package/build-module/components/list/index.js.map +1 -1
  174. package/build-module/components/navigate-to-link/index.js +1 -3
  175. package/build-module/components/navigate-to-link/index.js.map +1 -1
  176. package/build-module/components/routes/index.js +1 -1
  177. package/build-module/components/routes/index.js.map +1 -1
  178. package/build-module/components/sidebar/index.js +30 -0
  179. package/build-module/components/sidebar/index.js.map +1 -0
  180. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js +27 -7
  181. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  182. package/build-module/components/sidebar-edit-mode/index.js +3 -3
  183. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  184. package/build-module/components/sidebar-navigation-item/index.js +40 -0
  185. package/build-module/components/sidebar-navigation-item/index.js.map +1 -0
  186. package/build-module/components/sidebar-navigation-screen/index.js +39 -0
  187. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -0
  188. package/build-module/components/sidebar-navigation-screen-main/index.js +57 -0
  189. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -0
  190. package/build-module/components/sidebar-navigation-screen-templates/index.js +165 -0
  191. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -0
  192. package/build-module/components/site-icon/index.js +55 -0
  193. package/build-module/components/site-icon/index.js.map +1 -0
  194. package/build-module/components/site-title/index.js +43 -0
  195. package/build-module/components/site-title/index.js.map +1 -0
  196. package/build-module/components/style-book/index.js +156 -0
  197. package/build-module/components/style-book/index.js.map +1 -0
  198. package/build-module/components/{url-query-controller/index.js → sync-state-with-url/use-init-edited-entity-from-url.js} +4 -3
  199. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -0
  200. package/build-module/components/sync-state-with-url/use-sync-sidebar-path-with-url.js +43 -0
  201. package/build-module/components/sync-state-with-url/use-sync-sidebar-path-with-url.js.map +1 -0
  202. package/build-module/index.js +5 -36
  203. package/build-module/index.js.map +1 -1
  204. package/build-module/store/actions.js +87 -42
  205. package/build-module/store/actions.js.map +1 -1
  206. package/build-module/store/reducer.js +35 -102
  207. package/build-module/store/reducer.js.map +1 -1
  208. package/build-module/store/selectors.js +60 -72
  209. package/build-module/store/selectors.js.map +1 -1
  210. package/build-style/style-rtl.css +550 -346
  211. package/build-style/style.css +550 -346
  212. package/package.json +32 -31
  213. package/src/components/add-new-template/add-custom-template-modal.js +1 -0
  214. package/src/components/add-new-template/index.js +6 -3
  215. package/src/components/add-new-template/new-template-part.js +15 -3
  216. package/src/components/add-new-template/new-template.js +14 -7
  217. package/src/components/add-new-template/style.scss +0 -4
  218. package/src/components/app/index.js +14 -43
  219. package/src/components/block-editor/editor-canvas.js +69 -0
  220. package/src/components/block-editor/index.js +102 -87
  221. package/src/components/block-editor/resizable-editor.js +9 -64
  222. package/src/components/block-editor/style.scss +25 -1
  223. package/src/components/code-editor/style.scss +1 -1
  224. package/src/components/editor/index.js +170 -236
  225. package/src/components/editor/style.scss +0 -22
  226. package/src/components/global-styles/block-preview-panel.js +29 -0
  227. package/src/components/global-styles/context-menu.js +11 -2
  228. package/src/components/global-styles/custom-css.js +73 -0
  229. package/src/components/global-styles/dimensions-panel.js +2 -5
  230. package/src/components/global-styles/global-styles-provider.js +39 -17
  231. package/src/components/global-styles/hooks.js +8 -3
  232. package/src/components/global-styles/palette.js +1 -1
  233. package/src/components/global-styles/screen-block-list.js +2 -1
  234. package/src/components/global-styles/screen-block.js +9 -1
  235. package/src/components/global-styles/screen-border.js +23 -0
  236. package/src/components/global-styles/screen-colors.js +2 -1
  237. package/src/components/global-styles/screen-css.js +33 -0
  238. package/src/components/global-styles/screen-layout.js +0 -3
  239. package/src/components/global-styles/screen-root.js +30 -1
  240. package/src/components/global-styles/screen-style-variations.js +5 -2
  241. package/src/components/global-styles/style.scss +31 -2
  242. package/src/components/global-styles/ui.js +47 -4
  243. package/src/components/global-styles/use-global-styles-output.js +5 -0
  244. package/src/components/global-styles/utils.js +8 -5
  245. package/src/components/{editor/global-styles-renderer.js → global-styles-renderer/index.js} +3 -9
  246. package/src/components/header-edit-mode/document-actions/index.js +14 -9
  247. package/src/components/header-edit-mode/document-actions/style.scss +8 -1
  248. package/src/components/header-edit-mode/index.js +96 -78
  249. package/src/components/header-edit-mode/style.scss +5 -33
  250. package/src/components/keyboard-shortcuts/index.js +13 -0
  251. package/src/components/layout/index.js +278 -0
  252. package/src/components/layout/style.scss +176 -0
  253. package/src/components/list/header.js +5 -1
  254. package/src/components/list/index.js +12 -31
  255. package/src/components/list/style.scss +10 -4
  256. package/src/components/navigate-to-link/index.js +2 -8
  257. package/src/components/routes/index.js +1 -1
  258. package/src/components/sidebar/index.js +34 -0
  259. package/src/components/sidebar/style.scss +8 -0
  260. package/src/components/sidebar-edit-mode/global-styles-sidebar.js +42 -7
  261. package/src/components/sidebar-edit-mode/index.js +3 -3
  262. package/src/components/sidebar-edit-mode/navigation-menu-sidebar/style.scss +21 -3
  263. package/src/components/sidebar-edit-mode/settings-header/style.scss +47 -34
  264. package/src/components/sidebar-edit-mode/style.scss +0 -13
  265. package/src/components/sidebar-navigation-item/index.js +51 -0
  266. package/src/components/sidebar-navigation-item/style.scss +17 -0
  267. package/src/components/sidebar-navigation-screen/index.js +55 -0
  268. package/src/components/sidebar-navigation-screen/style.scss +41 -0
  269. package/src/components/sidebar-navigation-screen-main/index.js +72 -0
  270. package/src/components/sidebar-navigation-screen-templates/index.js +181 -0
  271. package/src/components/sidebar-navigation-screen-templates/style.scss +9 -0
  272. package/src/components/site-icon/index.js +56 -0
  273. package/src/components/site-icon/style.scss +10 -0
  274. package/src/components/site-title/index.js +39 -0
  275. package/src/components/style-book/index.js +193 -0
  276. package/src/components/style-book/style.scss +78 -0
  277. package/src/components/{url-query-controller/index.js → sync-state-with-url/use-init-edited-entity-from-url.js} +3 -3
  278. package/src/components/sync-state-with-url/use-sync-sidebar-path-with-url.js +36 -0
  279. package/src/components/template-details/style.scss +4 -0
  280. package/src/index.js +3 -53
  281. package/src/store/actions.js +93 -48
  282. package/src/store/reducer.js +29 -91
  283. package/src/store/selectors.js +61 -101
  284. package/src/store/test/actions.js +3 -15
  285. package/src/store/test/reducer.js +8 -192
  286. package/src/store/test/selectors.js +3 -42
  287. package/src/style.scss +19 -3
  288. package/build/components/editor/global-styles-renderer.js.map +0 -1
  289. package/build/components/navigation-sidebar/index.js +0 -62
  290. package/build/components/navigation-sidebar/index.js.map +0 -1
  291. package/build/components/navigation-sidebar/navigation-panel/constants.js +0 -77
  292. package/build/components/navigation-sidebar/navigation-panel/constants.js.map +0 -1
  293. package/build/components/navigation-sidebar/navigation-panel/index.js +0 -152
  294. package/build/components/navigation-sidebar/navigation-panel/index.js.map +0 -1
  295. package/build/components/navigation-sidebar/navigation-panel/template-hierarchy.js +0 -81
  296. package/build/components/navigation-sidebar/navigation-panel/template-hierarchy.js.map +0 -1
  297. package/build/components/navigation-sidebar/navigation-toggle/index.js +0 -124
  298. package/build/components/navigation-sidebar/navigation-toggle/index.js.map +0 -1
  299. package/build/components/url-query-controller/index.js.map +0 -1
  300. package/build-module/components/editor/global-styles-renderer.js.map +0 -1
  301. package/build-module/components/navigation-sidebar/index.js +0 -45
  302. package/build-module/components/navigation-sidebar/index.js.map +0 -1
  303. package/build-module/components/navigation-sidebar/navigation-panel/constants.js +0 -49
  304. package/build-module/components/navigation-sidebar/navigation-panel/constants.js.map +0 -1
  305. package/build-module/components/navigation-sidebar/navigation-panel/index.js +0 -131
  306. package/build-module/components/navigation-sidebar/navigation-panel/index.js.map +0 -1
  307. package/build-module/components/navigation-sidebar/navigation-panel/template-hierarchy.js +0 -66
  308. package/build-module/components/navigation-sidebar/navigation-panel/template-hierarchy.js.map +0 -1
  309. package/build-module/components/navigation-sidebar/navigation-toggle/index.js +0 -108
  310. package/build-module/components/navigation-sidebar/navigation-toggle/index.js.map +0 -1
  311. package/build-module/components/url-query-controller/index.js.map +0 -1
  312. package/src/components/navigation-sidebar/index.js +0 -46
  313. package/src/components/navigation-sidebar/navigation-panel/constants.js +0 -94
  314. package/src/components/navigation-sidebar/navigation-panel/index.js +0 -142
  315. package/src/components/navigation-sidebar/navigation-panel/style.scss +0 -152
  316. package/src/components/navigation-sidebar/navigation-panel/template-hierarchy.js +0 -81
  317. package/src/components/navigation-sidebar/navigation-toggle/index.js +0 -114
  318. package/src/components/navigation-sidebar/navigation-toggle/style.scss +0 -71
  319. package/src/components/navigation-sidebar/navigation-toggle/test/index.js +0 -65
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/edit-site",
3
- "version": "4.19.0",
3
+ "version": "5.0.0",
4
4
  "description": "Edit Site Page module for WordPress.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -27,47 +27,48 @@
27
27
  "react-native": "src/index",
28
28
  "dependencies": {
29
29
  "@babel/runtime": "^7.16.0",
30
- "@wordpress/a11y": "^3.22.0",
31
- "@wordpress/api-fetch": "^6.19.0",
32
- "@wordpress/block-editor": "^10.5.0",
33
- "@wordpress/block-library": "^7.19.0",
34
- "@wordpress/blocks": "^11.21.0",
35
- "@wordpress/components": "^22.1.0",
36
- "@wordpress/compose": "^5.20.0",
37
- "@wordpress/core-data": "^5.5.0",
38
- "@wordpress/data": "^7.6.0",
39
- "@wordpress/deprecated": "^3.22.0",
40
- "@wordpress/editor": "^12.21.0",
41
- "@wordpress/element": "^4.20.0",
42
- "@wordpress/hooks": "^3.22.0",
43
- "@wordpress/html-entities": "^3.22.0",
44
- "@wordpress/i18n": "^4.22.0",
45
- "@wordpress/icons": "^9.13.0",
46
- "@wordpress/interface": "^4.21.0",
47
- "@wordpress/keyboard-shortcuts": "^3.20.0",
48
- "@wordpress/keycodes": "^3.22.0",
49
- "@wordpress/media-utils": "^4.13.0",
50
- "@wordpress/notices": "^3.22.0",
51
- "@wordpress/plugins": "^4.20.0",
52
- "@wordpress/preferences": "^2.14.0",
53
- "@wordpress/reusable-blocks": "^3.20.0",
54
- "@wordpress/style-engine": "^1.5.0",
55
- "@wordpress/url": "^3.23.0",
56
- "@wordpress/viewport": "^4.20.0",
30
+ "@wordpress/a11y": "^3.23.0",
31
+ "@wordpress/api-fetch": "^6.20.0",
32
+ "@wordpress/block-editor": "^11.0.0",
33
+ "@wordpress/block-library": "^8.0.0",
34
+ "@wordpress/blocks": "^12.0.0",
35
+ "@wordpress/components": "^23.0.0",
36
+ "@wordpress/compose": "^6.0.0",
37
+ "@wordpress/core-data": "^6.0.0",
38
+ "@wordpress/data": "^8.0.0",
39
+ "@wordpress/deprecated": "^3.23.0",
40
+ "@wordpress/editor": "^13.0.0",
41
+ "@wordpress/element": "^5.0.0",
42
+ "@wordpress/hooks": "^3.23.0",
43
+ "@wordpress/html-entities": "^3.23.0",
44
+ "@wordpress/i18n": "^4.23.0",
45
+ "@wordpress/icons": "^9.14.0",
46
+ "@wordpress/interface": "^5.0.0",
47
+ "@wordpress/keyboard-shortcuts": "^4.0.0",
48
+ "@wordpress/keycodes": "^3.23.0",
49
+ "@wordpress/media-utils": "^4.14.0",
50
+ "@wordpress/notices": "^3.23.0",
51
+ "@wordpress/plugins": "^5.0.0",
52
+ "@wordpress/preferences": "^3.0.0",
53
+ "@wordpress/reusable-blocks": "^4.0.0",
54
+ "@wordpress/style-engine": "^1.6.0",
55
+ "@wordpress/url": "^3.24.0",
56
+ "@wordpress/viewport": "^5.0.0",
57
57
  "classnames": "^2.3.1",
58
58
  "colord": "^2.9.2",
59
59
  "downloadjs": "^1.4.7",
60
+ "fast-deep-equal": "^3.1.3",
60
61
  "history": "^5.1.0",
61
62
  "lodash": "^4.17.21",
62
63
  "react-autosize-textarea": "^7.1.0",
63
64
  "rememo": "^4.0.0"
64
65
  },
65
66
  "peerDependencies": {
66
- "react": "^17.0.0",
67
- "react-dom": "^17.0.0"
67
+ "react": "^18.0.0",
68
+ "react-dom": "^18.0.0"
68
69
  },
69
70
  "publishConfig": {
70
71
  "access": "public"
71
72
  },
72
- "gitHead": "7ac04f446242452d3cb24372f9ca58f0cae97715"
73
+ "gitHead": "1eb65aabe6738097f4c062e78f69ae8f05879848"
73
74
  }
@@ -131,6 +131,7 @@ function SuggestionList( { entityForSuggestions, onSelect } ) {
131
131
  <>
132
132
  { showSearchControl && (
133
133
  <SearchControl
134
+ __nextHasNoMarginBottom
134
135
  onChange={ setSearch }
135
136
  value={ search }
136
137
  label={ labels.search_items }
@@ -10,7 +10,10 @@ import { store as coreStore } from '@wordpress/core-data';
10
10
  import NewTemplate from './new-template';
11
11
  import NewTemplatePart from './new-template-part';
12
12
 
13
- export default function AddNewTemplate( { templateType = 'wp_template' } ) {
13
+ export default function AddNewTemplate( {
14
+ templateType = 'wp_template',
15
+ ...props
16
+ } ) {
14
17
  const postType = useSelect(
15
18
  ( select ) => select( coreStore ).getPostType( templateType ),
16
19
  [ templateType ]
@@ -21,9 +24,9 @@ export default function AddNewTemplate( { templateType = 'wp_template' } ) {
21
24
  }
22
25
 
23
26
  if ( templateType === 'wp_template' ) {
24
- return <NewTemplate postType={ postType } />;
27
+ return <NewTemplate { ...props } postType={ postType } />;
25
28
  } else if ( templateType === 'wp_template_part' ) {
26
- return <NewTemplatePart postType={ postType } />;
29
+ return <NewTemplatePart { ...props } postType={ postType } />;
27
30
  }
28
31
 
29
32
  return null;
@@ -12,18 +12,25 @@ import { Button } from '@wordpress/components';
12
12
  import { __ } from '@wordpress/i18n';
13
13
  import { store as noticesStore } from '@wordpress/notices';
14
14
  import { store as coreStore } from '@wordpress/core-data';
15
+ import { plus } from '@wordpress/icons';
15
16
 
16
17
  /**
17
18
  * Internal dependencies
18
19
  */
19
20
  import { useHistory } from '../routes';
21
+ import { store as editSiteStore } from '../../store';
20
22
  import CreateTemplatePartModal from '../create-template-part-modal';
21
23
 
22
- export default function NewTemplatePart( { postType } ) {
24
+ export default function NewTemplatePart( {
25
+ postType,
26
+ showIcon = true,
27
+ toggleProps,
28
+ } ) {
23
29
  const history = useHistory();
24
30
  const [ isModalOpen, setIsModalOpen ] = useState( false );
25
31
  const { createErrorNotice } = useDispatch( noticesStore );
26
32
  const { saveEntityRecord } = useDispatch( coreStore );
33
+ const { __unstableSetCanvasMode } = useDispatch( editSiteStore );
27
34
 
28
35
  async function createTemplatePart( { title, area } ) {
29
36
  if ( ! title ) {
@@ -54,6 +61,9 @@ export default function NewTemplatePart( { postType } ) {
54
61
 
55
62
  setIsModalOpen( false );
56
63
 
64
+ // Switch to edit mode.
65
+ __unstableSetCanvasMode( 'edit' );
66
+
57
67
  // Navigate to the created template part editor.
58
68
  history.push( {
59
69
  postId: templatePart.id,
@@ -78,12 +88,14 @@ export default function NewTemplatePart( { postType } ) {
78
88
  return (
79
89
  <>
80
90
  <Button
81
- variant="primary"
91
+ { ...toggleProps }
82
92
  onClick={ () => {
83
93
  setIsModalOpen( true );
84
94
  } }
95
+ icon={ showIcon ? plus : null }
96
+ label={ postType.labels.add_new }
85
97
  >
86
- { postType.labels.add_new }
98
+ { showIcon ? null : postType.labels.add_new }
87
99
  </Button>
88
100
  { isModalOpen && (
89
101
  <CreateTemplatePartModal
@@ -21,6 +21,7 @@ import {
21
21
  media,
22
22
  notFound,
23
23
  page,
24
+ plus,
24
25
  post,
25
26
  postAuthor,
26
27
  postDate,
@@ -79,7 +80,11 @@ const TEMPLATE_ICONS = {
79
80
  attachment: media,
80
81
  };
81
82
 
82
- export default function NewTemplate( { postType } ) {
83
+ export default function NewTemplate( {
84
+ postType,
85
+ toggleProps,
86
+ showIcon = true,
87
+ } ) {
83
88
  const [ showCustomTemplateModal, setShowCustomTemplateModal ] =
84
89
  useState( false );
85
90
  const [
@@ -93,7 +98,8 @@ export default function NewTemplate( { postType } ) {
93
98
  const { saveEntityRecord } = useDispatch( coreStore );
94
99
  const { createErrorNotice, createSuccessNotice } =
95
100
  useDispatch( noticesStore );
96
- const { setTemplate } = useDispatch( editSiteStore );
101
+ const { setTemplate, __unstableSetCanvasMode } =
102
+ useDispatch( editSiteStore );
97
103
 
98
104
  async function createTemplate( template, isWPSuggestion = true ) {
99
105
  if ( isCreatingTemplate ) {
@@ -133,6 +139,9 @@ export default function NewTemplate( { postType } ) {
133
139
  // Set template before navigating away to avoid initial stale value.
134
140
  setTemplate( newTemplate.id, newTemplate.slug );
135
141
 
142
+ // Switch to edit mode.
143
+ __unstableSetCanvasMode( 'edit' );
144
+
136
145
  // Navigate to the created template editor.
137
146
  history.push( {
138
147
  postId: newTemplate.id,
@@ -173,15 +182,13 @@ export default function NewTemplate( { postType } ) {
173
182
  <>
174
183
  <DropdownMenu
175
184
  className="edit-site-new-template-dropdown"
176
- icon={ null }
177
- text={ postType.labels.add_new }
185
+ icon={ showIcon ? plus : null }
186
+ text={ showIcon ? null : postType.labels.add_new }
178
187
  label={ postType.labels.add_new_item }
179
188
  popoverProps={ {
180
189
  noArrow: false,
181
190
  } }
182
- toggleProps={ {
183
- variant: 'primary',
184
- } }
191
+ toggleProps={ toggleProps }
185
192
  >
186
193
  { () => (
187
194
  <>
@@ -1,8 +1,4 @@
1
1
  .edit-site-new-template-dropdown {
2
- .components-dropdown-menu__toggle {
3
- padding: 6px 12px;
4
- }
5
-
6
2
  .edit-site-new-template-dropdown__popover {
7
3
  @include break-small() {
8
4
  min-width: 300px;
@@ -1,8 +1,9 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { SlotFillProvider } from '@wordpress/components';
4
+ import { SlotFillProvider, Popover } from '@wordpress/components';
5
5
  import { UnsavedChangesWarning } from '@wordpress/editor';
6
+ import { ShortcutProvider } from '@wordpress/keyboard-shortcuts';
6
7
  import { store as noticesStore } from '@wordpress/notices';
7
8
  import { useDispatch } from '@wordpress/data';
8
9
  import { __, sprintf } from '@wordpress/i18n';
@@ -12,12 +13,9 @@ import { PluginArea } from '@wordpress/plugins';
12
13
  * Internal dependencies
13
14
  */
14
15
  import { Routes } from '../routes';
15
- import Editor from '../editor';
16
- import List from '../list';
17
- import NavigationSidebar from '../navigation-sidebar';
18
- import getIsListPage from '../../utils/get-is-list-page';
16
+ import Layout from '../layout';
19
17
 
20
- export default function EditSiteApp( { reboot, homeTemplate } ) {
18
+ export default function App( { reboot } ) {
21
19
  const { createErrorNotice } = useDispatch( noticesStore );
22
20
 
23
21
  function onPluginAreaError( name ) {
@@ -33,43 +31,16 @@ export default function EditSiteApp( { reboot, homeTemplate } ) {
33
31
  }
34
32
 
35
33
  return (
36
- <SlotFillProvider>
37
- <UnsavedChangesWarning />
34
+ <ShortcutProvider style={ { height: '100%' } }>
35
+ <SlotFillProvider>
36
+ <Popover.Slot />
37
+ <UnsavedChangesWarning />
38
38
 
39
- <Routes>
40
- { ( { params } ) => {
41
- const isListPage = getIsListPage( params );
42
-
43
- // The existence of a 'front-page' supersedes every other setting.
44
- const homeTemplateType =
45
- params.postId?.includes( 'front-page' ) ||
46
- params.postId === homeTemplate?.postId
47
- ? 'site-editor'
48
- : undefined;
49
-
50
- return (
51
- <>
52
- { isListPage ? (
53
- <List />
54
- ) : (
55
- <Editor onError={ reboot } />
56
- ) }
57
- <PluginArea onError={ onPluginAreaError } />
58
- { /* Keep the instance of the sidebar to ensure focus will not be lost
59
- * when navigating to other pages. */ }
60
- <NavigationSidebar
61
- // Open the navigation sidebar by default when in the list page.
62
- isDefaultOpen={ !! isListPage }
63
- activeTemplateType={
64
- isListPage
65
- ? params.postType
66
- : homeTemplateType
67
- }
68
- />
69
- </>
70
- );
71
- } }
72
- </Routes>
73
- </SlotFillProvider>
39
+ <Routes>
40
+ <Layout onError={ reboot } />
41
+ <PluginArea onError={ onPluginAreaError } />
42
+ </Routes>
43
+ </SlotFillProvider>
44
+ </ShortcutProvider>
74
45
  );
75
46
  }
@@ -0,0 +1,69 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import {
5
+ __experimentalUseResizeCanvas as useResizeCanvas,
6
+ __unstableEditorStyles as EditorStyles,
7
+ __unstableIframe as Iframe,
8
+ __unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,
9
+ store as blockEditorStore,
10
+ } from '@wordpress/block-editor';
11
+ import { useSelect } from '@wordpress/data';
12
+
13
+ /**
14
+ * Internal dependencies
15
+ */
16
+ import { store as editSiteStore } from '../../store';
17
+
18
+ function EditorCanvas( { enableResizing, settings, children, ...props } ) {
19
+ const { deviceType, isZoomOutMode } = useSelect(
20
+ ( select ) => ( {
21
+ deviceType:
22
+ select( editSiteStore ).__experimentalGetPreviewDeviceType(),
23
+ isZoomOutMode:
24
+ select( blockEditorStore ).__unstableGetEditorMode() ===
25
+ 'zoom-out',
26
+ } ),
27
+ []
28
+ );
29
+ const deviceStyles = useResizeCanvas( deviceType );
30
+ const mouseMoveTypingRef = useMouseMoveTypingReset();
31
+ return (
32
+ <Iframe
33
+ scale={ ( isZoomOutMode && 0.45 ) || undefined }
34
+ frameSize={ isZoomOutMode ? 100 : undefined }
35
+ style={ enableResizing ? {} : deviceStyles }
36
+ head={
37
+ <>
38
+ <EditorStyles styles={ settings.styles } />
39
+ <style>{
40
+ // Forming a "block formatting context" to prevent margin collapsing.
41
+ // @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context
42
+ `.is-root-container { display: flow-root; }
43
+ body { position: relative; }`
44
+ }</style>
45
+ { enableResizing && (
46
+ <style>
47
+ {
48
+ // Some themes will have `min-height: 100vh` for the root container,
49
+ // which isn't a requirement in auto resize mode.
50
+ `.is-root-container { min-height: 0 !important; }`
51
+ }
52
+ </style>
53
+ ) }
54
+ </>
55
+ }
56
+ assets={ settings.__unstableResolvedAssets }
57
+ ref={ mouseMoveTypingRef }
58
+ name="editor-canvas"
59
+ className="edit-site-visual-editor__editor-canvas"
60
+ { ...props }
61
+ >
62
+ { /* Filters need to be rendered before children to avoid Safari rendering issues. */ }
63
+ { settings.svgFilters }
64
+ { children }
65
+ </Iframe>
66
+ );
67
+ }
68
+
69
+ export default EditorCanvas;
@@ -8,7 +8,11 @@ import classnames from 'classnames';
8
8
  */
9
9
  import { useSelect, useDispatch } from '@wordpress/data';
10
10
  import { useCallback, useMemo, useRef, Fragment } from '@wordpress/element';
11
- import { useEntityBlockEditor, store as coreStore } from '@wordpress/core-data';
11
+ import {
12
+ useEntityBlockEditor,
13
+ __experimentalFetchMedia as fetchMedia,
14
+ store as coreStore,
15
+ } from '@wordpress/core-data';
12
16
  import {
13
17
  BlockList,
14
18
  BlockEditorProvider,
@@ -22,12 +26,15 @@ import {
22
26
  store as blockEditorStore,
23
27
  __unstableBlockNameContext,
24
28
  } from '@wordpress/block-editor';
25
- import { useMergeRefs, useViewportMatch } from '@wordpress/compose';
29
+ import {
30
+ useMergeRefs,
31
+ useViewportMatch,
32
+ useResizeObserver,
33
+ } from '@wordpress/compose';
26
34
  import { ReusableBlocksMenuItems } from '@wordpress/reusable-blocks';
27
35
  import { listView } from '@wordpress/icons';
28
36
  import { ToolbarButton, ToolbarGroup } from '@wordpress/components';
29
37
  import { __ } from '@wordpress/i18n';
30
- import { store as interfaceStore } from '@wordpress/interface';
31
38
 
32
39
  /**
33
40
  * Internal dependencies
@@ -39,6 +46,8 @@ import { store as editSiteStore } from '../../store';
39
46
  import BlockInspectorButton from './block-inspector-button';
40
47
  import BackButton from './back-button';
41
48
  import ResizableEditor from './resizable-editor';
49
+ import EditorCanvas from './editor-canvas';
50
+ import StyleBook from '../style-book';
42
51
 
43
52
  const LAYOUT = {
44
53
  type: 'default',
@@ -46,29 +55,16 @@ const LAYOUT = {
46
55
  alignments: [],
47
56
  };
48
57
 
49
- const NAVIGATION_SIDEBAR_NAME = 'edit-site/navigation-menu';
50
-
51
58
  export default function BlockEditor( { setIsInserterOpen } ) {
52
- const {
53
- storedSettings,
54
- templateType,
55
- templateId,
56
- page,
57
- isNavigationSidebarOpen,
58
- } = useSelect(
59
+ const { storedSettings, templateType, canvasMode } = useSelect(
59
60
  ( select ) => {
60
- const { getSettings, getEditedPostType, getEditedPostId, getPage } =
61
+ const { getSettings, getEditedPostType, __unstableGetCanvasMode } =
61
62
  select( editSiteStore );
62
63
 
63
64
  return {
64
65
  storedSettings: getSettings( setIsInserterOpen ),
65
66
  templateType: getEditedPostType(),
66
- templateId: getEditedPostId(),
67
- page: getPage(),
68
- isNavigationSidebarOpen:
69
- select( interfaceStore ).getActiveComplementaryArea(
70
- editSiteStore.name
71
- ) === NAVIGATION_SIDEBAR_NAME,
67
+ canvasMode: __unstableGetCanvasMode(),
72
68
  };
73
69
  },
74
70
  [ setIsInserterOpen ]
@@ -131,6 +127,7 @@ export default function BlockEditor( { setIsInserterOpen } ) {
131
127
 
132
128
  return {
133
129
  ...restStoredSettings,
130
+ __unstableFetchMedia: fetchMedia,
134
131
  __experimentalBlockPatterns: blockPatterns,
135
132
  __experimentalBlockPatternCategories: blockPatternCategories,
136
133
  };
@@ -141,44 +138,46 @@ export default function BlockEditor( { setIsInserterOpen } ) {
141
138
  templateType
142
139
  );
143
140
  const { setPage } = useDispatch( editSiteStore );
144
- const { enableComplementaryArea, disableComplementaryArea } =
145
- useDispatch( interfaceStore );
146
- const toggleNavigationSidebar = useCallback( () => {
147
- const toggleComplementaryArea = isNavigationSidebarOpen
148
- ? disableComplementaryArea
149
- : enableComplementaryArea;
150
- toggleComplementaryArea( editSiteStore.name, NAVIGATION_SIDEBAR_NAME );
151
- }, [ isNavigationSidebarOpen ] );
141
+
152
142
  const contentRef = useRef();
153
143
  const mergedRefs = useMergeRefs( [ contentRef, useTypingObserver() ] );
154
144
  const isMobileViewport = useViewportMatch( 'small', '<' );
155
145
  const { clearSelectedBlock } = useDispatch( blockEditorStore );
146
+ const [ resizeObserver, sizes ] = useResizeObserver();
156
147
 
157
148
  const isTemplatePart = templateType === 'wp_template_part';
158
149
  const hasBlocks = blocks.length !== 0;
150
+ const enableResizing =
151
+ isTemplatePart &&
152
+ canvasMode !== 'view' &&
153
+ // Disable resizing in mobile viewport.
154
+ ! isMobileViewport;
155
+ const isViewMode = canvasMode === 'view';
156
+
157
+ // eslint-disable-next-line @wordpress/data-no-store-string-literals
158
+ const { enableComplementaryArea } = useDispatch( 'core/interface' );
159
159
 
160
160
  const NavMenuSidebarToggle = () => (
161
161
  <ToolbarGroup>
162
162
  <ToolbarButton
163
163
  className="components-toolbar__control"
164
- label={
165
- isNavigationSidebarOpen
166
- ? __( 'Close list view' )
167
- : __( 'Open list view' )
164
+ label={ __( 'Open navigation list view' ) }
165
+ onClick={ () =>
166
+ enableComplementaryArea(
167
+ 'core/edit-site',
168
+ 'edit-site/block-inspector'
169
+ )
168
170
  }
169
- onClick={ toggleNavigationSidebar }
170
171
  icon={ listView }
171
- isActive={ isNavigationSidebarOpen }
172
172
  />
173
173
  </ToolbarGroup>
174
174
  );
175
175
 
176
- // Conditionally include NavMenu sidebar in Plugin only.
177
- // Optimise for dead code elimination.
178
- // See https://github.com/WordPress/gutenberg/blob/trunk/docs/how-to-guides/feature-flags.md#dead-code-elimination.
179
176
  let MaybeNavMenuSidebarToggle = Fragment;
177
+ const isOffCanvasNavigationEditorEnabled =
178
+ window?.__experimentalEnableOffCanvasNavigationEditor === true;
180
179
 
181
- if ( process.env.IS_GUTENBERG_PLUGIN ) {
180
+ if ( isOffCanvasNavigationEditorEnabled ) {
182
181
  MaybeNavMenuSidebarToggle = NavMenuSidebarToggle;
183
182
  }
184
183
 
@@ -196,64 +195,80 @@ export default function BlockEditor( { setIsInserterOpen } ) {
196
195
  ( fillProps ) => (
197
196
  <NavigateToLink
198
197
  { ...fillProps }
199
- activePage={ page }
200
198
  onActivePageChange={ setPage }
201
199
  />
202
200
  ),
203
- [ page ]
201
+ []
204
202
  ) }
205
203
  </__experimentalLinkControl.ViewerFill>
206
204
  <SidebarInspectorFill>
207
205
  <BlockInspector />
208
206
  </SidebarInspectorFill>
209
- <BlockTools
210
- className={ classnames( 'edit-site-visual-editor', {
211
- 'is-focus-mode': isTemplatePart,
212
- } ) }
213
- __unstableContentRef={ contentRef }
214
- onClick={ ( event ) => {
215
- // Clear selected block when clicking on the gray background.
216
- if ( event.target === event.currentTarget ) {
217
- clearSelectedBlock();
218
- }
219
- } }
220
- >
221
- <BlockEditorKeyboardShortcuts.Register />
222
- <BackButton />
223
- <ResizableEditor
224
- // Reinitialize the editor and reset the states when the template changes.
225
- key={ templateId }
226
- enableResizing={
227
- isTemplatePart &&
228
- // Disable resizing in mobile viewport.
229
- ! isMobileViewport
230
- }
231
- settings={ settings }
232
- contentRef={ mergedRefs }
233
- >
234
- <BlockList
235
- className="edit-site-block-editor__block-list wp-site-blocks"
236
- __experimentalLayout={ LAYOUT }
237
- renderAppender={
238
- isTemplatePart && hasBlocks ? false : undefined
239
- }
240
- />
241
- </ResizableEditor>
242
- <__unstableBlockSettingsMenuFirstItem>
243
- { ( { onClose } ) => (
244
- <BlockInspectorButton onClick={ onClose } />
245
- ) }
246
- </__unstableBlockSettingsMenuFirstItem>
247
- <__unstableBlockToolbarLastItem>
248
- <__unstableBlockNameContext.Consumer>
249
- { ( blockName ) =>
250
- blockName === 'core/navigation' && (
251
- <MaybeNavMenuSidebarToggle />
252
- )
253
- }
254
- </__unstableBlockNameContext.Consumer>
255
- </__unstableBlockToolbarLastItem>
256
- </BlockTools>
207
+ { /* Potentially this could be a generic slot (e.g. EditorCanvas.Slot) if there are other uses for it. */ }
208
+ <StyleBook.Slot>
209
+ { ( [ styleBook ] ) =>
210
+ styleBook ? (
211
+ <div className="edit-site-visual-editor is-focus-mode">
212
+ <ResizableEditor enableResizing>
213
+ { styleBook }
214
+ </ResizableEditor>
215
+ </div>
216
+ ) : (
217
+ <BlockTools
218
+ className={ classnames( 'edit-site-visual-editor', {
219
+ 'is-focus-mode': isTemplatePart || !! styleBook,
220
+ 'is-view-mode': isViewMode,
221
+ } ) }
222
+ __unstableContentRef={ contentRef }
223
+ onClick={ ( event ) => {
224
+ // Clear selected block when clicking on the gray background.
225
+ if ( event.target === event.currentTarget ) {
226
+ clearSelectedBlock();
227
+ }
228
+ } }
229
+ >
230
+ <BlockEditorKeyboardShortcuts.Register />
231
+ <BackButton />
232
+ <ResizableEditor
233
+ enableResizing={ enableResizing }
234
+ height={ sizes.height }
235
+ >
236
+ <EditorCanvas
237
+ enableResizing={ enableResizing }
238
+ settings={ settings }
239
+ contentRef={ mergedRefs }
240
+ readonly={ canvasMode === 'view' }
241
+ >
242
+ { resizeObserver }
243
+ <BlockList
244
+ className="edit-site-block-editor__block-list wp-site-blocks"
245
+ __experimentalLayout={ LAYOUT }
246
+ renderAppender={
247
+ isTemplatePart && hasBlocks
248
+ ? false
249
+ : undefined
250
+ }
251
+ />
252
+ </EditorCanvas>
253
+ </ResizableEditor>
254
+ <__unstableBlockSettingsMenuFirstItem>
255
+ { ( { onClose } ) => (
256
+ <BlockInspectorButton onClick={ onClose } />
257
+ ) }
258
+ </__unstableBlockSettingsMenuFirstItem>
259
+ <__unstableBlockToolbarLastItem>
260
+ <__unstableBlockNameContext.Consumer>
261
+ { ( blockName ) =>
262
+ blockName === 'core/navigation' && (
263
+ <MaybeNavMenuSidebarToggle />
264
+ )
265
+ }
266
+ </__unstableBlockNameContext.Consumer>
267
+ </__unstableBlockToolbarLastItem>
268
+ </BlockTools>
269
+ )
270
+ }
271
+ </StyleBook.Slot>
257
272
  <ReusableBlocksMenuItems />
258
273
  </BlockEditorProvider>
259
274
  );