@wordpress/edit-site 5.14.0 → 5.16.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 (461) hide show
  1. package/CHANGELOG.md +4 -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 +22 -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 +114 -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 +5 -5
  21. package/build/components/editor/index.js.map +1 -1
  22. package/build/components/global-styles/global-styles-provider.js +12 -7
  23. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  24. package/build/components/global-styles/screen-block.js +16 -0
  25. package/build/components/global-styles/screen-block.js.map +1 -1
  26. package/build/components/global-styles/screen-revisions/index.js +12 -5
  27. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  28. package/build/components/global-styles/screen-revisions/revisions-buttons.js +10 -22
  29. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  30. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +32 -25
  31. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  32. package/build/components/global-styles/style-variations-container.js +5 -3
  33. package/build/components/global-styles/style-variations-container.js.map +1 -1
  34. package/build/components/header-edit-mode/document-actions/index.js +4 -2
  35. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  36. package/build/components/header-edit-mode/index.js +13 -9
  37. package/build/components/header-edit-mode/index.js.map +1 -1
  38. package/build/components/keyboard-shortcuts/edit-mode.js +7 -5
  39. package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  40. package/build/components/layout/index.js +17 -5
  41. package/build/components/layout/index.js.map +1 -1
  42. package/build/components/page/index.js +3 -3
  43. package/build/components/page/index.js.map +1 -1
  44. package/build/components/page-actions/index.js +2 -2
  45. package/build/components/page-actions/index.js.map +1 -1
  46. package/build/components/page-actions/{delete-page-menu-item.js → trash-page-menu-item.js} +8 -16
  47. package/build/components/page-actions/trash-page-menu-item.js.map +1 -0
  48. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +5 -5
  49. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  50. package/build/components/page-patterns/duplicate-menu-item.js +163 -0
  51. package/build/components/page-patterns/duplicate-menu-item.js.map +1 -0
  52. package/build/components/page-patterns/grid-item.js +83 -58
  53. package/build/components/page-patterns/grid-item.js.map +1 -1
  54. package/build/components/page-patterns/grid.js +5 -18
  55. package/build/components/page-patterns/grid.js.map +1 -1
  56. package/build/components/page-patterns/header.js +69 -0
  57. package/build/components/page-patterns/header.js.map +1 -0
  58. package/build/components/page-patterns/index.js +3 -1
  59. package/build/components/page-patterns/index.js.map +1 -1
  60. package/build/components/page-patterns/pagination.js +63 -0
  61. package/build/components/page-patterns/pagination.js.map +1 -0
  62. package/build/components/page-patterns/patterns-list.js +110 -31
  63. package/build/components/page-patterns/patterns-list.js.map +1 -1
  64. package/build/components/page-patterns/rename-menu-item.js +109 -0
  65. package/build/components/page-patterns/rename-menu-item.js.map +1 -0
  66. package/build/components/page-patterns/use-patterns.js +116 -118
  67. package/build/components/page-patterns/use-patterns.js.map +1 -1
  68. package/build/components/page-template-parts/add-new-template-part.js +74 -0
  69. package/build/components/page-template-parts/add-new-template-part.js.map +1 -0
  70. package/build/components/page-template-parts/index.js +3 -25
  71. package/build/components/page-template-parts/index.js.map +1 -1
  72. package/build/components/page-templates/index.js +1 -16
  73. package/build/components/page-templates/index.js.map +1 -1
  74. package/build/components/resizable-frame/index.js +85 -51
  75. package/build/components/resizable-frame/index.js.map +1 -1
  76. package/build/components/save-button/index.js +4 -2
  77. package/build/components/save-button/index.js.map +1 -1
  78. package/build/components/save-hub/index.js +10 -4
  79. package/build/components/save-hub/index.js.map +1 -1
  80. package/build/components/save-panel/index.js +5 -5
  81. package/build/components/save-panel/index.js.map +1 -1
  82. package/build/components/sidebar-edit-mode/page-panels/page-content.js +4 -3
  83. package/build/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -1
  84. package/build/components/sidebar-edit-mode/page-panels/page-status.js +3 -8
  85. package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  86. package/build/components/sidebar-edit-mode/template-panel/index.js +15 -8
  87. package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  88. package/build/components/sidebar-navigation-screen/index.js +31 -15
  89. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  90. package/build/components/sidebar-navigation-screen-global-styles/index.js +34 -40
  91. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  92. package/build/components/sidebar-navigation-screen-main/index.js +4 -2
  93. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  94. package/build/components/sidebar-navigation-screen-main/template-part-hint.js +45 -0
  95. package/build/components/sidebar-navigation-screen-main/template-part-hint.js.map +1 -0
  96. package/build/components/sidebar-navigation-screen-navigation-menu/index.js +4 -4
  97. package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  98. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -0
  99. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  100. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +3 -3
  101. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  102. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +5 -4
  103. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  104. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js +2 -0
  105. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -1
  106. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +4 -4
  107. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  108. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +8 -0
  109. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  110. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +1 -1
  111. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  112. package/build/components/sidebar-navigation-screen-page/index.js +2 -3
  113. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
  114. package/build/components/sidebar-navigation-screen-page/status-label.js +1 -34
  115. package/build/components/sidebar-navigation-screen-page/status-label.js.map +1 -1
  116. package/build/components/sidebar-navigation-screen-pages/index.js +35 -25
  117. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  118. package/build/components/sidebar-navigation-screen-pattern/index.js +9 -7
  119. package/build/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  120. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +4 -3
  121. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  122. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +3 -2
  123. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -1
  124. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +19 -4
  125. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
  126. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +55 -28
  127. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  128. package/build/components/sidebar-navigation-screen-patterns/category-item.js +0 -5
  129. package/build/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -1
  130. package/build/components/sidebar-navigation-screen-patterns/index.js +72 -60
  131. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  132. package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js +9 -5
  133. package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +1 -1
  134. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +11 -1
  135. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  136. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +20 -9
  137. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
  138. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -1
  139. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  140. package/build/components/sidebar-navigation-screen-templates/index.js +1 -10
  141. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  142. package/build/components/sidebar-navigation-screen-templates-browse/index.js +9 -0
  143. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  144. package/build/components/site-hub/index.js +29 -13
  145. package/build/components/site-hub/index.js.map +1 -1
  146. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +10 -5
  147. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  148. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +1 -1
  149. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -1
  150. package/build/components/sync-state-with-url/use-sync-path-with-url.js +15 -12
  151. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  152. package/build/components/template-actions/index.js +3 -1
  153. package/build/components/template-actions/index.js.map +1 -1
  154. package/build/components/template-actions/rename-menu-item.js +12 -8
  155. package/build/components/template-actions/rename-menu-item.js.map +1 -1
  156. package/build/components/use-edited-entity-record/index.js +6 -1
  157. package/build/components/use-edited-entity-record/index.js.map +1 -1
  158. package/build/hooks/commands/use-common-commands.js +120 -32
  159. package/build/hooks/commands/use-common-commands.js.map +1 -1
  160. package/build/hooks/commands/use-edit-mode-commands.js +65 -7
  161. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  162. package/build/hooks/push-changes-to-global-styles/index.js +138 -57
  163. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  164. package/build/store/private-actions.js +9 -2
  165. package/build/store/private-actions.js.map +1 -1
  166. package/build/utils/normalize-record-key.js +19 -0
  167. package/build/utils/normalize-record-key.js.map +1 -0
  168. package/build/utils/use-activate-theme.js +1 -1
  169. package/build/utils/use-activate-theme.js.map +1 -1
  170. package/build/utils/use-debounced-input.js +5 -7
  171. package/build/utils/use-debounced-input.js.map +1 -1
  172. package/build-module/components/add-new-page/index.js +1 -6
  173. package/build-module/components/add-new-page/index.js.map +1 -1
  174. package/build-module/components/add-new-pattern/index.js +20 -7
  175. package/build-module/components/add-new-pattern/index.js.map +1 -1
  176. package/build-module/components/add-new-template/utils.js +9 -6
  177. package/build-module/components/add-new-template/utils.js.map +1 -1
  178. package/build-module/components/block-editor/constants.js +1 -1
  179. package/build-module/components/block-editor/constants.js.map +1 -1
  180. package/build-module/components/block-editor/editor-canvas.js +1 -1
  181. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  182. package/build-module/components/block-editor/index.js +0 -4
  183. package/build-module/components/block-editor/index.js.map +1 -1
  184. package/build-module/components/block-editor/use-site-editor-settings.js +116 -14
  185. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  186. package/build-module/components/code-editor/index.js +62 -30
  187. package/build-module/components/code-editor/index.js.map +1 -1
  188. package/build-module/components/create-pattern-modal/index.js +6 -3
  189. package/build-module/components/create-pattern-modal/index.js.map +1 -1
  190. package/build-module/components/editor/index.js +5 -5
  191. package/build-module/components/editor/index.js.map +1 -1
  192. package/build-module/components/global-styles/global-styles-provider.js +12 -7
  193. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  194. package/build-module/components/global-styles/screen-block.js +16 -0
  195. package/build-module/components/global-styles/screen-block.js.map +1 -1
  196. package/build-module/components/global-styles/screen-revisions/index.js +13 -6
  197. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  198. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +10 -22
  199. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  200. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +28 -21
  201. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  202. package/build-module/components/global-styles/style-variations-container.js +5 -3
  203. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  204. package/build-module/components/header-edit-mode/document-actions/index.js +6 -4
  205. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  206. package/build-module/components/header-edit-mode/index.js +13 -9
  207. package/build-module/components/header-edit-mode/index.js.map +1 -1
  208. package/build-module/components/keyboard-shortcuts/edit-mode.js +7 -5
  209. package/build-module/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  210. package/build-module/components/layout/index.js +17 -5
  211. package/build-module/components/layout/index.js.map +1 -1
  212. package/build-module/components/page/index.js +3 -3
  213. package/build-module/components/page/index.js.map +1 -1
  214. package/build-module/components/page-actions/index.js +2 -2
  215. package/build-module/components/page-actions/index.js.map +1 -1
  216. package/build-module/components/page-actions/{delete-page-menu-item.js → trash-page-menu-item.js} +8 -17
  217. package/build-module/components/page-actions/trash-page-menu-item.js.map +1 -0
  218. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +5 -3
  219. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  220. package/build-module/components/page-patterns/duplicate-menu-item.js +147 -0
  221. package/build-module/components/page-patterns/duplicate-menu-item.js.map +1 -0
  222. package/build-module/components/page-patterns/grid-item.js +84 -64
  223. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  224. package/build-module/components/page-patterns/grid.js +5 -17
  225. package/build-module/components/page-patterns/grid.js.map +1 -1
  226. package/build-module/components/page-patterns/header.js +54 -0
  227. package/build-module/components/page-patterns/header.js.map +1 -0
  228. package/build-module/components/page-patterns/index.js +3 -1
  229. package/build-module/components/page-patterns/index.js.map +1 -1
  230. package/build-module/components/page-patterns/pagination.js +54 -0
  231. package/build-module/components/page-patterns/pagination.js.map +1 -0
  232. package/build-module/components/page-patterns/patterns-list.js +111 -34
  233. package/build-module/components/page-patterns/patterns-list.js.map +1 -1
  234. package/build-module/components/page-patterns/rename-menu-item.js +97 -0
  235. package/build-module/components/page-patterns/rename-menu-item.js.map +1 -0
  236. package/build-module/components/page-patterns/use-patterns.js +116 -119
  237. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  238. package/build-module/components/page-template-parts/add-new-template-part.js +58 -0
  239. package/build-module/components/page-template-parts/add-new-template-part.js.map +1 -0
  240. package/build-module/components/page-template-parts/index.js +4 -24
  241. package/build-module/components/page-template-parts/index.js.map +1 -1
  242. package/build-module/components/page-templates/index.js +2 -15
  243. package/build-module/components/page-templates/index.js.map +1 -1
  244. package/build-module/components/resizable-frame/index.js +87 -55
  245. package/build-module/components/resizable-frame/index.js.map +1 -1
  246. package/build-module/components/save-button/index.js +4 -2
  247. package/build-module/components/save-button/index.js.map +1 -1
  248. package/build-module/components/save-hub/index.js +10 -4
  249. package/build-module/components/save-hub/index.js.map +1 -1
  250. package/build-module/components/save-panel/index.js +5 -5
  251. package/build-module/components/save-panel/index.js.map +1 -1
  252. package/build-module/components/sidebar-edit-mode/page-panels/page-content.js +5 -2
  253. package/build-module/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -1
  254. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js +3 -8
  255. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  256. package/build-module/components/sidebar-edit-mode/template-panel/index.js +15 -9
  257. package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  258. package/build-module/components/sidebar-navigation-screen/index.js +29 -16
  259. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  260. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +34 -40
  261. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  262. package/build-module/components/sidebar-navigation-screen-main/index.js +4 -3
  263. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  264. package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js +33 -0
  265. package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js.map +1 -0
  266. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js +4 -4
  267. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  268. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -0
  269. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  270. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +3 -3
  271. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  272. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +5 -4
  273. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  274. package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js +2 -0
  275. package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -1
  276. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +4 -4
  277. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  278. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +7 -0
  279. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  280. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +2 -2
  281. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  282. package/build-module/components/sidebar-navigation-screen-page/index.js +2 -3
  283. package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
  284. package/build-module/components/sidebar-navigation-screen-page/status-label.js +1 -32
  285. package/build-module/components/sidebar-navigation-screen-page/status-label.js.map +1 -1
  286. package/build-module/components/sidebar-navigation-screen-pages/index.js +35 -25
  287. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  288. package/build-module/components/sidebar-navigation-screen-pattern/index.js +8 -7
  289. package/build-module/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  290. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +4 -3
  291. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  292. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +3 -2
  293. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -1
  294. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +18 -4
  295. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
  296. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +53 -28
  297. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  298. package/build-module/components/sidebar-navigation-screen-patterns/category-item.js +0 -5
  299. package/build-module/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -1
  300. package/build-module/components/sidebar-navigation-screen-patterns/index.js +76 -60
  301. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  302. package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js +9 -5
  303. package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +1 -1
  304. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +10 -1
  305. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  306. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +18 -9
  307. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
  308. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -1
  309. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  310. package/build-module/components/sidebar-navigation-screen-templates/index.js +1 -8
  311. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  312. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +7 -0
  313. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  314. package/build-module/components/site-hub/index.js +28 -13
  315. package/build-module/components/site-hub/index.js.map +1 -1
  316. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +7 -5
  317. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  318. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +1 -1
  319. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -1
  320. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +16 -12
  321. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  322. package/build-module/components/template-actions/index.js +2 -1
  323. package/build-module/components/template-actions/index.js.map +1 -1
  324. package/build-module/components/template-actions/rename-menu-item.js +11 -8
  325. package/build-module/components/template-actions/rename-menu-item.js.map +1 -1
  326. package/build-module/components/use-edited-entity-record/index.js +3 -1
  327. package/build-module/components/use-edited-entity-record/index.js.map +1 -1
  328. package/build-module/hooks/commands/use-common-commands.js +116 -32
  329. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  330. package/build-module/hooks/commands/use-edit-mode-commands.js +65 -9
  331. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  332. package/build-module/hooks/push-changes-to-global-styles/index.js +139 -57
  333. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  334. package/build-module/store/private-actions.js +9 -2
  335. package/build-module/store/private-actions.js.map +1 -1
  336. package/build-module/utils/normalize-record-key.js +12 -0
  337. package/build-module/utils/normalize-record-key.js.map +1 -0
  338. package/build-module/utils/use-activate-theme.js +1 -1
  339. package/build-module/utils/use-activate-theme.js.map +1 -1
  340. package/build-module/utils/use-debounced-input.js +5 -7
  341. package/build-module/utils/use-debounced-input.js.map +1 -1
  342. package/build-style/style-rtl.css +281 -103
  343. package/build-style/style.css +281 -103
  344. package/package.json +39 -40
  345. package/src/components/add-new-page/index.js +0 -3
  346. package/src/components/add-new-pattern/index.js +25 -12
  347. package/src/components/add-new-template/utils.js +9 -6
  348. package/src/components/block-editor/constants.js +5 -1
  349. package/src/components/block-editor/editor-canvas.js +1 -1
  350. package/src/components/block-editor/index.js +0 -4
  351. package/src/components/block-editor/use-site-editor-settings.js +119 -20
  352. package/src/components/canvas-spinner/style.scss +14 -0
  353. package/src/components/code-editor/index.js +51 -33
  354. package/src/components/create-pattern-modal/index.js +5 -2
  355. package/src/components/editor/index.js +5 -5
  356. package/src/components/global-styles/global-styles-provider.js +7 -2
  357. package/src/components/global-styles/screen-block.js +15 -0
  358. package/src/components/global-styles/screen-revisions/index.js +64 -58
  359. package/src/components/global-styles/screen-revisions/revisions-buttons.js +17 -31
  360. package/src/components/global-styles/screen-revisions/test/use-global-styles-revisions.js +14 -1
  361. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +64 -48
  362. package/src/components/global-styles/style-variations-container.js +2 -0
  363. package/src/components/header-edit-mode/document-actions/index.js +8 -4
  364. package/src/components/header-edit-mode/document-actions/style.scss +45 -28
  365. package/src/components/header-edit-mode/index.js +29 -22
  366. package/src/components/keyboard-shortcuts/edit-mode.js +4 -5
  367. package/src/components/layout/index.js +49 -22
  368. package/src/components/layout/style.scss +4 -3
  369. package/src/components/page/index.js +8 -8
  370. package/src/components/page/style.scss +8 -5
  371. package/src/components/page-actions/index.js +2 -2
  372. package/src/components/page-actions/{delete-page-menu-item.js → trash-page-menu-item.js} +9 -22
  373. package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +12 -3
  374. package/src/components/page-patterns/duplicate-menu-item.js +196 -0
  375. package/src/components/page-patterns/grid-item.js +189 -133
  376. package/src/components/page-patterns/grid.js +3 -20
  377. package/src/components/page-patterns/header.js +69 -0
  378. package/src/components/page-patterns/index.js +6 -1
  379. package/src/components/page-patterns/pagination.js +80 -0
  380. package/src/components/page-patterns/patterns-list.js +172 -71
  381. package/src/components/page-patterns/rename-menu-item.js +115 -0
  382. package/src/components/page-patterns/style.scss +141 -30
  383. package/src/components/page-patterns/use-patterns.js +115 -169
  384. package/src/components/page-template-parts/add-new-template-part.js +57 -0
  385. package/src/components/page-template-parts/index.js +3 -23
  386. package/src/components/page-templates/index.js +6 -19
  387. package/src/components/resizable-frame/index.js +104 -51
  388. package/src/components/resizable-frame/style.scss +9 -9
  389. package/src/components/save-button/index.js +2 -0
  390. package/src/components/save-hub/index.js +6 -1
  391. package/src/components/save-hub/style.scss +1 -1
  392. package/src/components/save-panel/index.js +10 -4
  393. package/src/components/sidebar-edit-mode/page-panels/page-content.js +7 -5
  394. package/src/components/sidebar-edit-mode/page-panels/page-status.js +2 -5
  395. package/src/components/sidebar-edit-mode/template-panel/index.js +15 -11
  396. package/src/components/sidebar-navigation-item/style.scss +5 -12
  397. package/src/components/sidebar-navigation-screen/index.js +30 -15
  398. package/src/components/sidebar-navigation-screen/style.scss +18 -0
  399. package/src/components/sidebar-navigation-screen-details-panel/style.scss +1 -0
  400. package/src/components/sidebar-navigation-screen-global-styles/index.js +48 -44
  401. package/src/components/sidebar-navigation-screen-main/index.js +44 -40
  402. package/src/components/sidebar-navigation-screen-main/template-part-hint.js +34 -0
  403. package/src/components/sidebar-navigation-screen-navigation-menu/index.js +4 -3
  404. package/src/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -0
  405. package/src/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +1 -1
  406. package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +16 -7
  407. package/src/components/sidebar-navigation-screen-navigation-menus/constants.js +2 -0
  408. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +4 -4
  409. package/src/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +27 -15
  410. package/src/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +1 -4
  411. package/src/components/sidebar-navigation-screen-page/index.js +3 -3
  412. package/src/components/sidebar-navigation-screen-page/status-label.js +1 -35
  413. package/src/components/sidebar-navigation-screen-pages/index.js +48 -33
  414. package/src/components/sidebar-navigation-screen-pattern/index.js +5 -2
  415. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +3 -2
  416. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +2 -1
  417. package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +23 -3
  418. package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +74 -43
  419. package/src/components/sidebar-navigation-screen-patterns/category-item.js +5 -13
  420. package/src/components/sidebar-navigation-screen-patterns/index.js +103 -106
  421. package/src/components/sidebar-navigation-screen-patterns/style.scss +20 -0
  422. package/src/components/sidebar-navigation-screen-patterns/use-my-patterns.js +7 -6
  423. package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +9 -0
  424. package/src/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +31 -9
  425. package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -1
  426. package/src/components/sidebar-navigation-screen-templates/index.js +1 -9
  427. package/src/components/sidebar-navigation-screen-templates-browse/index.js +10 -0
  428. package/src/components/site-hub/index.js +48 -29
  429. package/src/components/site-hub/style.scss +14 -2
  430. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +8 -2
  431. package/src/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +1 -4
  432. package/src/components/sync-state-with-url/use-sync-path-with-url.js +73 -66
  433. package/src/components/table/style.scss +1 -0
  434. package/src/components/template-actions/index.js +2 -1
  435. package/src/components/template-actions/rename-menu-item.js +17 -10
  436. package/src/components/use-edited-entity-record/index.js +6 -1
  437. package/src/hooks/commands/use-common-commands.js +105 -32
  438. package/src/hooks/commands/use-edit-mode-commands.js +94 -23
  439. package/src/hooks/push-changes-to-global-styles/index.js +141 -50
  440. package/src/store/private-actions.js +10 -2
  441. package/src/style.scss +10 -12
  442. package/src/utils/normalize-record-key.js +11 -0
  443. package/src/utils/use-activate-theme.js +1 -1
  444. package/src/utils/use-debounced-input.js +8 -7
  445. package/build/components/code-editor/code-editor-text-area.js +0 -96
  446. package/build/components/code-editor/code-editor-text-area.js.map +0 -1
  447. package/build/components/keyboard-shortcuts/index.js +0 -148
  448. package/build/components/keyboard-shortcuts/index.js.map +0 -1
  449. package/build/components/page-actions/delete-page-menu-item.js.map +0 -1
  450. package/build/components/page-content-focus-manager/constants.js +0 -9
  451. package/build/components/page-content-focus-manager/constants.js.map +0 -1
  452. package/build-module/components/code-editor/code-editor-text-area.js +0 -84
  453. package/build-module/components/code-editor/code-editor-text-area.js.map +0 -1
  454. package/build-module/components/keyboard-shortcuts/index.js +0 -132
  455. package/build-module/components/keyboard-shortcuts/index.js.map +0 -1
  456. package/build-module/components/page-actions/delete-page-menu-item.js.map +0 -1
  457. package/build-module/components/page-content-focus-manager/constants.js +0 -2
  458. package/build-module/components/page-content-focus-manager/constants.js.map +0 -1
  459. package/src/components/code-editor/code-editor-text-area.js +0 -84
  460. package/src/components/keyboard-shortcuts/index.js +0 -137
  461. package/src/components/page-content-focus-manager/constants.js +0 -5
