@wordpress/edit-site 5.23.0 → 5.24.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 (320) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/actions/index.js +56 -38
  3. package/build/components/actions/index.js.map +1 -1
  4. package/build/components/block-editor/site-editor-canvas.js +7 -2
  5. package/build/components/block-editor/site-editor-canvas.js.map +1 -1
  6. package/build/components/dataviews/add-filter.js +21 -20
  7. package/build/components/dataviews/add-filter.js.map +1 -1
  8. package/build/components/dataviews/constants.js +14 -0
  9. package/build/components/dataviews/constants.js.map +1 -0
  10. package/build/components/dataviews/dataviews.js +9 -7
  11. package/build/components/dataviews/dataviews.js.map +1 -1
  12. package/build/components/dataviews/filter-summary.js +62 -0
  13. package/build/components/dataviews/filter-summary.js.map +1 -0
  14. package/build/components/dataviews/filters.js +15 -30
  15. package/build/components/dataviews/filters.js.map +1 -1
  16. package/build/components/dataviews/item-actions.js +84 -30
  17. package/build/components/dataviews/item-actions.js.map +1 -1
  18. package/build/components/dataviews/pagination.js +4 -0
  19. package/build/components/dataviews/pagination.js.map +1 -1
  20. package/build/components/dataviews/view-actions.js +24 -24
  21. package/build/components/dataviews/view-actions.js.map +1 -1
  22. package/build/components/dataviews/view-grid.js +48 -25
  23. package/build/components/dataviews/view-grid.js.map +1 -1
  24. package/build/components/dataviews/view-list.js +28 -33
  25. package/build/components/dataviews/view-list.js.map +1 -1
  26. package/build/components/editor/index.js +23 -27
  27. package/build/components/editor/index.js.map +1 -1
  28. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
  29. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -1
  30. package/build/components/global-styles/font-library-modal/utils/index.js +15 -2
  31. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  32. package/build/components/global-styles/header.js +4 -2
  33. package/build/components/global-styles/header.js.map +1 -1
  34. package/build/components/global-styles/screen-block-list.js +22 -16
  35. package/build/components/global-styles/screen-block-list.js.map +1 -1
  36. package/build/components/global-styles/screen-revisions/index.js +26 -5
  37. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  38. package/build/components/global-styles/screen-revisions/revisions-buttons.js +52 -24
  39. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  40. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +9 -3
  41. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  42. package/build/components/global-styles/ui.js +28 -36
  43. package/build/components/global-styles/ui.js.map +1 -1
  44. package/build/components/header-edit-mode/document-actions/index.js +21 -16
  45. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  46. package/build/components/header-edit-mode/index.js +2 -1
  47. package/build/components/header-edit-mode/index.js.map +1 -1
  48. package/build/components/header-edit-mode/more-menu/index.js +1 -1
  49. package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
  50. package/build/components/list/added-by.js +43 -54
  51. package/build/components/list/added-by.js.map +1 -1
  52. package/build/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +9 -8
  53. package/build/components/page-content-focus-notifications/back-to-page-notification.js.map +1 -0
  54. package/build/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
  55. package/build/components/page-content-focus-notifications/edit-template-notification.js.map +1 -0
  56. package/build/components/page-content-focus-notifications/index.js +22 -0
  57. package/build/components/page-content-focus-notifications/index.js.map +1 -0
  58. package/build/components/page-pages/index.js +9 -15
  59. package/build/components/page-pages/index.js.map +1 -1
  60. package/build/components/page-patterns/use-patterns.js +1 -1
  61. package/build/components/page-patterns/use-patterns.js.map +1 -1
  62. package/build/components/page-templates/dataviews-templates.js +166 -51
  63. package/build/components/page-templates/dataviews-templates.js.map +1 -1
  64. package/build/components/preferences-modal/index.js +1 -1
  65. package/build/components/preferences-modal/index.js.map +1 -1
  66. package/build/components/save-button/index.js +9 -6
  67. package/build/components/save-button/index.js.map +1 -1
  68. package/build/components/save-hub/index.js +14 -0
  69. package/build/components/save-hub/index.js.map +1 -1
  70. package/build/components/sidebar-dataviews/custom-dataviews-list.js +3 -1
  71. package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
  72. package/build/components/sidebar-dataviews/default-views.js +7 -2
  73. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  74. package/build/components/sidebar-edit-mode/index.js +6 -5
  75. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  76. package/build/components/sidebar-edit-mode/page-panels/edit-template.js +15 -26
  77. package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  78. package/build/components/sidebar-edit-mode/page-panels/hooks.js +22 -8
  79. package/build/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
  80. package/build/components/sidebar-edit-mode/page-panels/page-status.js +8 -5
  81. package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  82. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +4 -8
  83. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  84. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +2 -2
  85. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
  86. package/build/components/sidebar-edit-mode/settings-header/index.js +10 -6
  87. package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  88. package/build/components/sidebar-navigation-screen-page/index.js +23 -4
  89. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
  90. package/build/components/style-book/index.js +22 -12
  91. package/build/components/style-book/index.js.map +1 -1
  92. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +41 -9
  93. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  94. package/build/components/welcome-guide/page.js +2 -2
  95. package/build/components/welcome-guide/page.js.map +1 -1
  96. package/build/components/welcome-guide/template.js +6 -3
  97. package/build/components/welcome-guide/template.js.map +1 -1
  98. package/build/hooks/commands/use-edit-mode-commands.js +24 -14
  99. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  100. package/build/store/actions.js +4 -1
  101. package/build/store/actions.js.map +1 -1
  102. package/build/store/private-actions.js +2 -27
  103. package/build/store/private-actions.js.map +1 -1
  104. package/build/store/private-selectors.js +0 -23
  105. package/build/store/private-selectors.js.map +1 -1
  106. package/build/store/reducer.js +1 -40
  107. package/build/store/reducer.js.map +1 -1
  108. package/build/store/selectors.js +8 -4
  109. package/build/store/selectors.js.map +1 -1
  110. package/build/utils/constants.js +1 -12
  111. package/build/utils/constants.js.map +1 -1
  112. package/build-module/components/actions/index.js +55 -36
  113. package/build-module/components/actions/index.js.map +1 -1
  114. package/build-module/components/block-editor/site-editor-canvas.js +7 -2
  115. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
  116. package/build-module/components/dataviews/add-filter.js +21 -20
  117. package/build-module/components/dataviews/add-filter.js.map +1 -1
  118. package/build-module/components/dataviews/constants.js +6 -0
  119. package/build-module/components/dataviews/constants.js.map +1 -0
  120. package/build-module/components/dataviews/dataviews.js +9 -7
  121. package/build-module/components/dataviews/dataviews.js.map +1 -1
  122. package/build-module/components/dataviews/filter-summary.js +55 -0
  123. package/build-module/components/dataviews/filter-summary.js.map +1 -0
  124. package/build-module/components/dataviews/filters.js +15 -28
  125. package/build-module/components/dataviews/filters.js.map +1 -1
  126. package/build-module/components/dataviews/item-actions.js +84 -30
  127. package/build-module/components/dataviews/item-actions.js.map +1 -1
  128. package/build-module/components/dataviews/pagination.js +4 -0
  129. package/build-module/components/dataviews/pagination.js.map +1 -1
  130. package/build-module/components/dataviews/view-actions.js +24 -24
  131. package/build-module/components/dataviews/view-actions.js.map +1 -1
  132. package/build-module/components/dataviews/view-grid.js +49 -26
  133. package/build-module/components/dataviews/view-grid.js.map +1 -1
  134. package/build-module/components/dataviews/view-list.js +28 -33
  135. package/build-module/components/dataviews/view-list.js.map +1 -1
  136. package/build-module/components/editor/index.js +26 -30
  137. package/build-module/components/editor/index.js.map +1 -1
  138. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
  139. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -1
  140. package/build-module/components/global-styles/font-library-modal/utils/index.js +14 -2
  141. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  142. package/build-module/components/global-styles/header.js +4 -2
  143. package/build-module/components/global-styles/header.js.map +1 -1
  144. package/build-module/components/global-styles/screen-block-list.js +23 -17
  145. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  146. package/build-module/components/global-styles/screen-revisions/index.js +27 -6
  147. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  148. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +51 -24
  149. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  150. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +9 -3
  151. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  152. package/build-module/components/global-styles/ui.js +28 -36
  153. package/build-module/components/global-styles/ui.js.map +1 -1
  154. package/build-module/components/header-edit-mode/document-actions/index.js +21 -16
  155. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  156. package/build-module/components/header-edit-mode/index.js +2 -1
  157. package/build-module/components/header-edit-mode/index.js.map +1 -1
  158. package/build-module/components/header-edit-mode/more-menu/index.js +1 -1
  159. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
  160. package/build-module/components/list/added-by.js +44 -55
  161. package/build-module/components/list/added-by.js.map +1 -1
  162. package/build-module/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +9 -8
  163. package/build-module/components/page-content-focus-notifications/back-to-page-notification.js.map +1 -0
  164. package/build-module/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
  165. package/build-module/components/page-content-focus-notifications/edit-template-notification.js.map +1 -0
  166. package/build-module/components/page-content-focus-notifications/index.js +14 -0
  167. package/build-module/components/page-content-focus-notifications/index.js.map +1 -0
  168. package/build-module/components/page-pages/index.js +10 -16
  169. package/build-module/components/page-pages/index.js.map +1 -1
  170. package/build-module/components/page-patterns/use-patterns.js +1 -1
  171. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  172. package/build-module/components/page-templates/dataviews-templates.js +168 -53
  173. package/build-module/components/page-templates/dataviews-templates.js.map +1 -1
  174. package/build-module/components/preferences-modal/index.js +1 -1
  175. package/build-module/components/preferences-modal/index.js.map +1 -1
  176. package/build-module/components/save-button/index.js +11 -8
  177. package/build-module/components/save-button/index.js.map +1 -1
  178. package/build-module/components/save-hub/index.js +14 -0
  179. package/build-module/components/save-hub/index.js.map +1 -1
  180. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +3 -1
  181. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
  182. package/build-module/components/sidebar-dataviews/default-views.js +7 -2
  183. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  184. package/build-module/components/sidebar-edit-mode/index.js +6 -5
  185. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  186. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +16 -27
  187. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  188. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js +21 -7
  189. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
  190. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js +9 -6
  191. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  192. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +5 -9
  193. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  194. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +3 -3
  195. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
  196. package/build-module/components/sidebar-edit-mode/settings-header/index.js +10 -6
  197. package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  198. package/build-module/components/sidebar-navigation-screen-page/index.js +23 -4
  199. package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
  200. package/build-module/components/style-book/index.js +22 -12
  201. package/build-module/components/style-book/index.js.map +1 -1
  202. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +41 -9
  203. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  204. package/build-module/components/welcome-guide/page.js +2 -2
  205. package/build-module/components/welcome-guide/page.js.map +1 -1
  206. package/build-module/components/welcome-guide/template.js +6 -3
  207. package/build-module/components/welcome-guide/template.js.map +1 -1
  208. package/build-module/hooks/commands/use-edit-mode-commands.js +24 -14
  209. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  210. package/build-module/store/actions.js +4 -1
  211. package/build-module/store/actions.js.map +1 -1
  212. package/build-module/store/private-actions.js +1 -25
  213. package/build-module/store/private-actions.js.map +1 -1
  214. package/build-module/store/private-selectors.js +0 -22
  215. package/build-module/store/private-selectors.js.map +1 -1
  216. package/build-module/store/reducer.js +1 -38
  217. package/build-module/store/reducer.js.map +1 -1
  218. package/build-module/store/selectors.js +8 -4
  219. package/build-module/store/selectors.js.map +1 -1
  220. package/build-module/utils/constants.js +0 -10
  221. package/build-module/utils/constants.js.map +1 -1
  222. package/build-style/style-rtl.css +152 -62
  223. package/build-style/style.css +152 -62
  224. package/package.json +41 -41
  225. package/src/components/actions/index.js +76 -48
  226. package/src/components/block-editor/site-editor-canvas.js +8 -2
  227. package/src/components/dataviews/README.md +14 -11
  228. package/src/components/dataviews/add-filter.js +21 -24
  229. package/src/components/dataviews/constants.js +5 -0
  230. package/src/components/dataviews/dataviews.js +10 -10
  231. package/src/components/dataviews/filter-summary.js +79 -0
  232. package/src/components/dataviews/filters.js +18 -35
  233. package/src/components/dataviews/item-actions.js +106 -42
  234. package/src/components/dataviews/pagination.js +4 -0
  235. package/src/components/dataviews/style.scss +84 -8
  236. package/src/components/dataviews/view-actions.js +39 -41
  237. package/src/components/dataviews/view-grid.js +63 -38
  238. package/src/components/dataviews/view-list.js +50 -57
  239. package/src/components/editor/index.js +18 -34
  240. package/src/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
  241. package/src/components/global-styles/font-library-modal/utils/index.js +20 -9
  242. package/src/components/global-styles/font-library-modal/utils/test/getIntersectingFontFaces.spec.js +46 -15
  243. package/src/components/global-styles/font-library-modal/utils/test/wpKebabCase.spec.js +28 -0
  244. package/src/components/global-styles/header.js +2 -1
  245. package/src/components/global-styles/screen-block-list.js +37 -26
  246. package/src/components/global-styles/screen-revisions/index.js +39 -10
  247. package/src/components/global-styles/screen-revisions/revisions-buttons.js +65 -45
  248. package/src/components/global-styles/screen-revisions/style.scss +52 -28
  249. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +15 -6
  250. package/src/components/global-styles/style.scss +0 -11
  251. package/src/components/global-styles/ui.js +59 -74
  252. package/src/components/header-edit-mode/document-actions/index.js +20 -18
  253. package/src/components/header-edit-mode/index.js +1 -0
  254. package/src/components/header-edit-mode/more-menu/index.js +1 -1
  255. package/src/components/list/added-by.js +23 -63
  256. package/src/components/list/style.scss +11 -13
  257. package/src/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +12 -13
  258. package/src/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
  259. package/src/components/page-content-focus-notifications/index.js +14 -0
  260. package/src/components/page-pages/index.js +15 -20
  261. package/src/components/page-patterns/use-patterns.js +1 -1
  262. package/src/components/page-templates/dataviews-templates.js +169 -48
  263. package/src/components/page-templates/style.scss +13 -0
  264. package/src/components/preferences-modal/index.js +1 -1
  265. package/src/components/save-button/index.js +37 -24
  266. package/src/components/save-hub/index.js +15 -0
  267. package/src/components/save-hub/style.scss +7 -0
  268. package/src/components/sidebar-dataviews/custom-dataviews-list.js +2 -0
  269. package/src/components/sidebar-dataviews/default-views.js +7 -2
  270. package/src/components/sidebar-dataviews/style.scss +7 -0
  271. package/src/components/sidebar-edit-mode/index.js +13 -9
  272. package/src/components/sidebar-edit-mode/page-panels/edit-template.js +33 -52
  273. package/src/components/sidebar-edit-mode/page-panels/hooks.js +20 -9
  274. package/src/components/sidebar-edit-mode/page-panels/page-status.js +6 -6
  275. package/src/components/sidebar-edit-mode/page-panels/page-summary.js +8 -9
  276. package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +3 -3
  277. package/src/components/sidebar-edit-mode/page-panels/style.scss +9 -19
  278. package/src/components/sidebar-edit-mode/settings-header/index.js +8 -9
  279. package/src/components/sidebar-navigation-screen/style.scss +1 -0
  280. package/src/components/sidebar-navigation-screen-page/index.js +24 -3
  281. package/src/components/sidebar-navigation-screen-template/style.scss +6 -1
  282. package/src/components/style-book/index.js +48 -35
  283. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +69 -17
  284. package/src/components/welcome-guide/page.js +2 -2
  285. package/src/components/welcome-guide/template.js +4 -2
  286. package/src/hooks/commands/use-edit-mode-commands.js +22 -16
  287. package/src/store/actions.js +5 -1
  288. package/src/store/private-actions.js +1 -24
  289. package/src/store/private-selectors.js +0 -22
  290. package/src/store/reducer.js +0 -39
  291. package/src/store/selectors.js +12 -4
  292. package/src/store/test/actions.js +3 -32
  293. package/src/store/test/reducer.js +0 -62
  294. package/src/store/test/selectors.js +0 -35
  295. package/src/style.scss +1 -0
  296. package/src/utils/constants.js +0 -10
  297. package/build/components/dataviews/in-filter.js +0 -51
  298. package/build/components/dataviews/in-filter.js.map +0 -1
  299. package/build/components/page-content-focus-manager/back-to-page-notification.js.map +0 -1
  300. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -63
  301. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +0 -1
  302. package/build/components/page-content-focus-manager/edit-template-notification.js.map +0 -1
  303. package/build/components/page-content-focus-manager/index.js +0 -61
  304. package/build/components/page-content-focus-manager/index.js.map +0 -1
  305. package/build/components/sidebar-edit-mode/page-panels/publish-date.js +0 -87
  306. package/build/components/sidebar-edit-mode/page-panels/publish-date.js.map +0 -1
  307. package/build-module/components/dataviews/in-filter.js +0 -42
  308. package/build-module/components/dataviews/in-filter.js.map +0 -1
  309. package/build-module/components/page-content-focus-manager/back-to-page-notification.js.map +0 -1
  310. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -56
  311. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +0 -1
  312. package/build-module/components/page-content-focus-manager/edit-template-notification.js.map +0 -1
  313. package/build-module/components/page-content-focus-manager/index.js +0 -52
  314. package/build-module/components/page-content-focus-manager/index.js.map +0 -1
  315. package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js +0 -80
  316. package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js.map +0 -1
  317. package/src/components/dataviews/in-filter.js +0 -63
  318. package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -57
  319. package/src/components/page-content-focus-manager/index.js +0 -51
  320. package/src/components/sidebar-edit-mode/page-panels/publish-date.js +0 -94
