@wordpress/edit-site 5.10.0 → 5.12.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 (678) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/add-new-page/index.js +105 -0
  3. package/build/components/add-new-page/index.js.map +1 -0
  4. package/build/components/add-new-template/{add-custom-generic-template-modal.js → add-custom-generic-template-modal-content.js} +9 -25
  5. package/build/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -0
  6. package/build/components/add-new-template/{add-custom-template-modal.js → add-custom-template-modal-content.js} +28 -41
  7. package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -0
  8. package/build/components/add-new-template/index.js +4 -5
  9. package/build/components/add-new-template/index.js.map +1 -1
  10. package/build/components/add-new-template/new-template-part.js +9 -12
  11. package/build/components/add-new-template/new-template-part.js.map +1 -1
  12. package/build/components/add-new-template/new-template.js +106 -80
  13. package/build/components/add-new-template/new-template.js.map +1 -1
  14. package/build/components/add-new-template/utils.js +71 -120
  15. package/build/components/add-new-template/utils.js.map +1 -1
  16. package/build/components/block-editor/back-button.js +1 -3
  17. package/build/components/block-editor/back-button.js.map +1 -1
  18. package/build/components/block-editor/block-inspector-button.js +3 -4
  19. package/build/components/block-editor/block-inspector-button.js.map +1 -1
  20. package/build/components/block-editor/editor-canvas.js +6 -7
  21. package/build/components/block-editor/editor-canvas.js.map +1 -1
  22. package/build/components/block-editor/index.js +14 -13
  23. package/build/components/block-editor/index.js.map +1 -1
  24. package/build/components/block-editor/inserter-media-categories.js +25 -42
  25. package/build/components/block-editor/inserter-media-categories.js.map +1 -1
  26. package/build/components/block-editor/resizable-editor.js +6 -7
  27. package/build/components/block-editor/resizable-editor.js.map +1 -1
  28. package/build/components/block-editor/resize-handle.js +5 -7
  29. package/build/components/block-editor/resize-handle.js.map +1 -1
  30. package/build/components/code-editor/code-editor-text-area.js +5 -6
  31. package/build/components/code-editor/code-editor-text-area.js.map +1 -1
  32. package/build/components/create-template-part-modal/index.js +30 -35
  33. package/build/components/create-template-part-modal/index.js.map +1 -1
  34. package/build/components/editor/index.js +37 -53
  35. package/build/components/editor/index.js.map +1 -1
  36. package/build/components/editor-canvas-container/index.js +15 -9
  37. package/build/components/editor-canvas-container/index.js.map +1 -1
  38. package/build/components/error-boundary/warning.js +8 -10
  39. package/build/components/error-boundary/warning.js.map +1 -1
  40. package/build/components/global-styles/block-preview-panel.js +7 -10
  41. package/build/components/global-styles/block-preview-panel.js.map +1 -1
  42. package/build/components/global-styles/color-indicator-wrapper.js +4 -5
  43. package/build/components/global-styles/color-indicator-wrapper.js.map +1 -1
  44. package/build/components/global-styles/color-palette-panel.js +3 -4
  45. package/build/components/global-styles/color-palette-panel.js.map +1 -1
  46. package/build/components/global-styles/dimensions-panel.js +1 -3
  47. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  48. package/build/components/global-styles/global-styles-provider.js +8 -10
  49. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  50. package/build/components/global-styles/gradients-palette-panel.js +3 -4
  51. package/build/components/global-styles/gradients-palette-panel.js.map +1 -1
  52. package/build/components/global-styles/header.js +4 -5
  53. package/build/components/global-styles/header.js.map +1 -1
  54. package/build/components/global-styles/icon-with-current-color.js +4 -5
  55. package/build/components/global-styles/icon-with-current-color.js.map +1 -1
  56. package/build/components/global-styles/navigation-button.js +5 -6
  57. package/build/components/global-styles/navigation-button.js.map +1 -1
  58. package/build/components/global-styles/palette.js +10 -14
  59. package/build/components/global-styles/palette.js.map +1 -1
  60. package/build/components/global-styles/preview.js +41 -51
  61. package/build/components/global-styles/preview.js.map +1 -1
  62. package/build/components/global-styles/screen-block-list.js +4 -7
  63. package/build/components/global-styles/screen-block-list.js.map +1 -1
  64. package/build/components/global-styles/screen-block.js +88 -12
  65. package/build/components/global-styles/screen-block.js.map +1 -1
  66. package/build/components/global-styles/screen-color-palette.js +3 -4
  67. package/build/components/global-styles/screen-color-palette.js.map +1 -1
  68. package/build/components/global-styles/screen-revisions/index.js +10 -17
  69. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  70. package/build/components/global-styles/screen-revisions/revisions-buttons.js +26 -33
  71. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  72. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +20 -35
  73. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  74. package/build/components/global-styles/screen-root.js +5 -5
  75. package/build/components/global-styles/screen-root.js.map +1 -1
  76. package/build/components/global-styles/screen-typography-element.js +3 -4
  77. package/build/components/global-styles/screen-typography-element.js.map +1 -1
  78. package/build/components/global-styles/screen-typography.js +5 -6
  79. package/build/components/global-styles/screen-typography.js.map +1 -1
  80. package/build/components/global-styles/style-variations-container.js +11 -16
  81. package/build/components/global-styles/style-variations-container.js.map +1 -1
  82. package/build/components/global-styles/subtitle.js +4 -5
  83. package/build/components/global-styles/subtitle.js.map +1 -1
  84. package/build/components/global-styles/typography-panel.js +4 -5
  85. package/build/components/global-styles/typography-panel.js.map +1 -1
  86. package/build/components/global-styles/typography-preview.js +5 -6
  87. package/build/components/global-styles/typography-preview.js.map +1 -1
  88. package/build/components/global-styles/ui.js +49 -30
  89. package/build/components/global-styles/ui.js.map +1 -1
  90. package/build/components/global-styles/variations-panel.js +5 -6
  91. package/build/components/global-styles/variations-panel.js.map +1 -1
  92. package/build/components/header-edit-mode/document-actions/index.js +99 -95
  93. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  94. package/build/components/header-edit-mode/index.js +16 -7
  95. package/build/components/header-edit-mode/index.js.map +1 -1
  96. package/build/components/header-edit-mode/more-menu/index.js +49 -53
  97. package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
  98. package/build/components/header-edit-mode/tools-more-menu-group/index.js +5 -14
  99. package/build/components/header-edit-mode/tools-more-menu-group/index.js.map +1 -1
  100. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +3 -4
  101. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
  102. package/build/components/keyboard-shortcut-help-modal/index.js +41 -51
  103. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  104. package/build/components/keyboard-shortcut-help-modal/shortcut.js +10 -12
  105. package/build/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  106. package/build/components/layout/hooks.js +54 -0
  107. package/build/components/layout/hooks.js.map +1 -0
  108. package/build/components/layout/index.js +33 -94
  109. package/build/components/layout/index.js.map +1 -1
  110. package/build/components/list/added-by.js +13 -23
  111. package/build/components/list/added-by.js.map +1 -1
  112. package/build/components/list/header.js +4 -7
  113. package/build/components/list/header.js.map +1 -1
  114. package/build/components/list/index.js +2 -4
  115. package/build/components/list/index.js.map +1 -1
  116. package/build/components/list/table.js +35 -40
  117. package/build/components/list/table.js.map +1 -1
  118. package/build/components/page-actions/delete-page-menu-item.js +70 -0
  119. package/build/components/page-actions/delete-page-menu-item.js.map +1 -0
  120. package/build/components/page-actions/index.js +43 -0
  121. package/build/components/page-actions/index.js.map +1 -0
  122. package/build/components/page-content-lock/constants.js +9 -0
  123. package/build/components/page-content-lock/constants.js.map +1 -0
  124. package/build/components/page-content-lock/index.js +29 -0
  125. package/build/components/page-content-lock/index.js.map +1 -0
  126. package/build/components/page-content-lock/use-disable-non-content-blocks.js +49 -0
  127. package/build/components/page-content-lock/use-disable-non-content-blocks.js.map +1 -0
  128. package/build/components/page-content-lock/use-page-content-lock-notifications.js +112 -0
  129. package/build/components/page-content-lock/use-page-content-lock-notifications.js.map +1 -0
  130. package/build/components/preferences-modal/index.js +4 -5
  131. package/build/components/preferences-modal/index.js.map +1 -1
  132. package/build/components/resizable-frame/index.js +250 -0
  133. package/build/components/resizable-frame/index.js.map +1 -0
  134. package/build/components/revisions/index.js +13 -15
  135. package/build/components/revisions/index.js.map +1 -1
  136. package/build/components/routes/link.js +8 -12
  137. package/build/components/routes/link.js.map +1 -1
  138. package/build/components/routes/use-title.js +1 -5
  139. package/build/components/routes/use-title.js.map +1 -1
  140. package/build/components/save-button/index.js +13 -7
  141. package/build/components/save-button/index.js.map +1 -1
  142. package/build/components/save-hub/index.js +97 -5
  143. package/build/components/save-hub/index.js.map +1 -1
  144. package/build/components/save-panel/index.js +63 -17
  145. package/build/components/save-panel/index.js.map +1 -1
  146. package/build/components/secondary-sidebar/list-view-sidebar.js +12 -6
  147. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  148. package/build/components/sidebar/index.js +11 -9
  149. package/build/components/sidebar/index.js.map +1 -1
  150. package/build/components/sidebar-edit-mode/default-sidebar.js +11 -12
  151. package/build/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
  152. package/build/components/sidebar-edit-mode/index.js +13 -10
  153. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  154. package/build/components/sidebar-edit-mode/page-panels/content-blocks-list.js +79 -0
  155. package/build/components/sidebar-edit-mode/page-panels/content-blocks-list.js.map +1 -0
  156. package/build/components/sidebar-edit-mode/page-panels/index.js +86 -0
  157. package/build/components/sidebar-edit-mode/page-panels/index.js.map +1 -0
  158. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js +4 -5
  159. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  160. package/build/components/sidebar-edit-mode/settings-header/index.js +39 -21
  161. package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  162. package/build/components/sidebar-edit-mode/sidebar-card/index.js +46 -0
  163. package/build/components/sidebar-edit-mode/sidebar-card/index.js.map +1 -0
  164. package/build/components/sidebar-edit-mode/sidebar-fixed-bottom.js +3 -4
  165. package/build/components/sidebar-edit-mode/sidebar-fixed-bottom.js.map +1 -1
  166. package/build/components/sidebar-edit-mode/{template-card → template-panel}/index.js +22 -18
  167. package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -0
  168. package/build/components/sidebar-edit-mode/{template-revisions/index.js → template-panel/last-revision.js} +7 -8
  169. package/build/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -0
  170. package/build/components/sidebar-edit-mode/{template-card → template-panel}/template-actions.js +12 -16
  171. package/build/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -0
  172. package/build/components/sidebar-edit-mode/{template-card → template-panel}/template-areas.js +15 -19
  173. package/build/components/sidebar-edit-mode/template-panel/template-areas.js.map +1 -0
  174. package/build/components/sidebar-navigation-item/index.js +7 -8
  175. package/build/components/sidebar-navigation-item/index.js.map +1 -1
  176. package/build/components/sidebar-navigation-screen/index.js +21 -14
  177. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  178. package/build/components/sidebar-navigation-screen-global-styles/index.js +166 -12
  179. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  180. package/build/components/sidebar-navigation-screen-main/index.js +24 -33
  181. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  182. package/build/components/sidebar-navigation-screen-navigation-item/index.js +3 -5
  183. package/build/components/sidebar-navigation-screen-navigation-item/index.js.map +1 -1
  184. package/build/components/sidebar-navigation-screen-navigation-menu/index.js +159 -0
  185. package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -0
  186. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js +17 -0
  187. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -0
  188. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +51 -107
  189. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  190. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +84 -0
  191. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -0
  192. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +16 -74
  193. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  194. package/build/components/sidebar-navigation-screen-navigation-menus/navigator-button.js +52 -0
  195. package/build/components/sidebar-navigation-screen-navigation-menus/navigator-button.js.map +1 -0
  196. package/build/components/sidebar-navigation-screen-page/index.js +81 -10
  197. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
  198. package/build/components/sidebar-navigation-screen-page/page-details.js +148 -0
  199. package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -0
  200. package/build/components/sidebar-navigation-screen-page/status-label.js +110 -0
  201. package/build/components/sidebar-navigation-screen-page/status-label.js.map +1 -0
  202. package/build/components/sidebar-navigation-screen-pages/index.js +128 -17
  203. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  204. package/build/components/sidebar-navigation-screen-template/index.js +22 -16
  205. package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
  206. package/build/components/sidebar-navigation-screen-template-part/index.js +105 -0
  207. package/build/components/sidebar-navigation-screen-template-part/index.js.map +1 -0
  208. package/build/components/sidebar-navigation-screen-templates/index.js +44 -24
  209. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  210. package/build/components/sidebar-navigation-subtitle/index.js +3 -4
  211. package/build/components/sidebar-navigation-subtitle/index.js.map +1 -1
  212. package/build/components/site-hub/index.js +20 -15
  213. package/build/components/site-hub/index.js.map +1 -1
  214. package/build/components/site-icon/index.js +4 -5
  215. package/build/components/site-icon/index.js.map +1 -1
  216. package/build/components/start-template-options/index.js +15 -21
  217. package/build/components/start-template-options/index.js.map +1 -1
  218. package/build/components/style-book/index.js +107 -37
  219. package/build/components/style-book/index.js.map +1 -1
  220. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +2 -2
  221. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  222. package/build/components/sync-state-with-url/use-sync-path-with-url.js +9 -10
  223. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  224. package/build/components/{list/actions → template-actions}/index.js +39 -33
  225. package/build/components/template-actions/index.js.map +1 -0
  226. package/build/components/{list/actions → template-actions}/rename-menu-item.js +4 -5
  227. package/build/components/template-actions/rename-menu-item.js.map +1 -0
  228. package/build/components/template-part-converter/convert-to-regular.js +4 -5
  229. package/build/components/template-part-converter/convert-to-regular.js.map +1 -1
  230. package/build/components/template-part-converter/convert-to-template-part.js +8 -10
  231. package/build/components/template-part-converter/convert-to-template-part.js.map +1 -1
  232. package/build/components/template-part-converter/index.js +12 -18
  233. package/build/components/template-part-converter/index.js.map +1 -1
  234. package/build/components/use-edited-entity-record/index.js +8 -4
  235. package/build/components/use-edited-entity-record/index.js.map +1 -1
  236. package/build/components/welcome-guide/image.js +4 -5
  237. package/build/components/welcome-guide/image.js.map +1 -1
  238. package/build/hooks/commands/use-edit-mode-commands.js +103 -0
  239. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -0
  240. package/build/hooks/push-changes-to-global-styles/index.js +11 -8
  241. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  242. package/build/hooks/template-part-edit.js +5 -6
  243. package/build/hooks/template-part-edit.js.map +1 -1
  244. package/build/index.js +3 -6
  245. package/build/index.js.map +1 -1
  246. package/build/store/actions.js +131 -125
  247. package/build/store/actions.js.map +1 -1
  248. package/build/store/private-actions.js +7 -10
  249. package/build/store/private-actions.js.map +1 -1
  250. package/build/store/reducer.js +32 -33
  251. package/build/store/reducer.js.map +1 -1
  252. package/build/store/selectors.js +35 -11
  253. package/build/store/selectors.js.map +1 -1
  254. package/build/store/utils.js +1 -3
  255. package/build/store/utils.js.map +1 -1
  256. package/build/utils/get-is-list-page.js +3 -4
  257. package/build/utils/get-is-list-page.js.map +1 -1
  258. package/build/utils/is-previewing-theme.js +1 -3
  259. package/build/utils/is-previewing-theme.js.map +1 -1
  260. package/build/utils/is-template-revertable.js +1 -1
  261. package/build/utils/is-template-revertable.js.map +1 -1
  262. package/build-module/components/add-new-page/index.js +93 -0
  263. package/build-module/components/add-new-page/index.js.map +1 -0
  264. package/build-module/components/add-new-template/{add-custom-generic-template-modal.js → add-custom-generic-template-modal-content.js} +10 -23
  265. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -0
  266. package/build-module/components/add-new-template/{add-custom-template-modal.js → add-custom-template-modal-content.js} +30 -42
  267. package/build-module/components/add-new-template/add-custom-template-modal-content.js.map +1 -0
  268. package/build-module/components/add-new-template/index.js +4 -5
  269. package/build-module/components/add-new-template/index.js.map +1 -1
  270. package/build-module/components/add-new-template/new-template-part.js +9 -12
  271. package/build-module/components/add-new-template/new-template-part.js.map +1 -1
  272. package/build-module/components/add-new-template/new-template.js +105 -82
  273. package/build-module/components/add-new-template/new-template.js.map +1 -1
  274. package/build-module/components/add-new-template/utils.js +71 -120
  275. package/build-module/components/add-new-template/utils.js.map +1 -1
  276. package/build-module/components/block-editor/back-button.js +1 -3
  277. package/build-module/components/block-editor/back-button.js.map +1 -1
  278. package/build-module/components/block-editor/block-inspector-button.js +3 -4
  279. package/build-module/components/block-editor/block-inspector-button.js.map +1 -1
  280. package/build-module/components/block-editor/editor-canvas.js +6 -7
  281. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  282. package/build-module/components/block-editor/index.js +13 -13
  283. package/build-module/components/block-editor/index.js.map +1 -1
  284. package/build-module/components/block-editor/inserter-media-categories.js +25 -42
  285. package/build-module/components/block-editor/inserter-media-categories.js.map +1 -1
  286. package/build-module/components/block-editor/resizable-editor.js +6 -7
  287. package/build-module/components/block-editor/resizable-editor.js.map +1 -1
  288. package/build-module/components/block-editor/resize-handle.js +5 -7
  289. package/build-module/components/block-editor/resize-handle.js.map +1 -1
  290. package/build-module/components/code-editor/code-editor-text-area.js +5 -6
  291. package/build-module/components/code-editor/code-editor-text-area.js.map +1 -1
  292. package/build-module/components/create-template-part-modal/index.js +31 -36
  293. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  294. package/build-module/components/editor/index.js +38 -56
  295. package/build-module/components/editor/index.js.map +1 -1
  296. package/build-module/components/editor-canvas-container/index.js +12 -9
  297. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  298. package/build-module/components/error-boundary/warning.js +8 -10
  299. package/build-module/components/error-boundary/warning.js.map +1 -1
  300. package/build-module/components/global-styles/block-preview-panel.js +7 -10
  301. package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
  302. package/build-module/components/global-styles/color-indicator-wrapper.js +4 -5
  303. package/build-module/components/global-styles/color-indicator-wrapper.js.map +1 -1
  304. package/build-module/components/global-styles/color-palette-panel.js +3 -4
  305. package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
  306. package/build-module/components/global-styles/dimensions-panel.js +1 -3
  307. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  308. package/build-module/components/global-styles/global-styles-provider.js +8 -10
  309. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  310. package/build-module/components/global-styles/gradients-palette-panel.js +3 -4
  311. package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -1
  312. package/build-module/components/global-styles/header.js +4 -5
  313. package/build-module/components/global-styles/header.js.map +1 -1
  314. package/build-module/components/global-styles/icon-with-current-color.js +4 -5
  315. package/build-module/components/global-styles/icon-with-current-color.js.map +1 -1
  316. package/build-module/components/global-styles/navigation-button.js +5 -6
  317. package/build-module/components/global-styles/navigation-button.js.map +1 -1
  318. package/build-module/components/global-styles/palette.js +10 -14
  319. package/build-module/components/global-styles/palette.js.map +1 -1
  320. package/build-module/components/global-styles/preview.js +41 -51
  321. package/build-module/components/global-styles/preview.js.map +1 -1
  322. package/build-module/components/global-styles/screen-block-list.js +4 -7
  323. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  324. package/build-module/components/global-styles/screen-block.js +90 -13
  325. package/build-module/components/global-styles/screen-block.js.map +1 -1
  326. package/build-module/components/global-styles/screen-color-palette.js +3 -4
  327. package/build-module/components/global-styles/screen-color-palette.js.map +1 -1
  328. package/build-module/components/global-styles/screen-revisions/index.js +10 -17
  329. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  330. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +26 -34
  331. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  332. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +20 -34
  333. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  334. package/build-module/components/global-styles/screen-root.js +5 -5
  335. package/build-module/components/global-styles/screen-root.js.map +1 -1
  336. package/build-module/components/global-styles/screen-typography-element.js +3 -4
  337. package/build-module/components/global-styles/screen-typography-element.js.map +1 -1
  338. package/build-module/components/global-styles/screen-typography.js +5 -6
  339. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  340. package/build-module/components/global-styles/style-variations-container.js +12 -17
  341. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  342. package/build-module/components/global-styles/subtitle.js +4 -5
  343. package/build-module/components/global-styles/subtitle.js.map +1 -1
  344. package/build-module/components/global-styles/typography-panel.js +4 -5
  345. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  346. package/build-module/components/global-styles/typography-preview.js +5 -6
  347. package/build-module/components/global-styles/typography-preview.js.map +1 -1
  348. package/build-module/components/global-styles/ui.js +50 -31
  349. package/build-module/components/global-styles/ui.js.map +1 -1
  350. package/build-module/components/global-styles/variations-panel.js +5 -6
  351. package/build-module/components/global-styles/variations-panel.js.map +1 -1
  352. package/build-module/components/header-edit-mode/document-actions/index.js +99 -97
  353. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  354. package/build-module/components/header-edit-mode/index.js +16 -8
  355. package/build-module/components/header-edit-mode/index.js.map +1 -1
  356. package/build-module/components/header-edit-mode/more-menu/index.js +49 -53
  357. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
  358. package/build-module/components/header-edit-mode/tools-more-menu-group/index.js +5 -13
  359. package/build-module/components/header-edit-mode/tools-more-menu-group/index.js.map +1 -1
  360. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +3 -4
  361. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
  362. package/build-module/components/keyboard-shortcut-help-modal/index.js +39 -49
  363. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  364. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +10 -12
  365. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  366. package/build-module/components/layout/hooks.js +41 -0
  367. package/build-module/components/layout/hooks.js.map +1 -0
  368. package/build-module/components/layout/index.js +34 -97
  369. package/build-module/components/layout/index.js.map +1 -1
  370. package/build-module/components/list/added-by.js +13 -23
  371. package/build-module/components/list/added-by.js.map +1 -1
  372. package/build-module/components/list/header.js +4 -7
  373. package/build-module/components/list/header.js.map +1 -1
  374. package/build-module/components/list/index.js +2 -4
  375. package/build-module/components/list/index.js.map +1 -1
  376. package/build-module/components/list/table.js +34 -39
  377. package/build-module/components/list/table.js.map +1 -1
  378. package/build-module/components/page-actions/delete-page-menu-item.js +58 -0
  379. package/build-module/components/page-actions/delete-page-menu-item.js.map +1 -0
  380. package/build-module/components/page-actions/index.js +30 -0
  381. package/build-module/components/page-actions/index.js.map +1 -0
  382. package/build-module/components/page-content-lock/constants.js +2 -0
  383. package/build-module/components/page-content-lock/constants.js.map +1 -0
  384. package/build-module/components/page-content-lock/index.js +14 -0
  385. package/build-module/components/page-content-lock/index.js.map +1 -0
  386. package/build-module/components/page-content-lock/use-disable-non-content-blocks.js +36 -0
  387. package/build-module/components/page-content-lock/use-disable-non-content-blocks.js.map +1 -0
  388. package/build-module/components/page-content-lock/use-page-content-lock-notifications.js +98 -0
  389. package/build-module/components/page-content-lock/use-page-content-lock-notifications.js.map +1 -0
  390. package/build-module/components/preferences-modal/index.js +4 -5
  391. package/build-module/components/preferences-modal/index.js.map +1 -1
  392. package/build-module/components/resizable-frame/index.js +236 -0
  393. package/build-module/components/resizable-frame/index.js.map +1 -0
  394. package/build-module/components/revisions/index.js +13 -14
  395. package/build-module/components/revisions/index.js.map +1 -1
  396. package/build-module/components/routes/link.js +8 -12
  397. package/build-module/components/routes/link.js.map +1 -1
  398. package/build-module/components/routes/use-title.js +1 -5
  399. package/build-module/components/routes/use-title.js.map +1 -1
  400. package/build-module/components/save-button/index.js +13 -7
  401. package/build-module/components/save-button/index.js.map +1 -1
  402. package/build-module/components/save-hub/index.js +95 -8
  403. package/build-module/components/save-hub/index.js.map +1 -1
  404. package/build-module/components/save-panel/index.js +62 -19
  405. package/build-module/components/save-panel/index.js.map +1 -1
  406. package/build-module/components/secondary-sidebar/list-view-sidebar.js +12 -6
  407. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  408. package/build-module/components/sidebar/index.js +9 -8
  409. package/build-module/components/sidebar/index.js.map +1 -1
  410. package/build-module/components/sidebar-edit-mode/default-sidebar.js +11 -12
  411. package/build-module/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
  412. package/build-module/components/sidebar-edit-mode/index.js +14 -11
  413. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  414. package/build-module/components/sidebar-edit-mode/page-panels/content-blocks-list.js +67 -0
  415. package/build-module/components/sidebar-edit-mode/page-panels/content-blocks-list.js.map +1 -0
  416. package/build-module/components/sidebar-edit-mode/page-panels/index.js +67 -0
  417. package/build-module/components/sidebar-edit-mode/page-panels/index.js.map +1 -0
  418. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js +4 -5
  419. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  420. package/build-module/components/sidebar-edit-mode/settings-header/index.js +36 -22
  421. package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  422. package/build-module/components/sidebar-edit-mode/sidebar-card/index.js +35 -0
  423. package/build-module/components/sidebar-edit-mode/sidebar-card/index.js.map +1 -0
  424. package/build-module/components/sidebar-edit-mode/sidebar-fixed-bottom.js +3 -4
  425. package/build-module/components/sidebar-edit-mode/sidebar-fixed-bottom.js.map +1 -1
  426. package/build-module/components/sidebar-edit-mode/{template-card → template-panel}/index.js +20 -19
  427. package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -0
  428. package/build-module/components/sidebar-edit-mode/{template-revisions/index.js → template-panel/last-revision.js} +7 -8
  429. package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -0
  430. package/build-module/components/sidebar-edit-mode/{template-card → template-panel}/template-actions.js +12 -16
  431. package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -0
  432. package/build-module/components/sidebar-edit-mode/{template-card → template-panel}/template-areas.js +15 -19
  433. package/build-module/components/sidebar-edit-mode/template-panel/template-areas.js.map +1 -0
  434. package/build-module/components/sidebar-navigation-item/index.js +7 -8
  435. package/build-module/components/sidebar-navigation-item/index.js.map +1 -1
  436. package/build-module/components/sidebar-navigation-screen/index.js +22 -15
  437. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  438. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +161 -15
  439. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  440. package/build-module/components/sidebar-navigation-screen-main/index.js +21 -32
  441. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  442. package/build-module/components/sidebar-navigation-screen-navigation-item/index.js +3 -5
  443. package/build-module/components/sidebar-navigation-screen-navigation-item/index.js.map +1 -1
  444. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js +138 -0
  445. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -0
  446. package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js +10 -0
  447. package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -0
  448. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +49 -106
  449. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  450. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +68 -0
  451. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -0
  452. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +14 -74
  453. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  454. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigator-button.js +39 -0
  455. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigator-button.js.map +1 -0
  456. package/build-module/components/sidebar-navigation-screen-page/index.js +79 -14
  457. package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
  458. package/build-module/components/sidebar-navigation-screen-page/page-details.js +131 -0
  459. package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +1 -0
  460. package/build-module/components/sidebar-navigation-screen-page/status-label.js +97 -0
  461. package/build-module/components/sidebar-navigation-screen-page/status-label.js.map +1 -0
  462. package/build-module/components/sidebar-navigation-screen-pages/index.js +125 -19
  463. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  464. package/build-module/components/sidebar-navigation-screen-template/index.js +22 -17
  465. package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
  466. package/build-module/components/sidebar-navigation-screen-template-part/index.js +86 -0
  467. package/build-module/components/sidebar-navigation-screen-template-part/index.js.map +1 -0
  468. package/build-module/components/sidebar-navigation-screen-templates/index.js +43 -24
  469. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  470. package/build-module/components/sidebar-navigation-subtitle/index.js +3 -4
  471. package/build-module/components/sidebar-navigation-subtitle/index.js.map +1 -1
  472. package/build-module/components/site-hub/index.js +21 -16
  473. package/build-module/components/site-hub/index.js.map +1 -1
  474. package/build-module/components/site-icon/index.js +4 -5
  475. package/build-module/components/site-icon/index.js.map +1 -1
  476. package/build-module/components/start-template-options/index.js +15 -21
  477. package/build-module/components/start-template-options/index.js.map +1 -1
  478. package/build-module/components/style-book/index.js +107 -38
  479. package/build-module/components/style-book/index.js.map +1 -1
  480. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +2 -2
  481. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  482. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +9 -10
  483. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  484. package/build-module/components/template-actions/index.js +92 -0
  485. package/build-module/components/template-actions/index.js.map +1 -0
  486. package/build-module/components/{list/actions → template-actions}/rename-menu-item.js +4 -5
  487. package/build-module/components/template-actions/rename-menu-item.js.map +1 -0
  488. package/build-module/components/template-part-converter/convert-to-regular.js +4 -5
  489. package/build-module/components/template-part-converter/convert-to-regular.js.map +1 -1
  490. package/build-module/components/template-part-converter/convert-to-template-part.js +8 -10
  491. package/build-module/components/template-part-converter/convert-to-template-part.js.map +1 -1
  492. package/build-module/components/template-part-converter/index.js +12 -18
  493. package/build-module/components/template-part-converter/index.js.map +1 -1
  494. package/build-module/components/use-edited-entity-record/index.js +8 -4
  495. package/build-module/components/use-edited-entity-record/index.js.map +1 -1
  496. package/build-module/components/welcome-guide/image.js +4 -5
  497. package/build-module/components/welcome-guide/image.js.map +1 -1
  498. package/build-module/hooks/commands/use-edit-mode-commands.js +84 -0
  499. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -0
  500. package/build-module/hooks/push-changes-to-global-styles/index.js +11 -8
  501. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  502. package/build-module/hooks/template-part-edit.js +5 -6
  503. package/build-module/hooks/template-part-edit.js.map +1 -1
  504. package/build-module/index.js +3 -6
  505. package/build-module/index.js.map +1 -1
  506. package/build-module/store/actions.js +127 -126
  507. package/build-module/store/actions.js.map +1 -1
  508. package/build-module/store/private-actions.js +7 -10
  509. package/build-module/store/private-actions.js.map +1 -1
  510. package/build-module/store/reducer.js +30 -33
  511. package/build-module/store/reducer.js.map +1 -1
  512. package/build-module/store/selectors.js +31 -11
  513. package/build-module/store/selectors.js.map +1 -1
  514. package/build-module/store/utils.js +1 -3
  515. package/build-module/store/utils.js.map +1 -1
  516. package/build-module/utils/get-is-list-page.js +3 -4
  517. package/build-module/utils/get-is-list-page.js.map +1 -1
  518. package/build-module/utils/is-previewing-theme.js +1 -3
  519. package/build-module/utils/is-previewing-theme.js.map +1 -1
  520. package/build-module/utils/is-template-revertable.js +1 -1
  521. package/build-module/utils/is-template-revertable.js.map +1 -1
  522. package/build-style/style-rtl.css +477 -232
  523. package/build-style/style.css +478 -232
  524. package/package.json +40 -37
  525. package/src/components/add-new-page/index.js +105 -0
  526. package/src/components/add-new-template/add-custom-generic-template-modal-content.js +82 -0
  527. package/src/components/add-new-template/{add-custom-template-modal.js → add-custom-template-modal-content.js} +13 -26
  528. package/src/components/add-new-template/new-template.js +141 -154
  529. package/src/components/add-new-template/style.scss +79 -66
  530. package/src/components/block-editor/index.js +27 -17
  531. package/src/components/create-template-part-modal/index.js +19 -25
  532. package/src/components/editor/index.js +30 -53
  533. package/src/components/editor/style.scss +11 -1
  534. package/src/components/editor-canvas-container/index.js +28 -19
  535. package/src/components/global-styles/screen-block.js +74 -3
  536. package/src/components/global-styles/screen-revisions/index.js +3 -11
  537. package/src/components/global-styles/screen-revisions/revisions-buttons.js +33 -25
  538. package/src/components/global-styles/screen-revisions/style.scss +3 -2
  539. package/src/components/global-styles/screen-revisions/test/use-global-styles-revisions.js +16 -3
  540. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +22 -24
  541. package/src/components/global-styles/screen-root.js +5 -3
  542. package/src/components/global-styles/style-variations-container.js +13 -18
  543. package/src/components/global-styles/style.scss +3 -0
  544. package/src/components/global-styles/ui.js +39 -9
  545. package/src/components/header-edit-mode/document-actions/index.js +112 -121
  546. package/src/components/header-edit-mode/document-actions/style.scss +78 -54
  547. package/src/components/header-edit-mode/index.js +18 -0
  548. package/src/components/header-edit-mode/style.scss +1 -0
  549. package/src/components/header-edit-mode/tools-more-menu-group/index.js +1 -6
  550. package/src/components/layout/hooks.js +46 -0
  551. package/src/components/layout/index.js +47 -122
  552. package/src/components/layout/style.scss +8 -2
  553. package/src/components/list/style.scss +1 -0
  554. package/src/components/list/table.js +6 -2
  555. package/src/components/page-actions/delete-page-menu-item.js +71 -0
  556. package/src/components/page-actions/index.js +36 -0
  557. package/src/components/page-content-lock/constants.js +5 -0
  558. package/src/components/page-content-lock/index.js +14 -0
  559. package/src/components/page-content-lock/use-disable-non-content-blocks.js +44 -0
  560. package/src/components/page-content-lock/use-page-content-lock-notifications.js +128 -0
  561. package/src/components/resizable-frame/index.js +263 -0
  562. package/src/components/resizable-frame/style.scss +71 -0
  563. package/src/components/revisions/index.js +7 -7
  564. package/src/components/save-button/index.js +6 -0
  565. package/src/components/save-hub/index.js +143 -38
  566. package/src/components/save-hub/style.scss +6 -0
  567. package/src/components/save-panel/index.js +62 -15
  568. package/src/components/secondary-sidebar/list-view-sidebar.js +10 -2
  569. package/src/components/sidebar/index.js +10 -8
  570. package/src/components/sidebar/style.scss +3 -4
  571. package/src/components/sidebar-edit-mode/index.js +16 -14
  572. package/src/components/sidebar-edit-mode/page-panels/content-blocks-list.js +77 -0
  573. package/src/components/sidebar-edit-mode/page-panels/index.js +89 -0
  574. package/src/components/sidebar-edit-mode/page-panels/style.scss +10 -0
  575. package/src/components/sidebar-edit-mode/settings-header/index.js +51 -28
  576. package/src/components/sidebar-edit-mode/sidebar-card/index.js +34 -0
  577. package/src/components/sidebar-edit-mode/sidebar-card/style.scss +34 -0
  578. package/src/components/sidebar-edit-mode/{template-card → template-panel}/index.js +22 -19
  579. package/src/components/sidebar-edit-mode/{template-revisions/index.js → template-panel/last-revision.js} +1 -2
  580. package/src/components/sidebar-edit-mode/{template-card → template-panel}/style.scss +2 -32
  581. package/src/components/sidebar-navigation-item/style.scss +9 -0
  582. package/src/components/sidebar-navigation-screen/index.js +74 -50
  583. package/src/components/sidebar-navigation-screen/style.scss +46 -6
  584. package/src/components/sidebar-navigation-screen-global-styles/index.js +212 -21
  585. package/src/components/sidebar-navigation-screen-global-styles/style.scss +15 -0
  586. package/src/components/sidebar-navigation-screen-main/index.js +35 -52
  587. package/src/components/sidebar-navigation-screen-navigation-menu/index.js +157 -0
  588. package/src/components/sidebar-navigation-screen-navigation-menus/constants.js +9 -0
  589. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +63 -117
  590. package/src/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +83 -0
  591. package/src/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +6 -72
  592. package/src/components/sidebar-navigation-screen-navigation-menus/navigator-button.js +47 -0
  593. package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +7 -21
  594. package/src/components/sidebar-navigation-screen-page/index.js +137 -24
  595. package/src/components/sidebar-navigation-screen-page/page-details.js +163 -0
  596. package/src/components/sidebar-navigation-screen-page/status-label.js +101 -0
  597. package/src/components/sidebar-navigation-screen-page/style.scss +80 -0
  598. package/src/components/sidebar-navigation-screen-pages/index.js +180 -44
  599. package/src/components/sidebar-navigation-screen-template/index.js +25 -22
  600. package/src/components/sidebar-navigation-screen-template-part/index.js +103 -0
  601. package/src/components/sidebar-navigation-screen-templates/index.js +52 -13
  602. package/src/components/sidebar-navigation-subtitle/style.scss +2 -2
  603. package/src/components/site-hub/index.js +29 -15
  604. package/src/components/site-hub/style.scss +26 -0
  605. package/src/components/start-template-options/style.scss +20 -21
  606. package/src/components/style-book/index.js +132 -43
  607. package/src/components/style-book/style.scss +19 -0
  608. package/src/components/{list/actions → template-actions}/index.js +31 -11
  609. package/src/components/use-edited-entity-record/index.js +12 -3
  610. package/src/hooks/commands/use-edit-mode-commands.js +79 -0
  611. package/src/hooks/push-changes-to-global-styles/index.js +13 -7
  612. package/src/store/actions.js +24 -6
  613. package/src/store/reducer.js +20 -0
  614. package/src/store/selectors.js +24 -0
  615. package/src/store/test/actions.js +31 -0
  616. package/src/store/test/reducer.js +44 -0
  617. package/src/store/test/selectors.js +57 -0
  618. package/src/store/test/utils.js +15 -5
  619. package/src/style.scss +6 -3
  620. package/src/utils/is-previewing-theme.js +1 -4
  621. package/build/components/add-new-template/add-custom-generic-template-modal.js.map +0 -1
  622. package/build/components/add-new-template/add-custom-template-modal.js.map +0 -1
  623. package/build/components/global-styles/border-panel.js +0 -135
  624. package/build/components/global-styles/border-panel.js.map +0 -1
  625. package/build/components/list/actions/index.js.map +0 -1
  626. package/build/components/list/actions/rename-menu-item.js.map +0 -1
  627. package/build/components/navigate-to-link/index.js +0 -51
  628. package/build/components/navigate-to-link/index.js.map +0 -1
  629. package/build/components/sidebar-edit-mode/template-card/index.js.map +0 -1
  630. package/build/components/sidebar-edit-mode/template-card/template-actions.js.map +0 -1
  631. package/build/components/sidebar-edit-mode/template-card/template-areas.js.map +0 -1
  632. package/build/components/sidebar-edit-mode/template-revisions/index.js.map +0 -1
  633. package/build/components/sidebar-navigation-screen-navigation-menus/loader.js +0 -19
  634. package/build/components/sidebar-navigation-screen-navigation-menus/loader.js.map +0 -1
  635. package/build/components/template-details/edit-template-title.js +0 -42
  636. package/build/components/template-details/edit-template-title.js.map +0 -1
  637. package/build/components/template-details/index.js +0 -103
  638. package/build/components/template-details/index.js.map +0 -1
  639. package/build/components/template-details/template-areas.js +0 -166
  640. package/build/components/template-details/template-areas.js.map +0 -1
  641. package/build/components/template-details/template-part-area-selector.js +0 -48
  642. package/build/components/template-details/template-part-area-selector.js.map +0 -1
  643. package/build-module/components/add-new-template/add-custom-generic-template-modal.js.map +0 -1
  644. package/build-module/components/add-new-template/add-custom-template-modal.js.map +0 -1
  645. package/build-module/components/global-styles/border-panel.js +0 -125
  646. package/build-module/components/global-styles/border-panel.js.map +0 -1
  647. package/build-module/components/list/actions/index.js +0 -86
  648. package/build-module/components/list/actions/index.js.map +0 -1
  649. package/build-module/components/list/actions/rename-menu-item.js.map +0 -1
  650. package/build-module/components/navigate-to-link/index.js +0 -39
  651. package/build-module/components/navigate-to-link/index.js.map +0 -1
  652. package/build-module/components/sidebar-edit-mode/template-card/index.js.map +0 -1
  653. package/build-module/components/sidebar-edit-mode/template-card/template-actions.js.map +0 -1
  654. package/build-module/components/sidebar-edit-mode/template-card/template-areas.js.map +0 -1
  655. package/build-module/components/sidebar-edit-mode/template-revisions/index.js.map +0 -1
  656. package/build-module/components/sidebar-navigation-screen-navigation-menus/loader.js +0 -11
  657. package/build-module/components/sidebar-navigation-screen-navigation-menus/loader.js.map +0 -1
  658. package/build-module/components/template-details/edit-template-title.js +0 -33
  659. package/build-module/components/template-details/edit-template-title.js.map +0 -1
  660. package/build-module/components/template-details/index.js +0 -83
  661. package/build-module/components/template-details/index.js.map +0 -1
  662. package/build-module/components/template-details/template-areas.js +0 -145
  663. package/build-module/components/template-details/template-areas.js.map +0 -1
  664. package/build-module/components/template-details/template-part-area-selector.js +0 -36
  665. package/build-module/components/template-details/template-part-area-selector.js.map +0 -1
  666. package/src/components/add-new-template/add-custom-generic-template-modal.js +0 -101
  667. package/src/components/global-styles/border-panel.js +0 -114
  668. package/src/components/navigate-to-link/index.js +0 -46
  669. package/src/components/sidebar-navigation-screen-navigation-menus/loader.js +0 -9
  670. package/src/components/sidebar-navigation-screen-pages/style.scss +0 -4
  671. package/src/components/template-details/edit-template-title.js +0 -41
  672. package/src/components/template-details/index.js +0 -113
  673. package/src/components/template-details/style.scss +0 -72
  674. package/src/components/template-details/template-areas.js +0 -167
  675. package/src/components/template-details/template-part-area-selector.js +0 -39
  676. /package/src/components/sidebar-edit-mode/{template-card → template-panel}/template-actions.js +0 -0
  677. /package/src/components/sidebar-edit-mode/{template-card → template-panel}/template-areas.js +0 -0
  678. /package/src/components/{list/actions → template-actions}/rename-menu-item.js +0 -0
