@wordpress/edit-site 5.21.1-next.f8d8eceb.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 (375) hide show
  1. package/CHANGELOG.md +4 -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/rename-category-menu-item.js +27 -9
  67. package/build/components/page-patterns/rename-category-menu-item.js.map +1 -1
  68. package/build/components/page-patterns/use-patterns.js +1 -1
  69. package/build/components/page-patterns/use-patterns.js.map +1 -1
  70. package/build/components/page-templates/dataviews-templates.js +201 -0
  71. package/build/components/page-templates/dataviews-templates.js.map +1 -0
  72. package/build/components/page-templates/template-actions.js +168 -0
  73. package/build/components/page-templates/template-actions.js.map +1 -0
  74. package/build/components/save-button/index.js +4 -2
  75. package/build/components/save-button/index.js.map +1 -1
  76. package/build/components/sidebar/index.js +1 -2
  77. package/build/components/sidebar/index.js.map +1 -1
  78. package/build/components/sidebar-dataviews/add-new-view.js +124 -0
  79. package/build/components/sidebar-dataviews/add-new-view.js.map +1 -0
  80. package/build/components/sidebar-dataviews/custom-dataviews-list.js +189 -0
  81. package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -0
  82. package/build/components/sidebar-dataviews/dataview-item.js +71 -0
  83. package/build/components/sidebar-dataviews/dataview-item.js.map +1 -0
  84. package/build/components/sidebar-dataviews/default-views.js +60 -0
  85. package/build/components/sidebar-dataviews/default-views.js.map +1 -0
  86. package/build/components/sidebar-dataviews/index.js +22 -37
  87. package/build/components/sidebar-dataviews/index.js.map +1 -1
  88. package/build/components/sidebar-edit-mode/default-sidebar.js +2 -6
  89. package/build/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
  90. package/build/components/sidebar-edit-mode/page-panels/edit-template.js +11 -11
  91. package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  92. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +2 -1
  93. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  94. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +4 -12
  95. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
  96. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js +4 -12
  97. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -1
  98. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js +2 -6
  99. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  100. package/build/components/sidebar-edit-mode/template-panel/hooks.js +3 -3
  101. package/build/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
  102. package/build/components/sidebar-navigation-screen-global-styles/index.js +1 -1
  103. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  104. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
  105. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +1 -1
  106. package/build/components/sidebar-navigation-screen-page/page-details.js +4 -12
  107. package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  108. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -1
  109. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  110. package/build/components/site-hub/index.js +18 -6
  111. package/build/components/site-hub/index.js.map +1 -1
  112. package/build/components/start-template-options/index.js +12 -16
  113. package/build/components/start-template-options/index.js.map +1 -1
  114. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +112 -49
  115. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  116. package/build/components/template-part-converter/convert-to-regular.js +1 -1
  117. package/build/components/template-part-converter/convert-to-regular.js.map +1 -1
  118. package/build/hooks/push-changes-to-global-styles/index.js +3 -1
  119. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  120. package/build/hooks/template-part-edit.js +6 -2
  121. package/build/hooks/template-part-edit.js.map +1 -1
  122. package/build/index.js +0 -3
  123. package/build/index.js.map +1 -1
  124. package/build/store/actions.js +35 -82
  125. package/build/store/actions.js.map +1 -1
  126. package/build/store/selectors.js +25 -63
  127. package/build/store/selectors.js.map +1 -1
  128. package/build/utils/constants.js +3 -3
  129. package/build/utils/constants.js.map +1 -1
  130. package/build/utils/use-activate-theme.js +8 -0
  131. package/build/utils/use-activate-theme.js.map +1 -1
  132. package/build-module/components/actions/index.js +85 -5
  133. package/build-module/components/actions/index.js.map +1 -1
  134. package/build-module/components/add-new-template/new-template.js +0 -7
  135. package/build-module/components/add-new-template/new-template.js.map +1 -1
  136. package/build-module/components/block-editor/use-site-editor-settings.js +54 -62
  137. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  138. package/build-module/components/dataviews/add-filter.js +83 -0
  139. package/build-module/components/dataviews/add-filter.js.map +1 -0
  140. package/build-module/components/dataviews/dataviews.js +22 -4
  141. package/build-module/components/dataviews/dataviews.js.map +1 -1
  142. package/build-module/components/dataviews/filters.js +34 -32
  143. package/build-module/components/dataviews/filters.js.map +1 -1
  144. package/build-module/components/dataviews/in-filter.js +20 -19
  145. package/build-module/components/dataviews/in-filter.js.map +1 -1
  146. package/build-module/components/dataviews/index.js +1 -1
  147. package/build-module/components/dataviews/index.js.map +1 -1
  148. package/build-module/components/dataviews/item-actions.js +84 -16
  149. package/build-module/components/dataviews/item-actions.js.map +1 -1
  150. package/build-module/components/dataviews/pagination.js +3 -2
  151. package/build-module/components/dataviews/pagination.js.map +1 -1
  152. package/build-module/components/dataviews/reset-filters.js +26 -0
  153. package/build-module/components/dataviews/reset-filters.js.map +1 -0
  154. package/build-module/components/dataviews/search.js +1 -0
  155. package/build-module/components/dataviews/search.js.map +1 -1
  156. package/build-module/components/dataviews/view-actions.js +28 -11
  157. package/build-module/components/dataviews/view-actions.js.map +1 -1
  158. package/build-module/components/dataviews/view-list.js +128 -7
  159. package/build-module/components/dataviews/view-list.js.map +1 -1
  160. package/build-module/components/dataviews/view-side-by-side.js +12 -0
  161. package/build-module/components/dataviews/view-side-by-side.js.map +1 -0
  162. package/build-module/components/editor/index.js +57 -57
  163. package/build-module/components/editor/index.js.map +1 -1
  164. package/build-module/components/global-styles/screen-revisions/index.js +42 -21
  165. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  166. package/build-module/components/global-styles/screen-root.js +3 -3
  167. package/build-module/components/global-styles/screen-root.js.map +1 -1
  168. package/build-module/components/global-styles/ui.js +3 -3
  169. package/build-module/components/global-styles/ui.js.map +1 -1
  170. package/build-module/components/global-styles-renderer/index.js +1 -1
  171. package/build-module/components/global-styles-renderer/index.js.map +1 -1
  172. package/build-module/components/header-edit-mode/document-tools/index.js +152 -0
  173. package/build-module/components/header-edit-mode/document-tools/index.js.map +1 -0
  174. package/build-module/components/header-edit-mode/index.js +52 -120
  175. package/build-module/components/header-edit-mode/index.js.map +1 -1
  176. package/build-module/components/header-edit-mode/more-menu/site-export.js +2 -6
  177. package/build-module/components/header-edit-mode/more-menu/site-export.js.map +1 -1
  178. package/build-module/components/layout/index.js +5 -20
  179. package/build-module/components/layout/index.js.map +1 -1
  180. package/build-module/components/list/added-by.js +1 -1
  181. package/build-module/components/list/added-by.js.map +1 -1
  182. package/build-module/components/page-content-focus-manager/back-to-page-notification.js +5 -10
  183. package/build-module/components/page-content-focus-manager/back-to-page-notification.js.map +1 -1
  184. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +36 -23
  185. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  186. package/build-module/components/page-main/index.js +2 -1
  187. package/build-module/components/page-main/index.js.map +1 -1
  188. package/build-module/components/page-pages/index.js +137 -80
  189. package/build-module/components/page-pages/index.js.map +1 -1
  190. package/build-module/components/page-pages/side-editor.js +17 -0
  191. package/build-module/components/page-pages/side-editor.js.map +1 -0
  192. package/build-module/components/page-patterns/grid-item.js +2 -2
  193. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  194. package/build-module/components/page-patterns/patterns-list.js +4 -4
  195. package/build-module/components/page-patterns/patterns-list.js.map +1 -1
  196. package/build-module/components/page-patterns/rename-category-menu-item.js +25 -9
  197. package/build-module/components/page-patterns/rename-category-menu-item.js.map +1 -1
  198. package/build-module/components/page-patterns/use-patterns.js +2 -2
  199. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  200. package/build-module/components/page-templates/dataviews-templates.js +193 -0
  201. package/build-module/components/page-templates/dataviews-templates.js.map +1 -0
  202. package/build-module/components/page-templates/template-actions.js +157 -0
  203. package/build-module/components/page-templates/template-actions.js.map +1 -0
  204. package/build-module/components/save-button/index.js +4 -2
  205. package/build-module/components/save-button/index.js.map +1 -1
  206. package/build-module/components/sidebar/index.js +1 -2
  207. package/build-module/components/sidebar/index.js.map +1 -1
  208. package/build-module/components/sidebar-dataviews/add-new-view.js +116 -0
  209. package/build-module/components/sidebar-dataviews/add-new-view.js.map +1 -0
  210. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +180 -0
  211. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -0
  212. package/build-module/components/sidebar-dataviews/dataview-item.js +63 -0
  213. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -0
  214. package/build-module/components/sidebar-dataviews/default-views.js +52 -0
  215. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -0
  216. package/build-module/components/sidebar-dataviews/index.js +23 -38
  217. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  218. package/build-module/components/sidebar-edit-mode/default-sidebar.js +2 -6
  219. package/build-module/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
  220. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +12 -12
  221. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  222. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +3 -1
  223. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  224. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +5 -13
  225. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
  226. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js +5 -13
  227. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -1
  228. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js +2 -6
  229. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  230. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js +4 -4
  231. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
  232. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +1 -1
  233. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  234. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
  235. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +1 -1
  236. package/build-module/components/sidebar-navigation-screen-page/page-details.js +4 -12
  237. package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  238. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -2
  239. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  240. package/build-module/components/site-hub/index.js +19 -7
  241. package/build-module/components/site-hub/index.js.map +1 -1
  242. package/build-module/components/start-template-options/index.js +13 -16
  243. package/build-module/components/start-template-options/index.js.map +1 -1
  244. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +112 -50
  245. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  246. package/build-module/components/template-part-converter/convert-to-regular.js +1 -1
  247. package/build-module/components/template-part-converter/convert-to-regular.js.map +1 -1
  248. package/build-module/hooks/push-changes-to-global-styles/index.js +4 -2
  249. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  250. package/build-module/hooks/template-part-edit.js +6 -2
  251. package/build-module/hooks/template-part-edit.js.map +1 -1
  252. package/build-module/index.js +0 -3
  253. package/build-module/index.js.map +1 -1
  254. package/build-module/store/actions.js +33 -79
  255. package/build-module/store/actions.js.map +1 -1
  256. package/build-module/store/selectors.js +19 -58
  257. package/build-module/store/selectors.js.map +1 -1
  258. package/build-module/utils/constants.js +1 -1
  259. package/build-module/utils/constants.js.map +1 -1
  260. package/build-module/utils/use-activate-theme.js +8 -0
  261. package/build-module/utils/use-activate-theme.js.map +1 -1
  262. package/build-style/style-rtl.css +69 -119
  263. package/build-style/style.css +69 -119
  264. package/package.json +41 -41
  265. package/src/components/actions/index.js +113 -5
  266. package/src/components/add-new-template/new-template.js +0 -5
  267. package/src/components/block-editor/style.scss +0 -87
  268. package/src/components/block-editor/use-site-editor-settings.js +68 -89
  269. package/src/components/dataviews/README.md +77 -83
  270. package/src/components/dataviews/add-filter.js +111 -0
  271. package/src/components/dataviews/dataviews.js +20 -2
  272. package/src/components/dataviews/filters.js +56 -49
  273. package/src/components/dataviews/in-filter.js +35 -17
  274. package/src/components/dataviews/index.js +1 -1
  275. package/src/components/dataviews/item-actions.js +95 -20
  276. package/src/components/dataviews/pagination.js +5 -4
  277. package/src/components/dataviews/reset-filters.js +26 -0
  278. package/src/components/dataviews/search.js +1 -0
  279. package/src/components/dataviews/style.scss +5 -1
  280. package/src/components/dataviews/view-actions.js +39 -9
  281. package/src/components/dataviews/view-list.js +174 -3
  282. package/src/components/dataviews/view-side-by-side.js +9 -0
  283. package/src/components/editor/index.js +149 -121
  284. package/src/components/global-styles/screen-revisions/index.js +52 -25
  285. package/src/components/global-styles/screen-root.js +2 -1
  286. package/src/components/global-styles/ui.js +1 -1
  287. package/src/components/global-styles-renderer/index.js +1 -1
  288. package/src/components/header-edit-mode/document-tools/index.js +201 -0
  289. package/src/components/header-edit-mode/index.js +86 -184
  290. package/src/components/header-edit-mode/more-menu/site-export.js +2 -6
  291. package/src/components/header-edit-mode/style.scss +35 -2
  292. package/src/components/layout/index.js +4 -11
  293. package/src/components/layout/style.scss +6 -18
  294. package/src/components/list/added-by.js +1 -1
  295. package/src/components/page-content-focus-manager/back-to-page-notification.js +4 -15
  296. package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +38 -33
  297. package/src/components/page-main/index.js +6 -1
  298. package/src/components/page-pages/index.js +162 -81
  299. package/src/components/page-pages/side-editor.js +14 -0
  300. package/src/components/page-patterns/grid-item.js +3 -3
  301. package/src/components/page-patterns/patterns-list.js +10 -4
  302. package/src/components/page-patterns/rename-category-menu-item.js +29 -12
  303. package/src/components/page-patterns/use-patterns.js +3 -2
  304. package/src/components/page-templates/dataviews-templates.js +224 -0
  305. package/src/components/page-templates/template-actions.js +209 -0
  306. package/src/components/save-button/index.js +10 -5
  307. package/src/components/sidebar/index.js +1 -2
  308. package/src/components/sidebar-dataviews/add-new-view.js +141 -0
  309. package/src/components/sidebar-dataviews/custom-dataviews-list.js +227 -0
  310. package/src/components/sidebar-dataviews/dataview-item.js +67 -0
  311. package/src/components/sidebar-dataviews/default-views.js +54 -0
  312. package/src/components/sidebar-dataviews/index.js +36 -44
  313. package/src/components/sidebar-dataviews/style.scss +22 -0
  314. package/src/components/sidebar-edit-mode/default-sidebar.js +6 -6
  315. package/src/components/sidebar-edit-mode/page-panels/edit-template.js +14 -21
  316. package/src/components/sidebar-edit-mode/page-panels/page-summary.js +3 -0
  317. package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +10 -9
  318. package/src/components/sidebar-edit-mode/page-panels/style.scss +5 -0
  319. package/src/components/sidebar-edit-mode/page-panels/swap-template-button.js +10 -9
  320. package/src/components/sidebar-edit-mode/plugin-sidebar/index.js +6 -6
  321. package/src/components/sidebar-edit-mode/template-panel/hooks.js +11 -7
  322. package/src/components/sidebar-navigation-screen-global-styles/index.js +1 -1
  323. package/src/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
  324. package/src/components/sidebar-navigation-screen-page/page-details.js +7 -18
  325. package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -2
  326. package/src/components/site-hub/index.js +9 -8
  327. package/src/components/start-template-options/index.js +14 -12
  328. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +117 -50
  329. package/src/components/template-part-converter/convert-to-regular.js +1 -1
  330. package/src/hooks/push-changes-to-global-styles/index.js +13 -6
  331. package/src/hooks/template-part-edit.js +4 -2
  332. package/src/index.js +0 -8
  333. package/src/store/actions.js +37 -95
  334. package/src/store/selectors.js +31 -91
  335. package/src/store/test/actions.js +11 -137
  336. package/src/store/test/selectors.js +0 -82
  337. package/src/style.scss +1 -0
  338. package/src/utils/constants.js +1 -1
  339. package/src/utils/use-activate-theme.js +5 -0
  340. package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js +0 -77
  341. package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +0 -1
  342. package/build/components/block-editor/block-editor-provider/index.js +0 -31
  343. package/build/components/block-editor/block-editor-provider/index.js.map +0 -1
  344. package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -110
  345. package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +0 -1
  346. package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -84
  347. package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +0 -1
  348. package/build/components/block-editor/index.js +0 -30
  349. package/build/components/block-editor/index.js.map +0 -1
  350. package/build/components/dataviews/context.js +0 -15
  351. package/build/components/dataviews/context.js.map +0 -1
  352. package/build/components/page-pages/default-views.js +0 -60
  353. package/build/components/page-pages/default-views.js.map +0 -1
  354. package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js +0 -69
  355. package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +0 -1
  356. package/build-module/components/block-editor/block-editor-provider/index.js +0 -23
  357. package/build-module/components/block-editor/block-editor-provider/index.js.map +0 -1
  358. package/build-module/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -102
  359. package/build-module/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +0 -1
  360. package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -78
  361. package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +0 -1
  362. package/build-module/components/block-editor/index.js +0 -22
  363. package/build-module/components/block-editor/index.js.map +0 -1
  364. package/build-module/components/dataviews/context.js +0 -7
  365. package/build-module/components/dataviews/context.js.map +0 -1
  366. package/build-module/components/page-pages/default-views.js +0 -53
  367. package/build-module/components/page-pages/default-views.js.map +0 -1
  368. package/src/components/block-editor/block-editor-provider/default-block-editor-provider.js +0 -75
  369. package/src/components/block-editor/block-editor-provider/index.js +0 -29
  370. package/src/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -114
  371. package/src/components/block-editor/block-editor-provider/test/use-page-content-blocks.js +0 -116
  372. package/src/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -90
  373. package/src/components/block-editor/index.js +0 -28
  374. package/src/components/dataviews/context.js +0 -7
  375. package/src/components/page-pages/default-views.js +0 -58
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","__experimentalNavigatorProvider","NavigatorProvider","__experimentalNavigatorScreen","NavigatorScreen","__experimentalUseNavigator","useNavigator","createSlotFill","Button","DropdownMenu","MenuGroup","MenuItem","getBlockTypes","store","blocksStore","useSelect","useDispatch","privateApis","blockEditorPrivateApis","blockEditorStore","__","preferencesStore","backup","moreVertical","coreStore","useEffect","ScreenRoot","useBlockHasGlobalStyles","default","ScreenBlockList","ScreenBlock","ScreenTypography","ScreenTypographyElement","ScreenColors","ScreenColorPalette","ScreenLayout","ScreenStyleVariations","StyleBook","ScreenCSS","ScreenRevisions","unlock","editSiteStore","SLOT_FILL_NAME","Slot","GlobalStylesMenuSlot","Fill","GlobalStylesMenuFill","GlobalStylesActionMenu","toggle","canEditCSS","select","getEntityRecord","__experimentalGetCurrentGlobalStylesId","globalStylesId","globalStyles","undefined","_links","goTo","loadCustomCSS","createElement","icon","label","onClose","onClick","RevisionsCountBadge","className","children","GlobalStylesRevisionsMenu","setIsListViewOpened","revisionsCount","_globalStyles$_links$","count","useGlobalStylesReset","canReset","onReset","setEditorCanvasContainerView","loadRevisions","hasRevisions","disabled","__experimentalIsFocusable","GlobalStylesNavigationScreen","props","filter","Boolean","join","BlockStylesNavigationScreens","parentMenu","blockStyles","blockName","map","style","index","key","path","name","variation","ContextScreens","blockStyleVariations","getBlockStyles","Fragment","length","GlobalStylesStyleBook","navigator","location","isSelected","encodeURIComponent","startsWith","onSelect","GlobalStylesBlockLink","selectedBlockName","selectedBlockClientId","getSelectedBlockClientId","getBlockName","clientId","blockHasGlobalStyles","currentPath","newPath","skipFocus","GlobalStylesEditorCanvasContainerLink","editorCanvasContainerView","getEditorCanvasContainerView","GlobalStylesUI","blocks","initialPath","element","block"],"sources":["@wordpress/edit-site/src/components/global-styles/ui.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalNavigatorProvider as NavigatorProvider,\n\t__experimentalNavigatorScreen as NavigatorScreen,\n\t__experimentalUseNavigator as useNavigator,\n\tcreateSlotFill,\n\tButton,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n} from '@wordpress/components';\nimport { getBlockTypes, store as blocksStore } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { backup, moreVertical } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport ScreenRoot from './screen-root';\nimport {\n\tuseBlockHasGlobalStyles,\n\tdefault as ScreenBlockList,\n} from './screen-block-list';\nimport ScreenBlock from './screen-block';\nimport ScreenTypography from './screen-typography';\nimport ScreenTypographyElement from './screen-typography-element';\nimport ScreenColors from './screen-colors';\nimport ScreenColorPalette from './screen-color-palette';\nimport ScreenLayout from './screen-layout';\nimport ScreenStyleVariations from './screen-style-variations';\nimport StyleBook from '../style-book';\nimport ScreenCSS from './screen-css';\nimport ScreenRevisions from './screen-revisions';\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\n\nconst SLOT_FILL_NAME = 'GlobalStylesMenu';\nconst { Slot: GlobalStylesMenuSlot, Fill: GlobalStylesMenuFill } =\n\tcreateSlotFill( SLOT_FILL_NAME );\n\nfunction GlobalStylesActionMenu() {\n\tconst { toggle } = useDispatch( preferencesStore );\n\tconst { canEditCSS } = useSelect( ( select ) => {\n\t\tconst { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =\n\t\t\tselect( coreStore );\n\n\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\tconst globalStyles = globalStylesId\n\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\tcanEditCSS: !! globalStyles?._links?.[ 'wp:action-edit-css' ],\n\t\t};\n\t}, [] );\n\tconst { goTo } = useNavigator();\n\tconst loadCustomCSS = () => goTo( '/css' );\n\n\treturn (\n\t\t<GlobalStylesMenuFill>\n\t\t\t<DropdownMenu icon={ moreVertical } label={ __( 'More' ) }>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t{ canEditCSS && (\n\t\t\t\t\t\t\t<MenuItem onClick={ loadCustomCSS }>\n\t\t\t\t\t\t\t\t{ __( 'Additional CSS' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\ttoggle(\n\t\t\t\t\t\t\t\t\t'core/edit-site',\n\t\t\t\t\t\t\t\t\t'welcomeGuideStyles'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Welcome Guide' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t) }\n\t\t\t</DropdownMenu>\n\t\t</GlobalStylesMenuFill>\n\t);\n}\n\nfunction RevisionsCountBadge( { className, children } ) {\n\treturn (\n\t\t<span\n\t\t\tclassName={ classnames(\n\t\t\t\tclassName,\n\t\t\t\t'edit-site-global-styles-sidebar__revisions-count-badge'\n\t\t\t) }\n\t\t>\n\t\t\t{ children }\n\t\t</span>\n\t);\n}\nfunction GlobalStylesRevisionsMenu() {\n\tconst { setIsListViewOpened } = useDispatch( editSiteStore );\n\tconst { revisionsCount } = useSelect( ( select ) => {\n\t\tconst { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =\n\t\t\tselect( coreStore );\n\n\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\tconst globalStyles = globalStylesId\n\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\trevisionsCount:\n\t\t\t\tglobalStyles?._links?.[ 'version-history' ]?.[ 0 ]?.count ?? 0,\n\t\t};\n\t}, [] );\n\tconst { useGlobalStylesReset } = unlock( blockEditorPrivateApis );\n\tconst [ canReset, onReset ] = useGlobalStylesReset();\n\tconst { goTo } = useNavigator();\n\tconst { setEditorCanvasContainerView } = unlock(\n\t\tuseDispatch( editSiteStore )\n\t);\n\tconst loadRevisions = () => {\n\t\tsetIsListViewOpened( false );\n\t\tgoTo( '/revisions' );\n\t\tsetEditorCanvasContainerView( 'global-styles-revisions' );\n\t};\n\tconst hasRevisions = revisionsCount > 0;\n\n\treturn (\n\t\t<GlobalStylesMenuFill>\n\t\t\t{ canReset || hasRevisions ? (\n\t\t\t\t<DropdownMenu icon={ backup } label={ __( 'Revisions' ) }>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t{ hasRevisions && (\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ loadRevisions }\n\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t<RevisionsCountBadge>\n\t\t\t\t\t\t\t\t\t\t\t{ revisionsCount }\n\t\t\t\t\t\t\t\t\t\t</RevisionsCountBadge>\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\t{ __( 'Revision history' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonReset();\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdisabled={ ! canReset }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Reset to defaults' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</DropdownMenu>\n\t\t\t) : (\n\t\t\t\t<Button\n\t\t\t\t\tlabel={ __( 'Revisions' ) }\n\t\t\t\t\ticon={ backup }\n\t\t\t\t\tdisabled\n\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t/>\n\t\t\t) }\n\t\t</GlobalStylesMenuFill>\n\t);\n}\n\nfunction GlobalStylesNavigationScreen( { className, ...props } ) {\n\treturn (\n\t\t<NavigatorScreen\n\t\t\tclassName={ [\n\t\t\t\t'edit-site-global-styles-sidebar__navigator-screen',\n\t\t\t\tclassName,\n\t\t\t]\n\t\t\t\t.filter( Boolean )\n\t\t\t\t.join( ' ' ) }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nfunction BlockStylesNavigationScreens( {\n\tparentMenu,\n\tblockStyles,\n\tblockName,\n} ) {\n\treturn blockStyles.map( ( style, index ) => (\n\t\t<GlobalStylesNavigationScreen\n\t\t\tkey={ index }\n\t\t\tpath={ parentMenu + '/variations/' + style.name }\n\t\t>\n\t\t\t<ScreenBlock name={ blockName } variation={ style.name } />\n\t\t</GlobalStylesNavigationScreen>\n\t) );\n}\n\nfunction ContextScreens( { name, parentMenu = '' } ) {\n\tconst blockStyleVariations = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockStyles } = select( blocksStore );\n\t\t\treturn getBlockStyles( name );\n\t\t},\n\t\t[ name ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<GlobalStylesNavigationScreen\n\t\t\t\tpath={ parentMenu + '/colors/palette' }\n\t\t\t>\n\t\t\t\t<ScreenColorPalette name={ name } />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t{ !! blockStyleVariations?.length && (\n\t\t\t\t<BlockStylesNavigationScreens\n\t\t\t\t\tparentMenu={ parentMenu }\n\t\t\t\t\tblockStyles={ blockStyleVariations }\n\t\t\t\t\tblockName={ name }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction GlobalStylesStyleBook() {\n\tconst navigator = useNavigator();\n\tconst { path } = navigator.location;\n\treturn (\n\t\t<StyleBook\n\t\t\tisSelected={ ( blockName ) =>\n\t\t\t\t// Match '/blocks/core%2Fbutton' and\n\t\t\t\t// '/blocks/core%2Fbutton/typography', but not\n\t\t\t\t// '/blocks/core%2Fbuttons'.\n\t\t\t\tpath === `/blocks/${ encodeURIComponent( blockName ) }` ||\n\t\t\t\tpath.startsWith(\n\t\t\t\t\t`/blocks/${ encodeURIComponent( blockName ) }/`\n\t\t\t\t)\n\t\t\t}\n\t\t\tonSelect={ ( blockName ) => {\n\t\t\t\t// Now go to the selected block.\n\t\t\t\tnavigator.goTo( '/blocks/' + encodeURIComponent( blockName ) );\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction GlobalStylesBlockLink() {\n\tconst navigator = useNavigator();\n\tconst { selectedBlockName, selectedBlockClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSelectedBlockClientId, getBlockName } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst clientId = getSelectedBlockClientId();\n\t\t\treturn {\n\t\t\t\tselectedBlockName: getBlockName( clientId ),\n\t\t\t\tselectedBlockClientId: clientId,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst blockHasGlobalStyles = useBlockHasGlobalStyles( selectedBlockName );\n\t// When we're in the `Blocks` screen enable deep linking to the selected block.\n\tuseEffect( () => {\n\t\tif ( ! selectedBlockClientId || ! blockHasGlobalStyles ) {\n\t\t\treturn;\n\t\t}\n\t\tconst currentPath = navigator.location.path;\n\t\tif (\n\t\t\tcurrentPath !== '/blocks' &&\n\t\t\t! currentPath.startsWith( '/blocks/' )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tconst newPath = '/blocks/' + encodeURIComponent( selectedBlockName );\n\t\t// Avoid navigating to the same path. This can happen when selecting\n\t\t// a new block of the same type.\n\t\tif ( newPath !== currentPath ) {\n\t\t\tnavigator.goTo( newPath, { skipFocus: true } );\n\t\t}\n\t}, [ selectedBlockClientId, selectedBlockName, blockHasGlobalStyles ] );\n}\n\nfunction GlobalStylesEditorCanvasContainerLink() {\n\tconst { goTo, location } = useNavigator();\n\tconst editorCanvasContainerView = useSelect(\n\t\t( select ) =>\n\t\t\tunlock( select( editSiteStore ) ).getEditorCanvasContainerView(),\n\t\t[]\n\t);\n\n\t// If the user switches the editor canvas container view, redirect\n\t// to the appropriate screen. This effectively allows deep linking to the\n\t// desired screens from outside the global styles navigation provider.\n\tuseEffect( () => {\n\t\tif ( editorCanvasContainerView === 'global-styles-revisions' ) {\n\t\t\t// Switching to the revisions container view should\n\t\t\t// redirect to the revisions screen.\n\t\t\tgoTo( '/revisions' );\n\t\t} else if (\n\t\t\t!! editorCanvasContainerView &&\n\t\t\tlocation?.path === '/revisions'\n\t\t) {\n\t\t\t// Switching to any container other than revisions should\n\t\t\t// redirect from the revisions screen to the root global styles screen.\n\t\t\tgoTo( '/' );\n\t\t} else if ( editorCanvasContainerView === 'global-styles-css' ) {\n\t\t\tgoTo( '/css' );\n\t\t}\n\n\t\t// location?.path is not a dependency because we don't want to track it.\n\t\t// Doing so will cause an infinite loop. We could abstract logic to avoid\n\t\t// having to disable the check later.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ editorCanvasContainerView, goTo ] );\n}\n\nfunction GlobalStylesUI() {\n\tconst blocks = getBlockTypes();\n\tconst editorCanvasContainerView = useSelect(\n\t\t( select ) =>\n\t\t\tunlock( select( editSiteStore ) ).getEditorCanvasContainerView(),\n\t\t[]\n\t);\n\treturn (\n\t\t<NavigatorProvider\n\t\t\tclassName=\"edit-site-global-styles-sidebar__navigator-provider\"\n\t\t\tinitialPath=\"/\"\n\t\t>\n\t\t\t<GlobalStylesNavigationScreen path=\"/\">\n\t\t\t\t<ScreenRoot />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/variations\">\n\t\t\t\t<ScreenStyleVariations />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/blocks\">\n\t\t\t\t<ScreenBlockList />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography\">\n\t\t\t\t<ScreenTypography />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/text\">\n\t\t\t\t<ScreenTypographyElement element=\"text\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/link\">\n\t\t\t\t<ScreenTypographyElement element=\"link\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/heading\">\n\t\t\t\t<ScreenTypographyElement element=\"heading\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/caption\">\n\t\t\t\t<ScreenTypographyElement element=\"caption\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/button\">\n\t\t\t\t<ScreenTypographyElement element=\"button\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/colors\">\n\t\t\t\t<ScreenColors />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/layout\">\n\t\t\t\t<ScreenLayout />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/css\">\n\t\t\t\t<ScreenCSS />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path={ '/revisions' }>\n\t\t\t\t<ScreenRevisions />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t{ blocks.map( ( block ) => (\n\t\t\t\t<GlobalStylesNavigationScreen\n\t\t\t\t\tkey={ 'menu-block-' + block.name }\n\t\t\t\t\tpath={ '/blocks/' + encodeURIComponent( block.name ) }\n\t\t\t\t>\n\t\t\t\t\t<ScreenBlock name={ block.name } />\n\t\t\t\t</GlobalStylesNavigationScreen>\n\t\t\t) ) }\n\n\t\t\t<ContextScreens />\n\n\t\t\t{ blocks.map( ( block ) => (\n\t\t\t\t<ContextScreens\n\t\t\t\t\tkey={ 'screens-block-' + block.name }\n\t\t\t\t\tname={ block.name }\n\t\t\t\t\tparentMenu={ '/blocks/' + encodeURIComponent( block.name ) }\n\t\t\t\t/>\n\t\t\t) ) }\n\n\t\t\t{ 'style-book' === editorCanvasContainerView && (\n\t\t\t\t<GlobalStylesStyleBook />\n\t\t\t) }\n\n\t\t\t<GlobalStylesRevisionsMenu />\n\t\t\t<GlobalStylesActionMenu />\n\t\t\t<GlobalStylesBlockLink />\n\t\t\t<GlobalStylesEditorCanvasContainerLink />\n\t\t</NavigatorProvider>\n\t);\n}\nexport { GlobalStylesMenuSlot };\nexport default GlobalStylesUI;\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","__experimentalNavigatorProvider","NavigatorProvider","__experimentalNavigatorScreen","NavigatorScreen","__experimentalUseNavigator","useNavigator","createSlotFill","Button","DropdownMenu","MenuGroup","MenuItem","getBlockTypes","store","blocksStore","useSelect","useDispatch","privateApis","blockEditorPrivateApis","blockEditorStore","__","preferencesStore","backup","moreVertical","coreStore","useEffect","ScreenRoot","useBlockHasGlobalStyles","default","ScreenBlockList","ScreenBlock","ScreenTypography","ScreenTypographyElement","ScreenColors","ScreenColorPalette","ScreenLayout","ScreenStyleVariations","StyleBook","ScreenCSS","ScreenRevisions","unlock","editSiteStore","SLOT_FILL_NAME","useGlobalStylesReset","Slot","GlobalStylesMenuSlot","Fill","GlobalStylesMenuFill","GlobalStylesActionMenu","toggle","canEditCSS","select","getEntityRecord","__experimentalGetCurrentGlobalStylesId","globalStylesId","globalStyles","undefined","_links","goTo","loadCustomCSS","createElement","icon","label","onClose","onClick","RevisionsCountBadge","className","children","GlobalStylesRevisionsMenu","setIsListViewOpened","revisionsCount","_globalStyles$_links$","count","canReset","onReset","setEditorCanvasContainerView","loadRevisions","hasRevisions","disabled","__experimentalIsFocusable","GlobalStylesNavigationScreen","props","filter","Boolean","join","BlockStylesNavigationScreens","parentMenu","blockStyles","blockName","map","style","index","key","path","name","variation","ContextScreens","blockStyleVariations","getBlockStyles","Fragment","length","GlobalStylesStyleBook","navigator","location","isSelected","encodeURIComponent","startsWith","onSelect","GlobalStylesBlockLink","selectedBlockName","selectedBlockClientId","getSelectedBlockClientId","getBlockName","clientId","blockHasGlobalStyles","currentPath","newPath","skipFocus","GlobalStylesEditorCanvasContainerLink","editorCanvasContainerView","getEditorCanvasContainerView","GlobalStylesUI","blocks","initialPath","element","block"],"sources":["@wordpress/edit-site/src/components/global-styles/ui.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalNavigatorProvider as NavigatorProvider,\n\t__experimentalNavigatorScreen as NavigatorScreen,\n\t__experimentalUseNavigator as useNavigator,\n\tcreateSlotFill,\n\tButton,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n} from '@wordpress/components';\nimport { getBlockTypes, store as blocksStore } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { backup, moreVertical } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport ScreenRoot from './screen-root';\nimport {\n\tuseBlockHasGlobalStyles,\n\tdefault as ScreenBlockList,\n} from './screen-block-list';\nimport ScreenBlock from './screen-block';\nimport ScreenTypography from './screen-typography';\nimport ScreenTypographyElement from './screen-typography-element';\nimport ScreenColors from './screen-colors';\nimport ScreenColorPalette from './screen-color-palette';\nimport ScreenLayout from './screen-layout';\nimport ScreenStyleVariations from './screen-style-variations';\nimport StyleBook from '../style-book';\nimport ScreenCSS from './screen-css';\nimport ScreenRevisions from './screen-revisions';\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\n\nconst SLOT_FILL_NAME = 'GlobalStylesMenu';\nconst { useGlobalStylesReset } = unlock( blockEditorPrivateApis );\nconst { Slot: GlobalStylesMenuSlot, Fill: GlobalStylesMenuFill } =\n\tcreateSlotFill( SLOT_FILL_NAME );\n\nfunction GlobalStylesActionMenu() {\n\tconst { toggle } = useDispatch( preferencesStore );\n\tconst { canEditCSS } = useSelect( ( select ) => {\n\t\tconst { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =\n\t\t\tselect( coreStore );\n\n\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\tconst globalStyles = globalStylesId\n\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\tcanEditCSS: !! globalStyles?._links?.[ 'wp:action-edit-css' ],\n\t\t};\n\t}, [] );\n\tconst { goTo } = useNavigator();\n\tconst loadCustomCSS = () => goTo( '/css' );\n\n\treturn (\n\t\t<GlobalStylesMenuFill>\n\t\t\t<DropdownMenu icon={ moreVertical } label={ __( 'More' ) }>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t{ canEditCSS && (\n\t\t\t\t\t\t\t<MenuItem onClick={ loadCustomCSS }>\n\t\t\t\t\t\t\t\t{ __( 'Additional CSS' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\ttoggle(\n\t\t\t\t\t\t\t\t\t'core/edit-site',\n\t\t\t\t\t\t\t\t\t'welcomeGuideStyles'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Welcome Guide' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t) }\n\t\t\t</DropdownMenu>\n\t\t</GlobalStylesMenuFill>\n\t);\n}\n\nfunction RevisionsCountBadge( { className, children } ) {\n\treturn (\n\t\t<span\n\t\t\tclassName={ classnames(\n\t\t\t\tclassName,\n\t\t\t\t'edit-site-global-styles-sidebar__revisions-count-badge'\n\t\t\t) }\n\t\t>\n\t\t\t{ children }\n\t\t</span>\n\t);\n}\nfunction GlobalStylesRevisionsMenu() {\n\tconst { setIsListViewOpened } = useDispatch( editSiteStore );\n\tconst { revisionsCount } = useSelect( ( select ) => {\n\t\tconst { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =\n\t\t\tselect( coreStore );\n\n\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\tconst globalStyles = globalStylesId\n\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\trevisionsCount:\n\t\t\t\tglobalStyles?._links?.[ 'version-history' ]?.[ 0 ]?.count ?? 0,\n\t\t};\n\t}, [] );\n\tconst [ canReset, onReset ] = useGlobalStylesReset();\n\tconst { goTo } = useNavigator();\n\tconst { setEditorCanvasContainerView } = unlock(\n\t\tuseDispatch( editSiteStore )\n\t);\n\tconst loadRevisions = () => {\n\t\tsetIsListViewOpened( false );\n\t\tgoTo( '/revisions' );\n\t\tsetEditorCanvasContainerView( 'global-styles-revisions' );\n\t};\n\tconst hasRevisions = revisionsCount > 0;\n\n\treturn (\n\t\t<GlobalStylesMenuFill>\n\t\t\t{ canReset || hasRevisions ? (\n\t\t\t\t<DropdownMenu icon={ backup } label={ __( 'Revisions' ) }>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t{ hasRevisions && (\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ loadRevisions }\n\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t<RevisionsCountBadge>\n\t\t\t\t\t\t\t\t\t\t\t{ revisionsCount }\n\t\t\t\t\t\t\t\t\t\t</RevisionsCountBadge>\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\t{ __( 'Revision history' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonReset();\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdisabled={ ! canReset }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Reset to defaults' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</DropdownMenu>\n\t\t\t) : (\n\t\t\t\t<Button\n\t\t\t\t\tlabel={ __( 'Revisions' ) }\n\t\t\t\t\ticon={ backup }\n\t\t\t\t\tdisabled\n\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t/>\n\t\t\t) }\n\t\t</GlobalStylesMenuFill>\n\t);\n}\n\nfunction GlobalStylesNavigationScreen( { className, ...props } ) {\n\treturn (\n\t\t<NavigatorScreen\n\t\t\tclassName={ [\n\t\t\t\t'edit-site-global-styles-sidebar__navigator-screen',\n\t\t\t\tclassName,\n\t\t\t]\n\t\t\t\t.filter( Boolean )\n\t\t\t\t.join( ' ' ) }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nfunction BlockStylesNavigationScreens( {\n\tparentMenu,\n\tblockStyles,\n\tblockName,\n} ) {\n\treturn blockStyles.map( ( style, index ) => (\n\t\t<GlobalStylesNavigationScreen\n\t\t\tkey={ index }\n\t\t\tpath={ parentMenu + '/variations/' + style.name }\n\t\t>\n\t\t\t<ScreenBlock name={ blockName } variation={ style.name } />\n\t\t</GlobalStylesNavigationScreen>\n\t) );\n}\n\nfunction ContextScreens( { name, parentMenu = '' } ) {\n\tconst blockStyleVariations = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockStyles } = select( blocksStore );\n\t\t\treturn getBlockStyles( name );\n\t\t},\n\t\t[ name ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<GlobalStylesNavigationScreen\n\t\t\t\tpath={ parentMenu + '/colors/palette' }\n\t\t\t>\n\t\t\t\t<ScreenColorPalette name={ name } />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t{ !! blockStyleVariations?.length && (\n\t\t\t\t<BlockStylesNavigationScreens\n\t\t\t\t\tparentMenu={ parentMenu }\n\t\t\t\t\tblockStyles={ blockStyleVariations }\n\t\t\t\t\tblockName={ name }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction GlobalStylesStyleBook() {\n\tconst navigator = useNavigator();\n\tconst { path } = navigator.location;\n\treturn (\n\t\t<StyleBook\n\t\t\tisSelected={ ( blockName ) =>\n\t\t\t\t// Match '/blocks/core%2Fbutton' and\n\t\t\t\t// '/blocks/core%2Fbutton/typography', but not\n\t\t\t\t// '/blocks/core%2Fbuttons'.\n\t\t\t\tpath === `/blocks/${ encodeURIComponent( blockName ) }` ||\n\t\t\t\tpath.startsWith(\n\t\t\t\t\t`/blocks/${ encodeURIComponent( blockName ) }/`\n\t\t\t\t)\n\t\t\t}\n\t\t\tonSelect={ ( blockName ) => {\n\t\t\t\t// Now go to the selected block.\n\t\t\t\tnavigator.goTo( '/blocks/' + encodeURIComponent( blockName ) );\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction GlobalStylesBlockLink() {\n\tconst navigator = useNavigator();\n\tconst { selectedBlockName, selectedBlockClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSelectedBlockClientId, getBlockName } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst clientId = getSelectedBlockClientId();\n\t\t\treturn {\n\t\t\t\tselectedBlockName: getBlockName( clientId ),\n\t\t\t\tselectedBlockClientId: clientId,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst blockHasGlobalStyles = useBlockHasGlobalStyles( selectedBlockName );\n\t// When we're in the `Blocks` screen enable deep linking to the selected block.\n\tuseEffect( () => {\n\t\tif ( ! selectedBlockClientId || ! blockHasGlobalStyles ) {\n\t\t\treturn;\n\t\t}\n\t\tconst currentPath = navigator.location.path;\n\t\tif (\n\t\t\tcurrentPath !== '/blocks' &&\n\t\t\t! currentPath.startsWith( '/blocks/' )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tconst newPath = '/blocks/' + encodeURIComponent( selectedBlockName );\n\t\t// Avoid navigating to the same path. This can happen when selecting\n\t\t// a new block of the same type.\n\t\tif ( newPath !== currentPath ) {\n\t\t\tnavigator.goTo( newPath, { skipFocus: true } );\n\t\t}\n\t}, [ selectedBlockClientId, selectedBlockName, blockHasGlobalStyles ] );\n}\n\nfunction GlobalStylesEditorCanvasContainerLink() {\n\tconst { goTo, location } = useNavigator();\n\tconst editorCanvasContainerView = useSelect(\n\t\t( select ) =>\n\t\t\tunlock( select( editSiteStore ) ).getEditorCanvasContainerView(),\n\t\t[]\n\t);\n\n\t// If the user switches the editor canvas container view, redirect\n\t// to the appropriate screen. This effectively allows deep linking to the\n\t// desired screens from outside the global styles navigation provider.\n\tuseEffect( () => {\n\t\tif ( editorCanvasContainerView === 'global-styles-revisions' ) {\n\t\t\t// Switching to the revisions container view should\n\t\t\t// redirect to the revisions screen.\n\t\t\tgoTo( '/revisions' );\n\t\t} else if (\n\t\t\t!! editorCanvasContainerView &&\n\t\t\tlocation?.path === '/revisions'\n\t\t) {\n\t\t\t// Switching to any container other than revisions should\n\t\t\t// redirect from the revisions screen to the root global styles screen.\n\t\t\tgoTo( '/' );\n\t\t} else if ( editorCanvasContainerView === 'global-styles-css' ) {\n\t\t\tgoTo( '/css' );\n\t\t}\n\n\t\t// location?.path is not a dependency because we don't want to track it.\n\t\t// Doing so will cause an infinite loop. We could abstract logic to avoid\n\t\t// having to disable the check later.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ editorCanvasContainerView, goTo ] );\n}\n\nfunction GlobalStylesUI() {\n\tconst blocks = getBlockTypes();\n\tconst editorCanvasContainerView = useSelect(\n\t\t( select ) =>\n\t\t\tunlock( select( editSiteStore ) ).getEditorCanvasContainerView(),\n\t\t[]\n\t);\n\treturn (\n\t\t<NavigatorProvider\n\t\t\tclassName=\"edit-site-global-styles-sidebar__navigator-provider\"\n\t\t\tinitialPath=\"/\"\n\t\t>\n\t\t\t<GlobalStylesNavigationScreen path=\"/\">\n\t\t\t\t<ScreenRoot />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/variations\">\n\t\t\t\t<ScreenStyleVariations />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/blocks\">\n\t\t\t\t<ScreenBlockList />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography\">\n\t\t\t\t<ScreenTypography />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/text\">\n\t\t\t\t<ScreenTypographyElement element=\"text\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/link\">\n\t\t\t\t<ScreenTypographyElement element=\"link\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/heading\">\n\t\t\t\t<ScreenTypographyElement element=\"heading\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/caption\">\n\t\t\t\t<ScreenTypographyElement element=\"caption\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/button\">\n\t\t\t\t<ScreenTypographyElement element=\"button\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/colors\">\n\t\t\t\t<ScreenColors />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/layout\">\n\t\t\t\t<ScreenLayout />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/css\">\n\t\t\t\t<ScreenCSS />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path={ '/revisions' }>\n\t\t\t\t<ScreenRevisions />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t{ blocks.map( ( block ) => (\n\t\t\t\t<GlobalStylesNavigationScreen\n\t\t\t\t\tkey={ 'menu-block-' + block.name }\n\t\t\t\t\tpath={ '/blocks/' + encodeURIComponent( block.name ) }\n\t\t\t\t>\n\t\t\t\t\t<ScreenBlock name={ block.name } />\n\t\t\t\t</GlobalStylesNavigationScreen>\n\t\t\t) ) }\n\n\t\t\t<ContextScreens />\n\n\t\t\t{ blocks.map( ( block ) => (\n\t\t\t\t<ContextScreens\n\t\t\t\t\tkey={ 'screens-block-' + block.name }\n\t\t\t\t\tname={ block.name }\n\t\t\t\t\tparentMenu={ '/blocks/' + encodeURIComponent( block.name ) }\n\t\t\t\t/>\n\t\t\t) ) }\n\n\t\t\t{ 'style-book' === editorCanvasContainerView && (\n\t\t\t\t<GlobalStylesStyleBook />\n\t\t\t) }\n\n\t\t\t<GlobalStylesRevisionsMenu />\n\t\t\t<GlobalStylesActionMenu />\n\t\t\t<GlobalStylesBlockLink />\n\t\t\t<GlobalStylesEditorCanvasContainerLink />\n\t\t</NavigatorProvider>\n\t);\n}\nexport { GlobalStylesMenuSlot };\nexport default GlobalStylesUI;\n"],"mappings":"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"}
@@ -33,7 +33,7 @@ function useGlobalStylesRenderer() {
33
33
  styles: [...nonGlobalStyles, ...styles],
34
34
  __experimentalFeatures: settings
35
35
  });
36
- }, [styles, settings]);
36
+ }, [styles, settings, updateSettings, getSettings]);
37
37
  }
38
38
  export function GlobalStylesRenderer() {
39
39
  useGlobalStylesRenderer();
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useSelect","useDispatch","privateApis","blockEditorPrivateApis","store","editSiteStore","unlock","useGlobalStylesOutput","useGlobalStylesRenderer","styles","settings","getSettings","updateSettings","_currentStoreSettings","currentStoreSettings","nonGlobalStyles","Object","values","filter","style","isGlobalStyles","__experimentalFeatures","GlobalStylesRenderer"],"sources":["@wordpress/edit-site/src/components/global-styles-renderer/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { useGlobalStylesOutput } = unlock( blockEditorPrivateApis );\n\nfunction useGlobalStylesRenderer() {\n\tconst [ styles, settings ] = useGlobalStylesOutput();\n\tconst { getSettings } = useSelect( editSiteStore );\n\tconst { updateSettings } = useDispatch( editSiteStore );\n\n\tuseEffect( () => {\n\t\tif ( ! styles || ! settings ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentStoreSettings = getSettings();\n\t\tconst nonGlobalStyles = Object.values(\n\t\t\tcurrentStoreSettings.styles ?? []\n\t\t).filter( ( style ) => ! style.isGlobalStyles );\n\t\tupdateSettings( {\n\t\t\t...currentStoreSettings,\n\t\t\tstyles: [ ...nonGlobalStyles, ...styles ],\n\t\t\t__experimentalFeatures: settings,\n\t\t} );\n\t}, [ styles, settings ] );\n}\n\nexport function GlobalStylesRenderer() {\n\tuseGlobalStylesRenderer();\n\n\treturn null;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,oBAAoB;AAC9C,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,WAAW,IAAIC,sBAAsB,QAAQ,yBAAyB;;AAE/E;AACA;AACA;AACA,SAASC,KAAK,IAAIC,aAAa,QAAQ,aAAa;AACpD,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,MAAM;EAAEC;AAAsB,CAAC,GAAGD,MAAM,CAAEH,sBAAuB,CAAC;AAElE,SAASK,uBAAuBA,CAAA,EAAG;EAClC,MAAM,CAAEC,MAAM,EAAEC,QAAQ,CAAE,GAAGH,qBAAqB,CAAC,CAAC;EACpD,MAAM;IAAEI;EAAY,CAAC,GAAGX,SAAS,CAAEK,aAAc,CAAC;EAClD,MAAM;IAAEO;EAAe,CAAC,GAAGX,WAAW,CAAEI,aAAc,CAAC;EAEvDN,SAAS,CAAE,MAAM;IAAA,IAAAc,qBAAA;IAChB,IAAK,CAAEJ,MAAM,IAAI,CAAEC,QAAQ,EAAG;MAC7B;IACD;IAEA,MAAMI,oBAAoB,GAAGH,WAAW,CAAC,CAAC;IAC1C,MAAMI,eAAe,GAAGC,MAAM,CAACC,MAAM,EAAAJ,qBAAA,GACpCC,oBAAoB,CAACL,MAAM,cAAAI,qBAAA,cAAAA,qBAAA,GAAI,EAChC,CAAC,CAACK,MAAM,CAAIC,KAAK,IAAM,CAAEA,KAAK,CAACC,cAAe,CAAC;IAC/CR,cAAc,CAAE;MACf,GAAGE,oBAAoB;MACvBL,MAAM,EAAE,CAAE,GAAGM,eAAe,EAAE,GAAGN,MAAM,CAAE;MACzCY,sBAAsB,EAAEX;IACzB,CAAE,CAAC;EACJ,CAAC,EAAE,CAAED,MAAM,EAAEC,QAAQ,CAAG,CAAC;AAC1B;AAEA,OAAO,SAASY,oBAAoBA,CAAA,EAAG;EACtCd,uBAAuB,CAAC,CAAC;EAEzB,OAAO,IAAI;AACZ"}
1
+ {"version":3,"names":["useEffect","useSelect","useDispatch","privateApis","blockEditorPrivateApis","store","editSiteStore","unlock","useGlobalStylesOutput","useGlobalStylesRenderer","styles","settings","getSettings","updateSettings","_currentStoreSettings","currentStoreSettings","nonGlobalStyles","Object","values","filter","style","isGlobalStyles","__experimentalFeatures","GlobalStylesRenderer"],"sources":["@wordpress/edit-site/src/components/global-styles-renderer/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { useGlobalStylesOutput } = unlock( blockEditorPrivateApis );\n\nfunction useGlobalStylesRenderer() {\n\tconst [ styles, settings ] = useGlobalStylesOutput();\n\tconst { getSettings } = useSelect( editSiteStore );\n\tconst { updateSettings } = useDispatch( editSiteStore );\n\n\tuseEffect( () => {\n\t\tif ( ! styles || ! settings ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentStoreSettings = getSettings();\n\t\tconst nonGlobalStyles = Object.values(\n\t\t\tcurrentStoreSettings.styles ?? []\n\t\t).filter( ( style ) => ! style.isGlobalStyles );\n\t\tupdateSettings( {\n\t\t\t...currentStoreSettings,\n\t\t\tstyles: [ ...nonGlobalStyles, ...styles ],\n\t\t\t__experimentalFeatures: settings,\n\t\t} );\n\t}, [ styles, settings, updateSettings, getSettings ] );\n}\n\nexport function GlobalStylesRenderer() {\n\tuseGlobalStylesRenderer();\n\n\treturn null;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,oBAAoB;AAC9C,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,WAAW,IAAIC,sBAAsB,QAAQ,yBAAyB;;AAE/E;AACA;AACA;AACA,SAASC,KAAK,IAAIC,aAAa,QAAQ,aAAa;AACpD,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,MAAM;EAAEC;AAAsB,CAAC,GAAGD,MAAM,CAAEH,sBAAuB,CAAC;AAElE,SAASK,uBAAuBA,CAAA,EAAG;EAClC,MAAM,CAAEC,MAAM,EAAEC,QAAQ,CAAE,GAAGH,qBAAqB,CAAC,CAAC;EACpD,MAAM;IAAEI;EAAY,CAAC,GAAGX,SAAS,CAAEK,aAAc,CAAC;EAClD,MAAM;IAAEO;EAAe,CAAC,GAAGX,WAAW,CAAEI,aAAc,CAAC;EAEvDN,SAAS,CAAE,MAAM;IAAA,IAAAc,qBAAA;IAChB,IAAK,CAAEJ,MAAM,IAAI,CAAEC,QAAQ,EAAG;MAC7B;IACD;IAEA,MAAMI,oBAAoB,GAAGH,WAAW,CAAC,CAAC;IAC1C,MAAMI,eAAe,GAAGC,MAAM,CAACC,MAAM,EAAAJ,qBAAA,GACpCC,oBAAoB,CAACL,MAAM,cAAAI,qBAAA,cAAAA,qBAAA,GAAI,EAChC,CAAC,CAACK,MAAM,CAAIC,KAAK,IAAM,CAAEA,KAAK,CAACC,cAAe,CAAC;IAC/CR,cAAc,CAAE;MACf,GAAGE,oBAAoB;MACvBL,MAAM,EAAE,CAAE,GAAGM,eAAe,EAAE,GAAGN,MAAM,CAAE;MACzCY,sBAAsB,EAAEX;IACzB,CAAE,CAAC;EACJ,CAAC,EAAE,CAAED,MAAM,EAAEC,QAAQ,EAAEE,cAAc,EAAED,WAAW,CAAG,CAAC;AACvD;AAEA,OAAO,SAASW,oBAAoBA,CAAA,EAAG;EACtCd,uBAAuB,CAAC,CAAC;EAEzB,OAAO,IAAI;AACZ"}
@@ -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, {