@wordpress/edit-site 5.22.0 → 5.23.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 (355) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/actions/index.js +86 -4
  3. package/build/components/actions/index.js.map +1 -1
  4. package/build/components/add-new-template/new-template.js +0 -7
  5. package/build/components/add-new-template/new-template.js.map +1 -1
  6. package/build/components/block-editor/use-site-editor-settings.js +54 -63
  7. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  8. package/build/components/dataviews/add-filter.js +90 -0
  9. package/build/components/dataviews/add-filter.js.map +1 -0
  10. package/build/components/dataviews/dataviews.js +23 -4
  11. package/build/components/dataviews/dataviews.js.map +1 -1
  12. package/build/components/dataviews/filters.js +36 -32
  13. package/build/components/dataviews/filters.js.map +1 -1
  14. package/build/components/dataviews/in-filter.js +22 -20
  15. package/build/components/dataviews/in-filter.js.map +1 -1
  16. package/build/components/dataviews/index.js +9 -2
  17. package/build/components/dataviews/index.js.map +1 -1
  18. package/build/components/dataviews/item-actions.js +81 -13
  19. package/build/components/dataviews/item-actions.js.map +1 -1
  20. package/build/components/dataviews/pagination.js +3 -2
  21. package/build/components/dataviews/pagination.js.map +1 -1
  22. package/build/components/dataviews/reset-filters.js +33 -0
  23. package/build/components/dataviews/reset-filters.js.map +1 -0
  24. package/build/components/dataviews/search.js +1 -0
  25. package/build/components/dataviews/search.js.map +1 -1
  26. package/build/components/dataviews/view-actions.js +27 -10
  27. package/build/components/dataviews/view-actions.js.map +1 -1
  28. package/build/components/dataviews/view-list.js +126 -5
  29. package/build/components/dataviews/view-list.js.map +1 -1
  30. package/build/components/dataviews/view-side-by-side.js +20 -0
  31. package/build/components/dataviews/view-side-by-side.js.map +1 -0
  32. package/build/components/editor/index.js +53 -53
  33. package/build/components/editor/index.js.map +1 -1
  34. package/build/components/global-styles/screen-revisions/index.js +42 -21
  35. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  36. package/build/components/global-styles/screen-root.js +3 -3
  37. package/build/components/global-styles/screen-root.js.map +1 -1
  38. package/build/components/global-styles/ui.js +3 -3
  39. package/build/components/global-styles/ui.js.map +1 -1
  40. package/build/components/global-styles-renderer/index.js +1 -1
  41. package/build/components/global-styles-renderer/index.js.map +1 -1
  42. package/build/components/header-edit-mode/document-tools/index.js +160 -0
  43. package/build/components/header-edit-mode/document-tools/index.js.map +1 -0
  44. package/build/components/header-edit-mode/index.js +48 -116
  45. package/build/components/header-edit-mode/index.js.map +1 -1
  46. package/build/components/header-edit-mode/more-menu/site-export.js +2 -6
  47. package/build/components/header-edit-mode/more-menu/site-export.js.map +1 -1
  48. package/build/components/layout/index.js +4 -19
  49. package/build/components/layout/index.js.map +1 -1
  50. package/build/components/list/added-by.js +1 -0
  51. package/build/components/list/added-by.js.map +1 -1
  52. package/build/components/page-content-focus-manager/back-to-page-notification.js +5 -10
  53. package/build/components/page-content-focus-manager/back-to-page-notification.js.map +1 -1
  54. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +36 -23
  55. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  56. package/build/components/page-main/index.js +2 -1
  57. package/build/components/page-main/index.js.map +1 -1
  58. package/build/components/page-pages/index.js +133 -78
  59. package/build/components/page-pages/index.js.map +1 -1
  60. package/build/components/page-pages/side-editor.js +25 -0
  61. package/build/components/page-pages/side-editor.js.map +1 -0
  62. package/build/components/page-patterns/grid-item.js +2 -2
  63. package/build/components/page-patterns/grid-item.js.map +1 -1
  64. package/build/components/page-patterns/patterns-list.js +3 -3
  65. package/build/components/page-patterns/patterns-list.js.map +1 -1
  66. package/build/components/page-patterns/use-patterns.js +1 -1
  67. package/build/components/page-patterns/use-patterns.js.map +1 -1
  68. package/build/components/page-templates/dataviews-templates.js +201 -0
  69. package/build/components/page-templates/dataviews-templates.js.map +1 -0
  70. package/build/components/page-templates/template-actions.js +168 -0
  71. package/build/components/page-templates/template-actions.js.map +1 -0
  72. package/build/components/sidebar/index.js +1 -2
  73. package/build/components/sidebar/index.js.map +1 -1
  74. package/build/components/sidebar-dataviews/add-new-view.js +124 -0
  75. package/build/components/sidebar-dataviews/add-new-view.js.map +1 -0
  76. package/build/components/sidebar-dataviews/custom-dataviews-list.js +189 -0
  77. package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -0
  78. package/build/components/sidebar-dataviews/dataview-item.js +71 -0
  79. package/build/components/sidebar-dataviews/dataview-item.js.map +1 -0
  80. package/build/components/sidebar-dataviews/default-views.js +60 -0
  81. package/build/components/sidebar-dataviews/default-views.js.map +1 -0
  82. package/build/components/sidebar-dataviews/index.js +21 -38
  83. package/build/components/sidebar-dataviews/index.js.map +1 -1
  84. package/build/components/sidebar-edit-mode/default-sidebar.js +2 -6
  85. package/build/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
  86. package/build/components/sidebar-edit-mode/page-panels/edit-template.js +11 -11
  87. package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  88. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +2 -1
  89. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  90. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +4 -12
  91. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
  92. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js +4 -12
  93. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -1
  94. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js +2 -6
  95. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  96. package/build/components/sidebar-edit-mode/template-panel/hooks.js +3 -3
  97. package/build/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
  98. package/build/components/sidebar-navigation-screen-global-styles/index.js +1 -1
  99. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  100. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
  101. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +1 -1
  102. package/build/components/sidebar-navigation-screen-page/page-details.js +3 -11
  103. package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  104. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -1
  105. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  106. package/build/components/site-hub/index.js +18 -6
  107. package/build/components/site-hub/index.js.map +1 -1
  108. package/build/components/start-template-options/index.js +12 -16
  109. package/build/components/start-template-options/index.js.map +1 -1
  110. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +112 -49
  111. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  112. package/build/components/template-part-converter/convert-to-regular.js +1 -1
  113. package/build/components/template-part-converter/convert-to-regular.js.map +1 -1
  114. package/build/hooks/push-changes-to-global-styles/index.js +3 -1
  115. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  116. package/build/hooks/template-part-edit.js +6 -2
  117. package/build/hooks/template-part-edit.js.map +1 -1
  118. package/build/index.js +0 -3
  119. package/build/index.js.map +1 -1
  120. package/build/store/actions.js +35 -82
  121. package/build/store/actions.js.map +1 -1
  122. package/build/store/selectors.js +25 -63
  123. package/build/store/selectors.js.map +1 -1
  124. package/build/utils/constants.js +3 -3
  125. package/build/utils/constants.js.map +1 -1
  126. package/build-module/components/actions/index.js +85 -5
  127. package/build-module/components/actions/index.js.map +1 -1
  128. package/build-module/components/add-new-template/new-template.js +0 -7
  129. package/build-module/components/add-new-template/new-template.js.map +1 -1
  130. package/build-module/components/block-editor/use-site-editor-settings.js +54 -62
  131. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  132. package/build-module/components/dataviews/add-filter.js +83 -0
  133. package/build-module/components/dataviews/add-filter.js.map +1 -0
  134. package/build-module/components/dataviews/dataviews.js +22 -4
  135. package/build-module/components/dataviews/dataviews.js.map +1 -1
  136. package/build-module/components/dataviews/filters.js +34 -32
  137. package/build-module/components/dataviews/filters.js.map +1 -1
  138. package/build-module/components/dataviews/in-filter.js +20 -19
  139. package/build-module/components/dataviews/in-filter.js.map +1 -1
  140. package/build-module/components/dataviews/index.js +1 -1
  141. package/build-module/components/dataviews/index.js.map +1 -1
  142. package/build-module/components/dataviews/item-actions.js +84 -16
  143. package/build-module/components/dataviews/item-actions.js.map +1 -1
  144. package/build-module/components/dataviews/pagination.js +3 -2
  145. package/build-module/components/dataviews/pagination.js.map +1 -1
  146. package/build-module/components/dataviews/reset-filters.js +26 -0
  147. package/build-module/components/dataviews/reset-filters.js.map +1 -0
  148. package/build-module/components/dataviews/search.js +1 -0
  149. package/build-module/components/dataviews/search.js.map +1 -1
  150. package/build-module/components/dataviews/view-actions.js +28 -11
  151. package/build-module/components/dataviews/view-actions.js.map +1 -1
  152. package/build-module/components/dataviews/view-list.js +128 -7
  153. package/build-module/components/dataviews/view-list.js.map +1 -1
  154. package/build-module/components/dataviews/view-side-by-side.js +12 -0
  155. package/build-module/components/dataviews/view-side-by-side.js.map +1 -0
  156. package/build-module/components/editor/index.js +57 -57
  157. package/build-module/components/editor/index.js.map +1 -1
  158. package/build-module/components/global-styles/screen-revisions/index.js +42 -21
  159. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  160. package/build-module/components/global-styles/screen-root.js +3 -3
  161. package/build-module/components/global-styles/screen-root.js.map +1 -1
  162. package/build-module/components/global-styles/ui.js +3 -3
  163. package/build-module/components/global-styles/ui.js.map +1 -1
  164. package/build-module/components/global-styles-renderer/index.js +1 -1
  165. package/build-module/components/global-styles-renderer/index.js.map +1 -1
  166. package/build-module/components/header-edit-mode/document-tools/index.js +152 -0
  167. package/build-module/components/header-edit-mode/document-tools/index.js.map +1 -0
  168. package/build-module/components/header-edit-mode/index.js +52 -120
  169. package/build-module/components/header-edit-mode/index.js.map +1 -1
  170. package/build-module/components/header-edit-mode/more-menu/site-export.js +2 -6
  171. package/build-module/components/header-edit-mode/more-menu/site-export.js.map +1 -1
  172. package/build-module/components/layout/index.js +5 -20
  173. package/build-module/components/layout/index.js.map +1 -1
  174. package/build-module/components/list/added-by.js +1 -1
  175. package/build-module/components/list/added-by.js.map +1 -1
  176. package/build-module/components/page-content-focus-manager/back-to-page-notification.js +5 -10
  177. package/build-module/components/page-content-focus-manager/back-to-page-notification.js.map +1 -1
  178. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +36 -23
  179. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  180. package/build-module/components/page-main/index.js +2 -1
  181. package/build-module/components/page-main/index.js.map +1 -1
  182. package/build-module/components/page-pages/index.js +137 -80
  183. package/build-module/components/page-pages/index.js.map +1 -1
  184. package/build-module/components/page-pages/side-editor.js +17 -0
  185. package/build-module/components/page-pages/side-editor.js.map +1 -0
  186. package/build-module/components/page-patterns/grid-item.js +2 -2
  187. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  188. package/build-module/components/page-patterns/patterns-list.js +4 -4
  189. package/build-module/components/page-patterns/patterns-list.js.map +1 -1
  190. package/build-module/components/page-patterns/use-patterns.js +2 -2
  191. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  192. package/build-module/components/page-templates/dataviews-templates.js +193 -0
  193. package/build-module/components/page-templates/dataviews-templates.js.map +1 -0
  194. package/build-module/components/page-templates/template-actions.js +157 -0
  195. package/build-module/components/page-templates/template-actions.js.map +1 -0
  196. package/build-module/components/sidebar/index.js +1 -2
  197. package/build-module/components/sidebar/index.js.map +1 -1
  198. package/build-module/components/sidebar-dataviews/add-new-view.js +116 -0
  199. package/build-module/components/sidebar-dataviews/add-new-view.js.map +1 -0
  200. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +180 -0
  201. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -0
  202. package/build-module/components/sidebar-dataviews/dataview-item.js +63 -0
  203. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -0
  204. package/build-module/components/sidebar-dataviews/default-views.js +52 -0
  205. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -0
  206. package/build-module/components/sidebar-dataviews/index.js +22 -39
  207. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  208. package/build-module/components/sidebar-edit-mode/default-sidebar.js +2 -6
  209. package/build-module/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
  210. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +12 -12
  211. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  212. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +3 -1
  213. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  214. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +5 -13
  215. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
  216. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js +5 -13
  217. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -1
  218. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js +2 -6
  219. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  220. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js +4 -4
  221. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
  222. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +1 -1
  223. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  224. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
  225. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +1 -1
  226. package/build-module/components/sidebar-navigation-screen-page/page-details.js +3 -11
  227. package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  228. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -2
  229. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  230. package/build-module/components/site-hub/index.js +19 -7
  231. package/build-module/components/site-hub/index.js.map +1 -1
  232. package/build-module/components/start-template-options/index.js +13 -16
  233. package/build-module/components/start-template-options/index.js.map +1 -1
  234. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +112 -50
  235. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  236. package/build-module/components/template-part-converter/convert-to-regular.js +1 -1
  237. package/build-module/components/template-part-converter/convert-to-regular.js.map +1 -1
  238. package/build-module/hooks/push-changes-to-global-styles/index.js +4 -2
  239. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  240. package/build-module/hooks/template-part-edit.js +6 -2
  241. package/build-module/hooks/template-part-edit.js.map +1 -1
  242. package/build-module/index.js +0 -3
  243. package/build-module/index.js.map +1 -1
  244. package/build-module/store/actions.js +33 -79
  245. package/build-module/store/actions.js.map +1 -1
  246. package/build-module/store/selectors.js +19 -58
  247. package/build-module/store/selectors.js.map +1 -1
  248. package/build-module/utils/constants.js +1 -1
  249. package/build-module/utils/constants.js.map +1 -1
  250. package/build-style/style-rtl.css +69 -119
  251. package/build-style/style.css +69 -119
  252. package/package.json +41 -41
  253. package/src/components/actions/index.js +113 -5
  254. package/src/components/add-new-template/new-template.js +0 -5
  255. package/src/components/block-editor/style.scss +0 -87
  256. package/src/components/block-editor/use-site-editor-settings.js +68 -89
  257. package/src/components/dataviews/README.md +77 -83
  258. package/src/components/dataviews/add-filter.js +111 -0
  259. package/src/components/dataviews/dataviews.js +20 -2
  260. package/src/components/dataviews/filters.js +56 -49
  261. package/src/components/dataviews/in-filter.js +35 -17
  262. package/src/components/dataviews/index.js +1 -1
  263. package/src/components/dataviews/item-actions.js +95 -20
  264. package/src/components/dataviews/pagination.js +5 -4
  265. package/src/components/dataviews/reset-filters.js +26 -0
  266. package/src/components/dataviews/search.js +1 -0
  267. package/src/components/dataviews/style.scss +5 -1
  268. package/src/components/dataviews/view-actions.js +39 -9
  269. package/src/components/dataviews/view-list.js +174 -3
  270. package/src/components/dataviews/view-side-by-side.js +9 -0
  271. package/src/components/editor/index.js +149 -121
  272. package/src/components/global-styles/screen-revisions/index.js +52 -25
  273. package/src/components/global-styles/screen-root.js +2 -1
  274. package/src/components/global-styles/ui.js +1 -1
  275. package/src/components/global-styles-renderer/index.js +1 -1
  276. package/src/components/header-edit-mode/document-tools/index.js +201 -0
  277. package/src/components/header-edit-mode/index.js +86 -184
  278. package/src/components/header-edit-mode/more-menu/site-export.js +2 -6
  279. package/src/components/header-edit-mode/style.scss +35 -2
  280. package/src/components/layout/index.js +4 -11
  281. package/src/components/layout/style.scss +6 -18
  282. package/src/components/list/added-by.js +1 -1
  283. package/src/components/page-content-focus-manager/back-to-page-notification.js +4 -15
  284. package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +38 -33
  285. package/src/components/page-main/index.js +6 -1
  286. package/src/components/page-pages/index.js +162 -81
  287. package/src/components/page-pages/side-editor.js +14 -0
  288. package/src/components/page-patterns/grid-item.js +3 -3
  289. package/src/components/page-patterns/patterns-list.js +10 -4
  290. package/src/components/page-patterns/use-patterns.js +3 -2
  291. package/src/components/page-templates/dataviews-templates.js +224 -0
  292. package/src/components/page-templates/template-actions.js +209 -0
  293. package/src/components/sidebar/index.js +1 -2
  294. package/src/components/sidebar-dataviews/add-new-view.js +141 -0
  295. package/src/components/sidebar-dataviews/custom-dataviews-list.js +227 -0
  296. package/src/components/sidebar-dataviews/dataview-item.js +67 -0
  297. package/src/components/sidebar-dataviews/default-views.js +54 -0
  298. package/src/components/sidebar-dataviews/index.js +36 -45
  299. package/src/components/sidebar-dataviews/style.scss +22 -0
  300. package/src/components/sidebar-edit-mode/default-sidebar.js +6 -6
  301. package/src/components/sidebar-edit-mode/page-panels/edit-template.js +14 -21
  302. package/src/components/sidebar-edit-mode/page-panels/page-summary.js +3 -0
  303. package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +10 -9
  304. package/src/components/sidebar-edit-mode/page-panels/style.scss +5 -0
  305. package/src/components/sidebar-edit-mode/page-panels/swap-template-button.js +10 -9
  306. package/src/components/sidebar-edit-mode/plugin-sidebar/index.js +6 -6
  307. package/src/components/sidebar-edit-mode/template-panel/hooks.js +11 -7
  308. package/src/components/sidebar-navigation-screen-global-styles/index.js +1 -1
  309. package/src/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
  310. package/src/components/sidebar-navigation-screen-page/page-details.js +4 -17
  311. package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -2
  312. package/src/components/site-hub/index.js +9 -8
  313. package/src/components/start-template-options/index.js +14 -12
  314. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +117 -50
  315. package/src/components/template-part-converter/convert-to-regular.js +1 -1
  316. package/src/hooks/push-changes-to-global-styles/index.js +13 -6
  317. package/src/hooks/template-part-edit.js +4 -2
  318. package/src/index.js +0 -8
  319. package/src/store/actions.js +37 -95
  320. package/src/store/selectors.js +31 -91
  321. package/src/store/test/actions.js +11 -137
  322. package/src/store/test/selectors.js +0 -82
  323. package/src/style.scss +1 -0
  324. package/src/utils/constants.js +1 -1
  325. package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js +0 -77
  326. package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +0 -1
  327. package/build/components/block-editor/block-editor-provider/index.js +0 -31
  328. package/build/components/block-editor/block-editor-provider/index.js.map +0 -1
  329. package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -110
  330. package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +0 -1
  331. package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -84
  332. package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +0 -1
  333. package/build/components/block-editor/index.js +0 -30
  334. package/build/components/block-editor/index.js.map +0 -1
  335. package/build/components/page-pages/default-views.js +0 -62
  336. package/build/components/page-pages/default-views.js.map +0 -1
  337. package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js +0 -69
  338. package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +0 -1
  339. package/build-module/components/block-editor/block-editor-provider/index.js +0 -23
  340. package/build-module/components/block-editor/block-editor-provider/index.js.map +0 -1
  341. package/build-module/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -102
  342. package/build-module/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +0 -1
  343. package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -78
  344. package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +0 -1
  345. package/build-module/components/block-editor/index.js +0 -22
  346. package/build-module/components/block-editor/index.js.map +0 -1
  347. package/build-module/components/page-pages/default-views.js +0 -55
  348. package/build-module/components/page-pages/default-views.js.map +0 -1
  349. package/src/components/block-editor/block-editor-provider/default-block-editor-provider.js +0 -75
  350. package/src/components/block-editor/block-editor-provider/index.js +0 -29
  351. package/src/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -114
  352. package/src/components/block-editor/block-editor-provider/test/use-page-content-blocks.js +0 -116
  353. package/src/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -90
  354. package/src/components/block-editor/index.js +0 -28
  355. package/src/components/page-pages/default-views.js +0 -60