@@ -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,7 +104,65 @@ function useGlobalStylesOpenCssCommands() {
93
104
  openGeneralSidebar,
94
105
  setEditorCanvasContainerView,
95
106
  canEditCSS,
107
+ isEditorPage,
108
+ getCanvasMode,
109
+ setCanvasMode,
110
+ ] );
111
+ return {
112
+ isLoading: false,
113
+ commands,
114
+ };
115
+ }
116
+
117
+ function useGlobalStylesOpenRevisionsCommands() {
118
+ const { openGeneralSidebar, setEditorCanvasContainerView, setCanvasMode } =
119
+ unlock( useDispatch( editSiteStore ) );
120
+ const { getCanvasMode } = unlock( useSelect( editSiteStore ) );
121
+ const { params } = useLocation();
122
+ const isMobileViewport = useViewportMatch( 'medium', '<' );
123
+ const isEditorPage = ! getIsListPage( params, isMobileViewport );
124
+ const history = useHistory();
125
+ const hasRevisions = useSelect(
126
+ ( select ) =>
127
+ select( coreStore ).getCurrentThemeGlobalStylesRevisions()?.length,
128
+ []
129
+ );
130
+ const commands = useMemo( () => {
131
+ if ( ! hasRevisions ) {
132
+ return [];
133
+ }
134
+
135
+ return [
136
+ {
137
+ name: 'core/edit-site/open-global-styles-revisions',
138
+ label: __( 'Open styles revisions' ),
139
+ icon: backup,
140
+ callback: ( { close } ) => {
141
+ close();
142
+ if ( ! isEditorPage ) {
143
+ history.push( {
144
+ path: '/wp_global_styles',
145
+ canvas: 'edit',
146
+ } );
147
+ }
148
+ if ( isEditorPage && getCanvasMode() !== 'edit' ) {
149
+ setCanvasMode( 'edit' );
150
+ }
151
+ openGeneralSidebar( 'edit-site/global-styles' );
152
+ setEditorCanvasContainerView( 'global-styles-revisions' );
153
+ },
154
+ },
155
+ ];
156
+ }, [
157
+ hasRevisions,
158
+ history,
159
+ openGeneralSidebar,
160
+ setEditorCanvasContainerView,
161
+ isEditorPage,
162
+ getCanvasMode,
163
+ setCanvasMode,
96
164
  ] );
165
+
97
166
  return {
98
167
  isLoading: false,
99
168
  commands,
@@ -101,9 +170,13 @@ function useGlobalStylesOpenCssCommands() {
101
170
  }
102
171
 
103
172
  export function useCommonCommands() {
104
- const { openGeneralSidebar, setEditorCanvasContainerView } = unlock(
173
+ const { openGeneralSidebar, setCanvasMode } = unlock(
105
174
  useDispatch( editSiteStore )
106
175
  );
176
+ const { params } = useLocation();
177
+ const isMobileViewport = useViewportMatch( 'medium', '<' );
178
+ const isEditorPage = ! getIsListPage( params, isMobileViewport );
179
+ const { getCanvasMode } = unlock( useSelect( editSiteStore ) );
107
180
  const { set } = useDispatch( preferencesStore );
108
181
  const { createInfoNotice } = useDispatch( noticesStore );
109
182
  const history = useHistory();
@@ -121,30 +194,20 @@ export function useCommonCommands() {
121
194
  };
122
195
  }, [] );
123
196
 
124
- useCommand( {
125
- name: 'core/edit-site/open-global-styles-revisions',
126
- label: __( 'Open styles revisions' ),
127
- icon: backup,
128
- callback: ( { close } ) => {
129
- close();
130
- history.push( {
131
- path: '/wp_global_styles',
132
- canvas: 'edit',
133
- } );
134
- openGeneralSidebar( 'edit-site/global-styles' );
135
- setEditorCanvasContainerView( 'global-styles-revisions' );
136
- },
137
- } );
138
-
139
197
  useCommand( {
140
198
  name: 'core/edit-site/open-styles',
141
199
  label: __( 'Open styles' ),
142
200
  callback: ( { close } ) => {
143
201
  close();
144
- history.push( {
145
- path: '/wp_global_styles',
146
- canvas: 'edit',
147
- } );
202
+ if ( ! isEditorPage ) {
203
+ history.push( {
204
+ path: '/wp_global_styles',
205
+ canvas: 'edit',
206
+ } );
207
+ }
208
+ if ( isEditorPage && getCanvasMode() !== 'edit' ) {
209
+ setCanvasMode( 'edit' );
210
+ }
148
211
  if ( isDistractionFree ) {
149
212
  set( editSiteStore.name, 'distractionFree', false );
150
213
  createInfoNotice( __( 'Distraction free mode turned off.' ), {
@@ -161,10 +224,15 @@ export function useCommonCommands() {
161
224
  label: __( 'Learn about styles' ),
162
225
  callback: ( { close } ) => {
163
226
  close();
164
- history.push( {
165
- path: '/wp_global_styles',
166
- canvas: 'edit',
167
- } );
227
+ if ( ! isEditorPage ) {
228
+ history.push( {
229
+ path: '/wp_global_styles',
230
+ canvas: 'edit',
231
+ } );
232
+ }
233
+ if ( isEditorPage && getCanvasMode() !== 'edit' ) {
234
+ setCanvasMode( 'edit' );
235
+ }
168
236
  openGeneralSidebar( 'edit-site/global-styles' );
169
237
  set( 'core/edit-site', 'welcomeGuideStyles', true );
170
238
  // sometimes there's a focus loss that happens after some time
@@ -195,4 +263,9 @@ export function useCommonCommands() {
195
263
  name: 'core/edit-site/open-styles-css',
196
264
  hook: useGlobalStylesOpenCssCommands,
197
265
  } );
266
+
267
+ useCommandLoader( {
268
+ name: 'core/edit-site/open-styles-revisions',
269
+ hook: useGlobalStylesOpenRevisionsCommands,
270
+ } );
198
271
  }
@@ -2,10 +2,11 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { useSelect, useDispatch } from '@wordpress/data';
5
- import { __, isRTL } from '@wordpress/i18n';
5
+ import { __, sprintf, isRTL } from '@wordpress/i18n';
6
6
  import {
7
7
  trash,
8
- backup,
8
+ rotateLeft,
9
+ rotateRight,
9
10
  layout,
10
11
  page,
11
12
  drawerLeft,
@@ -13,12 +14,14 @@ import {
13
14
  blockDefault,
14
15
  cog,
15
16
  code,
16
- keyboardClose,
17
+ keyboard,
17
18
  } from '@wordpress/icons';
18
19
  import { useCommandLoader } from '@wordpress/commands';
20
+ import { decodeEntities } from '@wordpress/html-entities';
19
21
  import { privateApis as routerPrivateApis } from '@wordpress/router';
20
22
  import { store as preferencesStore } from '@wordpress/preferences';
21
23
  import { store as interfaceStore } from '@wordpress/interface';
24
+ import { store as noticesStore } from '@wordpress/notices';
22
25
 
23
26
  /**
24
27
  * Internal dependencies
@@ -34,6 +37,7 @@ import { unlock } from '../../lock-unlock';
34
37
  const { useHistory } = unlock( routerPrivateApis );
35
38
 
36
39
  function usePageContentFocusCommands() {
40
+ const { record: template } = useEditedEntityRecord();
37
41
  const { isPage, canvasMode, hasPageContentFocus } = useSelect(
38
42
  ( select ) => ( {
39
43
  isPage: select( editSiteStore ).isPage(),
@@ -53,7 +57,11 @@ function usePageContentFocusCommands() {
53
57
  if ( hasPageContentFocus ) {
54
58
  commands.push( {
55
59
  name: 'core/switch-to-template-focus',
56
- label: __( 'Edit template' ),
60
+ /* translators: %1$s: template title */
61
+ label: sprintf(
62
+ 'Edit template: %s',
63
+ decodeEntities( template.title )
64
+ ),
57
65
  icon: layout,
58
66
  callback: ( { close } ) => {
59
67
  setHasPageContentFocus( false );
@@ -93,12 +101,20 @@ function useManipulateDocumentCommands() {
93
101
  if ( isTemplateRevertable( template ) && ! hasPageContentFocus ) {
94
102
  const label =
95
103
  template.type === 'wp_template'
96
- ? __( 'Reset template' )
97
- : __( 'Reset template part' );
104
+ ? /* translators: %1$s: template title */
105
+ sprintf(
106
+ 'Reset template: %s',
107
+ decodeEntities( template.title )
108
+ )
109
+ : /* translators: %1$s: template part title */
110
+ sprintf(
111
+ 'Reset template part: %s',
112
+ decodeEntities( template.title )
113
+ );
98
114
  commands.push( {
99
115
  name: 'core/reset-template',
100
116
  label,
101
- icon: backup,
117
+ icon: isRTL() ? rotateRight : rotateLeft,
102
118
  callback: ( { close } ) => {
103
119
  revertTemplate( template );
104
120
  close();
@@ -109,8 +125,16 @@ function useManipulateDocumentCommands() {
109
125
  if ( isTemplateRemovable( template ) && ! hasPageContentFocus ) {
110
126
  const label =
111
127
  template.type === 'wp_template'
112
- ? __( 'Delete template' )
113
- : __( 'Delete template part' );
128
+ ? /* translators: %1$s: template title */
129
+ sprintf(
130
+ 'Delete template: %s',
131
+ decodeEntities( template.title )
132
+ )
133
+ : /* translators: %1$s: template part title */
134
+ sprintf(
135
+ 'Delete template part: %s',
136
+ decodeEntities( template.title )
137
+ );
114
138
  const path =
115
139
  template.type === 'wp_template'
116
140
  ? '/wp_template'
@@ -137,20 +161,32 @@ function useManipulateDocumentCommands() {
137
161
  }
138
162
 
139
163
  function useEditUICommands() {
140
- const { openGeneralSidebar, closeGeneralSidebar, switchEditorMode } =
141
- useDispatch( editSiteStore );
142
- const { canvasMode, editorMode, activeSidebar } = useSelect(
143
- ( select ) => ( {
144
- canvasMode: unlock( select( editSiteStore ) ).getCanvasMode(),
145
- editorMode: select( editSiteStore ).getEditorMode(),
146
- activeSidebar: select( interfaceStore ).getActiveComplementaryArea(
147
- editSiteStore.name
148
- ),
149
- } ),
150
- []
151
- );
164
+ const {
165
+ openGeneralSidebar,
166
+ closeGeneralSidebar,
167
+ setIsInserterOpened,
168
+ setIsListViewOpened,
169
+ switchEditorMode,
170
+ } = useDispatch( editSiteStore );
171
+ const { canvasMode, editorMode, activeSidebar, showBlockBreadcrumbs } =
172
+ useSelect(
173
+ ( select ) => ( {
174
+ canvasMode: unlock( select( editSiteStore ) ).getCanvasMode(),
175
+ editorMode: select( editSiteStore ).getEditorMode(),
176
+ activeSidebar: select(
177
+ interfaceStore
178
+ ).getActiveComplementaryArea( editSiteStore.name ),
179
+ showBlockBreadcrumbs: select( preferencesStore ).get(
180
+ 'core/edit-site',
181
+ 'showBlockBreadcrumbs'
182
+ ),
183
+ } ),
184
+ []
185
+ );
152
186
  const { openModal } = useDispatch( interfaceStore );
153
- const { toggle } = useDispatch( preferencesStore );
187
+ const { get: getPreference } = useSelect( preferencesStore );
188
+ const { set: setPreference, toggle } = useDispatch( preferencesStore );
189
+ const { createInfoNotice } = useDispatch( noticesStore );
154
190
 
155
191
  if ( canvasMode !== 'edit' ) {
156
192
  return { isLoading: false, commands: [] };
@@ -196,6 +232,29 @@ function useEditUICommands() {
196
232
  },
197
233
  } );
198
234
 
235
+ commands.push( {
236
+ name: 'core/toggle-distraction-free',
237
+ label: __( 'Toggle distraction free' ),
238
+ icon: cog,
239
+ callback: ( { close } ) => {
240
+ setPreference( 'core/edit-site', 'fixedToolbar', false );
241
+ setIsInserterOpened( false );
242
+ setIsListViewOpened( false );
243
+ closeGeneralSidebar();
244
+ toggle( 'core/edit-site', 'distractionFree' );
245
+ createInfoNotice(
246
+ getPreference( 'core/edit-site', 'distractionFree' )
247
+ ? __( 'Distraction free mode turned on.' )
248
+ : __( 'Distraction free mode turned off.' ),
249
+ {
250
+ id: 'core/edit-site/distraction-free-mode/notice',
251
+ type: 'snackbar',
252
+ }
253
+ );
254
+ close();
255
+ },
256
+ } );
257
+
199
258
  commands.push( {
200
259
  name: 'core/toggle-top-toolbar',
201
260
  label: __( 'Toggle top toolbar' ),
@@ -228,12 +287,24 @@ function useEditUICommands() {
228
287
  commands.push( {
229
288
  name: 'core/open-shortcut-help',
230
289
  label: __( 'Open keyboard shortcuts' ),
231
- icon: keyboardClose,
290
+ icon: keyboard,
232
291
  callback: () => {
233
292
  openModal( KEYBOARD_SHORTCUT_HELP_MODAL_NAME );
234
293
  },
235
294
  } );
236
295
 
296
+ commands.push( {
297
+ name: 'core/toggle-breadcrumbs',
298
+ label: showBlockBreadcrumbs
299
+ ? __( 'Hide block breadcrumbs' )
300
+ : __( 'Show block breadcrumbs' ),
301
+ icon: cog,
302
+ callback: ( { close } ) => {
303
+ toggle( 'core/edit-site', 'showBlockBreadcrumbs' );
304
+ close();
305
+ },
306
+ } );
307
+
237
308
  return {
238
309
  isLoading: false,
239
310
  commands,