@wordpress/edit-site 5.14.0 → 5.15.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 (341) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-page/index.js +1 -6
  3. package/build/components/add-new-page/index.js.map +1 -1
  4. package/build/components/add-new-pattern/index.js +21 -7
  5. package/build/components/add-new-pattern/index.js.map +1 -1
  6. package/build/components/add-new-template/utils.js +10 -8
  7. package/build/components/add-new-template/utils.js.map +1 -1
  8. package/build/components/block-editor/constants.js +1 -1
  9. package/build/components/block-editor/constants.js.map +1 -1
  10. package/build/components/block-editor/editor-canvas.js +1 -1
  11. package/build/components/block-editor/editor-canvas.js.map +1 -1
  12. package/build/components/block-editor/index.js +0 -4
  13. package/build/components/block-editor/index.js.map +1 -1
  14. package/build/components/block-editor/use-site-editor-settings.js +87 -13
  15. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  16. package/build/components/code-editor/index.js +60 -28
  17. package/build/components/code-editor/index.js.map +1 -1
  18. package/build/components/create-pattern-modal/index.js +7 -3
  19. package/build/components/create-pattern-modal/index.js.map +1 -1
  20. package/build/components/editor/index.js +1 -1
  21. package/build/components/editor/index.js.map +1 -1
  22. package/build/components/header-edit-mode/index.js +13 -9
  23. package/build/components/header-edit-mode/index.js.map +1 -1
  24. package/build/components/layout/index.js +8 -3
  25. package/build/components/layout/index.js.map +1 -1
  26. package/build/components/page-actions/index.js +2 -2
  27. package/build/components/page-actions/index.js.map +1 -1
  28. package/build/components/page-actions/{delete-page-menu-item.js → trash-page-menu-item.js} +8 -16
  29. package/build/components/page-actions/trash-page-menu-item.js.map +1 -0
  30. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +5 -5
  31. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  32. package/build/components/page-patterns/duplicate-menu-item.js +163 -0
  33. package/build/components/page-patterns/duplicate-menu-item.js.map +1 -0
  34. package/build/components/page-patterns/grid-item.js +83 -58
  35. package/build/components/page-patterns/grid-item.js.map +1 -1
  36. package/build/components/page-patterns/grid.js +5 -18
  37. package/build/components/page-patterns/grid.js.map +1 -1
  38. package/build/components/page-patterns/header.js +69 -0
  39. package/build/components/page-patterns/header.js.map +1 -0
  40. package/build/components/page-patterns/index.js +3 -1
  41. package/build/components/page-patterns/index.js.map +1 -1
  42. package/build/components/page-patterns/pagination.js +63 -0
  43. package/build/components/page-patterns/pagination.js.map +1 -0
  44. package/build/components/page-patterns/patterns-list.js +95 -30
  45. package/build/components/page-patterns/patterns-list.js.map +1 -1
  46. package/build/components/page-patterns/rename-menu-item.js +109 -0
  47. package/build/components/page-patterns/rename-menu-item.js.map +1 -0
  48. package/build/components/page-patterns/use-patterns.js +102 -121
  49. package/build/components/page-patterns/use-patterns.js.map +1 -1
  50. package/build/components/page-template-parts/add-new-template-part.js +74 -0
  51. package/build/components/page-template-parts/add-new-template-part.js.map +1 -0
  52. package/build/components/page-template-parts/index.js +2 -23
  53. package/build/components/page-template-parts/index.js.map +1 -1
  54. package/build/components/resizable-frame/index.js +78 -36
  55. package/build/components/resizable-frame/index.js.map +1 -1
  56. package/build/components/save-panel/index.js +5 -5
  57. package/build/components/save-panel/index.js.map +1 -1
  58. package/build/components/sidebar-edit-mode/page-panels/page-content.js +4 -3
  59. package/build/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -1
  60. package/build/components/sidebar-edit-mode/page-panels/page-status.js +3 -8
  61. package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  62. package/build/components/sidebar-navigation-screen/index.js +14 -8
  63. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  64. package/build/components/sidebar-navigation-screen-main/index.js +4 -2
  65. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  66. package/build/components/sidebar-navigation-screen-main/template-part-hint.js +45 -0
  67. package/build/components/sidebar-navigation-screen-main/template-part-hint.js.map +1 -0
  68. package/build/components/sidebar-navigation-screen-navigation-menu/index.js +4 -4
  69. package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  70. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -0
  71. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  72. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +3 -3
  73. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  74. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +4 -3
  75. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  76. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js +2 -0
  77. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -1
  78. package/build/components/sidebar-navigation-screen-page/index.js +2 -3
  79. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
  80. package/build/components/sidebar-navigation-screen-page/status-label.js +1 -34
  81. package/build/components/sidebar-navigation-screen-page/status-label.js.map +1 -1
  82. package/build/components/sidebar-navigation-screen-pages/index.js +33 -25
  83. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  84. package/build/components/sidebar-navigation-screen-pattern/index.js +9 -7
  85. package/build/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  86. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +3 -2
  87. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  88. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +3 -2
  89. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -1
  90. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +11 -3
  91. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
  92. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +5 -2
  93. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  94. package/build/components/sidebar-navigation-screen-patterns/index.js +72 -51
  95. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  96. package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js +9 -5
  97. package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +1 -1
  98. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +11 -1
  99. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  100. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +20 -9
  101. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
  102. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -1
  103. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  104. package/build/components/site-hub/index.js +24 -11
  105. package/build/components/site-hub/index.js.map +1 -1
  106. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +10 -5
  107. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  108. package/build/components/sync-state-with-url/use-sync-path-with-url.js +15 -12
  109. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  110. package/build/components/template-actions/index.js +3 -1
  111. package/build/components/template-actions/index.js.map +1 -1
  112. package/build/components/template-actions/rename-menu-item.js +12 -8
  113. package/build/components/template-actions/rename-menu-item.js.map +1 -1
  114. package/build/components/use-edited-entity-record/index.js +6 -1
  115. package/build/components/use-edited-entity-record/index.js.map +1 -1
  116. package/build/hooks/commands/use-common-commands.js +78 -20
  117. package/build/hooks/commands/use-common-commands.js.map +1 -1
  118. package/build/hooks/push-changes-to-global-styles/index.js +56 -10
  119. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  120. package/build/store/private-actions.js +7 -1
  121. package/build/store/private-actions.js.map +1 -1
  122. package/build/utils/normalize-record-key.js +19 -0
  123. package/build/utils/normalize-record-key.js.map +1 -0
  124. package/build/utils/use-activate-theme.js +1 -1
  125. package/build/utils/use-activate-theme.js.map +1 -1
  126. package/build-module/components/add-new-page/index.js +1 -6
  127. package/build-module/components/add-new-page/index.js.map +1 -1
  128. package/build-module/components/add-new-pattern/index.js +19 -7
  129. package/build-module/components/add-new-pattern/index.js.map +1 -1
  130. package/build-module/components/add-new-template/utils.js +9 -6
  131. package/build-module/components/add-new-template/utils.js.map +1 -1
  132. package/build-module/components/block-editor/constants.js +1 -1
  133. package/build-module/components/block-editor/constants.js.map +1 -1
  134. package/build-module/components/block-editor/editor-canvas.js +1 -1
  135. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  136. package/build-module/components/block-editor/index.js +0 -4
  137. package/build-module/components/block-editor/index.js.map +1 -1
  138. package/build-module/components/block-editor/use-site-editor-settings.js +89 -14
  139. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  140. package/build-module/components/code-editor/index.js +62 -30
  141. package/build-module/components/code-editor/index.js.map +1 -1
  142. package/build-module/components/create-pattern-modal/index.js +6 -3
  143. package/build-module/components/create-pattern-modal/index.js.map +1 -1
  144. package/build-module/components/editor/index.js +1 -1
  145. package/build-module/components/editor/index.js.map +1 -1
  146. package/build-module/components/header-edit-mode/index.js +13 -9
  147. package/build-module/components/header-edit-mode/index.js.map +1 -1
  148. package/build-module/components/layout/index.js +8 -3
  149. package/build-module/components/layout/index.js.map +1 -1
  150. package/build-module/components/page-actions/index.js +2 -2
  151. package/build-module/components/page-actions/index.js.map +1 -1
  152. package/build-module/components/page-actions/{delete-page-menu-item.js → trash-page-menu-item.js} +8 -17
  153. package/build-module/components/page-actions/trash-page-menu-item.js.map +1 -0
  154. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +5 -3
  155. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  156. package/build-module/components/page-patterns/duplicate-menu-item.js +147 -0
  157. package/build-module/components/page-patterns/duplicate-menu-item.js.map +1 -0
  158. package/build-module/components/page-patterns/grid-item.js +84 -64
  159. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  160. package/build-module/components/page-patterns/grid.js +5 -17
  161. package/build-module/components/page-patterns/grid.js.map +1 -1
  162. package/build-module/components/page-patterns/header.js +54 -0
  163. package/build-module/components/page-patterns/header.js.map +1 -0
  164. package/build-module/components/page-patterns/index.js +3 -1
  165. package/build-module/components/page-patterns/index.js.map +1 -1
  166. package/build-module/components/page-patterns/pagination.js +54 -0
  167. package/build-module/components/page-patterns/pagination.js.map +1 -0
  168. package/build-module/components/page-patterns/patterns-list.js +96 -33
  169. package/build-module/components/page-patterns/patterns-list.js.map +1 -1
  170. package/build-module/components/page-patterns/rename-menu-item.js +97 -0
  171. package/build-module/components/page-patterns/rename-menu-item.js.map +1 -0
  172. package/build-module/components/page-patterns/use-patterns.js +103 -122
  173. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  174. package/build-module/components/page-template-parts/add-new-template-part.js +58 -0
  175. package/build-module/components/page-template-parts/add-new-template-part.js.map +1 -0
  176. package/build-module/components/page-template-parts/index.js +3 -22
  177. package/build-module/components/page-template-parts/index.js.map +1 -1
  178. package/build-module/components/resizable-frame/index.js +79 -39
  179. package/build-module/components/resizable-frame/index.js.map +1 -1
  180. package/build-module/components/save-panel/index.js +5 -5
  181. package/build-module/components/save-panel/index.js.map +1 -1
  182. package/build-module/components/sidebar-edit-mode/page-panels/page-content.js +5 -2
  183. package/build-module/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -1
  184. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js +3 -8
  185. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  186. package/build-module/components/sidebar-navigation-screen/index.js +15 -9
  187. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  188. package/build-module/components/sidebar-navigation-screen-main/index.js +4 -3
  189. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  190. package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js +33 -0
  191. package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js.map +1 -0
  192. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js +4 -4
  193. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  194. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -0
  195. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  196. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +3 -3
  197. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  198. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +4 -3
  199. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  200. package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js +2 -0
  201. package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -1
  202. package/build-module/components/sidebar-navigation-screen-page/index.js +2 -3
  203. package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
  204. package/build-module/components/sidebar-navigation-screen-page/status-label.js +1 -32
  205. package/build-module/components/sidebar-navigation-screen-page/status-label.js.map +1 -1
  206. package/build-module/components/sidebar-navigation-screen-pages/index.js +33 -25
  207. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  208. package/build-module/components/sidebar-navigation-screen-pattern/index.js +8 -7
  209. package/build-module/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  210. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +3 -2
  211. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  212. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +3 -2
  213. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -1
  214. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +11 -3
  215. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
  216. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +4 -2
  217. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  218. package/build-module/components/sidebar-navigation-screen-patterns/index.js +76 -53
  219. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  220. package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js +9 -5
  221. package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +1 -1
  222. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +10 -1
  223. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  224. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +18 -9
  225. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
  226. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -1
  227. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  228. package/build-module/components/site-hub/index.js +24 -11
  229. package/build-module/components/site-hub/index.js.map +1 -1
  230. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +7 -5
  231. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  232. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +16 -12
  233. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  234. package/build-module/components/template-actions/index.js +2 -1
  235. package/build-module/components/template-actions/index.js.map +1 -1
  236. package/build-module/components/template-actions/rename-menu-item.js +11 -8
  237. package/build-module/components/template-actions/rename-menu-item.js.map +1 -1
  238. package/build-module/components/use-edited-entity-record/index.js +3 -1
  239. package/build-module/components/use-edited-entity-record/index.js.map +1 -1
  240. package/build-module/hooks/commands/use-common-commands.js +74 -20
  241. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  242. package/build-module/hooks/push-changes-to-global-styles/index.js +57 -10
  243. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  244. package/build-module/store/private-actions.js +7 -1
  245. package/build-module/store/private-actions.js.map +1 -1
  246. package/build-module/utils/normalize-record-key.js +12 -0
  247. package/build-module/utils/normalize-record-key.js.map +1 -0
  248. package/build-module/utils/use-activate-theme.js +1 -1
  249. package/build-module/utils/use-activate-theme.js.map +1 -1
  250. package/build-style/style-rtl.css +221 -63
  251. package/build-style/style.css +221 -63
  252. package/package.json +39 -40
  253. package/src/components/add-new-page/index.js +0 -3
  254. package/src/components/add-new-pattern/index.js +23 -12
  255. package/src/components/add-new-template/utils.js +9 -6
  256. package/src/components/block-editor/constants.js +5 -1
  257. package/src/components/block-editor/editor-canvas.js +1 -1
  258. package/src/components/block-editor/index.js +0 -4
  259. package/src/components/block-editor/use-site-editor-settings.js +99 -20
  260. package/src/components/canvas-spinner/style.scss +14 -0
  261. package/src/components/code-editor/index.js +51 -33
  262. package/src/components/create-pattern-modal/index.js +5 -2
  263. package/src/components/editor/index.js +2 -2
  264. package/src/components/header-edit-mode/document-actions/style.scss +4 -0
  265. package/src/components/header-edit-mode/index.js +29 -22
  266. package/src/components/layout/index.js +16 -2
  267. package/src/components/layout/style.scss +2 -1
  268. package/src/components/page-actions/index.js +2 -2
  269. package/src/components/page-actions/{delete-page-menu-item.js → trash-page-menu-item.js} +9 -22
  270. package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +12 -3
  271. package/src/components/page-patterns/duplicate-menu-item.js +196 -0
  272. package/src/components/page-patterns/grid-item.js +189 -133
  273. package/src/components/page-patterns/grid.js +3 -20
  274. package/src/components/page-patterns/header.js +69 -0
  275. package/src/components/page-patterns/index.js +6 -1
  276. package/src/components/page-patterns/pagination.js +80 -0
  277. package/src/components/page-patterns/patterns-list.js +160 -72
  278. package/src/components/page-patterns/rename-menu-item.js +115 -0
  279. package/src/components/page-patterns/style.scss +140 -30
  280. package/src/components/page-patterns/use-patterns.js +102 -172
  281. package/src/components/page-template-parts/add-new-template-part.js +57 -0
  282. package/src/components/page-template-parts/index.js +3 -22
  283. package/src/components/resizable-frame/index.js +102 -34
  284. package/src/components/resizable-frame/style.scss +9 -9
  285. package/src/components/save-panel/index.js +10 -4
  286. package/src/components/sidebar-edit-mode/page-panels/page-content.js +7 -5
  287. package/src/components/sidebar-edit-mode/page-panels/page-status.js +2 -5
  288. package/src/components/sidebar-navigation-item/style.scss +5 -12
  289. package/src/components/sidebar-navigation-screen/index.js +14 -7
  290. package/src/components/sidebar-navigation-screen/style.scss +14 -0
  291. package/src/components/sidebar-navigation-screen-main/index.js +44 -40
  292. package/src/components/sidebar-navigation-screen-main/template-part-hint.js +34 -0
  293. package/src/components/sidebar-navigation-screen-navigation-menu/index.js +4 -3
  294. package/src/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -0
  295. package/src/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +1 -1
  296. package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +15 -5
  297. package/src/components/sidebar-navigation-screen-navigation-menus/constants.js +2 -0
  298. package/src/components/sidebar-navigation-screen-page/index.js +3 -3
  299. package/src/components/sidebar-navigation-screen-page/status-label.js +1 -35
  300. package/src/components/sidebar-navigation-screen-pages/index.js +39 -29
  301. package/src/components/sidebar-navigation-screen-pattern/index.js +5 -2
  302. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -1
  303. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +2 -1
  304. package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +12 -2
  305. package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +5 -2
  306. package/src/components/sidebar-navigation-screen-patterns/index.js +103 -98
  307. package/src/components/sidebar-navigation-screen-patterns/style.scss +20 -0
  308. package/src/components/sidebar-navigation-screen-patterns/use-my-patterns.js +7 -6
  309. package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +9 -0
  310. package/src/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +31 -9
  311. package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -1
  312. package/src/components/site-hub/index.js +45 -28
  313. package/src/components/site-hub/style.scss +13 -0
  314. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +8 -2
  315. package/src/components/sync-state-with-url/use-sync-path-with-url.js +73 -66
  316. package/src/components/template-actions/index.js +2 -1
  317. package/src/components/template-actions/rename-menu-item.js +17 -10
  318. package/src/components/use-edited-entity-record/index.js +6 -1
  319. package/src/hooks/commands/use-common-commands.js +56 -23
  320. package/src/hooks/push-changes-to-global-styles/index.js +63 -9
  321. package/src/store/private-actions.js +5 -1
  322. package/src/style.scss +10 -12
  323. package/src/utils/normalize-record-key.js +11 -0
  324. package/src/utils/use-activate-theme.js +1 -1
  325. package/build/components/code-editor/code-editor-text-area.js +0 -96
  326. package/build/components/code-editor/code-editor-text-area.js.map +0 -1
  327. package/build/components/keyboard-shortcuts/index.js +0 -148
  328. package/build/components/keyboard-shortcuts/index.js.map +0 -1
  329. package/build/components/page-actions/delete-page-menu-item.js.map +0 -1
  330. package/build/components/page-content-focus-manager/constants.js +0 -9
  331. package/build/components/page-content-focus-manager/constants.js.map +0 -1
  332. package/build-module/components/code-editor/code-editor-text-area.js +0 -84
  333. package/build-module/components/code-editor/code-editor-text-area.js.map +0 -1
  334. package/build-module/components/keyboard-shortcuts/index.js +0 -132
  335. package/build-module/components/keyboard-shortcuts/index.js.map +0 -1
  336. package/build-module/components/page-actions/delete-page-menu-item.js.map +0 -1
  337. package/build-module/components/page-content-focus-manager/constants.js +0 -2
  338. package/build-module/components/page-content-focus-manager/constants.js.map +0 -1
  339. package/src/components/code-editor/code-editor-text-area.js +0 -84
  340. package/src/components/keyboard-shortcuts/index.js +0 -137
  341. package/src/components/page-content-focus-manager/constants.js +0 -5
