@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,10 +1,15 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import classnames from 'classnames';
5
+
1
6
  /**
2
7
  * WordPress dependencies
3
8
  */
4
- import { useEffect, useMemo, useState } from '@wordpress/element';
9
+ import { useMemo } from '@wordpress/element';
5
10
  import { useSelect, useDispatch } from '@wordpress/data';
6
11
  import { Notice } from '@wordpress/components';
7
- import { EntityProvider, store as coreStore } from '@wordpress/core-data';
12
+ import { EntityProvider } from '@wordpress/core-data';
8
13
  import { store as preferencesStore } from '@wordpress/preferences';
9
14
  import {
10
15
  BlockContextProvider,
@@ -32,7 +37,6 @@ import WelcomeGuide from '../welcome-guide';
32
37
  import StartTemplateOptions from '../start-template-options';
33
38
  import { store as editSiteStore } from '../../store';
34
39
  import { GlobalStylesRenderer } from '../global-styles-renderer';
35
-
36
40
  import useTitle from '../routes/use-title';
37
41
  import CanvasSpinner from '../canvas-spinner';
38
42
  import { unlock } from '../../private-apis';
@@ -50,40 +54,7 @@ const interfaceLabels = {
50
54
  footer: __( 'Editor footer' ),
51
55
  };
52
56
 
53
- function useIsSiteEditorLoading() {
54
- const { isLoaded: hasLoadedPost } = useEditedEntityRecord();
55
- const { hasResolvingSelectors } = useSelect( ( select ) => {
56
- return {
57
- hasResolvingSelectors: select( coreStore ).hasResolvingSelectors(),
58
- };
59
- } );
60
- const [ loaded, setLoaded ] = useState( false );
61
- const inLoadingPause = ! loaded && ! hasResolvingSelectors;
62
-
63
- useEffect( () => {
64
- if ( inLoadingPause ) {
65
- /*
66
- * We're using an arbitrary 1s timeout here to catch brief moments
67
- * without any resolving selectors that would result in displaying
68
- * brief flickers of loading state and loaded state.
69
- *
70
- * It's worth experimenting with different values, since this also
71
- * adds 1s of artificial delay after loading has finished.
72
- */
73
- const timeout = setTimeout( () => {
74
- setLoaded( true );
75
- }, 1000 );
76
-
77
- return () => {
78
- clearTimeout( timeout );
79
- };
80
- }
81
- }, [ inLoadingPause ] );
82
-
83
- return ! loaded || ! hasLoadedPost;
84
- }
85
-
86
- export default function Editor() {
57
+ export default function Editor( { isLoading } ) {
87
58
  const {
88
59
  record: editedPost,
89
60
  getTitle,
@@ -102,6 +73,7 @@ export default function Editor() {
102
73
  isListViewOpen,
103
74
  showIconLabels,
104
75
  showBlockBreadcrumbs,
76
+ hasPageContentLock,
105
77
  } = useSelect( ( select ) => {
106
78
  const {
107
79
  getEditedPostContext,
@@ -109,6 +81,7 @@ export default function Editor() {
109
81
  getCanvasMode,
110
82
  isInserterOpened,
111
83
  isListViewOpened,
84
+ hasPageContentLock: _hasPageContentLock,
112
85
  } = unlock( select( editSiteStore ) );
113
86
  const { __unstableGetEditorMode } = select( blockEditorStore );
114
87
  const { getActiveComplementaryArea } = select( interfaceStore );
@@ -133,6 +106,7 @@ export default function Editor() {
133
106
  'core/edit-site',
134
107
  'showBlockBreadcrumbs'
135
108
  ),
109
+ hasPageContentLock: _hasPageContentLock(),
136
110
  };
137
111
  }, [] );
138
112
  const { setEditedPostContext } = useDispatch( editSiteStore );
@@ -150,9 +124,10 @@ export default function Editor() {
150
124
  const secondarySidebarLabel = isListViewOpen
151
125
  ? __( 'List View' )
152
126
  : __( 'Block Library' );
153
- const blockContext = useMemo(
154
- () => ( {
155
- ...context,
127
+ const blockContext = useMemo( () => {
128
+ const { postType, postId, ...nonPostFields } = context ?? {};
129
+ return {
130
+ ...( hasPageContentLock ? context : nonPostFields ),
156
131
  queryContext: [
157
132
  context?.queryContext || { page: 1 },
158
133
  ( newQueryContext ) =>
@@ -164,9 +139,8 @@ export default function Editor() {
164
139
  },
165
140
  } ),
166
141
  ],
167
- } ),
168
- [ context, setEditedPostContext ]
169
- );
142
+ };
143
+ }, [ hasPageContentLock, context, setEditedPostContext ] );
170
144
 
171
145
  let title;
172
146
  if ( hasLoadedPost ) {
@@ -186,8 +160,6 @@ export default function Editor() {
186
160
  // action in <URlQueryController> from double-announcing.
187
161
  useTitle( hasLoadedPost && title );
188
162
 
189
- const isLoading = useIsSiteEditorLoading();
190
-
191
163
  return (
192
164
  <>
193
165
  { isLoading ? <CanvasSpinner /> : null }
@@ -203,13 +175,14 @@ export default function Editor() {
203
175
  { isEditMode && <StartTemplateOptions /> }
204
176
  <InterfaceSkeleton
205
177
  enableRegionNavigation={ false }
206
- className={ showIconLabels && 'show-icon-labels' }
207
- notices={
208
- ( isEditMode ||
209
- window?.__experimentalEnableThemePreviews ) && (
210
- <EditorSnackbars />
211
- )
212
- }
178
+ className={ classnames(
179
+ 'edit-site-editor__interface-skeleton',
180
+ {
181
+ 'show-icon-labels': showIconLabels,
182
+ 'is-loading': isLoading,
183
+ }
184
+ ) }
185
+ notices={ <EditorSnackbars /> }
213
186
  content={
214
187
  <>
215
188
  <GlobalStylesRenderer />
@@ -256,7 +229,11 @@ export default function Editor() {
256
229
  footer={
257
230
  shouldShowBlockBreakcrumbs && (
258
231
  <BlockBreadcrumb
259
- rootLabelText={ __( 'Template' ) }
232
+ rootLabelText={
233
+ hasPageContentLock
234
+ ? __( 'Page' )
235
+ : __( 'Template' )
236
+ }
260
237
  />
261
238
  )
262
239
  }
@@ -1,3 +1,13 @@
1
+ .edit-site-editor__interface-skeleton {
2
+ opacity: 1;
3
+ transition: opacity 0.1s ease-out;
4
+ @include reduce-motion("transition");
5
+
6
+ &.is-loading {
7
+ opacity: 0;
8
+ }
9
+ }
10
+
1
11
  .edit-site-editor__toggle-save-panel {
2
12
  box-sizing: border-box;
3
13
  width: $sidebar-width;
@@ -10,7 +20,7 @@
10
20
 
11
21
  // Adjust the position of the notices
12
22
  .edit-site .components-editor-notices__snackbar {
13
- position: fixed;
23
+ position: absolute;
14
24
  right: 0;
15
25
  bottom: 40px;
16
26
  padding-left: 16px;
@@ -18,6 +18,7 @@ import { useFocusOnMount, useFocusReturn } from '@wordpress/compose';
18
18
  */
19
19
  import { unlock } from '../../private-apis';
20
20
  import { store as editSiteStore } from '../../store';
21
+ import ResizableEditor from '../block-editor/resizable-editor';
21
22
 
22
23
  /**
23
24
  * Returns a translated string for the title of the editor canvas container.
@@ -46,7 +47,12 @@ const {
46
47
  Fill: EditorCanvasContainerFill,
47
48
  } = createPrivateSlotFill( SLOT_FILL_NAME );
48
49
 
49
- function EditorCanvasContainer( { children, closeButtonLabel, onClose } ) {
50
+ function EditorCanvasContainer( {
51
+ children,
52
+ closeButtonLabel,
53
+ onClose,
54
+ enableResizing = false,
55
+ } ) {
50
56
  const editorCanvasContainerView = useSelect(
51
57
  ( select ) =>
52
58
  unlock( select( editSiteStore ) ).getEditorCanvasContainerView(),
@@ -62,6 +68,7 @@ function EditorCanvasContainer( { children, closeButtonLabel, onClose } ) {
62
68
  () => getEditorCanvasContainerTitle( editorCanvasContainerView ),
63
69
  [ editorCanvasContainerView ]
64
70
  );
71
+
65
72
  function onCloseContainer() {
66
73
  if ( typeof onClose === 'function' ) {
67
74
  onClose();
@@ -97,24 +104,26 @@ function EditorCanvasContainer( { children, closeButtonLabel, onClose } ) {
97
104
 
98
105
  return (
99
106
  <EditorCanvasContainerFill>
100
- { /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */ }
101
- <section
102
- className="edit-site-editor-canvas-container"
103
- ref={ shouldShowCloseButton ? focusOnMountRef : null }
104
- onKeyDown={ closeOnEscape }
105
- aria-label={ title }
106
- >
107
- { shouldShowCloseButton && (
108
- <Button
109
- className="edit-site-editor-canvas-container__close-button"
110
- icon={ closeSmall }
111
- label={ closeButtonLabel || __( 'Close' ) }
112
- onClick={ onCloseContainer }
113
- showTooltip={ false }
114
- />
115
- ) }
116
- { childrenWithProps }
117
- </section>
107
+ <ResizableEditor enableResizing={ enableResizing }>
108
+ { /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */ }
109
+ <section
110
+ className="edit-site-editor-canvas-container"
111
+ ref={ shouldShowCloseButton ? focusOnMountRef : null }
112
+ onKeyDown={ closeOnEscape }
113
+ aria-label={ title }
114
+ >
115
+ { shouldShowCloseButton && (
116
+ <Button
117
+ className="edit-site-editor-canvas-container__close-button"
118
+ icon={ closeSmall }
119
+ label={ closeButtonLabel || __( 'Close' ) }
120
+ onClick={ onCloseContainer }
121
+ showTooltip={ false }
122
+ />
123
+ ) }
124
+ { childrenWithProps }
125
+ </section>
126
+ </ResizableEditor>
118
127
  </EditorCanvasContainerFill>
119
128
  );
120
129
  }
@@ -9,6 +9,7 @@ import { store as coreStore } from '@wordpress/core-data';
9
9
  import {
10
10
  PanelBody,
11
11
  __experimentalVStack as VStack,
12
+ __experimentalHasSplitBorders as hasSplitBorders,
12
13
  } from '@wordpress/components';
13
14
  import { __, sprintf } from '@wordpress/i18n';
14
15
 
@@ -21,6 +22,41 @@ import { unlock } from '../../private-apis';
21
22
  import Subtitle from './subtitle';
22
23
  import { useBlockVariations, VariationsPanel } from './variations-panel';
23
24
 
25
+ function applyFallbackStyle( border ) {
26
+ if ( ! border ) {
27
+ return border;
28
+ }
29
+
30
+ const hasColorOrWidth = border.color || border.width;
31
+
32
+ if ( ! border.style && hasColorOrWidth ) {
33
+ return { ...border, style: 'solid' };
34
+ }
35
+
36
+ if ( border.style && ! hasColorOrWidth ) {
37
+ return undefined;
38
+ }
39
+
40
+ return border;
41
+ }
42
+
43
+ function applyAllFallbackStyles( border ) {
44
+ if ( ! border ) {
45
+ return border;
46
+ }
47
+
48
+ if ( hasSplitBorders( border ) ) {
49
+ return {
50
+ top: applyFallbackStyle( border.top ),
51
+ right: applyFallbackStyle( border.right ),
52
+ bottom: applyFallbackStyle( border.bottom ),
53
+ left: applyFallbackStyle( border.left ),
54
+ };
55
+ }
56
+
57
+ return applyFallbackStyle( border );
58
+ }
59
+
24
60
  const {
25
61
  useHasDimensionsPanel,
26
62
  useHasTypographyPanel,
@@ -108,6 +144,41 @@ function ScreenBlock( { name, variation } ) {
108
144
  } );
109
145
  }
110
146
  };
147
+ const onChangeBorders = ( newStyle ) => {
148
+ if ( ! newStyle?.border ) {
149
+ setStyle( newStyle );
150
+ return;
151
+ }
152
+
153
+ // As Global Styles can't conditionally generate styles based on if
154
+ // other style properties have been set, we need to force split
155
+ // border definitions for user set global border styles. Border
156
+ // radius is derived from the same property i.e. `border.radius` if
157
+ // it is a string that is used. The longhand border radii styles are
158
+ // only generated if that property is an object.
159
+ //
160
+ // For borders (color, style, and width) those are all properties on
161
+ // the `border` style property. This means if the theme.json defined
162
+ // split borders and the user condenses them into a flat border or
163
+ // vice-versa we'd get both sets of styles which would conflict.
164
+ const { radius, ...newBorder } = newStyle.border;
165
+ const border = applyAllFallbackStyles( newBorder );
166
+ const updatedBorder = ! hasSplitBorders( border )
167
+ ? {
168
+ top: border,
169
+ right: border,
170
+ bottom: border,
171
+ left: border,
172
+ }
173
+ : {
174
+ color: null,
175
+ style: null,
176
+ width: null,
177
+ ...border,
178
+ };
179
+
180
+ setStyle( { ...newStyle, border: { ...updatedBorder, radius } } );
181
+ };
111
182
 
112
183
  return (
113
184
  <>
@@ -152,7 +223,7 @@ function ScreenBlock( { name, variation } ) {
152
223
  <StylesBorderPanel
153
224
  inheritedValue={ inheritedStyle }
154
225
  value={ style }
155
- onChange={ setStyle }
226
+ onChange={ onChangeBorders }
156
227
  settings={ settings }
157
228
  />
158
229
  ) }
@@ -160,7 +231,7 @@ function ScreenBlock( { name, variation } ) {
160
231
  <StylesEffectsPanel
161
232
  inheritedValue={ inheritedStyleWithLayout }
162
233
  value={ styleWithLayout }
163
- onChange={ onChangeDimensions }
234
+ onChange={ setStyle }
164
235
  settings={ settings }
165
236
  includeLayoutControls
166
237
  />
@@ -169,7 +240,7 @@ function ScreenBlock( { name, variation } ) {
169
240
  <StylesFiltersPanel
170
241
  inheritedValue={ inheritedStyleWithLayout }
171
242
  value={ styleWithLayout }
172
- onChange={ onChangeDimensions }
243
+ onChange={ setStyle }
173
244
  settings={ {
174
245
  ...settings,
175
246
  color: {
@@ -42,19 +42,11 @@ function ScreenRevisions() {
42
42
  blocks: select( blockEditorStore ).getBlocks(),
43
43
  };
44
44
  }, [] );
45
-
46
45
  const { revisions, isLoading, hasUnsavedChanges } =
47
46
  useGlobalStylesRevisions();
47
+ const [ selectedRevisionId, setSelectedRevisionId ] = useState();
48
48
  const [ globalStylesRevision, setGlobalStylesRevision ] =
49
49
  useState( userConfig );
50
-
51
- const [ currentRevisionId, setCurrentRevisionId ] = useState(
52
- /*
53
- * We need this for the first render,
54
- * otherwise the unsaved changes haven't been merged into the revisions array yet.
55
- */
56
- hasUnsavedChanges ? 'unsaved' : revisions?.[ 0 ]?.id
57
- );
58
50
  const [
59
51
  isLoadingRevisionWithUnsavedChanges,
60
52
  setIsLoadingRevisionWithUnsavedChanges,
@@ -89,7 +81,7 @@ function ScreenRevisions() {
89
81
  settings: revision?.settings,
90
82
  id: revision?.id,
91
83
  } );
92
- setCurrentRevisionId( revision?.id );
84
+ setSelectedRevisionId( revision?.id );
93
85
  };
94
86
 
95
87
  const isLoadButtonEnabled =
@@ -117,7 +109,7 @@ function ScreenRevisions() {
117
109
  <div className="edit-site-global-styles-screen-revisions">
118
110
  <RevisionsButtons
119
111
  onChange={ selectRevision }
120
- currentRevisionId={ currentRevisionId }
112
+ selectedRevisionId={ selectedRevisionId }
121
113
  userRevisions={ revisions }
122
114
  />
123
115
  { isLoadButtonEnabled && (
@@ -18,9 +18,8 @@ import { dateI18n, getDate, humanTimeDiff, getSettings } from '@wordpress/date';
18
18
  */
19
19
  function getRevisionLabel( revision ) {
20
20
  const authorDisplayName = revision?.author?.name || __( 'User' );
21
- const isUnsaved = 'unsaved' === revision?.id;
22
21
 
23
- if ( isUnsaved ) {
22
+ if ( 'unsaved' === revision?.id ) {
24
23
  return sprintf(
25
24
  /* translators: %(name)s author display name */
26
25
  __( 'Unsaved changes by %(name)s' ),
@@ -57,45 +56,42 @@ function getRevisionLabel( revision ) {
57
56
  * Returns a rendered list of revisions buttons.
58
57
  *
59
58
  * @typedef {Object} props
60
- * @property {Array<Object>} userRevisions A collection of user revisions.
61
- * @property {number} currentRevisionId Callback fired when the modal is closed or action cancelled.
62
- * @property {Function} onChange Callback fired when a revision is selected.
59
+ * @property {Array<Object>} userRevisions A collection of user revisions.
60
+ * @property {number} selectedRevisionId The id of the currently-selected revision.
61
+ * @property {Function} onChange Callback fired when a revision is selected.
63
62
  *
64
- * @param {props} Component props.
63
+ * @param {props} Component props.
65
64
  * @return {JSX.Element} The modal component.
66
65
  */
67
- function RevisionsButtons( { userRevisions, currentRevisionId, onChange } ) {
66
+ function RevisionsButtons( { userRevisions, selectedRevisionId, onChange } ) {
68
67
  return (
69
68
  <ol
70
69
  className="edit-site-global-styles-screen-revisions__revisions-list"
71
70
  aria-label={ __( 'Global styles revisions' ) }
72
71
  role="group"
73
72
  >
74
- { userRevisions.map( ( revision ) => {
75
- const { id, author, isLatest, modified } = revision;
73
+ { userRevisions.map( ( revision, index ) => {
74
+ const { id, author, modified } = revision;
76
75
  const authorDisplayName = author?.name || __( 'User' );
77
76
  const authorAvatar = author?.avatar_urls?.[ '48' ];
78
- /*
79
- * If the currentId hasn't been selected yet, the first revision is
80
- * the current one so long as the API returns revisions in descending order.
81
- */
82
- const isActive = !! currentRevisionId
83
- ? id === currentRevisionId
84
- : isLatest;
77
+ const isUnsaved = 'unsaved' === revision?.id;
78
+ const isSelected = selectedRevisionId
79
+ ? selectedRevisionId === revision?.id
80
+ : index === 0;
85
81
 
86
82
  return (
87
83
  <li
88
84
  className={ classnames(
89
85
  'edit-site-global-styles-screen-revisions__revision-item',
90
86
  {
91
- 'is-current': isActive,
87
+ 'is-selected': isSelected,
92
88
  }
93
89
  ) }
94
90
  key={ id }
95
91
  >
96
92
  <Button
97
93
  className="edit-site-global-styles-screen-revisions__revision-button"
98
- disabled={ isActive }
94
+ disabled={ isSelected }
99
95
  onClick={ () => {
100
96
  onChange( revision );
101
97
  } }
@@ -106,13 +102,25 @@ function RevisionsButtons( { userRevisions, currentRevisionId, onChange } ) {
106
102
  { humanTimeDiff( modified ) }
107
103
  </time>
108
104
  <span className="edit-site-global-styles-screen-revisions__meta">
109
- { sprintf(
110
- /* translators: %(name)s author display name */
111
- __( 'Changes saved by %(name)s' ),
112
- {
113
- name: authorDisplayName,
114
- }
115
- ) }
105
+ { isUnsaved
106
+ ? sprintf(
107
+ /* translators: %(name)s author display name */
108
+ __(
109
+ 'Unsaved changes by %(name)s'
110
+ ),
111
+ {
112
+ name: authorDisplayName,
113
+ }
114
+ )
115
+ : sprintf(
116
+ /* translators: %(name)s author display name */
117
+ __(
118
+ 'Changes saved by %(name)s'
119
+ ),
120
+ {
121
+ name: authorDisplayName,
122
+ }
123
+ ) }
116
124
 
117
125
  <img
118
126
  alt={ author?.name }
@@ -36,7 +36,7 @@
36
36
  left: 0;
37
37
  transform: translate(-50%, -50%);
38
38
  }
39
- &.is-current::before {
39
+ &.is-selected::before {
40
40
  background: var(--wp-components-color-accent, var(--wp-admin-theme-color, #007cba));
41
41
  }
42
42
  }
@@ -56,7 +56,7 @@
56
56
  }
57
57
  }
58
58
 
59
- .is-current {
59
+ .is-selected {
60
60
  .edit-site-global-styles-screen-revisions__revision-button {
61
61
  color: var(--wp-components-color-accent, var(--wp-admin-theme-color, #007cba));
62
62
  opacity: 1;
@@ -86,6 +86,7 @@
86
86
  justify-content: space-between;
87
87
  width: 100%;
88
88
  align-items: center;
89
+ text-align: left;
89
90
 
90
91
  img {
91
92
  width: $grid-unit-20;
@@ -49,7 +49,6 @@ describe( 'useGlobalStylesRevisions', () => {
49
49
  styles: {},
50
50
  },
51
51
  ],
52
- isLoading: false,
53
52
  };
54
53
 
55
54
  it( 'returns loaded revisions with no unsaved changes', () => {
@@ -109,10 +108,24 @@ describe( 'useGlobalStylesRevisions', () => {
109
108
  ] );
110
109
  } );
111
110
 
112
- it( 'returns empty revisions when still loading', () => {
111
+ it( 'returns empty revisions', () => {
113
112
  useSelect.mockImplementation( () => ( {
114
113
  ...selectValue,
115
- isLoading: true,
114
+ revisions: [],
115
+ } ) );
116
+
117
+ const { result } = renderHook( () => useGlobalStylesRevisions() );
118
+ const { revisions, isLoading, hasUnsavedChanges } = result.current;
119
+
120
+ expect( isLoading ).toBe( true );
121
+ expect( hasUnsavedChanges ).toBe( false );
122
+ expect( revisions ).toEqual( [] );
123
+ } );
124
+
125
+ it( 'returns empty revisions when authors are not yet available', () => {
126
+ useSelect.mockImplementation( () => ( {
127
+ ...selectValue,
128
+ authors: [],
116
129
  } ) );
117
130
 
118
131
  const { result } = renderHook( () => useGlobalStylesRevisions() );
@@ -5,10 +5,7 @@ import { useSelect } from '@wordpress/data';
5
5
  import { store as coreStore } from '@wordpress/core-data';
6
6
  import { useContext, useMemo } from '@wordpress/element';
7
7
  import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
8
- /**
9
- * External dependencies
10
- */
11
- import { isEmpty } from 'lodash';
8
+
12
9
  /**
13
10
  * Internal dependencies
14
11
  */
@@ -20,53 +17,46 @@ const SITE_EDITOR_AUTHORS_QUERY = {
20
17
  context: 'view',
21
18
  capabilities: [ 'edit_theme_options' ],
22
19
  };
23
-
20
+ const EMPTY_ARRAY = [];
24
21
  const { GlobalStylesContext } = unlock( blockEditorPrivateApis );
25
22
  export default function useGlobalStylesRevisions() {
26
23
  const { user: userConfig } = useContext( GlobalStylesContext );
27
- const { authors, currentUser, isDirty, revisions, isLoading } = useSelect(
24
+ const { authors, currentUser, isDirty, revisions } = useSelect(
28
25
  ( select ) => {
29
26
  const {
30
27
  __experimentalGetDirtyEntityRecords,
31
28
  getCurrentUser,
32
29
  getUsers,
33
30
  getCurrentThemeGlobalStylesRevisions,
34
- isResolving,
35
31
  } = select( coreStore );
36
32
  const dirtyEntityRecords = __experimentalGetDirtyEntityRecords();
37
33
  const _currentUser = getCurrentUser();
38
34
  const _isDirty = dirtyEntityRecords.length > 0;
39
35
  const globalStylesRevisions =
40
- getCurrentThemeGlobalStylesRevisions() || [];
41
- const _authors = getUsers( SITE_EDITOR_AUTHORS_QUERY );
36
+ getCurrentThemeGlobalStylesRevisions() || EMPTY_ARRAY;
37
+ const _authors =
38
+ getUsers( SITE_EDITOR_AUTHORS_QUERY ) || EMPTY_ARRAY;
42
39
 
43
40
  return {
44
41
  authors: _authors,
45
42
  currentUser: _currentUser,
46
43
  isDirty: _isDirty,
47
44
  revisions: globalStylesRevisions,
48
- isLoading:
49
- ! globalStylesRevisions.length ||
50
- isResolving( 'getUsers', [ SITE_EDITOR_AUTHORS_QUERY ] ),
51
45
  };
52
46
  },
53
47
  []
54
48
  );
55
49
  return useMemo( () => {
56
50
  let _modifiedRevisions = [];
57
- if ( isLoading || ! revisions.length ) {
51
+ if ( ! authors.length || ! revisions.length ) {
58
52
  return {
59
53
  revisions: _modifiedRevisions,
60
54
  hasUnsavedChanges: isDirty,
61
- isLoading,
55
+ isLoading: true,
62
56
  };
63
57
  }
64
- /*
65
- * Adds a flag to the first revision, which is the latest.
66
- * Also adds author information to the revision.
67
- * Then, if there are unsaved changes in the editor, create a
68
- * new "revision" item that represents the unsaved changes.
69
- */
58
+
59
+ // Adds author details to each revision.
70
60
  _modifiedRevisions = revisions.map( ( revision ) => {
71
61
  return {
72
62
  ...revision,
@@ -76,11 +66,18 @@ export default function useGlobalStylesRevisions() {
76
66
  };
77
67
  } );
78
68
 
79
- if ( _modifiedRevisions[ 0 ]?.id !== 'unsaved' ) {
69
+ // Flags the most current saved revision.
70
+ if ( _modifiedRevisions[ 0 ].id !== 'unsaved' ) {
80
71
  _modifiedRevisions[ 0 ].isLatest = true;
81
72
  }
82
73
 
83
- if ( isDirty && ! isEmpty( userConfig ) && currentUser ) {
74
+ // Adds an item for unsaved changes.
75
+ if (
76
+ isDirty &&
77
+ userConfig &&
78
+ Object.keys( userConfig ).length > 0 &&
79
+ currentUser
80
+ ) {
84
81
  const unsavedRevision = {
85
82
  id: 'unsaved',
86
83
  styles: userConfig?.styles,
@@ -94,10 +91,11 @@ export default function useGlobalStylesRevisions() {
94
91
 
95
92
  _modifiedRevisions.unshift( unsavedRevision );
96
93
  }
94
+
97
95
  return {
98
96
  revisions: _modifiedRevisions,
99
97
  hasUnsavedChanges: isDirty,
100
- isLoading,
98
+ isLoading: false,
101
99
  };
102
- }, [ revisions.length, isDirty, isLoading ] );
100
+ }, [ isDirty, revisions, currentUser, authors, userConfig ] );
103
101
  }