@@ -0,0 +1,152 @@
1
+ import { createElement, Fragment } from "react";
2
+ /**
3
+ * WordPress dependencies
4
+ */
5
+ import { useCallback, useRef } from '@wordpress/element';
6
+ import { useViewportMatch } from '@wordpress/compose';
7
+ import { ToolSelector, NavigableToolbar, store as blockEditorStore, privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
8
+ import { useSelect, useDispatch } from '@wordpress/data';
9
+ import { _x, __ } from '@wordpress/i18n';
10
+ import { listView, plus, chevronUpDown } from '@wordpress/icons';
11
+ import { Button, ToolbarItem } from '@wordpress/components';
12
+ import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';
13
+
14
+ /**
15
+ * Internal dependencies
16
+ */
17
+ import UndoButton from '../undo-redo/undo';
18
+ import RedoButton from '../undo-redo/redo';
19
+ import { store as editSiteStore } from '../../../store';
20
+ import { unlock } from '../../../lock-unlock';
21
+ const {
22
+ useShouldContextualToolbarShow
23
+ } = unlock(blockEditorPrivateApis);
24
+ const preventDefault = event => {
25
+ event.preventDefault();
26
+ };
27
+ export default function DocumentTools({
28
+ blockEditorMode,
29
+ hasFixedToolbar,
30
+ isDistractionFree,
31
+ showIconLabels,
32
+ setListViewToggleElement
33
+ }) {
34
+ const inserterButton = useRef();
35
+ const {
36
+ isInserterOpen,
37
+ isListViewOpen,
38
+ listViewShortcut,
39
+ isVisualMode
40
+ } = useSelect(select => {
41
+ const {
42
+ __experimentalGetPreviewDeviceType,
43
+ isInserterOpened,
44
+ isListViewOpened,
45
+ getEditorMode
46
+ } = select(editSiteStore);
47
+ const {
48
+ getShortcutRepresentation
49
+ } = select(keyboardShortcutsStore);
50
+ return {
51
+ deviceType: __experimentalGetPreviewDeviceType(),
52
+ isInserterOpen: isInserterOpened(),
53
+ isListViewOpen: isListViewOpened(),
54
+ listViewShortcut: getShortcutRepresentation('core/edit-site/toggle-list-view'),
55
+ isVisualMode: getEditorMode() === 'visual'
56
+ };
57
+ }, []);
58
+ const {
59
+ __experimentalSetPreviewDeviceType: setPreviewDeviceType,
60
+ setIsInserterOpened,
61
+ setIsListViewOpened
62
+ } = useDispatch(editSiteStore);
63
+ const {
64
+ __unstableSetEditorMode
65
+ } = useDispatch(blockEditorStore);
66
+ const isLargeViewport = useViewportMatch('medium');
67
+ const toggleInserter = useCallback(() => {
68
+ if (isInserterOpen) {
69
+ // Focusing the inserter button should close the inserter popover.
70
+ // However, there are some cases it won't close when the focus is lost.
71
+ // See https://github.com/WordPress/gutenberg/issues/43090 for more details.
72
+ inserterButton.current.focus();
73
+ setIsInserterOpened(false);
74
+ } else {
75
+ setIsInserterOpened(true);
76
+ }
77
+ }, [isInserterOpen, setIsInserterOpened]);
78
+ const toggleListView = useCallback(() => setIsListViewOpened(!isListViewOpen), [setIsListViewOpened, isListViewOpen]);
79
+ const {
80
+ shouldShowContextualToolbar,
81
+ canFocusHiddenToolbar,
82
+ fixedToolbarCanBeFocused
83
+ } = useShouldContextualToolbarShow();
84
+ // If there's a block toolbar to be focused, disable the focus shortcut for the document toolbar.
85
+ // There's a fixed block toolbar when the fixed toolbar option is enabled or when the browser width is less than the large viewport.
86
+ const blockToolbarCanBeFocused = shouldShowContextualToolbar || canFocusHiddenToolbar || fixedToolbarCanBeFocused;
87
+
88
+ /* translators: button label text should, if possible, be under 16 characters. */
89
+ const longLabel = _x('Toggle block inserter', 'Generic label for block inserter button');
90
+ const shortLabel = !isInserterOpen ? __('Add') : __('Close');
91
+ const isZoomedOutViewExperimentEnabled = window?.__experimentalEnableZoomedOutView && isVisualMode;
92
+ const isZoomedOutView = blockEditorMode === 'zoom-out';
93
+ return createElement(NavigableToolbar, {
94
+ className: "edit-site-header-edit-mode__document-tools",
95
+ "aria-label": __('Document tools'),
96
+ shouldUseKeyboardFocusShortcut: !blockToolbarCanBeFocused
97
+ }, createElement("div", {
98
+ className: "edit-site-header-edit-mode__toolbar"
99
+ }, !isDistractionFree && createElement(ToolbarItem, {
100
+ ref: inserterButton,
101
+ as: Button,
102
+ className: "edit-site-header-edit-mode__inserter-toggle",
103
+ variant: "primary",
104
+ isPressed: isInserterOpen,
105
+ onMouseDown: preventDefault,
106
+ onClick: toggleInserter,
107
+ disabled: !isVisualMode,
108
+ icon: plus,
109
+ label: showIconLabels ? shortLabel : longLabel,
110
+ showTooltip: !showIconLabels,
111
+ "aria-expanded": isInserterOpen
112
+ }), isLargeViewport && createElement(Fragment, null, !hasFixedToolbar && createElement(ToolbarItem, {
113
+ as: ToolSelector,
114
+ showTooltip: !showIconLabels,
115
+ variant: showIconLabels ? 'tertiary' : undefined,
116
+ disabled: !isVisualMode
117
+ }), createElement(ToolbarItem, {
118
+ as: UndoButton,
119
+ showTooltip: !showIconLabels,
120
+ variant: showIconLabels ? 'tertiary' : undefined
121
+ }), createElement(ToolbarItem, {
122
+ as: RedoButton,
123
+ showTooltip: !showIconLabels,
124
+ variant: showIconLabels ? 'tertiary' : undefined
125
+ }), !isDistractionFree && createElement(ToolbarItem, {
126
+ as: Button,
127
+ className: "edit-site-header-edit-mode__list-view-toggle",
128
+ disabled: !isVisualMode || isZoomedOutView,
129
+ icon: listView,
130
+ isPressed: isListViewOpen
131
+ /* translators: button label text should, if possible, be under 16 characters. */,
132
+ label: __('List View'),
133
+ onClick: toggleListView,
134
+ ref: setListViewToggleElement,
135
+ shortcut: listViewShortcut,
136
+ showTooltip: !showIconLabels,
137
+ variant: showIconLabels ? 'tertiary' : undefined,
138
+ "aria-expanded": isListViewOpen
139
+ }), isZoomedOutViewExperimentEnabled && !isDistractionFree && !hasFixedToolbar && createElement(ToolbarItem, {
140
+ as: Button,
141
+ className: "edit-site-header-edit-mode__zoom-out-view-toggle",
142
+ icon: chevronUpDown,
143
+ isPressed: isZoomedOutView
144
+ /* translators: button label text should, if possible, be under 16 characters. */,
145
+ label: __('Zoom-out View'),
146
+ onClick: () => {
147
+ setPreviewDeviceType('Desktop');
148
+ __unstableSetEditorMode(isZoomedOutView ? 'edit' : 'zoom-out');
149
+ }
150
+ }))));
151
+ }
152
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useRef","useViewportMatch","ToolSelector","NavigableToolbar","store","blockEditorStore","privateApis","blockEditorPrivateApis","useSelect","useDispatch","_x","__","listView","plus","chevronUpDown","Button","ToolbarItem","keyboardShortcutsStore","UndoButton","RedoButton","editSiteStore","unlock","useShouldContextualToolbarShow","preventDefault","event","DocumentTools","blockEditorMode","hasFixedToolbar","isDistractionFree","showIconLabels","setListViewToggleElement","inserterButton","isInserterOpen","isListViewOpen","listViewShortcut","isVisualMode","select","__experimentalGetPreviewDeviceType","isInserterOpened","isListViewOpened","getEditorMode","getShortcutRepresentation","deviceType","__experimentalSetPreviewDeviceType","setPreviewDeviceType","setIsInserterOpened","setIsListViewOpened","__unstableSetEditorMode","isLargeViewport","toggleInserter","current","focus","toggleListView","shouldShowContextualToolbar","canFocusHiddenToolbar","fixedToolbarCanBeFocused","blockToolbarCanBeFocused","longLabel","shortLabel","isZoomedOutViewExperimentEnabled","window","__experimentalEnableZoomedOutView","isZoomedOutView","createElement","className","shouldUseKeyboardFocusShortcut","ref","as","variant","isPressed","onMouseDown","onClick","disabled","icon","label","showTooltip","Fragment","undefined","shortcut"],"sources":["@wordpress/edit-site/src/components/header-edit-mode/document-tools/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback, useRef } from '@wordpress/element';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tToolSelector,\n\tNavigableToolbar,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { _x, __ } from '@wordpress/i18n';\nimport { listView, plus, chevronUpDown } from '@wordpress/icons';\nimport { Button, ToolbarItem } from '@wordpress/components';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\n\n/**\n * Internal dependencies\n */\nimport UndoButton from '../undo-redo/undo';\nimport RedoButton from '../undo-redo/redo';\nimport { store as editSiteStore } from '../../../store';\nimport { unlock } from '../../../lock-unlock';\n\nconst { useShouldContextualToolbarShow } = unlock( blockEditorPrivateApis );\n\nconst preventDefault = ( event ) => {\n\tevent.preventDefault();\n};\n\nexport default function DocumentTools( {\n\tblockEditorMode,\n\thasFixedToolbar,\n\tisDistractionFree,\n\tshowIconLabels,\n\tsetListViewToggleElement,\n} ) {\n\tconst inserterButton = useRef();\n\tconst { isInserterOpen, isListViewOpen, listViewShortcut, isVisualMode } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst {\n\t\t\t\t__experimentalGetPreviewDeviceType,\n\t\t\t\tisInserterOpened,\n\t\t\t\tisListViewOpened,\n\t\t\t\tgetEditorMode,\n\t\t\t} = select( editSiteStore );\n\t\t\tconst { getShortcutRepresentation } = select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tdeviceType: __experimentalGetPreviewDeviceType(),\n\t\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\t\tlistViewShortcut: getShortcutRepresentation(\n\t\t\t\t\t'core/edit-site/toggle-list-view'\n\t\t\t\t),\n\t\t\t\tisVisualMode: getEditorMode() === 'visual',\n\t\t\t};\n\t\t}, [] );\n\n\tconst {\n\t\t__experimentalSetPreviewDeviceType: setPreviewDeviceType,\n\t\tsetIsInserterOpened,\n\t\tsetIsListViewOpened,\n\t} = useDispatch( editSiteStore );\n\tconst { __unstableSetEditorMode } = useDispatch( blockEditorStore );\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\n\tconst toggleInserter = useCallback( () => {\n\t\tif ( isInserterOpen ) {\n\t\t\t// Focusing the inserter button should close the inserter popover.\n\t\t\t// However, there are some cases it won't close when the focus is lost.\n\t\t\t// See https://github.com/WordPress/gutenberg/issues/43090 for more details.\n\t\t\tinserterButton.current.focus();\n\t\t\tsetIsInserterOpened( false );\n\t\t} else {\n\t\t\tsetIsInserterOpened( true );\n\t\t}\n\t}, [ isInserterOpen, setIsInserterOpened ] );\n\n\tconst toggleListView = useCallback(\n\t\t() => setIsListViewOpened( ! isListViewOpen ),\n\t\t[ setIsListViewOpened, isListViewOpen ]\n\t);\n\n\tconst {\n\t\tshouldShowContextualToolbar,\n\t\tcanFocusHiddenToolbar,\n\t\tfixedToolbarCanBeFocused,\n\t} = useShouldContextualToolbarShow();\n\t// If there's a block toolbar to be focused, disable the focus shortcut for the document toolbar.\n\t// There's a fixed block toolbar when the fixed toolbar option is enabled or when the browser width is less than the large viewport.\n\tconst blockToolbarCanBeFocused =\n\t\tshouldShowContextualToolbar ||\n\t\tcanFocusHiddenToolbar ||\n\t\tfixedToolbarCanBeFocused;\n\n\t/* translators: button label text should, if possible, be under 16 characters. */\n\tconst longLabel = _x(\n\t\t'Toggle block inserter',\n\t\t'Generic label for block inserter button'\n\t);\n\tconst shortLabel = ! isInserterOpen ? __( 'Add' ) : __( 'Close' );\n\n\tconst isZoomedOutViewExperimentEnabled =\n\t\twindow?.__experimentalEnableZoomedOutView && isVisualMode;\n\tconst isZoomedOutView = blockEditorMode === 'zoom-out';\n\n\treturn (\n\t\t<NavigableToolbar\n\t\t\tclassName=\"edit-site-header-edit-mode__document-tools\"\n\t\t\taria-label={ __( 'Document tools' ) }\n\t\t\tshouldUseKeyboardFocusShortcut={ ! blockToolbarCanBeFocused }\n\t\t>\n\t\t\t<div className=\"edit-site-header-edit-mode__toolbar\">\n\t\t\t\t{ ! isDistractionFree && (\n\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\tref={ inserterButton }\n\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\tclassName=\"edit-site-header-edit-mode__inserter-toggle\"\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tisPressed={ isInserterOpen }\n\t\t\t\t\t\tonMouseDown={ preventDefault }\n\t\t\t\t\t\tonClick={ toggleInserter }\n\t\t\t\t\t\tdisabled={ ! isVisualMode }\n\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\tlabel={ showIconLabels ? shortLabel : longLabel }\n\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\taria-expanded={ isInserterOpen }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isLargeViewport && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ ! hasFixedToolbar && (\n\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\tas={ ToolSelector }\n\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdisabled={ ! isVisualMode }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\tas={ UndoButton }\n\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\tas={ RedoButton }\n\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ ! isDistractionFree && (\n\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\t\tclassName=\"edit-site-header-edit-mode__list-view-toggle\"\n\t\t\t\t\t\t\t\tdisabled={ ! isVisualMode || isZoomedOutView }\n\t\t\t\t\t\t\t\ticon={ listView }\n\t\t\t\t\t\t\t\tisPressed={ isListViewOpen }\n\t\t\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\t\t\tlabel={ __( 'List View' ) }\n\t\t\t\t\t\t\t\tonClick={ toggleListView }\n\t\t\t\t\t\t\t\tref={ setListViewToggleElement }\n\t\t\t\t\t\t\t\tshortcut={ listViewShortcut }\n\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taria-expanded={ isListViewOpen }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isZoomedOutViewExperimentEnabled &&\n\t\t\t\t\t\t\t! isDistractionFree &&\n\t\t\t\t\t\t\t! hasFixedToolbar && (\n\t\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-header-edit-mode__zoom-out-view-toggle\"\n\t\t\t\t\t\t\t\t\ticon={ chevronUpDown }\n\t\t\t\t\t\t\t\t\tisPressed={ isZoomedOutView }\n\t\t\t\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Zoom-out View' ) }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetPreviewDeviceType( 'Desktop' );\n\t\t\t\t\t\t\t\t\t\t__unstableSetEditorMode(\n\t\t\t\t\t\t\t\t\t\t\tisZoomedOutView\n\t\t\t\t\t\t\t\t\t\t\t\t? 'edit'\n\t\t\t\t\t\t\t\t\t\t\t\t: 'zoom-out'\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</NavigableToolbar>\n\t);\n}\n"],"mappings":"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"}
@@ -7,16 +7,15 @@ import classnames from 'classnames';
7
7
  /**
8
8
  * WordPress dependencies
9
9
  */
10
- import { useCallback, useRef } from '@wordpress/element';
11
10
  import { useViewportMatch, useReducedMotion } from '@wordpress/compose';
12
11
  import { store as coreStore } from '@wordpress/core-data';
13
- import { ToolSelector, __experimentalPreviewOptions as PreviewOptions, NavigableToolbar, store as blockEditorStore, privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
12
+ import { __experimentalPreviewOptions as PreviewOptions, privateApis as blockEditorPrivateApis, store as blockEditorStore } from '@wordpress/block-editor';
14
13
  import { useSelect, useDispatch } from '@wordpress/data';
14
+ import { useEffect, useRef, useState } from '@wordpress/element';
15
15
  import { PinnedItems } from '@wordpress/interface';
16
- import { _x, __ } from '@wordpress/i18n';
17
- import { listView, plus, external, chevronUpDown } from '@wordpress/icons';
18
- import { __unstableMotion as motion, Button, ToolbarItem, MenuGroup, MenuItem, VisuallyHidden } from '@wordpress/components';
19
- import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';
16
+ import { __ } from '@wordpress/i18n';
17
+ import { external, next, previous } from '@wordpress/icons';
18
+ import { Button, __unstableMotion as motion, MenuGroup, MenuItem, Popover, VisuallyHidden } from '@wordpress/components';
20
19
  import { store as preferencesStore } from '@wordpress/preferences';
21
20
 
22
21
  /**
@@ -24,48 +23,36 @@ import { store as preferencesStore } from '@wordpress/preferences';
24
23
  */
25
24
  import MoreMenu from './more-menu';
26
25
  import SaveButton from '../save-button';
27
- import UndoButton from './undo-redo/undo';
28
- import RedoButton from './undo-redo/redo';
29
26
  import DocumentActions from './document-actions';
27
+ import DocumentTools from './document-tools';
30
28
  import { store as editSiteStore } from '../../store';
31
29
  import { getEditorCanvasContainerTitle, useHasEditorCanvasContainer } from '../editor-canvas-container';
32
30
  import { unlock } from '../../lock-unlock';
33
31
  import { FOCUSABLE_ENTITIES } from '../../utils/constants';
34
32
  const {
35
- useShouldContextualToolbarShow
33
+ BlockContextualToolbar
36
34
  } = unlock(blockEditorPrivateApis);
37
- const preventDefault = event => {
38
- event.preventDefault();
39
- };
40
35
  export default function HeaderEditMode({
41
36
  setListViewToggleElement
42
37
  }) {
43
- const inserterButton = useRef();
44
38
  const {
45
39
  deviceType,
46
40
  templateType,
47
- isInserterOpen,
48
- isListViewOpen,
49
- listViewShortcut,
50
- isVisualMode,
51
41
  isDistractionFree,
52
42
  blockEditorMode,
43
+ blockSelectionStart,
53
44
  homeUrl,
54
45
  showIconLabels,
55
46
  editorCanvasView,
56
- hasFixedToolbar
47
+ hasFixedToolbar,
48
+ isZoomOutMode
57
49
  } = useSelect(select => {
58
50
  const {
59
51
  __experimentalGetPreviewDeviceType,
60
- getEditedPostType,
61
- isInserterOpened,
62
- isListViewOpened,
63
- getEditorMode
52
+ getEditedPostType
64
53
  } = select(editSiteStore);
65
54
  const {
66
- getShortcutRepresentation
67
- } = select(keyboardShortcutsStore);
68
- const {
55
+ getBlockSelectionStart,
69
56
  __unstableGetEditorMode
70
57
  } = select(blockEditorStore);
71
58
  const postType = getEditedPostType();
@@ -78,56 +65,34 @@ export default function HeaderEditMode({
78
65
  return {
79
66
  deviceType: __experimentalGetPreviewDeviceType(),
80
67
  templateType: postType,
81
- isInserterOpen: isInserterOpened(),
82
- isListViewOpen: isListViewOpened(),
83
- listViewShortcut: getShortcutRepresentation('core/edit-site/toggle-list-view'),
84
- isVisualMode: getEditorMode() === 'visual',
85
68
  blockEditorMode: __unstableGetEditorMode(),
69
+ blockSelectionStart: getBlockSelectionStart(),
86
70
  homeUrl: getUnstableBase()?.home,
87
71
  showIconLabels: getPreference(editSiteStore.name, 'showIconLabels'),
88
72
  editorCanvasView: unlock(select(editSiteStore)).getEditorCanvasContainerView(),
73
+ hasFixedToolbar: getPreference(editSiteStore.name, 'fixedToolbar'),
89
74
  isDistractionFree: getPreference(editSiteStore.name, 'distractionFree'),
90
- hasFixedToolbar: getPreference(editSiteStore.name, 'fixedToolbar')
75
+ isZoomOutMode: __unstableGetEditorMode() === 'zoom-out'
91
76
  };
92
77
  }, []);
78
+ const isLargeViewport = useViewportMatch('medium');
79
+ const isTopToolbar = !isZoomOutMode && hasFixedToolbar && isLargeViewport;
80
+ const blockToolbarRef = useRef();
93
81
  const {
94
- __experimentalSetPreviewDeviceType: setPreviewDeviceType,
95
- setIsInserterOpened,
96
- setIsListViewOpened
82
+ __experimentalSetPreviewDeviceType: setPreviewDeviceType
97
83
  } = useDispatch(editSiteStore);
98
- const {
99
- __unstableSetEditorMode
100
- } = useDispatch(blockEditorStore);
101
84
  const disableMotion = useReducedMotion();
102
- const isLargeViewport = useViewportMatch('medium');
103
- const toggleInserter = useCallback(() => {
104
- if (isInserterOpen) {
105
- // Focusing the inserter button should close the inserter popover.
106
- // However, there are some cases it won't close when the focus is lost.
107
- // See https://github.com/WordPress/gutenberg/issues/43090 for more details.
108
- inserterButton.current.focus();
109
- setIsInserterOpened(false);
110
- } else {
111
- setIsInserterOpened(true);
112
- }
113
- }, [isInserterOpen, setIsInserterOpened]);
114
- const toggleListView = useCallback(() => setIsListViewOpened(!isListViewOpen), [setIsListViewOpened, isListViewOpen]);
115
- const {
116
- shouldShowContextualToolbar,
117
- canFocusHiddenToolbar,
118
- fixedToolbarCanBeFocused
119
- } = useShouldContextualToolbarShow();
120
- // If there's a block toolbar to be focused, disable the focus shortcut for the document toolbar.
121
- // There's a fixed block toolbar when the fixed toolbar option is enabled or when the browser width is less than the large viewport.
122
- const blockToolbarCanBeFocused = shouldShowContextualToolbar || canFocusHiddenToolbar || fixedToolbarCanBeFocused;
123
85
  const hasDefaultEditorCanvasView = !useHasEditorCanvasContainer();
124
86
  const isFocusMode = FOCUSABLE_ENTITIES.includes(templateType);
125
-
126
- /* translators: button label text should, if possible, be under 16 characters. */
127
- const longLabel = _x('Toggle block inserter', 'Generic label for block inserter button');
128
- const shortLabel = !isInserterOpen ? __('Add') : __('Close');
129
- const isZoomedOutViewExperimentEnabled = window?.__experimentalEnableZoomedOutView && isVisualMode;
130
87
  const isZoomedOutView = blockEditorMode === 'zoom-out';
88
+ const [isBlockToolsCollapsed, setIsBlockToolsCollapsed] = useState(true);
89
+ const hasBlockSelected = !!blockSelectionStart;
90
+ useEffect(() => {
91
+ // If we have a new block selection, show the block tools
92
+ if (blockSelectionStart) {
93
+ setIsBlockToolsCollapsed(false);
94
+ }
95
+ }, [blockSelectionStart]);
131
96
  const toolbarVariants = {
132
97
  isDistractionFree: {
133
98
  y: '-50px'
@@ -151,68 +116,35 @@ export default function HeaderEditMode({
151
116
  className: classnames('edit-site-header-edit-mode', {
152
117
  'show-icon-labels': showIconLabels
153
118
  })
154
- }, hasDefaultEditorCanvasView && createElement(NavigableToolbar, {
155
- as: motion.div,
119
+ }, hasDefaultEditorCanvasView && createElement(motion.div, {
156
120
  className: "edit-site-header-edit-mode__start",
157
- "aria-label": __('Document tools'),
158
- shouldUseKeyboardFocusShortcut: !blockToolbarCanBeFocused,
159
121
  variants: toolbarVariants,
160
122
  transition: toolbarTransition
161
- }, createElement("div", {
162
- className: "edit-site-header-edit-mode__toolbar"
163
- }, !isDistractionFree && createElement(ToolbarItem, {
164
- ref: inserterButton,
165
- as: Button,
166
- className: "edit-site-header-edit-mode__inserter-toggle",
167
- variant: "primary",
168
- isPressed: isInserterOpen,
169
- onMouseDown: preventDefault,
170
- onClick: toggleInserter,
171
- disabled: !isVisualMode,
172
- icon: plus,
173
- label: showIconLabels ? shortLabel : longLabel,
174
- showTooltip: !showIconLabels,
175
- "aria-expanded": isInserterOpen
176
- }), isLargeViewport && createElement(Fragment, null, !hasFixedToolbar && createElement(ToolbarItem, {
177
- as: ToolSelector,
178
- showTooltip: !showIconLabels,
179
- variant: showIconLabels ? 'tertiary' : undefined,
180
- disabled: !isVisualMode
181
- }), createElement(ToolbarItem, {
182
- as: UndoButton,
183
- showTooltip: !showIconLabels,
184
- variant: showIconLabels ? 'tertiary' : undefined
185
- }), createElement(ToolbarItem, {
186
- as: RedoButton,
187
- showTooltip: !showIconLabels,
188
- variant: showIconLabels ? 'tertiary' : undefined
189
- }), !isDistractionFree && createElement(ToolbarItem, {
190
- as: Button,
191
- className: "edit-site-header-edit-mode__list-view-toggle",
192
- disabled: !isVisualMode || isZoomedOutView,
193
- icon: listView,
194
- isPressed: isListViewOpen
195
- /* translators: button label text should, if possible, be under 16 characters. */,
196
- label: __('List View'),
197
- onClick: toggleListView,
198
- ref: setListViewToggleElement,
199
- shortcut: listViewShortcut,
200
- showTooltip: !showIconLabels,
201
- variant: showIconLabels ? 'tertiary' : undefined,
202
- "aria-expanded": isListViewOpen
203
- }), isZoomedOutViewExperimentEnabled && !isDistractionFree && !hasFixedToolbar && createElement(ToolbarItem, {
204
- as: Button,
205
- className: "edit-site-header-edit-mode__zoom-out-view-toggle",
206
- icon: chevronUpDown,
207
- isPressed: isZoomedOutView
208
- /* translators: button label text should, if possible, be under 16 characters. */,
209
- label: __('Zoom-out View'),
123
+ }, createElement(DocumentTools, {
124
+ blockEditorMode: blockEditorMode,
125
+ isDistractionFree: isDistractionFree,
126
+ showIconLabels: showIconLabels,
127
+ setListViewToggleElement: setListViewToggleElement
128
+ }), isTopToolbar && createElement(Fragment, null, createElement("div", {
129
+ className: classnames('selected-block-tools-wrapper', {
130
+ 'is-collapsed': isBlockToolsCollapsed
131
+ })
132
+ }, createElement(BlockContextualToolbar, {
133
+ isFixed: true
134
+ })), createElement(Popover.Slot, {
135
+ ref: blockToolbarRef,
136
+ name: "block-toolbar"
137
+ }), hasBlockSelected && createElement(Button, {
138
+ className: "edit-site-header-edit-mode__block-tools-toggle",
139
+ icon: isBlockToolsCollapsed ? next : previous,
210
140
  onClick: () => {
211
- setPreviewDeviceType('Desktop');
212
- __unstableSetEditorMode(isZoomedOutView ? 'edit' : 'zoom-out');
213
- }
214
- })))), !isDistractionFree && createElement("div", {
215
- className: "edit-site-header-edit-mode__center"
141
+ setIsBlockToolsCollapsed(collapsed => !collapsed);
142
+ },
143
+ label: isBlockToolsCollapsed ? __('Show block tools') : __('Hide block tools')
144
+ }))), !isDistractionFree && createElement("div", {
145
+ className: classnames('edit-site-header-edit-mode__center', {
146
+ 'is-collapsed': !isBlockToolsCollapsed && isLargeViewport
147
+ })
216
148
  }, !hasDefaultEditorCanvasView ? getEditorCanvasContainerTitle(editorCanvasView) : createElement(DocumentActions, null)), createElement("div", {
217
149
  className: "edit-site-header-edit-mode__end"
218
150
  }, createElement(motion.div, {
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","useCallback","useRef","useViewportMatch","useReducedMotion","store","coreStore","ToolSelector","__experimentalPreviewOptions","PreviewOptions","NavigableToolbar","blockEditorStore","privateApis","blockEditorPrivateApis","useSelect","useDispatch","PinnedItems","_x","__","listView","plus","external","chevronUpDown","__unstableMotion","motion","Button","ToolbarItem","MenuGroup","MenuItem","VisuallyHidden","keyboardShortcutsStore","preferencesStore","MoreMenu","SaveButton","UndoButton","RedoButton","DocumentActions","editSiteStore","getEditorCanvasContainerTitle","useHasEditorCanvasContainer","unlock","FOCUSABLE_ENTITIES","useShouldContextualToolbarShow","preventDefault","event","HeaderEditMode","setListViewToggleElement","inserterButton","deviceType","templateType","isInserterOpen","isListViewOpen","listViewShortcut","isVisualMode","isDistractionFree","blockEditorMode","homeUrl","showIconLabels","editorCanvasView","hasFixedToolbar","select","__experimentalGetPreviewDeviceType","getEditedPostType","isInserterOpened","isListViewOpened","getEditorMode","getShortcutRepresentation","__unstableGetEditorMode","postType","getUnstableBase","get","getPreference","home","name","getEditorCanvasContainerView","__experimentalSetPreviewDeviceType","setPreviewDeviceType","setIsInserterOpened","setIsListViewOpened","__unstableSetEditorMode","disableMotion","isLargeViewport","toggleInserter","current","focus","toggleListView","shouldShowContextualToolbar","canFocusHiddenToolbar","fixedToolbarCanBeFocused","blockToolbarCanBeFocused","hasDefaultEditorCanvasView","isFocusMode","includes","longLabel","shortLabel","isZoomedOutViewExperimentEnabled","window","__experimentalEnableZoomedOutView","isZoomedOutView","toolbarVariants","y","isDistractionFreeHovering","view","edit","toolbarTransition","type","duration","ease","createElement","className","as","div","shouldUseKeyboardFocusShortcut","variants","transition","ref","variant","isPressed","onMouseDown","onClick","disabled","icon","label","showTooltip","Fragment","undefined","shortcut","setDeviceType","isEnabled","onClose","href","target","Slot","scope"],"sources":["@wordpress/edit-site/src/components/header-edit-mode/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useRef } from '@wordpress/element';\nimport { useViewportMatch, useReducedMotion } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tToolSelector,\n\t__experimentalPreviewOptions as PreviewOptions,\n\tNavigableToolbar,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { PinnedItems } from '@wordpress/interface';\nimport { _x, __ } from '@wordpress/i18n';\nimport { listView, plus, external, chevronUpDown } from '@wordpress/icons';\nimport {\n\t__unstableMotion as motion,\n\tButton,\n\tToolbarItem,\n\tMenuGroup,\n\tMenuItem,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport MoreMenu from './more-menu';\nimport SaveButton from '../save-button';\nimport UndoButton from './undo-redo/undo';\nimport RedoButton from './undo-redo/redo';\nimport DocumentActions from './document-actions';\nimport { store as editSiteStore } from '../../store';\nimport {\n\tgetEditorCanvasContainerTitle,\n\tuseHasEditorCanvasContainer,\n} from '../editor-canvas-container';\nimport { unlock } from '../../lock-unlock';\nimport { FOCUSABLE_ENTITIES } from '../../utils/constants';\n\nconst { useShouldContextualToolbarShow } = unlock( blockEditorPrivateApis );\n\nconst preventDefault = ( event ) => {\n\tevent.preventDefault();\n};\n\nexport default function HeaderEditMode( { setListViewToggleElement } ) {\n\tconst inserterButton = useRef();\n\tconst {\n\t\tdeviceType,\n\t\ttemplateType,\n\t\tisInserterOpen,\n\t\tisListViewOpen,\n\t\tlistViewShortcut,\n\t\tisVisualMode,\n\t\tisDistractionFree,\n\t\tblockEditorMode,\n\t\thomeUrl,\n\t\tshowIconLabels,\n\t\teditorCanvasView,\n\t\thasFixedToolbar,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\t__experimentalGetPreviewDeviceType,\n\t\t\tgetEditedPostType,\n\t\t\tisInserterOpened,\n\t\t\tisListViewOpened,\n\t\t\tgetEditorMode,\n\t\t} = select( editSiteStore );\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\t\tconst { __unstableGetEditorMode } = select( blockEditorStore );\n\n\t\tconst postType = getEditedPostType();\n\n\t\tconst {\n\t\t\tgetUnstableBase, // Site index.\n\t\t} = select( coreStore );\n\n\t\tconst { get: getPreference } = select( preferencesStore );\n\n\t\treturn {\n\t\t\tdeviceType: __experimentalGetPreviewDeviceType(),\n\t\t\ttemplateType: postType,\n\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tlistViewShortcut: getShortcutRepresentation(\n\t\t\t\t'core/edit-site/toggle-list-view'\n\t\t\t),\n\t\t\tisVisualMode: getEditorMode() === 'visual',\n\t\t\tblockEditorMode: __unstableGetEditorMode(),\n\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t\tshowIconLabels: getPreference(\n\t\t\t\teditSiteStore.name,\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t\teditorCanvasView: unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t).getEditorCanvasContainerView(),\n\t\t\tisDistractionFree: getPreference(\n\t\t\t\teditSiteStore.name,\n\t\t\t\t'distractionFree'\n\t\t\t),\n\t\t\thasFixedToolbar: getPreference(\n\t\t\t\teditSiteStore.name,\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t};\n\t}, [] );\n\n\tconst {\n\t\t__experimentalSetPreviewDeviceType: setPreviewDeviceType,\n\t\tsetIsInserterOpened,\n\t\tsetIsListViewOpened,\n\t} = useDispatch( editSiteStore );\n\tconst { __unstableSetEditorMode } = useDispatch( blockEditorStore );\n\tconst disableMotion = useReducedMotion();\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\n\tconst toggleInserter = useCallback( () => {\n\t\tif ( isInserterOpen ) {\n\t\t\t// Focusing the inserter button should close the inserter popover.\n\t\t\t// However, there are some cases it won't close when the focus is lost.\n\t\t\t// See https://github.com/WordPress/gutenberg/issues/43090 for more details.\n\t\t\tinserterButton.current.focus();\n\t\t\tsetIsInserterOpened( false );\n\t\t} else {\n\t\t\tsetIsInserterOpened( true );\n\t\t}\n\t}, [ isInserterOpen, setIsInserterOpened ] );\n\n\tconst toggleListView = useCallback(\n\t\t() => setIsListViewOpened( ! isListViewOpen ),\n\t\t[ setIsListViewOpened, isListViewOpen ]\n\t);\n\n\tconst {\n\t\tshouldShowContextualToolbar,\n\t\tcanFocusHiddenToolbar,\n\t\tfixedToolbarCanBeFocused,\n\t} = useShouldContextualToolbarShow();\n\t// If there's a block toolbar to be focused, disable the focus shortcut for the document toolbar.\n\t// There's a fixed block toolbar when the fixed toolbar option is enabled or when the browser width is less than the large viewport.\n\tconst blockToolbarCanBeFocused =\n\t\tshouldShowContextualToolbar ||\n\t\tcanFocusHiddenToolbar ||\n\t\tfixedToolbarCanBeFocused;\n\n\tconst hasDefaultEditorCanvasView = ! useHasEditorCanvasContainer();\n\n\tconst isFocusMode = FOCUSABLE_ENTITIES.includes( templateType );\n\n\t/* translators: button label text should, if possible, be under 16 characters. */\n\tconst longLabel = _x(\n\t\t'Toggle block inserter',\n\t\t'Generic label for block inserter button'\n\t);\n\tconst shortLabel = ! isInserterOpen ? __( 'Add' ) : __( 'Close' );\n\n\tconst isZoomedOutViewExperimentEnabled =\n\t\twindow?.__experimentalEnableZoomedOutView && isVisualMode;\n\tconst isZoomedOutView = blockEditorMode === 'zoom-out';\n\n\tconst toolbarVariants = {\n\t\tisDistractionFree: { y: '-50px' },\n\t\tisDistractionFreeHovering: { y: 0 },\n\t\tview: { y: 0 },\n\t\tedit: { y: 0 },\n\t};\n\n\tconst toolbarTransition = {\n\t\ttype: 'tween',\n\t\tduration: disableMotion ? 0 : 0.2,\n\t\tease: 'easeOut',\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames( 'edit-site-header-edit-mode', {\n\t\t\t\t'show-icon-labels': showIconLabels,\n\t\t\t} ) }\n\t\t>\n\t\t\t{ hasDefaultEditorCanvasView && (\n\t\t\t\t<NavigableToolbar\n\t\t\t\t\tas={ motion.div }\n\t\t\t\t\tclassName=\"edit-site-header-edit-mode__start\"\n\t\t\t\t\taria-label={ __( 'Document tools' ) }\n\t\t\t\t\tshouldUseKeyboardFocusShortcut={\n\t\t\t\t\t\t! blockToolbarCanBeFocused\n\t\t\t\t\t}\n\t\t\t\t\tvariants={ toolbarVariants }\n\t\t\t\t\ttransition={ toolbarTransition }\n\t\t\t\t>\n\t\t\t\t\t<div className=\"edit-site-header-edit-mode__toolbar\">\n\t\t\t\t\t\t{ ! isDistractionFree && (\n\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\tref={ inserterButton }\n\t\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\t\tclassName=\"edit-site-header-edit-mode__inserter-toggle\"\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tisPressed={ isInserterOpen }\n\t\t\t\t\t\t\t\tonMouseDown={ preventDefault }\n\t\t\t\t\t\t\t\tonClick={ toggleInserter }\n\t\t\t\t\t\t\t\tdisabled={ ! isVisualMode }\n\t\t\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tshowIconLabels ? shortLabel : longLabel\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\taria-expanded={ isInserterOpen }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isLargeViewport && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ ! hasFixedToolbar && (\n\t\t\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\t\t\tas={ ToolSelector }\n\t\t\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\t\tshowIconLabels\n\t\t\t\t\t\t\t\t\t\t\t\t? 'tertiary'\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tdisabled={ ! isVisualMode }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\t\tas={ UndoButton }\n\t\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\t\tas={ RedoButton }\n\t\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ ! isDistractionFree && (\n\t\t\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-header-edit-mode__list-view-toggle\"\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\t! isVisualMode || isZoomedOutView\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ticon={ listView }\n\t\t\t\t\t\t\t\t\t\tisPressed={ isListViewOpen }\n\t\t\t\t\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'List View' ) }\n\t\t\t\t\t\t\t\t\t\tonClick={ toggleListView }\n\t\t\t\t\t\t\t\t\t\tref={ setListViewToggleElement }\n\t\t\t\t\t\t\t\t\t\tshortcut={ listViewShortcut }\n\t\t\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\t\tshowIconLabels\n\t\t\t\t\t\t\t\t\t\t\t\t? 'tertiary'\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\taria-expanded={ isListViewOpen }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ isZoomedOutViewExperimentEnabled &&\n\t\t\t\t\t\t\t\t\t! isDistractionFree &&\n\t\t\t\t\t\t\t\t\t! hasFixedToolbar && (\n\t\t\t\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-header-edit-mode__zoom-out-view-toggle\"\n\t\t\t\t\t\t\t\t\t\t\ticon={ chevronUpDown }\n\t\t\t\t\t\t\t\t\t\t\tisPressed={ isZoomedOutView }\n\t\t\t\t\t\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Zoom-out View' ) }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tsetPreviewDeviceType(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Desktop'\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t__unstableSetEditorMode(\n\t\t\t\t\t\t\t\t\t\t\t\t\tisZoomedOutView\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'edit'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'zoom-out'\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t</NavigableToolbar>\n\t\t\t) }\n\n\t\t\t{ ! isDistractionFree && (\n\t\t\t\t<div className=\"edit-site-header-edit-mode__center\">\n\t\t\t\t\t{ ! hasDefaultEditorCanvasView ? (\n\t\t\t\t\t\tgetEditorCanvasContainerTitle( editorCanvasView )\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<DocumentActions />\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t<div className=\"edit-site-header-edit-mode__end\">\n\t\t\t\t<motion.div\n\t\t\t\t\tclassName=\"edit-site-header-edit-mode__actions\"\n\t\t\t\t\tvariants={ toolbarVariants }\n\t\t\t\t\ttransition={ toolbarTransition }\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'edit-site-header-edit-mode__preview-options',\n\t\t\t\t\t\t\t{ 'is-zoomed-out': isZoomedOutView }\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<PreviewOptions\n\t\t\t\t\t\t\tdeviceType={ deviceType }\n\t\t\t\t\t\t\tsetDeviceType={ setPreviewDeviceType }\n\t\t\t\t\t\t\tlabel={ __( 'View' ) }\n\t\t\t\t\t\t\tisEnabled={\n\t\t\t\t\t\t\t\t! isFocusMode && hasDefaultEditorCanvasView\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\thref={ homeUrl }\n\t\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'View site' ) }\n\t\t\t\t\t\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: accessibility text */\n\t\t\t\t\t\t\t\t\t\t\t\t__( '(opens in a new tab)' )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</PreviewOptions>\n\t\t\t\t\t</div>\n\t\t\t\t\t<SaveButton />\n\t\t\t\t\t{ ! isDistractionFree && (\n\t\t\t\t\t\t<PinnedItems.Slot scope=\"core/edit-site\" />\n\t\t\t\t\t) }\n\t\t\t\t\t<MoreMenu showIconLabels={ showIconLabels } />\n\t\t\t\t</motion.div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","useViewportMatch","useReducedMotion","store","coreStore","__experimentalPreviewOptions","PreviewOptions","privateApis","blockEditorPrivateApis","blockEditorStore","useSelect","useDispatch","useEffect","useRef","useState","PinnedItems","__","external","next","previous","Button","__unstableMotion","motion","MenuGroup","MenuItem","Popover","VisuallyHidden","preferencesStore","MoreMenu","SaveButton","DocumentActions","DocumentTools","editSiteStore","getEditorCanvasContainerTitle","useHasEditorCanvasContainer","unlock","FOCUSABLE_ENTITIES","BlockContextualToolbar","HeaderEditMode","setListViewToggleElement","deviceType","templateType","isDistractionFree","blockEditorMode","blockSelectionStart","homeUrl","showIconLabels","editorCanvasView","hasFixedToolbar","isZoomOutMode","select","__experimentalGetPreviewDeviceType","getEditedPostType","getBlockSelectionStart","__unstableGetEditorMode","postType","getUnstableBase","get","getPreference","home","name","getEditorCanvasContainerView","isLargeViewport","isTopToolbar","blockToolbarRef","__experimentalSetPreviewDeviceType","setPreviewDeviceType","disableMotion","hasDefaultEditorCanvasView","isFocusMode","includes","isZoomedOutView","isBlockToolsCollapsed","setIsBlockToolsCollapsed","hasBlockSelected","toolbarVariants","y","isDistractionFreeHovering","view","edit","toolbarTransition","type","duration","ease","createElement","className","div","variants","transition","Fragment","isFixed","Slot","ref","icon","onClick","collapsed","label","setDeviceType","isEnabled","onClose","href","target","as","scope"],"sources":["@wordpress/edit-site/src/components/header-edit-mode/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useViewportMatch, useReducedMotion } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\t__experimentalPreviewOptions as PreviewOptions,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { PinnedItems } from '@wordpress/interface';\nimport { __ } from '@wordpress/i18n';\nimport { external, next, previous } from '@wordpress/icons';\nimport {\n\tButton,\n\t__unstableMotion as motion,\n\tMenuGroup,\n\tMenuItem,\n\tPopover,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport MoreMenu from './more-menu';\nimport SaveButton from '../save-button';\nimport DocumentActions from './document-actions';\nimport DocumentTools from './document-tools';\nimport { store as editSiteStore } from '../../store';\nimport {\n\tgetEditorCanvasContainerTitle,\n\tuseHasEditorCanvasContainer,\n} from '../editor-canvas-container';\nimport { unlock } from '../../lock-unlock';\nimport { FOCUSABLE_ENTITIES } from '../../utils/constants';\n\nconst { BlockContextualToolbar } = unlock( blockEditorPrivateApis );\n\nexport default function HeaderEditMode( { setListViewToggleElement } ) {\n\tconst {\n\t\tdeviceType,\n\t\ttemplateType,\n\t\tisDistractionFree,\n\t\tblockEditorMode,\n\t\tblockSelectionStart,\n\t\thomeUrl,\n\t\tshowIconLabels,\n\t\teditorCanvasView,\n\t\thasFixedToolbar,\n\t\tisZoomOutMode,\n\t} = useSelect( ( select ) => {\n\t\tconst { __experimentalGetPreviewDeviceType, getEditedPostType } =\n\t\t\tselect( editSiteStore );\n\t\tconst { getBlockSelectionStart, __unstableGetEditorMode } =\n\t\t\tselect( blockEditorStore );\n\n\t\tconst postType = getEditedPostType();\n\n\t\tconst {\n\t\t\tgetUnstableBase, // Site index.\n\t\t} = select( coreStore );\n\n\t\tconst { get: getPreference } = select( preferencesStore );\n\n\t\treturn {\n\t\t\tdeviceType: __experimentalGetPreviewDeviceType(),\n\t\t\ttemplateType: postType,\n\t\t\tblockEditorMode: __unstableGetEditorMode(),\n\t\t\tblockSelectionStart: getBlockSelectionStart(),\n\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t\tshowIconLabels: getPreference(\n\t\t\t\teditSiteStore.name,\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t\teditorCanvasView: unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t).getEditorCanvasContainerView(),\n\t\t\thasFixedToolbar: getPreference(\n\t\t\t\teditSiteStore.name,\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t\tisDistractionFree: getPreference(\n\t\t\t\teditSiteStore.name,\n\t\t\t\t'distractionFree'\n\t\t\t),\n\t\t\tisZoomOutMode: __unstableGetEditorMode() === 'zoom-out',\n\t\t};\n\t}, [] );\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isTopToolbar = ! isZoomOutMode && hasFixedToolbar && isLargeViewport;\n\tconst blockToolbarRef = useRef();\n\n\tconst { __experimentalSetPreviewDeviceType: setPreviewDeviceType } =\n\t\tuseDispatch( editSiteStore );\n\tconst disableMotion = useReducedMotion();\n\n\tconst hasDefaultEditorCanvasView = ! useHasEditorCanvasContainer();\n\n\tconst isFocusMode = FOCUSABLE_ENTITIES.includes( templateType );\n\n\tconst isZoomedOutView = blockEditorMode === 'zoom-out';\n\n\tconst [ isBlockToolsCollapsed, setIsBlockToolsCollapsed ] =\n\t\tuseState( true );\n\n\tconst hasBlockSelected = !! blockSelectionStart;\n\n\tuseEffect( () => {\n\t\t// If we have a new block selection, show the block tools\n\t\tif ( blockSelectionStart ) {\n\t\t\tsetIsBlockToolsCollapsed( false );\n\t\t}\n\t}, [ blockSelectionStart ] );\n\n\tconst toolbarVariants = {\n\t\tisDistractionFree: { y: '-50px' },\n\t\tisDistractionFreeHovering: { y: 0 },\n\t\tview: { y: 0 },\n\t\tedit: { y: 0 },\n\t};\n\n\tconst toolbarTransition = {\n\t\ttype: 'tween',\n\t\tduration: disableMotion ? 0 : 0.2,\n\t\tease: 'easeOut',\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames( 'edit-site-header-edit-mode', {\n\t\t\t\t'show-icon-labels': showIconLabels,\n\t\t\t} ) }\n\t\t>\n\t\t\t{ hasDefaultEditorCanvasView && (\n\t\t\t\t<motion.div\n\t\t\t\t\tclassName=\"edit-site-header-edit-mode__start\"\n\t\t\t\t\tvariants={ toolbarVariants }\n\t\t\t\t\ttransition={ toolbarTransition }\n\t\t\t\t>\n\t\t\t\t\t<DocumentTools\n\t\t\t\t\t\tblockEditorMode={ blockEditorMode }\n\t\t\t\t\t\tisDistractionFree={ isDistractionFree }\n\t\t\t\t\t\tshowIconLabels={ showIconLabels }\n\t\t\t\t\t\tsetListViewToggleElement={ setListViewToggleElement }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isTopToolbar && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t'selected-block-tools-wrapper',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t'is-collapsed': isBlockToolsCollapsed,\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<BlockContextualToolbar isFixed />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<Popover.Slot\n\t\t\t\t\t\t\t\tref={ blockToolbarRef }\n\t\t\t\t\t\t\t\tname=\"block-toolbar\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ hasBlockSelected && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-header-edit-mode__block-tools-toggle\"\n\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\tisBlockToolsCollapsed ? next : previous\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetIsBlockToolsCollapsed(\n\t\t\t\t\t\t\t\t\t\t\t( collapsed ) => ! collapsed\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\tisBlockToolsCollapsed\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Show block tools' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Hide block tools' )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</motion.div>\n\t\t\t) }\n\n\t\t\t{ ! isDistractionFree && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'edit-site-header-edit-mode__center',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'is-collapsed':\n\t\t\t\t\t\t\t\t! isBlockToolsCollapsed && isLargeViewport,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t{ ! hasDefaultEditorCanvasView ? (\n\t\t\t\t\t\tgetEditorCanvasContainerTitle( editorCanvasView )\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<DocumentActions />\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t<div className=\"edit-site-header-edit-mode__end\">\n\t\t\t\t<motion.div\n\t\t\t\t\tclassName=\"edit-site-header-edit-mode__actions\"\n\t\t\t\t\tvariants={ toolbarVariants }\n\t\t\t\t\ttransition={ toolbarTransition }\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'edit-site-header-edit-mode__preview-options',\n\t\t\t\t\t\t\t{ 'is-zoomed-out': isZoomedOutView }\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<PreviewOptions\n\t\t\t\t\t\t\tdeviceType={ deviceType }\n\t\t\t\t\t\t\tsetDeviceType={ setPreviewDeviceType }\n\t\t\t\t\t\t\tlabel={ __( 'View' ) }\n\t\t\t\t\t\t\tisEnabled={\n\t\t\t\t\t\t\t\t! isFocusMode && hasDefaultEditorCanvasView\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\thref={ homeUrl }\n\t\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'View site' ) }\n\t\t\t\t\t\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: accessibility text */\n\t\t\t\t\t\t\t\t\t\t\t\t__( '(opens in a new tab)' )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</PreviewOptions>\n\t\t\t\t\t</div>\n\t\t\t\t\t<SaveButton />\n\t\t\t\t\t{ ! isDistractionFree && (\n\t\t\t\t\t\t<PinnedItems.Slot scope=\"core/edit-site\" />\n\t\t\t\t\t) }\n\t\t\t\t\t<MoreMenu showIconLabels={ showIconLabels } />\n\t\t\t\t</motion.div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
@@ -1,9 +1,4 @@
1
1
  import { createElement } from "react";
2
- /**
3
- * External dependencies
4
- */
5
- import downloadjs from 'downloadjs';
6
-
7
2
  /**
8
3
  * WordPress dependencies
9
4
  */
@@ -12,6 +7,7 @@ import { MenuItem } from '@wordpress/components';
12
7
  import apiFetch from '@wordpress/api-fetch';
13
8
  import { download } from '@wordpress/icons';
14
9
  import { useDispatch } from '@wordpress/data';
10
+ import { downloadBlob } from '@wordpress/blob';
15
11
  import { store as noticesStore } from '@wordpress/notices';
16
12
  export default function SiteExport() {
17
13
  const {
@@ -30,7 +26,7 @@ export default function SiteExport() {
30
26
  const contentDisposition = response.headers.get('content-disposition');
31
27
  const contentDispositionMatches = contentDisposition.match(/=(.+)\.zip/);
32
28
  const fileName = contentDispositionMatches[1] ? contentDispositionMatches[1] : 'edit-site-export';
33
- downloadjs(blob, fileName + '.zip', 'application/zip');
29
+ downloadBlob(fileName + '.zip', blob, 'application/zip');
34
30
  } catch (errorResponse) {
35
31
  let error = {};
36
32
  try {
@@ -1 +1 @@
1
- {"version":3,"names":["downloadjs","__","_x","MenuItem","apiFetch","download","useDispatch","store","noticesStore","SiteExport","createErrorNotice","handleExport","response","path","parse","headers","Accept","blob","contentDisposition","get","contentDispositionMatches","match","fileName","errorResponse","error","json","e","errorMessage","message","code","type","createElement","role","icon","onClick","info"],"sources":["@wordpress/edit-site/src/components/header-edit-mode/more-menu/site-export.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport downloadjs from 'downloadjs';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { MenuItem } from '@wordpress/components';\nimport apiFetch from '@wordpress/api-fetch';\nimport { download } from '@wordpress/icons';\nimport { useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\n\nexport default function SiteExport() {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tasync function handleExport() {\n\t\ttry {\n\t\t\tconst response = await apiFetch( {\n\t\t\t\tpath: '/wp-block-editor/v1/export',\n\t\t\t\tparse: false,\n\t\t\t\theaders: {\n\t\t\t\t\tAccept: 'application/zip',\n\t\t\t\t},\n\t\t\t} );\n\t\t\tconst blob = await response.blob();\n\t\t\tconst contentDisposition = response.headers.get(\n\t\t\t\t'content-disposition'\n\t\t\t);\n\t\t\tconst contentDispositionMatches =\n\t\t\t\tcontentDisposition.match( /=(.+)\\.zip/ );\n\t\t\tconst fileName = contentDispositionMatches[ 1 ]\n\t\t\t\t? contentDispositionMatches[ 1 ]\n\t\t\t\t: 'edit-site-export';\n\n\t\t\tdownloadjs( blob, fileName + '.zip', 'application/zip' );\n\t\t} catch ( errorResponse ) {\n\t\t\tlet error = {};\n\t\t\ttry {\n\t\t\t\terror = await errorResponse.json();\n\t\t\t} catch ( e ) {}\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while creating the site export.' );\n\n\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t}\n\t}\n\n\treturn (\n\t\t<MenuItem\n\t\t\trole=\"menuitem\"\n\t\t\ticon={ download }\n\t\t\tonClick={ handleExport }\n\t\t\tinfo={ __(\n\t\t\t\t'Download your theme with updated templates and styles.'\n\t\t\t) }\n\t\t>\n\t\t\t{ _x( 'Export', 'site exporter menu item' ) }\n\t\t</MenuItem>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,EAAE,EAAEC,EAAE,QAAQ,iBAAiB;AACxC,SAASC,QAAQ,QAAQ,uBAAuB;AAChD,OAAOC,QAAQ,MAAM,sBAAsB;AAC3C,SAASC,QAAQ,QAAQ,kBAAkB;AAC3C,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,KAAK,IAAIC,YAAY,QAAQ,oBAAoB;AAE1D,eAAe,SAASC,UAAUA,CAAA,EAAG;EACpC,MAAM;IAAEC;EAAkB,CAAC,GAAGJ,WAAW,CAAEE,YAAa,CAAC;EAEzD,eAAeG,YAAYA,CAAA,EAAG;IAC7B,IAAI;MACH,MAAMC,QAAQ,GAAG,MAAMR,QAAQ,CAAE;QAChCS,IAAI,EAAE,4BAA4B;QAClCC,KAAK,EAAE,KAAK;QACZC,OAAO,EAAE;UACRC,MAAM,EAAE;QACT;MACD,CAAE,CAAC;MACH,MAAMC,IAAI,GAAG,MAAML,QAAQ,CAACK,IAAI,CAAC,CAAC;MAClC,MAAMC,kBAAkB,GAAGN,QAAQ,CAACG,OAAO,CAACI,GAAG,CAC9C,qBACD,CAAC;MACD,MAAMC,yBAAyB,GAC9BF,kBAAkB,CAACG,KAAK,CAAE,YAAa,CAAC;MACzC,MAAMC,QAAQ,GAAGF,yBAAyB,CAAE,CAAC,CAAE,GAC5CA,yBAAyB,CAAE,CAAC,CAAE,GAC9B,kBAAkB;MAErBpB,UAAU,CAAEiB,IAAI,EAAEK,QAAQ,GAAG,MAAM,EAAE,iBAAkB,CAAC;IACzD,CAAC,CAAC,OAAQC,aAAa,EAAG;MACzB,IAAIC,KAAK,GAAG,CAAC,CAAC;MACd,IAAI;QACHA,KAAK,GAAG,MAAMD,aAAa,CAACE,IAAI,CAAC,CAAC;MACnC,CAAC,CAAC,OAAQC,CAAC,EAAG,CAAC;MACf,MAAMC,YAAY,GACjBH,KAAK,CAACI,OAAO,IAAIJ,KAAK,CAACK,IAAI,KAAK,eAAe,GAC5CL,KAAK,CAACI,OAAO,GACb3B,EAAE,CAAE,mDAAoD,CAAC;MAE7DS,iBAAiB,CAAEiB,YAAY,EAAE;QAAEG,IAAI,EAAE;MAAW,CAAE,CAAC;IACxD;EACD;EAEA,OACCC,aAAA,CAAC5B,QAAQ;IACR6B,IAAI,EAAC,UAAU;IACfC,IAAI,EAAG5B,QAAU;IACjB6B,OAAO,EAAGvB,YAAc;IACxBwB,IAAI,EAAGlC,EAAE,CACR,wDACD;EAAG,GAEDC,EAAE,CAAE,QAAQ,EAAE,yBAA0B,CACjC,CAAC;AAEb"}
1
+ {"version":3,"names":["__","_x","MenuItem","apiFetch","download","useDispatch","downloadBlob","store","noticesStore","SiteExport","createErrorNotice","handleExport","response","path","parse","headers","Accept","blob","contentDisposition","get","contentDispositionMatches","match","fileName","errorResponse","error","json","e","errorMessage","message","code","type","createElement","role","icon","onClick","info"],"sources":["@wordpress/edit-site/src/components/header-edit-mode/more-menu/site-export.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { MenuItem } from '@wordpress/components';\nimport apiFetch from '@wordpress/api-fetch';\nimport { download } from '@wordpress/icons';\nimport { useDispatch } from '@wordpress/data';\nimport { downloadBlob } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\nexport default function SiteExport() {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tasync function handleExport() {\n\t\ttry {\n\t\t\tconst response = await apiFetch( {\n\t\t\t\tpath: '/wp-block-editor/v1/export',\n\t\t\t\tparse: false,\n\t\t\t\theaders: {\n\t\t\t\t\tAccept: 'application/zip',\n\t\t\t\t},\n\t\t\t} );\n\t\t\tconst blob = await response.blob();\n\t\t\tconst contentDisposition = response.headers.get(\n\t\t\t\t'content-disposition'\n\t\t\t);\n\t\t\tconst contentDispositionMatches =\n\t\t\t\tcontentDisposition.match( /=(.+)\\.zip/ );\n\t\t\tconst fileName = contentDispositionMatches[ 1 ]\n\t\t\t\t? contentDispositionMatches[ 1 ]\n\t\t\t\t: 'edit-site-export';\n\n\t\t\tdownloadBlob( fileName + '.zip', blob, 'application/zip' );\n\t\t} catch ( errorResponse ) {\n\t\t\tlet error = {};\n\t\t\ttry {\n\t\t\t\terror = await errorResponse.json();\n\t\t\t} catch ( e ) {}\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while creating the site export.' );\n\n\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t}\n\t}\n\n\treturn (\n\t\t<MenuItem\n\t\t\trole=\"menuitem\"\n\t\t\ticon={ download }\n\t\t\tonClick={ handleExport }\n\t\t\tinfo={ __(\n\t\t\t\t'Download your theme with updated templates and styles.'\n\t\t\t) }\n\t\t>\n\t\t\t{ _x( 'Export', 'site exporter menu item' ) }\n\t\t</MenuItem>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,EAAE,QAAQ,iBAAiB;AACxC,SAASC,QAAQ,QAAQ,uBAAuB;AAChD,OAAOC,QAAQ,MAAM,sBAAsB;AAC3C,SAASC,QAAQ,QAAQ,kBAAkB;AAC3C,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,KAAK,IAAIC,YAAY,QAAQ,oBAAoB;AAE1D,eAAe,SAASC,UAAUA,CAAA,EAAG;EACpC,MAAM;IAAEC;EAAkB,CAAC,GAAGL,WAAW,CAAEG,YAAa,CAAC;EAEzD,eAAeG,YAAYA,CAAA,EAAG;IAC7B,IAAI;MACH,MAAMC,QAAQ,GAAG,MAAMT,QAAQ,CAAE;QAChCU,IAAI,EAAE,4BAA4B;QAClCC,KAAK,EAAE,KAAK;QACZC,OAAO,EAAE;UACRC,MAAM,EAAE;QACT;MACD,CAAE,CAAC;MACH,MAAMC,IAAI,GAAG,MAAML,QAAQ,CAACK,IAAI,CAAC,CAAC;MAClC,MAAMC,kBAAkB,GAAGN,QAAQ,CAACG,OAAO,CAACI,GAAG,CAC9C,qBACD,CAAC;MACD,MAAMC,yBAAyB,GAC9BF,kBAAkB,CAACG,KAAK,CAAE,YAAa,CAAC;MACzC,MAAMC,QAAQ,GAAGF,yBAAyB,CAAE,CAAC,CAAE,GAC5CA,yBAAyB,CAAE,CAAC,CAAE,GAC9B,kBAAkB;MAErBd,YAAY,CAAEgB,QAAQ,GAAG,MAAM,EAAEL,IAAI,EAAE,iBAAkB,CAAC;IAC3D,CAAC,CAAC,OAAQM,aAAa,EAAG;MACzB,IAAIC,KAAK,GAAG,CAAC,CAAC;MACd,IAAI;QACHA,KAAK,GAAG,MAAMD,aAAa,CAACE,IAAI,CAAC,CAAC;MACnC,CAAC,CAAC,OAAQC,CAAC,EAAG,CAAC;MACf,MAAMC,YAAY,GACjBH,KAAK,CAACI,OAAO,IAAIJ,KAAK,CAACK,IAAI,KAAK,eAAe,GAC5CL,KAAK,CAACI,OAAO,GACb5B,EAAE,CAAE,mDAAoD,CAAC;MAE7DU,iBAAiB,CAAEiB,YAAY,EAAE;QAAEG,IAAI,EAAE;MAAW,CAAE,CAAC;IACxD;EACD;EAEA,OACCC,aAAA,CAAC7B,QAAQ;IACR8B,IAAI,EAAC,UAAU;IACfC,IAAI,EAAG7B,QAAU;IACjB8B,OAAO,EAAGvB,YAAc;IACxBwB,IAAI,EAAGnC,EAAE,CACR,wDACD;EAAG,GAEDC,EAAE,CAAE,QAAQ,EAAE,yBAA0B,CACjC,CAAC;AAEb"}
@@ -11,7 +11,7 @@ import { useSelect } from '@wordpress/data';
11
11
  import { __unstableMotion as motion, __unstableAnimatePresence as AnimatePresence, __unstableUseNavigateRegions as useNavigateRegions } from '@wordpress/components';
12
12
  import { useReducedMotion, useViewportMatch, useResizeObserver } from '@wordpress/compose';
13
13
  import { __ } from '@wordpress/i18n';
14
- import { useState, useRef } from '@wordpress/element';
14
+ import { useState } from '@wordpress/element';
15
15
  import { NavigableRegion } from '@wordpress/interface';
16
16
  import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';
17
17
  import { CommandMenu, privateApis as commandsPrivateApis } from '@wordpress/commands';
@@ -62,7 +62,6 @@ export default function Layout() {
62
62
  useEditModeCommands();
63
63
  useCommonCommands();
64
64
  useBlockCommands();
65
- const hubRef = useRef();
66
65
  const {
67
66
  params
68
67
  } = useLocation();
@@ -98,7 +97,7 @@ export default function Layout() {
98
97
  next: nextShortcut
99
98
  });
100
99
  const disableMotion = useReducedMotion();
101
- const showSidebar = isMobileViewport && !isListPage || !isMobileViewport && (canvasMode === 'view' || !isEditorPage);
100
+ const showSidebar = isMobileViewport && canvasMode === 'view' && !isListPage || !isMobileViewport && (canvasMode === 'view' || !isEditorPage);
102
101
  const showCanvas = isMobileViewport && isEditorPage && isEditing || !isMobileViewport || !isEditorPage;
103
102
  const isFullCanvas = isMobileViewport && isListPage || isEditorPage && isEditing;
104
103
  const [canvasResizer, canvasSize] = useResizeObserver();
@@ -153,7 +152,8 @@ export default function Layout() {
153
152
  'is-distraction-free': isDistractionFree && isEditing,
154
153
  'is-full-canvas': isFullCanvas,
155
154
  'is-edit-mode': isEditing,
156
- 'has-fixed-toolbar': hasFixedToolbar
155
+ 'has-fixed-toolbar': hasFixedToolbar,
156
+ 'is-block-toolbar-visible': hasBlockSelected
157
157
  })
158
158
  }, createElement(motion.div, {
159
159
  className: "edit-site-layout__header-container",
@@ -186,21 +186,6 @@ export default function Layout() {
186
186
  whileHover: isDistractionFree ? 'isDistractionFreeHovering' : undefined,
187
187
  animate: headerAnimationState
188
188
  }, createElement(SiteHub, {
189
- variants: {
190
- isDistractionFree: {
191
- x: '-100%'
192
- },
193
- isDistractionFreeHovering: {
194
- x: 0
195
- },
196
- view: {
197
- x: 0
198
- },
199
- edit: {
200
- x: 0
201
- }
202
- },
203
- ref: hubRef,
204
189
  isTransparent: isResizableFrameOversized,
205
190
  className: "edit-site-layout__hub"
206
191
  }), createElement(AnimatePresence, {
@@ -252,7 +237,7 @@ export default function Layout() {
252
237
  // (https://github.com/WordPress/gutenberg/pull/51558/files#r1231763003),
253
238
  // so we can't remove the element entirely. Using `inert` will make
254
239
  // it inaccessible to screen readers and keyboard navigation.
255
- inert: showSidebar ? undefined : 'inert',
240
+ inert: showSidebar ? undefined : 'true',
256
241
  animate: {
257
242
  opacity: showSidebar ? 1 : 0
258
243
  },