@@ -1,60 +1,165 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { useSelect } from '@wordpress/data';
5
- import { __experimentalHStack as HStack } from '@wordpress/components';
6
- import { sprintf, _n } from '@wordpress/i18n';
4
+ import { useSelect, useDispatch } from '@wordpress/data';
5
+ import { Button, __experimentalHStack as HStack } from '@wordpress/components';
6
+ import { __, sprintf, _n } from '@wordpress/i18n';
7
7
  import { store as coreStore } from '@wordpress/core-data';
8
+ import { store as blockEditorStore } from '@wordpress/block-editor';
8
9
  import { check } from '@wordpress/icons';
10
+ import { privateApis as routerPrivateApis } from '@wordpress/router';
11
+ import { store as noticesStore } from '@wordpress/notices';
9
12
 
10
13
  /**
11
14
  * Internal dependencies
12
15
  */
13
16
  import SaveButton from '../save-button';
14
17
  import { isPreviewingTheme } from '../../utils/is-previewing-theme';
18
+ import { unlock } from '../../private-apis';
19
+
20
+ const { useLocation } = unlock( routerPrivateApis );
21
+
22
+ const PUBLISH_ON_SAVE_ENTITIES = [
23
+ {
24
+ kind: 'postType',
25
+ name: 'wp_navigation',
26
+ },
27
+ ];
15
28
 