@@ -31,33 +31,41 @@ import { unlock } from '../../lock-unlock';
31
31
 
32
32
  const HUB_ANIMATION_DURATION = 0.3;
33
33
 
34
- const SiteHub = forwardRef( ( props, ref ) => {
35
- const { canvasMode, dashboardLink, homeUrl } = useSelect( ( select ) => {
36
- const { getCanvasMode, getSettings } = unlock(
37
- select( editSiteStore )
38
- );
34
+ const SiteHub = forwardRef( ( { isTransparent, ...restProps }, ref ) => {
35
+ const { canvasMode, dashboardLink, homeUrl, siteTitle } = useSelect(
36
+ ( select ) => {
37
+ const { getCanvasMode, getSettings } = unlock(
38
+ select( editSiteStore )
39
+ );
39
40
 
40
- const {
41
- getUnstableBase, // Site index.
42
- } = select( coreStore );
41
+ const {
42
+ getSite,
43
+ getUnstableBase, // Site index.
44
+ } = select( coreStore );
43
45
 
44
- return {
45
- canvasMode: getCanvasMode(),
46
- dashboardLink:
47
- getSettings().__experimentalDashboardLink || 'index.php',
48
- homeUrl: getUnstableBase()?.home,
49
- };
50
- }, [] );
46
+ return {
47
+ canvasMode: getCanvasMode(),
48
+ dashboardLink:
49
+ getSettings().__experimentalDashboardLink || 'index.php',
50
+ homeUrl: getUnstableBase()?.home,
51
+ siteTitle: getSite()?.title,
52
+ };
53
+ },
54
+ []
55
+ );
51
56
  const { open: openCommandCenter } = useDispatch( commandsStore );
52
57
 
53
58
  const disableMotion = useReducedMotion();
54
- const { setCanvasMode } = unlock( useDispatch( editSiteStore ) );
59
+ const {
60
+ setCanvasMode,
61
+ __experimentalSetPreviewDeviceType: setPreviewDeviceType,
62
+ } = unlock( useDispatch( editSiteStore ) );
55
63
  const { clearSelectedBlock } = useDispatch( blockEditorStore );
56
64
  const isBackToDashboardButton = canvasMode === 'view';
57
65
  const siteIconButtonProps = isBackToDashboardButton
58
66
  ? {
59
67
  href: dashboardLink,
60
- label: __( 'Go back to the Dashboard' ),
68
+ label: __( 'Go to the Dashboard' ),
61
69
  }
62
70
  : {
63
71
  href: dashboardLink, // We need to keep the `href` here so the component doesn't remount as a `<button>` and break the animation.
@@ -67,22 +75,20 @@ const SiteHub = forwardRef( ( props, ref ) => {
67
75
  event.preventDefault();
68
76
  if ( canvasMode === 'edit' ) {
69
77
  clearSelectedBlock();
78
+ setPreviewDeviceType( 'desktop' );
70
79
  setCanvasMode( 'view' );
71
80
  }
72
81
  },
73
82
  };
74
83
 
75
- const siteTitle = useSelect(
76
- ( select ) =>
77
- select( coreStore ).getEntityRecord( 'root', 'site' )?.title,
78
- []
79
- );
80
-
81
84
  return (
82
85
  <motion.div
83
86
  ref={ ref }
84
- { ...props }
85
- className={ classnames( 'edit-site-site-hub', props.className ) }
87
+ { ...restProps }
88
+ className={ classnames(
89
+ 'edit-site-site-hub',
90
+ restProps.className
91
+ ) }
86
92
  initial={ false }
87
93
  transition={ {
88
94
  type: 'tween',
@@ -101,7 +107,12 @@ const SiteHub = forwardRef( ( props, ref ) => {
101
107
  spacing="0"
102
108
  >
103
109
  <motion.div
104
- className="edit-site-site-hub__view-mode-toggle-container"
110
+ className={ classnames(
111
+ 'edit-site-site-hub__view-mode-toggle-container',
112
+ {
113
+ 'has-transparent-background': isTransparent,
114
+ }
115
+ ) }
105
116
  layout
106
117
  transition={ {
107
118
  type: 'tween',
@@ -145,7 +156,10 @@ const SiteHub = forwardRef( ( props, ref ) => {
145
156
  exit={ {
146
157
  opacity: 0,
147
158
  } }
148
- className="edit-site-site-hub__site-title"
159
+ className={ classnames(
160
+ 'edit-site-site-hub__site-title',
161
+ { 'is-transparent': isTransparent }
162
+ ) }
149
163
  transition={ {
150
164
  type: 'tween',
151
165
  duration: disableMotion ? 0 : 0.2,
@@ -171,7 +185,10 @@ const SiteHub = forwardRef( ( props, ref ) => {
171
185
  </HStack>
172
186
  { canvasMode === 'view' && (
173
187
  <Button
174
- className="edit-site-site-hub_toggle-command-center"
188
+ className={ classnames(
189
+ 'edit-site-site-hub_toggle-command-center',
190
+ { 'is-transparent': isTransparent }
191
+ ) }
175
192
  icon={ search }
176
193
  onClick={ () => openCommandCenter() }
177
194
  label={ __( 'Open command palette' ) }
@@ -8,6 +8,15 @@
8
8
  gap: 0;
9
9
  }
10
10
 
11
+ .edit-site-site-hub__site-title,
12
+ .edit-site-site-hub_toggle-command-center {
13
+ transition: opacity ease 0.1s;
14
+
15
+ &.is-transparent {
16
+ opacity: 0 !important;
17
+ }
18
+ }
19
+
11
20
  .edit-site-site-hub__site-view-link {
12
21
  flex-grow: 0;
13
22
  @include break-mobile() {
@@ -39,6 +48,10 @@
39
48
  width: $header-height;
40
49
  flex-shrink: 0;
41
50
  background: $gray-900;
51
+
52
+ &.has-transparent-background {
53
+ background: transparent;
54
+ }
42
55
  }
43
56
 
44
57
  .edit-site-site-hub__text-content {
@@ -11,11 +11,17 @@ import { privateApis as routerPrivateApis } from '@wordpress/router';
11
11
  */
12
12
  import { store as editSiteStore } from '../../store';
13
13
  import { unlock } from '../../lock-unlock';
14
+ import normalizeRecordKey from '../../utils/normalize-record-key';
14
15
 
15
16
  const { useLocation } = unlock( routerPrivateApis );
16
17
 
17
18
  export default function useInitEditedEntityFromURL() {
18
- const { params: { postId, postType } = {} } = useLocation();
19
+ const { params } = useLocation();
20
+
21
+ const { postType } = params;
22
+
23
+ const postId = normalizeRecordKey( params?.postId );
24
+
19
25
  const { isRequestingSite, homepageId, url } = useSelect( ( select ) => {
20
26
  const { getSite, getUnstableBase } = select( coreDataStore );
21
27
  const siteData = getSite();
@@ -66,7 +72,7 @@ export default function useInitEditedEntityFromURL() {
66
72
  // In all other cases, we need to set the home page in the site editor view.
67
73
  if ( homepageId ) {
68
74
  setPage( {
69
- context: { postType: 'page', postId: homepageId },
75
+ context: { postType: 'page', postId: Number( homepageId ) },
70
76
  } );
71
77
  } else if ( ! isRequestingSite ) {
72
78
  setPage( {
@@ -36,6 +36,12 @@ export function getPathFromURL( urlParams ) {
36
36
  return path;
37
37
  }
38
38
 
39
+ function isSubset( subset, superset ) {
40
+ return Object.entries( subset ).every( ( [ key, value ] ) => {
41
+ return superset[ key ] === value;
42
+ } );
43
+ }
44
+
39
45
  export default function useSyncPathWithURL() {
40
46
  const history = useHistory();
41
47
  const { params: urlParams } = useLocation();
@@ -44,76 +50,77 @@ export default function useSyncPathWithURL() {
44
50
  params: navigatorParams,
45
51
  goTo,
46
52
  } = useNavigator();
47
- const currentUrlParams = useRef( urlParams );
48
- const currentPath = useRef( navigatorLocation.path );
49
53
  const isMounting = useRef( true );
50
54
 
51
- useEffect( () => {
52
- // The navigatorParams are only initially filled properly when the
53
- // navigator screens mount. so we ignore the first synchronisation.
54
- if ( isMounting.current ) {
55
- isMounting.current = false;
56
- return;
57
- }
58
-
59
- function updateUrlParams( newUrlParams ) {
60
- if (
61
- Object.entries( newUrlParams ).every( ( [ key, value ] ) => {
62
- return currentUrlParams.current[ key ] === value;
63
- } )
64
- ) {
55
+ useEffect(
56
+ () => {
57
+ // The navigatorParams are only initially filled properly when the
58
+ // navigator screens mount. so we ignore the first synchronisation.
59
+ if ( isMounting.current ) {
60
+ isMounting.current = false;
65
61
  return;
66
62
  }
67
- const updatedParams = {
68
- ...currentUrlParams.current,
69
- ...newUrlParams,
70
- };
71
- currentUrlParams.current = updatedParams;
72
- history.push( updatedParams );
73
- }
74
63
 
75
- if ( navigatorParams?.postType && navigatorParams?.postId ) {
76
- updateUrlParams( {
77
- postType: navigatorParams?.postType,
78
- postId: navigatorParams?.postId,
79
- path: undefined,
80
- } );
81
- } else if (
82
- navigatorLocation.path.startsWith( '/page/' ) &&
83
- navigatorParams?.postId
84
- ) {
85
- updateUrlParams( {
86
- postType: 'page',
87
- postId: navigatorParams?.postId,
88
- path: undefined,
89
- } );
90
- } else if ( navigatorLocation.path === '/patterns' ) {
91
- updateUrlParams( {
92
- postType: undefined,
93
- postId: undefined,
94
- canvas: undefined,
95
- path: navigatorLocation.path,
96
- } );
97
- } else {
98
- updateUrlParams( {
99
- postType: undefined,
100
- postId: undefined,
101
- categoryType: undefined,
102
- categoryId: undefined,
103
- path:
104
- navigatorLocation.path === '/'
105
- ? undefined
106
- : navigatorLocation.path,
107
- } );
108
- }
109
- }, [ navigatorLocation?.path, navigatorParams, history ] );
64
+ function updateUrlParams( newUrlParams ) {
65
+ if ( isSubset( newUrlParams, urlParams ) ) {
66
+ return;
67
+ }
68
+ const updatedParams = {
69
+ ...urlParams,
70
+ ...newUrlParams,
71
+ };
72
+ history.push( updatedParams );
73
+ }
110
74
 
111
- useEffect( () => {
112
- currentUrlParams.current = urlParams;
113
- const path = getPathFromURL( urlParams );
114
- if ( currentPath.current !== path ) {
115
- currentPath.current = path;
116
- goTo( path );
117
- }
118
- }, [ urlParams, goTo ] );
75
+ if ( navigatorParams?.postType && navigatorParams?.postId ) {
76
+ updateUrlParams( {
77
+ postType: navigatorParams?.postType,
78
+ postId: navigatorParams?.postId,
79
+ path: undefined,
80
+ } );
81
+ } else if (
82
+ navigatorLocation.path.startsWith( '/page/' ) &&
83
+ navigatorParams?.postId
84
+ ) {
85
+ updateUrlParams( {
86
+ postType: 'page',
87
+ postId: navigatorParams?.postId,
88
+ path: undefined,
89
+ } );
90
+ } else if ( navigatorLocation.path === '/patterns' ) {
91
+ updateUrlParams( {
92
+ postType: undefined,
93
+ postId: undefined,
94
+ canvas: undefined,
95
+ path: navigatorLocation.path,
96
+ } );
97
+ } else {
98
+ updateUrlParams( {
99
+ postType: undefined,
100
+ postId: undefined,
101
+ categoryType: undefined,
102
+ categoryId: undefined,
103
+ path:
104
+ navigatorLocation.path === '/'
105
+ ? undefined
106
+ : navigatorLocation.path,
107
+ } );
108
+ }
109
+ },
110
+ // Trigger only when navigator changes to prevent infinite loops.
111
+ // eslint-disable-next-line react-hooks/exhaustive-deps
112
+ [ navigatorLocation?.path, navigatorParams ]
113
+ );
114
+
115
+ useEffect(
116
+ () => {
117
+ const path = getPathFromURL( urlParams );
118
+ if ( navigatorLocation.path !== path ) {
119
+ goTo( path );
120
+ }
121
+ },
122
+ // Trigger only when URL changes to prevent infinite loops.
123
+ // eslint-disable-next-line react-hooks/exhaustive-deps
124
+ [ urlParams ]
125
+ );
119
126
  }
@@ -13,6 +13,7 @@ import {
13
13
  } from '@wordpress/components';
14
14
  import { moreVertical } from '@wordpress/icons';
15
15
  import { store as noticesStore } from '@wordpress/notices';
16
+ import { decodeEntities } from '@wordpress/html-entities';
16
17
 
17
18
  /**
18
19
  * Internal dependencies
@@ -58,7 +59,7 @@ export default function TemplateActions( {
58
59
  sprintf(
59
60
  /* translators: The template/part's name. */
60
61
  __( '"%s" reverted.' ),
61
- template.title.rendered
62
+ decodeEntities( template.title.rendered )
62
63
  ),
63
64
  {
64
65
  type: 'snackbar',
@@ -14,13 +14,17 @@ import {
14
14
  } from '@wordpress/components';
15
15
  import { store as coreStore } from '@wordpress/core-data';
16
16
  import { store as noticesStore } from '@wordpress/notices';
17
+ import { decodeEntities } from '@wordpress/html-entities';
17
18
 
18
19
  export default function RenameMenuItem( { template, onClose } ) {
19
- const [ title, setTitle ] = useState( () => template.title.rendered );
20
+ const title = decodeEntities( template.title.rendered );
21
+ const [ editedTitle, setEditedTitle ] = useState( title );
20
22
  const [ isModalOpen, setIsModalOpen ] = useState( false );
21
23
 
22
- const { editEntityRecord, saveEditedEntityRecord } =
23
- useDispatch( coreStore );
24
+ const {
25
+ editEntityRecord,
26
+ __experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits,
27
+ } = useDispatch( coreStore );
24
28
  const { createSuccessNotice, createErrorNotice } =
25
29
  useDispatch( noticesStore );
26
30
 
@@ -33,20 +37,23 @@ export default function RenameMenuItem( { template, onClose } ) {
33
37
 
34
38
  try {
35
39
  await editEntityRecord( 'postType', template.type, template.id, {
36
- title,
40
+ title: editedTitle,
37
41
  } );
38
42
 
39
43
  // Update state before saving rerenders the list.
40
- setTitle( '' );
44
+ setEditedTitle( '' );
41
45
  setIsModalOpen( false );
42
46
  onClose();
43
47
 
44
48
  // Persist edited entity.
45
- await saveEditedEntityRecord(
49
+ await saveSpecifiedEntityEdits(
46
50
  'postType',
47
51
  template.type,
48
52
  template.id,
49
- { throwOnError: true }
53
+ [ 'title' ], // Only save title to avoid persisting other edits.
54
+ {
55
+ throwOnError: true,
56
+ }
50
57
  );
51
58
 
52
59
  createSuccessNotice( __( 'Entity renamed.' ), {
@@ -67,7 +74,7 @@ export default function RenameMenuItem( { template, onClose } ) {
67
74
  <MenuItem
68
75
  onClick={ () => {
69
76
  setIsModalOpen( true );
70
- setTitle( template.title.rendered );
77
+ setEditedTitle( title );
71
78
  } }
72
79
  >
73
80
  { __( 'Rename' ) }
@@ -85,8 +92,8 @@ export default function RenameMenuItem( { template, onClose } ) {
85
92
  <TextControl
86
93
  __nextHasNoMarginBottom
87
94
  label={ __( 'Name' ) }
88
- value={ title }
89
- onChange={ setTitle }
95
+ value={ editedTitle }
96
+ onChange={ setEditedTitle }
90
97
  required
91
98
  />
92
99
 
@@ -10,6 +10,7 @@ import { decodeEntities } from '@wordpress/html-entities';
10
10
  * Internal dependencies
11
11
  */
12
12
  import { store as editSiteStore } from '../../store';
13
+ import normalizeRecordKey from '../../utils/normalize-record-key';
13
14
 
14
15
  export default function useEditedEntityRecord( postType, postId ) {
15
16
  const { record, title, description, isLoaded, icon } = useSelect(
@@ -21,7 +22,11 @@ export default function useEditedEntityRecord( postType, postId ) {
21
22
  const { __experimentalGetTemplateInfo: getTemplateInfo } =
22
23
  select( editorStore );
23
24
  const usedPostType = postType ?? getEditedPostType();
24
- const usedPostId = postId ?? getEditedPostId();
25
+
26
+ let usedPostId = postId ?? getEditedPostId();
27
+
28
+ usedPostId = normalizeRecordKey( usedPostId, usedPostType );
29
+
25
30
  const _record = getEditedEntityRecord(
26
31
  'postType',
27
32
  usedPostType,
@@ -11,15 +11,17 @@ import { privateApis as routerPrivateApis } from '@wordpress/router';
11
11
  import { store as preferencesStore } from '@wordpress/preferences';
12
12
  import { store as coreStore } from '@wordpress/core-data';
13
13
  import { store as noticesStore } from '@wordpress/notices';
14
+ import { useViewportMatch } from '@wordpress/compose';
14
15
 
15
16
  /**
16
17
  * Internal dependencies
17
18
  */
18
19
  import { unlock } from '../../lock-unlock';
19
20
  import { store as editSiteStore } from '../../store';
21
+ import getIsListPage from '../../utils/get-is-list-page';
20
22
 
21
23
  const { useGlobalStylesReset } = unlock( blockEditorPrivateApis );
22
- const { useHistory } = unlock( routerPrivateApis );
24
+ const { useHistory, useLocation } = unlock( routerPrivateApis );
23
25
 
24
26
  function useGlobalStylesResetCommands() {
25
27
  const [ canReset, onReset ] = useGlobalStylesReset();
@@ -48,9 +50,12 @@ function useGlobalStylesResetCommands() {
48
50
  }
49
51
 
50
52
  function useGlobalStylesOpenCssCommands() {
51
- const { openGeneralSidebar, setEditorCanvasContainerView } = unlock(
52
- useDispatch( editSiteStore )
53
- );
53
+ const { openGeneralSidebar, setEditorCanvasContainerView, setCanvasMode } =
54
+ unlock( useDispatch( editSiteStore ) );
55
+ const { params } = useLocation();
56
+ const isMobileViewport = useViewportMatch( 'medium', '<' );
57
+ const isListPage = getIsListPage( params, isMobileViewport );
58
+ const isEditorPage = ! isListPage;
54
59
  const history = useHistory();
55
60
  const { canEditCSS } = useSelect( ( select ) => {
56
61
  const { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =
@@ -66,6 +71,7 @@ function useGlobalStylesOpenCssCommands() {
66
71
  !! globalStyles?._links?.[ 'wp:action-edit-css' ] ?? false,
67
72
  };
68
73
  }, [] );
74
+ const { getCanvasMode } = unlock( useSelect( editSiteStore ) );
69
75
 
70
76
  const commands = useMemo( () => {
71
77
  if ( ! canEditCSS ) {
@@ -79,10 +85,15 @@ function useGlobalStylesOpenCssCommands() {
79
85
  icon: styles,
80
86
  callback: ( { close } ) => {
81
87
  close();
82
- history.push( {
83
- path: '/wp_global_styles',
84
- canvas: 'edit',
85
- } );
88
+ if ( ! isEditorPage ) {
89
+ history.push( {
90
+ path: '/wp_global_styles',
91
+ canvas: 'edit',
92
+ } );
93
+ }
94
+ if ( isEditorPage && getCanvasMode() !== 'edit' ) {
95
+ setCanvasMode( 'edit' );
96
+ }
86
97
  openGeneralSidebar( 'edit-site/global-styles' );
87
98
  setEditorCanvasContainerView( 'global-styles-css' );
88
99
  },
@@ -93,6 +104,9 @@ function useGlobalStylesOpenCssCommands() {
93
104
  openGeneralSidebar,
94
105
  setEditorCanvasContainerView,
95
106
  canEditCSS,
107
+ isEditorPage,
108
+ getCanvasMode,
109
+ setCanvasMode,
96
110
  ] );
97
111
  return {
98
112
  isLoading: false,
@@ -101,9 +115,13 @@ function useGlobalStylesOpenCssCommands() {
101
115
  }
102
116
 
103
117
  export function useCommonCommands() {
104
- const { openGeneralSidebar, setEditorCanvasContainerView } = unlock(
105
- useDispatch( editSiteStore )
106
- );
118
+ const { openGeneralSidebar, setEditorCanvasContainerView, setCanvasMode } =
119
+ unlock( useDispatch( editSiteStore ) );
120
+ const { params } = useLocation();
121
+ const isMobileViewport = useViewportMatch( 'medium', '<' );
122
+ const isListPage = getIsListPage( params, isMobileViewport );
123
+ const isEditorPage = ! isListPage;
124
+ const { getCanvasMode } = unlock( useSelect( editSiteStore ) );
107
125
  const { set } = useDispatch( preferencesStore );
108
126
  const { createInfoNotice } = useDispatch( noticesStore );
109
127
  const history = useHistory();
@@ -127,10 +145,15 @@ export function useCommonCommands() {
127
145
  icon: backup,
128
146
  callback: ( { close } ) => {
129
147
  close();
130
- history.push( {
131
- path: '/wp_global_styles',
132
- canvas: 'edit',
133
- } );
148
+ if ( ! isEditorPage ) {
149
+ history.push( {
150
+ path: '/wp_global_styles',
151
+ canvas: 'edit',
152
+ } );
153
+ }
154
+ if ( isEditorPage && getCanvasMode() !== 'edit' ) {
155
+ setCanvasMode( 'edit' );
156
+ }
134
157
  openGeneralSidebar( 'edit-site/global-styles' );
135
158
  setEditorCanvasContainerView( 'global-styles-revisions' );
136
159
  },
@@ -141,10 +164,15 @@ export function useCommonCommands() {
141
164
  label: __( 'Open styles' ),
142
165
  callback: ( { close } ) => {
143
166
  close();
144
- history.push( {
145
- path: '/wp_global_styles',
146
- canvas: 'edit',
147
- } );
167
+ if ( ! isEditorPage ) {
168
+ history.push( {
169
+ path: '/wp_global_styles',
170
+ canvas: 'edit',
171
+ } );
172
+ }
173
+ if ( isEditorPage && getCanvasMode() !== 'edit' ) {
174
+ setCanvasMode( 'edit' );
175
+ }
148
176
  if ( isDistractionFree ) {
149
177
  set( editSiteStore.name, 'distractionFree', false );
150
178
  createInfoNotice( __( 'Distraction free mode turned off.' ), {
@@ -161,10 +189,15 @@ export function useCommonCommands() {
161
189
  label: __( 'Learn about styles' ),
162
190
  callback: ( { close } ) => {
163
191
  close();
164
- history.push( {
165
- path: '/wp_global_styles',
166
- canvas: 'edit',
167
- } );
192
+ if ( ! isEditorPage ) {
193
+ history.push( {
194
+ path: '/wp_global_styles',
195
+ canvas: 'edit',
196
+ } );
197
+ }
198
+ if ( isEditorPage && getCanvasMode() !== 'edit' ) {
199
+ setCanvasMode( 'edit' );
200
+ }
168
201
  openGeneralSidebar( 'edit-site/global-styles' );
169
202
  set( 'core/edit-site', 'welcomeGuideStyles', true );
170
203
  // sometimes there's a focus loss that happens after some time