@@ -1,8 +1,3 @@
1
- /**
2
- * External dependencies
3
- */
4
- import classnames from 'classnames';
5
-
6
1
  /**
7
2
  * WordPress dependencies
8
3
  */
@@ -55,6 +50,7 @@ const { Slot: GlobalStylesMenuSlot, Fill: GlobalStylesMenuFill } =
55
50
  createSlotFill( SLOT_FILL_NAME );
56
51
 
57
52
  function GlobalStylesActionMenu() {
53
+ const [ canReset, onReset ] = useGlobalStylesReset();
58
54
  const { toggle } = useDispatch( preferencesStore );
59
55
  const { canEditCSS } = useSelect( ( select ) => {
60
56
  const { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =
@@ -69,49 +65,56 @@ function GlobalStylesActionMenu() {
69
65
  canEditCSS: !! globalStyles?._links?.[ 'wp:action-edit-css' ],
70
66
  };
71
67
  }, [] );
68
+ const { setEditorCanvasContainerView } = unlock(
69
+ useDispatch( editSiteStore )
70
+ );
72
71
  const { goTo } = useNavigator();
73
- const loadCustomCSS = () => goTo( '/css' );
72
+ const loadCustomCSS = () => {
73
+ setEditorCanvasContainerView( 'global-styles-css' );
74
+ goTo( '/css' );
75
+ };
74
76
 
75
77
  return (
76
78
  <GlobalStylesMenuFill>
77
79
  <DropdownMenu icon={ moreVertical } label={ __( 'More' ) }>
78
80
  { ( { onClose } ) => (
79
- <MenuGroup>
80
- { canEditCSS && (
81
- <MenuItem onClick={ loadCustomCSS }>
82
- { __( 'Additional CSS' ) }
81
+ <>
82
+ <MenuGroup>
83
+ { canEditCSS && (
84
+ <MenuItem onClick={ loadCustomCSS }>
85
+ { __( 'Additional CSS' ) }
86
+ </MenuItem>
87
+ ) }
88
+ <MenuItem
89
+ onClick={ () => {
90
+ toggle(
91
+ 'core/edit-site',
92
+ 'welcomeGuideStyles'
93
+ );
94
+ onClose();
95
+ } }
96
+ >
97
+ { __( 'Welcome Guide' ) }
98
+ </MenuItem>
99
+ </MenuGroup>
100
+ <MenuGroup>
101
+ <MenuItem
102
+ onClick={ () => {
103
+ onReset();
104
+ onClose();
105
+ } }
106
+ disabled={ ! canReset }
107
+ >
108
+ { __( 'Reset styles' ) }
83
109
  </MenuItem>
84
- ) }
85
- <MenuItem
86
- onClick={ () => {
87
- toggle(
88
- 'core/edit-site',
89
- 'welcomeGuideStyles'
90
- );
91
- onClose();
92
- } }
93
- >
94
- { __( 'Welcome Guide' ) }
95
- </MenuItem>
96
- </MenuGroup>
110
+ </MenuGroup>
111
+ </>
97
112
  ) }
98
113
  </DropdownMenu>
99
114
  </GlobalStylesMenuFill>
100
115
  );
101
116
  }
102
117
 
103
- function RevisionsCountBadge( { className, children } ) {
104
- return (
105
- <span
106
- className={ classnames(
107
- className,
108
- 'edit-site-global-styles-sidebar__revisions-count-badge'
109
- ) }
110
- >
111
- { children }
112
- </span>
113
- );
114
- }
115
118
  function GlobalStylesRevisionsMenu() {
116
119
  const { setIsListViewOpened } = useDispatch( editSiteStore );
117
120
  const { revisionsCount } = useSelect( ( select ) => {
@@ -128,56 +131,38 @@ function GlobalStylesRevisionsMenu() {
128
131
  globalStyles?._links?.[ 'version-history' ]?.[ 0 ]?.count ?? 0,
129
132
  };
130
133
  }, [] );
131
- const [ canReset, onReset ] = useGlobalStylesReset();
132
134
  const { goTo } = useNavigator();
133
135
  const { setEditorCanvasContainerView } = unlock(
134
136
  useDispatch( editSiteStore )
135
137
  );
138
+ const isRevisionsOpened = useSelect(
139
+ ( select ) =>
140
+ 'global-styles-revisions' ===
141
+ unlock( select( editSiteStore ) ).getEditorCanvasContainerView(),
142
+ []
143
+ );
136
144
  const loadRevisions = () => {
137
145
  setIsListViewOpened( false );
138
- goTo( '/revisions' );
139
- setEditorCanvasContainerView( 'global-styles-revisions' );
146
+
147
+ if ( ! isRevisionsOpened ) {
148
+ goTo( '/revisions' );
149
+ setEditorCanvasContainerView( 'global-styles-revisions' );
150
+ } else {
151
+ goTo( '/' );
152
+ setEditorCanvasContainerView( undefined );
153
+ }
140
154
  };
141
155
  const hasRevisions = revisionsCount > 0;
142
156
 
143
157
  return (
144
158
  <GlobalStylesMenuFill>
145
- { canReset || hasRevisions ? (
146
- <DropdownMenu icon={ backup } label={ __( 'Revisions' ) }>
147
- { ( { onClose } ) => (
148
- <MenuGroup>
149
- { hasRevisions && (
150
- <MenuItem
151
- onClick={ loadRevisions }
152
- icon={
153
- <RevisionsCountBadge>
154
- { revisionsCount }
155
- </RevisionsCountBadge>
156
- }
157
- >
158
- { __( 'Revision history' ) }
159
- </MenuItem>
160
- ) }
161
- <MenuItem
162
- onClick={ () => {
163
- onReset();
164
- onClose();
165
- } }
166
- disabled={ ! canReset }
167
- >
168
- { __( 'Reset to defaults' ) }
169
- </MenuItem>
170
- </MenuGroup>
171
- ) }
172
- </DropdownMenu>
173
- ) : (
174
- <Button
175
- label={ __( 'Revisions' ) }
176
- icon={ backup }
177
- disabled
178
- __experimentalIsFocusable
179
- />
180
- ) }
159
+ <Button
160
+ label={ __( 'Revisions' ) }
161
+ icon={ backup }
162
+ onClick={ loadRevisions }
163
+ disabled={ ! hasRevisions }
164
+ isPressed={ isRevisionsOpened }
165
+ />
181
166
  </GlobalStylesMenuFill>
182
167
  );
183
168
  }
@@ -24,8 +24,9 @@ import {
24
24
  symbol,
25
25
  } from '@wordpress/icons';
26
26
  import { displayShortcut } from '@wordpress/keycodes';
27
- import { useState, useEffect, useRef } from '@wordpress/element';
28
27
  import { store as coreStore } from '@wordpress/core-data';
28
+ import { store as editorStore } from '@wordpress/editor';
29
+ import { useRef, useState, useEffect } from '@wordpress/element';
29
30
 
30
31
  /**
31
32
  * Internal dependencies
@@ -56,19 +57,18 @@ export default function DocumentActions() {
56
57
  }
57
58
 
58
59
  function PageDocumentActions() {
59
- const { hasPageContentFocus, hasResolved, isFound, title } = useSelect(
60
+ const { isEditingPage, hasResolved, isFound, title } = useSelect(
60
61
  ( select ) => {
61
- const {
62
- hasPageContentFocus: _hasPageContentFocus,
63
- getEditedPostContext,
64
- } = select( editSiteStore );
62
+ const { getEditedPostContext } = select( editSiteStore );
65
63
  const { getEditedEntityRecord, hasFinishedResolution } =
66
64
  select( coreStore );
65
+ const { getRenderingMode } = select( editorStore );
67
66
  const context = getEditedPostContext();
68
67
  const queryArgs = [ 'postType', context.postType, context.postId ];
69
68
  const page = getEditedEntityRecord( ...queryArgs );
70
69
  return {
71
- hasPageContentFocus: _hasPageContentFocus(),
70
+ isEditingPage:
71
+ !! context.postId && getRenderingMode() !== 'template-only',
72
72
  hasResolved: hasFinishedResolution(
73
73
  'getEditedEntityRecord',
74
74
  queryArgs
@@ -80,16 +80,16 @@ function PageDocumentActions() {
80
80
  []
81
81
  );
82
82
 
83
- const { setHasPageContentFocus } = useDispatch( editSiteStore );
83
+ const { setRenderingMode } = useDispatch( editorStore );
84
+ const [ isAnimated, setIsAnimated ] = useState( false );
85
+ const isLoading = useRef( true );
84
86
 
85
- const [ hasEditedTemplate, setHasEditedTemplate ] = useState( false );
86
- const prevHasPageContentFocus = useRef( false );
87
87
  useEffect( () => {
88
- if ( prevHasPageContentFocus.current && ! hasPageContentFocus ) {
89
- setHasEditedTemplate( true );
88
+ if ( ! isLoading.current ) {
89
+ setIsAnimated( true );
90
90
  }
91
- prevHasPageContentFocus.current = hasPageContentFocus;
92
- }, [ hasPageContentFocus ] );
91
+ isLoading.current = false;
92
+ }, [ isEditingPage ] );
93
93
 
94
94
  if ( ! hasResolved ) {
95
95
  return null;
@@ -103,10 +103,10 @@ function PageDocumentActions() {
103
103
  );
104
104
  }
105
105
 
106
- return hasPageContentFocus ? (
106
+ return isEditingPage ? (
107
107
  <BaseDocumentActions
108
108
  className={ classnames( 'is-page', {
109
- 'is-animated': hasEditedTemplate,
109
+ 'is-animated': isAnimated,
110
110
  } ) }
111
111
  icon={ pageIcon }
112
112
  >
@@ -114,8 +114,10 @@ function PageDocumentActions() {
114
114
  </BaseDocumentActions>
115
115
  ) : (
116
116
  <TemplateDocumentActions
117
- className="is-animated"
118
- onBack={ () => setHasPageContentFocus( true ) }
117
+ className={ classnames( {
118
+ 'is-animated': isAnimated,
119
+ } ) }
120
+ onBack={ () => setRenderingMode( 'template-locked' ) }
119
121
  />
120
122
  );
121
123
  }
@@ -229,6 +229,7 @@ export default function HeaderEditMode( { setListViewToggleElement } ) {
229
229
  isEnabled={
230
230
  ! isFocusMode && hasDefaultEditorCanvasView
231
231
  }
232
+ showIconLabels={ showIconLabels }
232
233
  >
233
234
  { ( { onClose } ) => (
234
235
  <MenuGroup>
@@ -52,7 +52,7 @@ export default function MoreMenu( { showIconLabels } ) {
52
52
 
53
53
  const toggleDistractionFree = () => {
54
54
  registry.batch( () => {
55
- setPreference( 'core/edit-site', 'fixedToolbar', false );
55
+ setPreference( 'core/edit-site', 'fixedToolbar', true );
56
56
  setIsInserterOpened( false );
57
57
  setIsListViewOpened( false );
58
58
  closeGeneralSidebar();
@@ -22,20 +22,10 @@ import { _x } from '@wordpress/i18n';
22
22
  /**
23
23
  * Internal dependencies
24
24
  */
25
- import {
26
- TEMPLATE_POST_TYPE,
27
- TEMPLATE_PART_POST_TYPE,
28
- TEMPLATE_ORIGINS,
29
- } from '../../utils/constants';
25
+ import { TEMPLATE_POST_TYPE, TEMPLATE_ORIGINS } from '../../utils/constants';
30
26
 
31
27
  /** @typedef {'wp_template'|'wp_template_part'} TemplateType */
32
28
 
33
- /** @type {TemplateType} */
34
- const TEMPLATE_POST_TYPE_NAMES = [
35
- TEMPLATE_POST_TYPE,
36
- TEMPLATE_PART_POST_TYPE,
37
- ];
38
-
39
29
  /**
40
30
  * @typedef {'theme'|'plugin'|'site'|'user'} AddedByType
41
31
  *
@@ -55,8 +45,6 @@ export function useAddedBy( postType, postId ) {
55
45
  return useSelect(
56
46
  ( select ) => {
57
47
  const {
58
- getTheme,
59
- getPlugin,
60
48
  getEntityRecord,
61
49
  getMedia,
62
50
  getUser,
@@ -67,82 +55,54 @@ export function useAddedBy( postType, postId ) {
67
55
  postType,
68
56
  postId
69
57
  );
58
+ const originalSource = template?.original_source;
59
+ const authorText = template?.author_text;
70
60
 
71
- if ( TEMPLATE_POST_TYPE_NAMES.includes( template.type ) ) {
72
- // Added by theme.
73
- // Template originally provided by a theme, but customized by a user.
74
- // Templates originally didn't have the 'origin' field so identify
75
- // older customized templates by checking for no origin and a 'theme'
76
- // or 'custom' source.
77
- if (
78
- template.has_theme_file &&
79
- ( template.origin === TEMPLATE_ORIGINS.theme ||
80
- ( ! template.origin &&
81
- [
82
- TEMPLATE_ORIGINS.theme,
83
- TEMPLATE_ORIGINS.custom,
84
- ].includes( template.source ) ) )
85
- ) {
61
+ switch ( originalSource ) {
62
+ case 'theme': {
86
63
  return {
87
- type: 'theme',
64
+ type: originalSource,
88
65
  icon: themeIcon,
89
- text:
90
- getTheme( template.theme )?.name?.rendered ||
91
- template.theme,
66
+ text: authorText,
92
67
  isCustomized:
93
68
  template.source === TEMPLATE_ORIGINS.custom,
94
69
  };
95
70
  }
96
-
97
- // Added by plugin.
98
- if (
99
- template.has_theme_file &&
100
- template.origin === TEMPLATE_ORIGINS.plugin
101
- ) {
71
+ case 'plugin': {
102
72
  return {
103
- type: TEMPLATE_ORIGINS.plugin,
73
+ type: originalSource,
104
74
  icon: pluginIcon,
105
- text:
106
- getPlugin( template.theme )?.name || template.theme,
75
+ text: authorText,
107
76
  isCustomized:
108
77
  template.source === TEMPLATE_ORIGINS.custom,
109
78
  };
110
79
  }
111
-
112
- // Added by site.
113
- // Template was created from scratch, but has no author. Author support
114
- // was only added to templates in WordPress 5.9. Fallback to showing the
115
- // site logo and title.
116
- if (
117
- ! template.has_theme_file &&
118
- template.source === TEMPLATE_ORIGINS.custom &&
119
- ! template.author
120
- ) {
80
+ case 'site': {
121
81
  const siteData = getEntityRecord(
122
82
  'root',
123
83
  '__unstableBase'
124
84
  );
125
85
  return {
126
- type: 'site',
86
+ type: originalSource,
127
87
  icon: globeIcon,
128
88
  imageUrl: siteData?.site_logo
129
89
  ? getMedia( siteData.site_logo )?.source_url
130
90
  : undefined,
131
- text: siteData?.name,
91
+ text: authorText,
92
+ isCustomized: false,
93
+ };
94
+ }
95
+ default: {
96
+ const user = getUser( template.author );
97
+ return {
98
+ type: 'user',
99
+ icon: authorIcon,
100
+ imageUrl: user?.avatar_urls?.[ 48 ],
101
+ text: authorText,
132
102
  isCustomized: false,
133
103
  };
134
104
  }
135
105
  }
136
-
137
- // Added by user.
138
- const user = getUser( template.author );
139
- return {
140
- type: 'user',
141
- icon: authorIcon,
142
- imageUrl: user?.avatar_urls?.[ 48 ],
143
- text: user?.nickname,
144
- isCustomized: false,
145
- };
146
106
  },
147
107
  [ postType, postId ]
148
108
  );
@@ -148,33 +148,31 @@
148
148
  .edit-site-list-added-by__icon {
149
149
  display: flex;
150
150
  flex-shrink: 0;
151
- align-items: center;
152
- justify-content: center;
153
- width: $grid-unit-40;
154
- height: $grid-unit-40;
155
- background: $gray-800;
156
- border-radius: 100%;
151
+ width: $grid-unit-30;
152
+ height: $grid-unit-30;
157
153
 
158
154
  svg {
159
- fill: $white;
155
+ fill: currentColor;
160
156
  }
161
157
  }
162
158
 
163
159
  .edit-site-list-added-by__avatar {
164
160
  flex-shrink: 0;
165
161
  overflow: hidden;
166
- border-radius: 100%;
167
- background: $gray-800;
168
- width: $grid-unit-40;
169
- height: $grid-unit-40;
162
+ width: $grid-unit-30;
163
+ height: $grid-unit-30;
164
+ align-items: center;
165
+ justify-content: center;
166
+ display: flex;
170
167
 
171
168
  img {
172
- width: $grid-unit-40;
173
- height: $grid-unit-40;
169
+ width: 20px;
170
+ height: 20px;
174
171
  object-fit: cover;
175
172
  opacity: 0;
176
173
  transition: opacity 0.1s linear;
177
174
  @include reduce-motion("transition");
175
+ border-radius: 100%;
178
176
  }
179
177
 
180
178
  &.is-loaded {
@@ -5,6 +5,7 @@ import { useSelect, useDispatch } from '@wordpress/data';
5
5
  import { useEffect, useRef } from '@wordpress/element';
6
6
  import { store as noticesStore } from '@wordpress/notices';
7
7
  import { __ } from '@wordpress/i18n';
8
+ import { store as editorStore } from '@wordpress/editor';
8
9
 
9
10
  /**
10
11
  * Internal dependencies
@@ -25,35 +26,33 @@ export default function BackToPageNotification() {
25
26
  * switches from focusing on editing page content to editing a template.
26
27
  */
27
28
  export function useBackToPageNotification() {
28
- const hasPageContentFocus = useSelect(
29
- ( select ) => select( editSiteStore ).hasPageContentFocus(),
29
+ const renderingMode = useSelect(
30
+ ( select ) => select( editorStore ).getRenderingMode(),
30
31
  []
31
32
  );
32
33
  const { isPage } = useSelect( editSiteStore );
34
+ const { setRenderingMode } = useDispatch( editorStore );
35
+ const { createInfoNotice } = useDispatch( noticesStore );
33
36
 
34
37
  const alreadySeen = useRef( false );
35
38
 
36
- const { createInfoNotice } = useDispatch( noticesStore );
37
- const { setHasPageContentFocus } = useDispatch( editSiteStore );
38
-
39
39
  useEffect( () => {
40
- if ( isPage() && ! alreadySeen.current && ! hasPageContentFocus ) {
40
+ if (
41
+ isPage() &&
42
+ ! alreadySeen.current &&
43
+ renderingMode === 'template-only'
44
+ ) {
41
45
  createInfoNotice( __( 'You are editing a template.' ), {
42
46
  isDismissible: true,
43
47
  type: 'snackbar',
44
48
  actions: [
45
49
  {
46
50
  label: __( 'Back to page' ),
47
- onClick: () => setHasPageContentFocus( true ),
51
+ onClick: () => setRenderingMode( 'template-locked' ),
48
52
  },
49
53
  ],
50
54
  } );
51
55
  alreadySeen.current = true;
52
56
  }
53
- }, [
54
- isPage,
55
- hasPageContentFocus,
56
- createInfoNotice,
57
- setHasPageContentFocus,
58
- ] );
57
+ }, [ isPage, renderingMode, createInfoNotice, setRenderingMode ] );
59
58
  }
@@ -6,11 +6,7 @@ import { useEffect, useState, useRef } from '@wordpress/element';
6
6
  import { store as noticesStore } from '@wordpress/notices';
7
7
  import { __ } from '@wordpress/i18n';
8
8
  import { __experimentalConfirmDialog as ConfirmDialog } from '@wordpress/components';
9
-
10
- /**
11
- * Internal dependencies
12
- */
13
- import { store as editSiteStore } from '../../store';
9
+ import { store as editorStore } from '@wordpress/editor';
14
10
 
15
11
  /**
16
12
  * Component that:
@@ -27,14 +23,14 @@ import { store as editSiteStore } from '../../store';
27
23
  * editor iframe canvas.
28
24
  */
29
25
  export default function EditTemplateNotification( { contentRef } ) {
30
- const hasPageContentFocus = useSelect(
31
- ( select ) => select( editSiteStore ).hasPageContentFocus(),
26
+ const renderingMode = useSelect(
27
+ ( select ) => select( editorStore ).getRenderingMode(),
32
28
  []
33
29
  );
34
30
  const { getNotices } = useSelect( noticesStore );
35
31
 
36
32
  const { createInfoNotice, removeNotice } = useDispatch( noticesStore );
37
- const { setHasPageContentFocus } = useDispatch( editSiteStore );
33
+ const { setRenderingMode } = useDispatch( editorStore );
38
34
 
39
35
  const [ isDialogOpen, setIsDialogOpen ] = useState( false );
40
36
 
@@ -42,7 +38,7 @@ export default function EditTemplateNotification( { contentRef } ) {
42
38
 
43
39
  useEffect( () => {
44
40
  const handleClick = async ( event ) => {
45
- if ( ! hasPageContentFocus ) {
41
+ if ( renderingMode === 'template-only' ) {
46
42
  return;
47
43
  }
48
44
  if ( ! event.target.classList.contains( 'is-root-container' ) ) {
@@ -62,7 +58,7 @@ export default function EditTemplateNotification( { contentRef } ) {
62
58
  actions: [
63
59
  {
64
60
  label: __( 'Edit template' ),
65
- onClick: () => setHasPageContentFocus( false ),
61
+ onClick: () => setRenderingMode( 'template-only' ),
66
62
  },
67
63
  ],
68
64
  }
@@ -71,7 +67,7 @@ export default function EditTemplateNotification( { contentRef } ) {
71
67
  };
72
68
 
73
69
  const handleDblClick = ( event ) => {
74
- if ( ! hasPageContentFocus ) {
70
+ if ( renderingMode === 'template-only' ) {
75
71
  return;
76
72
  }
77
73
  if ( ! event.target.classList.contains( 'is-root-container' ) ) {
@@ -90,7 +86,7 @@ export default function EditTemplateNotification( { contentRef } ) {
90
86
  canvas?.removeEventListener( 'click', handleClick );
91
87
  canvas?.removeEventListener( 'dblclick', handleDblClick );
92
88
  };
93
- }, [ lastNoticeId, hasPageContentFocus, contentRef.current ] );
89
+ }, [ lastNoticeId, renderingMode, contentRef.current ] );
94
90
 
95
91
  return (
96
92
  <ConfirmDialog
@@ -98,7 +94,7 @@ export default function EditTemplateNotification( { contentRef } ) {
98
94
  confirmButtonText={ __( 'Edit template' ) }
99
95
  onConfirm={ () => {
100
96
  setIsDialogOpen( false );
101
- setHasPageContentFocus( false );
97
+ setRenderingMode( 'template-only' );
102
98
  } }
103
99
  onCancel={ () => setIsDialogOpen( false ) }
104
100
  >
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import EditTemplateNotification from './edit-template-notification';
5
+ import BackToPageNotification from './back-to-page-notification';
6
+
7
+ export default function PageContentFocusNotifications( { contentRef } ) {
8
+ return (
9
+ <>
10
+ <EditTemplateNotification contentRef={ contentRef } />
11
+ <BackToPageNotification />
12
+ </>
13
+ );
14
+ }