16
29
  export default function SaveHub() {
17
- const { countUnsavedChanges, isDirty, isSaving } = useSelect(
18
- ( select ) => {
19
- const {
20
- __experimentalGetDirtyEntityRecords,
21
- isSavingEntityRecord,
22
- } = select( coreStore );
23
- const dirtyEntityRecords = __experimentalGetDirtyEntityRecords();
24
- return {
25
- isDirty: dirtyEntityRecords.length > 0,
26
- isSaving: dirtyEntityRecords.some( ( record ) =>
27
- isSavingEntityRecord( record.kind, record.name, record.key )
28
- ),
29
- countUnsavedChanges: dirtyEntityRecords.length,
30
- };
31
- },
32
- []
33
- );
30
+ const { params } = useLocation();
31
+
32
+ const { __unstableMarkLastChangeAsPersistent } =
33
+ useDispatch( blockEditorStore );
34
+
35
+ const { createSuccessNotice, createErrorNotice } =
36
+ useDispatch( noticesStore );
37
+
38
+ const { dirtyCurrentEntity, countUnsavedChanges, isDirty, isSaving } =
39
+ useSelect(
40
+ ( select ) => {
41
+ const {
42
+ __experimentalGetDirtyEntityRecords,
43
+ isSavingEntityRecord,
44
+ } = select( coreStore );
45
+ const dirtyEntityRecords =
46
+ __experimentalGetDirtyEntityRecords();
47
+ let calcDirtyCurrentEntity = null;
48
+
49
+ if ( dirtyEntityRecords.length === 1 ) {
50
+ // if we are on global styles
51
+ if ( params.path?.includes( 'wp_global_styles' ) ) {
52
+ calcDirtyCurrentEntity = dirtyEntityRecords.find(
53
+ ( record ) => record.name === 'globalStyles'
54
+ );
55
+ }
56
+ // if we are on pages
57
+ else if ( params.postId ) {
58
+ calcDirtyCurrentEntity = dirtyEntityRecords.find(
59
+ ( record ) =>
60
+ record.name === params.postType &&
61
+ String( record.key ) === params.postId
62
+ );
63
+ }
64
+ }
65
+
66
+ return {
67
+ dirtyCurrentEntity: calcDirtyCurrentEntity,
68
+ isDirty: dirtyEntityRecords.length > 0,
69
+ isSaving: dirtyEntityRecords.some( ( record ) =>
70
+ isSavingEntityRecord(
71
+ record.kind,
72
+ record.name,
73
+ record.key
74
+ )
75
+ ),
76
+ countUnsavedChanges: dirtyEntityRecords.length,
77
+ };
78
+ },
79
+ [ params.path, params.postType, params.postId ]
80
+ );
81
+
82
+ const {
83
+ editEntityRecord,
84
+ saveEditedEntityRecord,
85
+ __experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits,
86
+ } = useDispatch( coreStore );
34
87
 
35
88
  const disabled = isSaving || ( ! isDirty && ! isPreviewingTheme() );
36
89
 
90
+ // if we have only one unsaved change and it matches current context, we can show a more specific label
91
+ let label = dirtyCurrentEntity
92
+ ? __( 'Save' )
93
+ : sprintf(
94
+ // translators: %d: number of unsaved changes (number).
95
+ _n(
96
+ 'Review %d change…',
97
+ 'Review %d changes…',
98
+ countUnsavedChanges
99
+ ),
100
+ countUnsavedChanges
101
+ );
102
+
103
+ if ( isSaving ) {
104
+ label = __( 'Saving' );
105
+ }
106
+
107
+ const saveCurrentEntity = async () => {
108
+ if ( ! dirtyCurrentEntity ) return;
109
+
110
+ const { kind, name, key, property } = dirtyCurrentEntity;
111
+
112
+ try {
113
+ if ( 'root' === dirtyCurrentEntity.kind && 'site' === name ) {
114
+ await saveSpecifiedEntityEdits( 'root', 'site', undefined, [
115
+ property,
116
+ ] );
117
+ } else {
118
+ if (
119
+ PUBLISH_ON_SAVE_ENTITIES.some(
120
+ ( typeToPublish ) =>
121
+ typeToPublish.kind === kind &&
122
+ typeToPublish.name === name
123
+ )
124
+ ) {
125
+ editEntityRecord( kind, name, key, { status: 'publish' } );
126
+ }
127
+
128
+ await saveEditedEntityRecord( kind, name, key );
129
+ }
130
+
131
+ __unstableMarkLastChangeAsPersistent();
132
+
133
+ createSuccessNotice( __( 'Site updated.' ), {
134
+ type: 'snackbar',
135
+ } );
136
+ } catch ( error ) {
137
+ createErrorNotice( `${ __( 'Saving failed.' ) } ${ error }` );
138
+ }
139
+ };
140
+
37
141
  return (
38
142
  <HStack className="edit-site-save-hub" alignment="right" spacing={ 4 }>
39
- { isDirty && (
40
- <span>
41
- { sprintf(
42
- // translators: %d: number of unsaved changes (number).
43
- _n(
44
- '%d unsaved change',
45
- '%d unsaved changes',
46
- countUnsavedChanges
47
- ),
48
- countUnsavedChanges
49
- ) }
50
- </span>
143
+ { dirtyCurrentEntity ? (
144
+ <Button
145
+ variant="primary"
146
+ onClick={ saveCurrentEntity }
147
+ isBusy={ isSaving }
148
+ disabled={ isSaving }
149
+ aria-disabled={ isSaving }
150
+ className="edit-site-save-hub__button"
151
+ >
152
+ { label }
153
+ </Button>
154
+ ) : (
155
+ <SaveButton
156
+ className="edit-site-save-hub__button"
157
+ variant={ disabled ? null : 'primary' }
158
+ showTooltip={ false }
159
+ icon={ disabled && ! isSaving ? check : null }
160
+ defaultLabel={ label }
161
+ />
51
162
  ) }
52
- <SaveButton
53
- className="edit-site-save-hub__button"
54
- variant={ disabled ? null : 'primary' }
55
- showTooltip={ false }
56
- icon={ disabled ? check : null }
57
- />
58
163
  </HStack>
59
164
  );
60
165
  }
@@ -1,9 +1,15 @@
1
1
  .edit-site-save-hub {
2
2
  color: $gray-600;
3
+ border-top: 1px solid $gray-800;
4
+ flex-shrink: 0;
5
+ margin: 0;
6
+ padding: $canvas-padding;
3
7
  }
4
8
 
5
9
  .edit-site-save-hub__button {
6
10
  color: inherit;
11
+ width: 100%;
12
+ justify-content: center;
7
13
 
8
14
  &[aria-disabled="true"] {
9
15
  opacity: 1;
@@ -7,10 +7,15 @@ import classnames from 'classnames';
7
7
  * WordPress dependencies
8
8
  */
9
9
  import { Button, Modal } from '@wordpress/components';
10
- import { EntitiesSavedStates } from '@wordpress/editor';
10
+ import {
11
+ EntitiesSavedStates,
12
+ useEntitiesSavedStatesIsDirty,
13
+ privateApis,
14
+ } from '@wordpress/editor';
11
15
  import { useDispatch, useSelect } from '@wordpress/data';
12
- import { __ } from '@wordpress/i18n';
16
+ import { __, sprintf } from '@wordpress/i18n';
13
17
  import { NavigableRegion } from '@wordpress/interface';
18
+ import { store as coreStore } from '@wordpress/core-data';
14
19
 
15
20
  /**
16
21
  * Internal dependencies
@@ -18,6 +23,59 @@ import { NavigableRegion } from '@wordpress/interface';
18
23
  import { store as editSiteStore } from '../../store';
19
24
  import { unlock } from '../../private-apis';
20
25
  import { useActivateTheme } from '../../utils/use-activate-theme';
26
+ import {
27
+ currentlyPreviewingTheme,
28
+ isPreviewingTheme,
29
+ } from '../../utils/is-previewing-theme';
30
+
31
+ const { EntitiesSavedStatesExtensible } = unlock( privateApis );
32
+
33
+ const EntitiesSavedStatesForPreview = ( { onClose } ) => {
34
+ const isDirtyProps = useEntitiesSavedStatesIsDirty();
35
+ let activateSaveLabel;
36
+ if ( isDirtyProps.isDirty ) {
37
+ activateSaveLabel = __( 'Activate & Save' );
38
+ } else {
39
+ activateSaveLabel = __( 'Activate' );
40
+ }
41
+
42
+ const { getTheme } = useSelect( coreStore );
43
+ const theme = getTheme( currentlyPreviewingTheme() );
44
+ const additionalPrompt = (
45
+ <p>
46
+ { sprintf(
47
+ 'Saving your changes will change your active theme to %1$s.',
48
+ theme?.name?.rendered
49
+ ) }
50
+ </p>
51
+ );
52
+
53
+ const activateTheme = useActivateTheme();
54
+ const onSave = async ( values ) => {
55
+ await activateTheme();
56
+ return values;
57
+ };
58
+
59
+ return (
60
+ <EntitiesSavedStatesExtensible
61
+ { ...{
62
+ ...isDirtyProps,
63
+ additionalPrompt,
64
+ close: onClose,
65
+ onSave,
66
+ saveEnabled: true,
67
+ saveLabel: activateSaveLabel,
68
+ } }
69
+ />
70
+ );
71
+ };
72
+
73
+ const _EntitiesSavedStates = ( { onClose } ) => {
74
+ if ( isPreviewingTheme() ) {
75
+ return <EntitiesSavedStatesForPreview onClose={ onClose } />;
76
+ }
77
+ return <EntitiesSavedStates close={ onClose } />;
78
+ };
21
79
 
22
80
  export default function SavePanel() {
23
81
  const { isSaveViewOpen, canvasMode } = useSelect( ( select ) => {
@@ -33,18 +91,7 @@ export default function SavePanel() {
33
91
  };
34
92
  }, [] );
35
93
  const { setIsSaveViewOpened } = useDispatch( editSiteStore );
36
- const activateTheme = useActivateTheme();
37
94
  const onClose = () => setIsSaveViewOpened( false );
38
- const onSave = async ( values ) => {
39
- await activateTheme();
40
- return values;
41
- };
42
-
43
- const entitySavedStates = window?.__experimentalEnableThemePreviews ? (
44
- <EntitiesSavedStates close={ onClose } onSave={ onSave } />
45
- ) : (
46
- <EntitiesSavedStates close={ onClose } />
47
- );
48
95
 
49
96
  if ( canvasMode === 'view' ) {
50
97
  return isSaveViewOpen ? (
@@ -56,7 +103,7 @@ export default function SavePanel() {
56
103
  'Save site, content, and template changes'
57
104
  ) }
58
105
  >
59
- { entitySavedStates }
106
+ <_EntitiesSavedStates onClose={ onClose } />
60
107
  </Modal>
61
108
  ) : null;
62
109
  }
@@ -69,7 +116,7 @@ export default function SavePanel() {
69
116
  ariaLabel={ __( 'Save panel' ) }
70
117
  >
71
118
  { isSaveViewOpen ? (
72
- entitySavedStates
119
+ <_EntitiesSavedStates onClose={ onClose } />
73
120
  ) : (
74
121
  <div className="edit-site-editor__toggle-save-panel">
75
122
  <Button
@@ -9,6 +9,7 @@ import {
9
9
  useMergeRefs,
10
10
  } from '@wordpress/compose';
11
11
  import { useDispatch } from '@wordpress/data';
12
+ import { useState } from '@wordpress/element';
12
13
  import { __ } from '@wordpress/i18n';
13
14
  import { closeSmall } from '@wordpress/icons';
14
15
  import { ESCAPE } from '@wordpress/keycodes';
@@ -19,19 +20,25 @@ import { ESCAPE } from '@wordpress/keycodes';
19
20
  import { store as editSiteStore } from '../../store';
20
21
  import { unlock } from '../../private-apis';
21
22
 
23
+ const { PrivateListView } = unlock( blockEditorPrivateApis );
24
+
22
25
  export default function ListViewSidebar() {
23
26
  const { setIsListViewOpened } = useDispatch( editSiteStore );
24
27
 
28
+ // Use internal state instead of a ref to make sure that the component
29
+ // re-renders when the dropZoneElement updates.
30
+ const [ dropZoneElement, setDropZoneElement ] = useState( null );
31
+
25
32
  const focusOnMountRef = useFocusOnMount( 'firstElement' );
26
33
  const headerFocusReturnRef = useFocusReturn();
27
34
  const contentFocusReturnRef = useFocusReturn();
35
+
28
36
  function closeOnEscape( event ) {
29
37
  if ( event.keyCode === ESCAPE && ! event.defaultPrevented ) {
30
38
  setIsListViewOpened( false );
31
39
  }
32
40
  }
33
41
 
34
- const { PrivateListView } = unlock( blockEditorPrivateApis );
35
42
  return (
36
43
  // eslint-disable-next-line jsx-a11y/no-static-element-interactions
37
44
  <div
@@ -54,9 +61,10 @@ export default function ListViewSidebar() {
54
61
  ref={ useMergeRefs( [
55
62
  contentFocusReturnRef,
56
63
  focusOnMountRef,
64
+ setDropZoneElement,
57
65
  ] ) }
58
66
  >
59
- <PrivateListView />
67
+ <PrivateListView dropZoneElement={ dropZoneElement } />
60
68
  </div>
61
69
  </div>
62
70
  );
@@ -14,14 +14,15 @@ import { privateApis as routerPrivateApis } from '@wordpress/router';
14
14
  import SidebarNavigationScreenMain from '../sidebar-navigation-screen-main';
15
15
  import SidebarNavigationScreenTemplates from '../sidebar-navigation-screen-templates';
16
16
  import SidebarNavigationScreenTemplate from '../sidebar-navigation-screen-template';
17
+ import SidebarNavigationScreenTemplatePart from '../sidebar-navigation-screen-template-part';
17
18
  import useSyncPathWithURL, {
18
19
  getPathFromURL,
19
20
  } from '../sync-state-with-url/use-sync-path-with-url';
20
21
  import SidebarNavigationScreenNavigationMenus from '../sidebar-navigation-screen-navigation-menus';
22
+ import SidebarNavigationScreenNavigationMenu from '../sidebar-navigation-screen-navigation-menu';
21
23
  import SidebarNavigationScreenGlobalStyles from '../sidebar-navigation-screen-global-styles';
22
24
  import SidebarNavigationScreenTemplatesBrowse from '../sidebar-navigation-screen-templates-browse';
23
25
  import SaveHub from '../save-hub';
24
- import SidebarNavigationScreenNavigationItem from '../sidebar-navigation-screen-navigation-item';
25
26
  import { unlock } from '../../private-apis';
26
27
  import SidebarNavigationScreenPages from '../sidebar-navigation-screen-pages';
27
28
  import SidebarNavigationScreenPage from '../sidebar-navigation-screen-page';
@@ -39,12 +40,12 @@ function SidebarScreens() {
39
40
  <NavigatorScreen path="/navigation">
40
41
  <SidebarNavigationScreenNavigationMenus />
41
42
  </NavigatorScreen>
43
+ <NavigatorScreen path="/navigation/:postType/:postId">
44
+ <SidebarNavigationScreenNavigationMenu />
45
+ </NavigatorScreen>
42
46
  <NavigatorScreen path="/wp_global_styles">
43
47
  <SidebarNavigationScreenGlobalStyles />
44
48
  </NavigatorScreen>
45
- <NavigatorScreen path="/navigation/:postType/:postId">
46
- <SidebarNavigationScreenNavigationItem />
47
- </NavigatorScreen>
48
49
  <NavigatorScreen path="/page">
49
50
  <SidebarNavigationScreenPages />
50
51
  </NavigatorScreen>
@@ -57,9 +58,12 @@ function SidebarScreens() {
57
58
  <NavigatorScreen path="/:postType(wp_template|wp_template_part)/all">
58
59
  <SidebarNavigationScreenTemplatesBrowse />
59
60
  </NavigatorScreen>
60
- <NavigatorScreen path="/:postType(wp_template|wp_template_part)/:postId">
61
+ <NavigatorScreen path="/:postType(wp_template)/:postId">
61
62
  <SidebarNavigationScreenTemplate />
62
63
  </NavigatorScreen>
64
+ <NavigatorScreen path="/:postType(wp_template_part)/:postId">
65
+ <SidebarNavigationScreenTemplatePart />
66
+ </NavigatorScreen>
63
67
  </>
64
68
  );
65
69
  }
@@ -76,9 +80,7 @@ function Sidebar() {
76
80
  >
77
81
  <SidebarScreens />
78
82
  </NavigatorProvider>
79
- <div className="edit-site-sidebar__footer">
80
- <SaveHub />
81
- </div>
83
+ <SaveHub />
82
84
  </>
83
85
  );
84
86
  }
@@ -5,6 +5,9 @@
5
5
  .components-navigator-screen {
6
6
  @include custom-scrollbars-on-hover(transparent, $gray-700);
7
7
  scrollbar-gutter: stable;
8
+ display: flex;
9
+ flex-direction: column;
10
+ height: 100%;
8
11
  }
9
12
  }
10
13
 
@@ -15,10 +18,6 @@
15
18
  padding: $canvas-padding 0;
16
19
  }
17
20
 
18
- .edit-site-sidebar__content.edit-site-sidebar__content {
19
- overflow-x: unset;
20
- }
21
-
22
21
  .edit-site-sidebar__content > div {
23
22
  // This matches the logo padding
24
23
  padding: 0 $grid-unit-15;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { createSlotFill, PanelBody, PanelRow } from '@wordpress/components';
4
+ import { createSlotFill } from '@wordpress/components';
5
5
  import { isRTL, __ } from '@wordpress/i18n';
6
6
  import { drawerLeft, drawerRight } from '@wordpress/icons';
7
7
  import { useEffect } from '@wordpress/element';
@@ -16,8 +16,8 @@ import DefaultSidebar from './default-sidebar';
16
16
  import GlobalStylesSidebar from './global-styles-sidebar';
17
17
  import { STORE_NAME } from '../../store/constants';
18
18
  import SettingsHeader from './settings-header';
19
- import LastRevision from './template-revisions';
20
- import TemplateCard from './template-card';
19
+ import PagePanels from './page-panels';
20
+ import TemplatePanel from './template-panel';
21
21
  import PluginTemplateSettingPanel from '../plugin-template-setting-panel';
22
22
  import { SIDEBAR_BLOCK, SIDEBAR_TEMPLATE } from './constants';
23
23
  import { store as editSiteStore } from '../../store';
@@ -33,6 +33,7 @@ export function SidebarComplementaryAreaFills() {
33
33
  isEditorSidebarOpened,
34
34
  hasBlockSelection,
35
35
  supportsGlobalStyles,
36
+ hasPageContentLock,
36
37
  } = useSelect( ( select ) => {
37
38
  const _sidebar =
38
39
  select( interfaceStore ).getActiveComplementaryArea( STORE_NAME );
@@ -47,18 +48,23 @@ export function SidebarComplementaryAreaFills() {
47
48
  hasBlockSelection:
48
49
  !! select( blockEditorStore ).getBlockSelectionStart(),
49
50
  supportsGlobalStyles: ! settings?.supportsTemplatePartsMode,
51
+ hasPageContentLock: select( editSiteStore ).hasPageContentLock(),
50
52
  };
51
53
  }, [] );
52
54
  const { enableComplementaryArea } = useDispatch( interfaceStore );
53
55
 
54
56
  useEffect( () => {
55
- if ( ! isEditorSidebarOpened ) return;
57
+ // Don't automatically switch tab when the sidebar is closed or when we
58
+ // are focused on page content.
59
+ if ( ! isEditorSidebarOpened || hasPageContentLock ) {
60
+ return;
61
+ }
56
62
  if ( hasBlockSelection ) {
57
63
  enableComplementaryArea( STORE_NAME, SIDEBAR_BLOCK );
58
64
  } else {
59
65
  enableComplementaryArea( STORE_NAME, SIDEBAR_TEMPLATE );
60
66
  }
61
- }, [ hasBlockSelection, isEditorSidebarOpened ] );
67
+ }, [ hasBlockSelection, isEditorSidebarOpened, hasPageContentLock ] );
62
68
 
63
69
  let sidebarName = sidebar;
64
70
  if ( ! isEditorSidebarOpened ) {
@@ -77,15 +83,11 @@ export function SidebarComplementaryAreaFills() {
77
83
  >
78
84
  { sidebarName === SIDEBAR_TEMPLATE && (
79
85
  <>
80
- <PanelBody>
81
- <TemplateCard />
82
- <PanelRow
83
- header={ __( 'Editing history' ) }
84
- className="edit-site-template-revisions"
85
- >
86
- <LastRevision />
87
- </PanelRow>
88
- </PanelBody>
86
+ { hasPageContentLock ? (
87
+ <PagePanels />
88
+ ) : (
89
+ <TemplatePanel />
90
+ ) }
89
91
  <PluginTemplateSettingPanel.Slot />
90
92
  </>
91
93
  ) }
@@ -0,0 +1,77 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { useSelect, useDispatch } from '@wordpress/data';
5
+ import {
6
+ Button,
7
+ __experimentalVStack as VStack,
8
+ __experimentalHStack as HStack,
9
+ FlexItem,
10
+ } from '@wordpress/components';
11
+ import { getBlockType, __experimentalGetBlockLabel } from '@wordpress/blocks';
12
+ import { store as blockEditorStore, BlockIcon } from '@wordpress/block-editor';
13
+
14
+ /**
15
+ * Internal dependencies
16
+ */
17
+ import { CONTENT_BLOCK_TYPES } from '../../page-content-lock/constants';
18
+
19
+ // TODO: This overlaps a lot with BlockInspectorLockedBlocks in
20
+ // @wordpress/block-editor. DRY them into a single component.
21
+ export default function ContentBlocksList() {
22
+ const contentBlocks = useSelect( ( select ) => {
23
+ const {
24
+ getClientIdsWithDescendants,
25
+ getBlockName,
26
+ getBlock,
27
+ isBlockSelected,
28
+ hasSelectedInnerBlock,
29
+ } = select( blockEditorStore );
30
+ return getClientIdsWithDescendants().flatMap( ( clientId ) => {
31
+ const blockName = getBlockName( clientId );
32
+ if ( ! CONTENT_BLOCK_TYPES.includes( blockName ) ) {
33
+ return [];
34
+ }
35
+ return [
36
+ {
37
+ block: getBlock( clientId ),
38
+ isSelected:
39
+ isBlockSelected( clientId ) ||
40
+ hasSelectedInnerBlock( clientId, /* deep: */ true ),
41
+ },
42
+ ];
43
+ } );
44
+ }, [] );
45
+
46
+ const { selectBlock } = useDispatch( blockEditorStore );
47
+
48
+ if ( ! contentBlocks.length ) {
49
+ return null;
50
+ }
51
+
52
+ return (
53
+ <VStack spacing={ 1 }>
54
+ { contentBlocks.map( ( { block, isSelected } ) => {
55
+ const blockType = getBlockType( block.name );
56
+ return (
57
+ <Button
58
+ key={ block.clientId }
59
+ isPressed={ isSelected }
60
+ onClick={ () => selectBlock( block.clientId ) }
61
+ >
62
+ <HStack justify="flex-start">
63
+ <BlockIcon icon={ blockType.icon } />
64
+ <FlexItem>
65
+ { __experimentalGetBlockLabel(
66
+ blockType,
67
+ block.attributes,
68
+ 'list-view'
69
+ ) }
70
+ </FlexItem>
71
+ </HStack>
72
+ </Button>
73
+ );
74
+ } ) }
75
+ </VStack>
76
+ );
77
+ }