@wordpress/edit-site 5.24.1 → 5.25.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 (347) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-template/add-custom-template-modal-content.js +2 -3
  3. package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  4. package/build/components/block-editor/editor-canvas.js +48 -23
  5. package/build/components/block-editor/editor-canvas.js.map +1 -1
  6. package/build/components/block-editor/site-editor-canvas.js +5 -54
  7. package/build/components/block-editor/site-editor-canvas.js.map +1 -1
  8. package/build/components/block-editor/use-site-editor-settings.js +14 -5
  9. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  10. package/build/components/editor/index.js +6 -17
  11. package/build/components/editor/index.js.map +1 -1
  12. package/build/components/global-styles/font-library-modal/collection-font-variant.js +8 -7
  13. package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  14. package/build/components/global-styles/font-library-modal/context.js +1 -1
  15. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  16. package/build/components/global-styles/font-library-modal/library-font-variant.js +8 -7
  17. package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  18. package/build/components/global-styles/screen-revisions/get-revision-changes.js +146 -0
  19. package/build/components/global-styles/screen-revisions/get-revision-changes.js.map +1 -0
  20. package/build/components/global-styles/screen-revisions/index.js +6 -10
  21. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  22. package/build/components/global-styles/screen-revisions/revisions-buttons.js +63 -13
  23. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  24. package/build/components/header-edit-mode/document-tools/index.js +17 -10
  25. package/build/components/header-edit-mode/document-tools/index.js.map +1 -1
  26. package/build/components/header-edit-mode/index.js +16 -38
  27. package/build/components/header-edit-mode/index.js.map +1 -1
  28. package/build/components/header-edit-mode/more-menu/index.js +11 -9
  29. package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
  30. package/build/components/layout/index.js +9 -8
  31. package/build/components/layout/index.js.map +1 -1
  32. package/build/components/page/header.js +2 -1
  33. package/build/components/page/header.js.map +1 -1
  34. package/build/components/page-pages/index.js +31 -28
  35. package/build/components/page-pages/index.js.map +1 -1
  36. package/build/components/page-patterns/patterns-list.js +1 -2
  37. package/build/components/page-patterns/patterns-list.js.map +1 -1
  38. package/build/components/page-patterns/rename-menu-item.js +3 -0
  39. package/build/components/page-patterns/rename-menu-item.js.map +1 -1
  40. package/build/components/page-templates/dataviews-templates.js +18 -17
  41. package/build/components/page-templates/dataviews-templates.js.map +1 -1
  42. package/build/components/preferences-modal/index.js +36 -20
  43. package/build/components/preferences-modal/index.js.map +1 -1
  44. package/build/components/routes/use-title.js +3 -4
  45. package/build/components/routes/use-title.js.map +1 -1
  46. package/build/components/save-button/index.js +2 -1
  47. package/build/components/save-button/index.js.map +1 -1
  48. package/build/components/sidebar/index.js +26 -12
  49. package/build/components/sidebar/index.js.map +1 -1
  50. package/build/components/sidebar-dataviews/dataview-item.js +2 -10
  51. package/build/components/sidebar-dataviews/dataview-item.js.map +1 -1
  52. package/build/components/sidebar-dataviews/default-views.js +2 -2
  53. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  54. package/build/components/sidebar-edit-mode/page-panels/index.js +9 -3
  55. package/build/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
  56. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +1 -2
  57. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  58. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +3 -0
  59. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
  60. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +1 -1
  61. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  62. package/build/components/sidebar-navigation-screen-template/home-template-details.js +3 -89
  63. package/build/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
  64. package/build/components/sidebar-navigation-screen-template/index.js +2 -1
  65. package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
  66. package/build/components/sidebar-navigation-screen-template/template-areas.js +117 -0
  67. package/build/components/sidebar-navigation-screen-template/template-areas.js.map +1 -0
  68. package/build/components/site-hub/index.js +6 -3
  69. package/build/components/site-hub/index.js.map +1 -1
  70. package/build/components/template-actions/rename-menu-item.js +3 -0
  71. package/build/components/template-actions/rename-menu-item.js.map +1 -1
  72. package/build/components/welcome-guide/styles.js +1 -1
  73. package/build/components/welcome-guide/styles.js.map +1 -1
  74. package/build/hooks/commands/use-common-commands.js +9 -1
  75. package/build/hooks/commands/use-common-commands.js.map +1 -1
  76. package/build/hooks/navigation-menu-edit.js +1 -1
  77. package/build/hooks/navigation-menu-edit.js.map +1 -1
  78. package/build/hooks/template-part-edit.js +1 -1
  79. package/build/hooks/template-part-edit.js.map +1 -1
  80. package/build/store/actions.js +15 -8
  81. package/build/store/actions.js.map +1 -1
  82. package/build/store/reducer.js +0 -18
  83. package/build/store/reducer.js.map +1 -1
  84. package/build/store/selectors.js +12 -6
  85. package/build/store/selectors.js.map +1 -1
  86. package/build/utils/constants.js +15 -1
  87. package/build/utils/constants.js.map +1 -1
  88. package/build-module/components/add-new-template/add-custom-template-modal-content.js +1 -1
  89. package/build-module/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  90. package/build-module/components/block-editor/editor-canvas.js +50 -25
  91. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  92. package/build-module/components/block-editor/site-editor-canvas.js +8 -56
  93. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
  94. package/build-module/components/block-editor/use-site-editor-settings.js +14 -5
  95. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  96. package/build-module/components/editor/index.js +9 -20
  97. package/build-module/components/editor/index.js.map +1 -1
  98. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js +9 -7
  99. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  100. package/build-module/components/global-styles/font-library-modal/context.js +1 -1
  101. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  102. package/build-module/components/global-styles/font-library-modal/library-font-variant.js +9 -7
  103. package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  104. package/build-module/components/global-styles/screen-revisions/get-revision-changes.js +139 -0
  105. package/build-module/components/global-styles/screen-revisions/get-revision-changes.js.map +1 -0
  106. package/build-module/components/global-styles/screen-revisions/index.js +7 -11
  107. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  108. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +64 -14
  109. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  110. package/build-module/components/header-edit-mode/document-tools/index.js +17 -10
  111. package/build-module/components/header-edit-mode/document-tools/index.js.map +1 -1
  112. package/build-module/components/header-edit-mode/index.js +20 -42
  113. package/build-module/components/header-edit-mode/index.js.map +1 -1
  114. package/build-module/components/header-edit-mode/more-menu/index.js +12 -10
  115. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
  116. package/build-module/components/layout/index.js +9 -8
  117. package/build-module/components/layout/index.js.map +1 -1
  118. package/build-module/components/page/header.js +2 -1
  119. package/build-module/components/page/header.js.map +1 -1
  120. package/build-module/components/page-pages/index.js +31 -28
  121. package/build-module/components/page-pages/index.js.map +1 -1
  122. package/build-module/components/page-patterns/patterns-list.js +1 -2
  123. package/build-module/components/page-patterns/patterns-list.js.map +1 -1
  124. package/build-module/components/page-patterns/rename-menu-item.js +3 -0
  125. package/build-module/components/page-patterns/rename-menu-item.js.map +1 -1
  126. package/build-module/components/page-templates/dataviews-templates.js +18 -17
  127. package/build-module/components/page-templates/dataviews-templates.js.map +1 -1
  128. package/build-module/components/preferences-modal/index.js +37 -21
  129. package/build-module/components/preferences-modal/index.js.map +1 -1
  130. package/build-module/components/routes/use-title.js +3 -4
  131. package/build-module/components/routes/use-title.js.map +1 -1
  132. package/build-module/components/save-button/index.js +2 -1
  133. package/build-module/components/save-button/index.js.map +1 -1
  134. package/build-module/components/sidebar/index.js +26 -12
  135. package/build-module/components/sidebar/index.js.map +1 -1
  136. package/build-module/components/sidebar-dataviews/dataview-item.js +2 -10
  137. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
  138. package/build-module/components/sidebar-dataviews/default-views.js +2 -2
  139. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  140. package/build-module/components/sidebar-edit-mode/page-panels/index.js +9 -3
  141. package/build-module/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
  142. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +2 -3
  143. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  144. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +3 -0
  145. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
  146. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +1 -1
  147. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  148. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js +5 -90
  149. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
  150. package/build-module/components/sidebar-navigation-screen-template/index.js +2 -1
  151. package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
  152. package/build-module/components/sidebar-navigation-screen-template/template-areas.js +109 -0
  153. package/build-module/components/sidebar-navigation-screen-template/template-areas.js.map +1 -0
  154. package/build-module/components/site-hub/index.js +6 -3
  155. package/build-module/components/site-hub/index.js.map +1 -1
  156. package/build-module/components/template-actions/rename-menu-item.js +3 -0
  157. package/build-module/components/template-actions/rename-menu-item.js.map +1 -1
  158. package/build-module/components/welcome-guide/styles.js +1 -1
  159. package/build-module/components/welcome-guide/styles.js.map +1 -1
  160. package/build-module/hooks/commands/use-common-commands.js +9 -1
  161. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  162. package/build-module/hooks/navigation-menu-edit.js +1 -1
  163. package/build-module/hooks/navigation-menu-edit.js.map +1 -1
  164. package/build-module/hooks/template-part-edit.js +1 -1
  165. package/build-module/hooks/template-part-edit.js.map +1 -1
  166. package/build-module/store/actions.js +13 -6
  167. package/build-module/store/actions.js.map +1 -1
  168. package/build-module/store/reducer.js +0 -17
  169. package/build-module/store/reducer.js.map +1 -1
  170. package/build-module/store/selectors.js +10 -3
  171. package/build-module/store/selectors.js.map +1 -1
  172. package/build-module/utils/constants.js +8 -0
  173. package/build-module/utils/constants.js.map +1 -1
  174. package/build-style/style-rtl.css +302 -354
  175. package/build-style/style.css +302 -354
  176. package/package.json +42 -42
  177. package/src/components/add-new-template/add-custom-template-modal-content.js +1 -1
  178. package/src/components/block-editor/editor-canvas.js +63 -47
  179. package/src/components/block-editor/site-editor-canvas.js +32 -96
  180. package/src/components/block-editor/style.scss +6 -12
  181. package/src/components/block-editor/use-site-editor-settings.js +47 -36
  182. package/src/components/editor/index.js +10 -16
  183. package/src/components/global-styles/font-library-modal/collection-font-variant.js +12 -6
  184. package/src/components/global-styles/font-library-modal/context.js +1 -1
  185. package/src/components/global-styles/font-library-modal/library-font-variant.js +12 -6
  186. package/src/components/global-styles/screen-revisions/get-revision-changes.js +171 -0
  187. package/src/components/global-styles/screen-revisions/index.js +4 -11
  188. package/src/components/global-styles/screen-revisions/revisions-buttons.js +86 -17
  189. package/src/components/global-styles/screen-revisions/style.scss +10 -2
  190. package/src/components/global-styles/screen-revisions/test/get-revision-changes.js +191 -0
  191. package/src/components/header-edit-mode/document-tools/index.js +13 -13
  192. package/src/components/header-edit-mode/index.js +29 -63
  193. package/src/components/header-edit-mode/more-menu/index.js +18 -22
  194. package/src/components/header-edit-mode/style.scss +58 -33
  195. package/src/components/layout/index.js +21 -20
  196. package/src/components/list/style.scss +5 -0
  197. package/src/components/page/header.js +2 -1
  198. package/src/components/page/style.scss +2 -2
  199. package/src/components/page-pages/index.js +59 -35
  200. package/src/components/page-pages/style.scss +3 -1
  201. package/src/components/page-patterns/patterns-list.js +5 -2
  202. package/src/components/page-patterns/rename-menu-item.js +7 -1
  203. package/src/components/page-templates/dataviews-templates.js +28 -13
  204. package/src/components/preferences-modal/index.js +59 -33
  205. package/src/components/routes/use-title.js +3 -10
  206. package/src/components/save-button/index.js +1 -0
  207. package/src/components/sidebar/index.js +41 -24
  208. package/src/components/sidebar/style.scss +10 -12
  209. package/src/components/sidebar-dataviews/dataview-item.js +3 -7
  210. package/src/components/sidebar-dataviews/default-views.js +2 -2
  211. package/src/components/sidebar-edit-mode/page-panels/index.js +39 -25
  212. package/src/components/sidebar-edit-mode/page-panels/page-summary.js +2 -2
  213. package/src/components/sidebar-edit-mode/page-panels/style.scss +1 -42
  214. package/src/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +7 -1
  215. package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +1 -1
  216. package/src/components/sidebar-navigation-screen-template/home-template-details.js +1 -96
  217. package/src/components/sidebar-navigation-screen-template/index.js +8 -2
  218. package/src/components/sidebar-navigation-screen-template/template-areas.js +135 -0
  219. package/src/components/site-hub/index.js +4 -5
  220. package/src/components/template-actions/rename-menu-item.js +7 -1
  221. package/src/components/welcome-guide/styles.js +1 -1
  222. package/src/hooks/commands/use-common-commands.js +10 -5
  223. package/src/hooks/navigation-menu-edit.js +1 -1
  224. package/src/hooks/template-part-edit.js +1 -1
  225. package/src/store/actions.js +15 -5
  226. package/src/store/reducer.js +0 -18
  227. package/src/store/selectors.js +15 -3
  228. package/src/style.scss +1 -2
  229. package/src/utils/constants.js +8 -0
  230. package/build/components/dataviews/add-filter.js +0 -91
  231. package/build/components/dataviews/add-filter.js.map +0 -1
  232. package/build/components/dataviews/constants.js +0 -14
  233. package/build/components/dataviews/constants.js.map +0 -1
  234. package/build/components/dataviews/dataviews.js +0 -99
  235. package/build/components/dataviews/dataviews.js.map +0 -1
  236. package/build/components/dataviews/filter-summary.js +0 -62
  237. package/build/components/dataviews/filter-summary.js.map +0 -1
  238. package/build/components/dataviews/filters.js +0 -63
  239. package/build/components/dataviews/filters.js.map +0 -1
  240. package/build/components/dataviews/index.js +0 -21
  241. package/build/components/dataviews/index.js.map +0 -1
  242. package/build/components/dataviews/item-actions.js +0 -184
  243. package/build/components/dataviews/item-actions.js.map +0 -1
  244. package/build/components/dataviews/pagination.js +0 -123
  245. package/build/components/dataviews/pagination.js.map +0 -1
  246. package/build/components/dataviews/reset-filters.js +0 -33
  247. package/build/components/dataviews/reset-filters.js.map +0 -1
  248. package/build/components/dataviews/search.js +0 -51
  249. package/build/components/dataviews/search.js.map +0 -1
  250. package/build/components/dataviews/view-actions.js +0 -244
  251. package/build/components/dataviews/view-actions.js.map +0 -1
  252. package/build/components/dataviews/view-grid.js +0 -82
  253. package/build/components/dataviews/view-grid.js.map +0 -1
  254. package/build/components/dataviews/view-list.js +0 -399
  255. package/build/components/dataviews/view-list.js.map +0 -1
  256. package/build/components/dataviews/view-side-by-side.js +0 -20
  257. package/build/components/dataviews/view-side-by-side.js.map +0 -1
  258. package/build/components/header-edit-mode/document-actions/index.js +0 -172
  259. package/build/components/header-edit-mode/document-actions/index.js.map +0 -1
  260. package/build/components/page-content-focus-notifications/back-to-page-notification.js +0 -61
  261. package/build/components/page-content-focus-notifications/back-to-page-notification.js.map +0 -1
  262. package/build/components/page-content-focus-notifications/edit-template-notification.js +0 -102
  263. package/build/components/page-content-focus-notifications/edit-template-notification.js.map +0 -1
  264. package/build/components/page-content-focus-notifications/index.js +0 -22
  265. package/build/components/page-content-focus-notifications/index.js.map +0 -1
  266. package/build/components/sidebar-edit-mode/page-panels/edit-template.js +0 -101
  267. package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +0 -1
  268. package/build/components/sidebar-edit-mode/page-panels/hooks.js +0 -79
  269. package/build/components/sidebar-edit-mode/page-panels/hooks.js.map +0 -1
  270. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +0 -48
  271. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +0 -1
  272. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js +0 -84
  273. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +0 -1
  274. package/build/utils/use-debounced-input.js +0 -22
  275. package/build/utils/use-debounced-input.js.map +0 -1
  276. package/build-module/components/dataviews/add-filter.js +0 -84
  277. package/build-module/components/dataviews/add-filter.js.map +0 -1
  278. package/build-module/components/dataviews/constants.js +0 -6
  279. package/build-module/components/dataviews/constants.js.map +0 -1
  280. package/build-module/components/dataviews/dataviews.js +0 -90
  281. package/build-module/components/dataviews/dataviews.js.map +0 -1
  282. package/build-module/components/dataviews/filter-summary.js +0 -55
  283. package/build-module/components/dataviews/filter-summary.js.map +0 -1
  284. package/build-module/components/dataviews/filters.js +0 -55
  285. package/build-module/components/dataviews/filters.js.map +0 -1
  286. package/build-module/components/dataviews/index.js +0 -2
  287. package/build-module/components/dataviews/index.js.map +0 -1
  288. package/build-module/components/dataviews/item-actions.js +0 -177
  289. package/build-module/components/dataviews/item-actions.js.map +0 -1
  290. package/build-module/components/dataviews/pagination.js +0 -115
  291. package/build-module/components/dataviews/pagination.js.map +0 -1
  292. package/build-module/components/dataviews/reset-filters.js +0 -26
  293. package/build-module/components/dataviews/reset-filters.js.map +0 -1
  294. package/build-module/components/dataviews/search.js +0 -43
  295. package/build-module/components/dataviews/search.js.map +0 -1
  296. package/build-module/components/dataviews/view-actions.js +0 -237
  297. package/build-module/components/dataviews/view-actions.js.map +0 -1
  298. package/build-module/components/dataviews/view-grid.js +0 -74
  299. package/build-module/components/dataviews/view-grid.js.map +0 -1
  300. package/build-module/components/dataviews/view-list.js +0 -390
  301. package/build-module/components/dataviews/view-list.js.map +0 -1
  302. package/build-module/components/dataviews/view-side-by-side.js +0 -12
  303. package/build-module/components/dataviews/view-side-by-side.js.map +0 -1
  304. package/build-module/components/header-edit-mode/document-actions/index.js +0 -164
  305. package/build-module/components/header-edit-mode/document-actions/index.js.map +0 -1
  306. package/build-module/components/page-content-focus-notifications/back-to-page-notification.js +0 -54
  307. package/build-module/components/page-content-focus-notifications/back-to-page-notification.js.map +0 -1
  308. package/build-module/components/page-content-focus-notifications/edit-template-notification.js +0 -96
  309. package/build-module/components/page-content-focus-notifications/edit-template-notification.js.map +0 -1
  310. package/build-module/components/page-content-focus-notifications/index.js +0 -14
  311. package/build-module/components/page-content-focus-notifications/index.js.map +0 -1
  312. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +0 -93
  313. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +0 -1
  314. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js +0 -69
  315. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js.map +0 -1
  316. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +0 -41
  317. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +0 -1
  318. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js +0 -77
  319. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +0 -1
  320. package/build-module/utils/use-debounced-input.js +0 -15
  321. package/build-module/utils/use-debounced-input.js.map +0 -1
  322. package/src/components/dataviews/README.md +0 -191
  323. package/src/components/dataviews/add-filter.js +0 -108
  324. package/src/components/dataviews/constants.js +0 -5
  325. package/src/components/dataviews/dataviews.js +0 -99
  326. package/src/components/dataviews/filter-summary.js +0 -79
  327. package/src/components/dataviews/filters.js +0 -65
  328. package/src/components/dataviews/index.js +0 -1
  329. package/src/components/dataviews/item-actions.js +0 -208
  330. package/src/components/dataviews/pagination.js +0 -144
  331. package/src/components/dataviews/reset-filters.js +0 -26
  332. package/src/components/dataviews/search.js +0 -42
  333. package/src/components/dataviews/style.scss +0 -131
  334. package/src/components/dataviews/view-actions.js +0 -319
  335. package/src/components/dataviews/view-grid.js +0 -90
  336. package/src/components/dataviews/view-list.js +0 -512
  337. package/src/components/dataviews/view-side-by-side.js +0 -9
  338. package/src/components/header-edit-mode/document-actions/index.js +0 -204
  339. package/src/components/header-edit-mode/document-actions/style.scss +0 -145
  340. package/src/components/page-content-focus-notifications/back-to-page-notification.js +0 -58
  341. package/src/components/page-content-focus-notifications/edit-template-notification.js +0 -104
  342. package/src/components/page-content-focus-notifications/index.js +0 -14
  343. package/src/components/sidebar-edit-mode/page-panels/edit-template.js +0 -108
  344. package/src/components/sidebar-edit-mode/page-panels/hooks.js +0 -99
  345. package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +0 -45
  346. package/src/components/sidebar-edit-mode/page-panels/swap-template-button.js +0 -83
  347. package/src/utils/use-debounced-input.js +0 -18
@@ -121,7 +121,8 @@ function ScreenRevisions() {
121
121
  }
122
122
  }, [shouldSelectFirstItem, firstRevision]);
123
123
 
124
- // Only display load button if there is a revision to load and it is different from the current editor styles.
124
+ // Only display load button if there is a revision to load,
125
+ // and it is different from the current editor styles.
125
126
  const isLoadButtonEnabled = !!currentlySelectedRevisionId && !selectedRevisionMatchesEditorStyles;
126
127
  const shouldShowRevisions = !isLoading && revisions.length;
127
128
  return (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_header.default, {
@@ -132,7 +133,7 @@ function ScreenRevisions() {
132
133
  onBack: onCloseRevisions
133
134
  }), isLoading && (0, _react.createElement)(_components.Spinner, {
134
135
  className: "edit-site-global-styles-screen-revisions__loading"
135
- }), shouldShowRevisions ? (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_revisions.default, {
136
+ }), shouldShowRevisions && (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_revisions.default, {
136
137
  blocks: blocks,
137
138
  userConfig: currentlySelectedRevision,
138
139
  onClose: onCloseRevisions
@@ -141,7 +142,8 @@ function ScreenRevisions() {
141
142
  }, (0, _react.createElement)(_revisionsButtons.default, {
142
143
  onChange: selectRevision,
143
144
  selectedRevisionId: currentlySelectedRevisionId,
144
- userRevisions: revisions
145
+ userRevisions: revisions,
146
+ canApplyRevision: isLoadButtonEnabled
145
147
  }), isLoadButtonEnabled && (0, _react.createElement)(_sidebarFixedBottom.default, null, (0, _react.createElement)(_components.Button, {
146
148
  variant: "primary",
147
149
  className: "edit-site-global-styles-screen-revisions__button",
@@ -158,13 +160,7 @@ function ScreenRevisions() {
158
160
  confirmButtonText: (0, _i18n.__)('Apply'),
159
161
  onConfirm: () => restoreRevision(currentlySelectedRevision),
160
162
  onCancel: () => setIsLoadingRevisionWithUnsavedChanges(false)
161
- }, (0, _i18n.__)('Any unsaved changes will be lost when you apply this revision.'))) : (0, _react.createElement)(_components.__experimentalSpacer, {
162
- marginX: 4,
163
- "data-testid": "global-styles-no-revisions"
164
- },
165
- // Adding an existing translation here in case these changes are shipped to WordPress 6.3.
166
- // Later we could update to something better, e.g., "There are currently no style revisions.".
167
- (0, _i18n.__)('No results found.')));
163
+ }, (0, _i18n.__)('Any unsaved changes will be lost when you apply this revision.'))));
168
164
  }
169
165
  var _default = ScreenRevisions;
170
166
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_components","_data","_coreData","_element","_blockEditor","_header","_interopRequireDefault","_lockUnlock","_revisions","_sidebarFixedBottom","_store","_useGlobalStylesRevisions","_revisionsButtons","GlobalStylesContext","areGlobalStyleConfigsEqual","unlock","blockEditorPrivateApis","ScreenRevisions","goTo","useNavigator","user","currentEditorGlobalStyles","setUserConfig","useContext","blocks","editorCanvasContainerView","revisionsCount","useSelect","select","getEntityRecord","__experimentalGetCurrentGlobalStylesId","__experimentalGetDirtyEntityRecords","coreStore","isDirty","length","globalStylesId","globalStyles","undefined","_revisionsCount","_links","count","editSiteStore","getEditorCanvasContainerView","blockEditorStore","getBlocks","revisions","isLoading","hasUnsavedChanges","useGlobalStylesRevisions","currentlySelectedRevision","setCurrentlySelectedRevision","useState","isLoadingRevisionWithUnsavedChanges","setIsLoadingRevisionWithUnsavedChanges","setEditorCanvasContainerView","useDispatch","selectedRevisionMatchesEditorStyles","onCloseRevisions","restoreRevision","revision","styles","settings","selectRevision","id","useEffect","firstRevision","currentlySelectedRevisionId","shouldSelectFirstItem","isLoadButtonEnabled","shouldShowRevisions","_react","createElement","Fragment","default","title","sprintf","__","description","onBack","Spinner","className","userConfig","onClose","onChange","selectedRevisionId","userRevisions","Button","variant","disabled","onClick","__experimentalConfirmDialog","isOpen","confirmButtonText","onConfirm","onCancel","__experimentalSpacer","marginX","_default","exports"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-revisions/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tButton,\n\t__experimentalUseNavigator as useNavigator,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\tSpinner,\n\t__experimentalSpacer as Spacer,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useContext, useState, useEffect } from '@wordpress/element';\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport ScreenHeader from '../header';\nimport { unlock } from '../../../lock-unlock';\nimport Revisions from '../../revisions';\nimport SidebarFixedBottom from '../../sidebar-edit-mode/sidebar-fixed-bottom';\nimport { store as editSiteStore } from '../../../store';\nimport useGlobalStylesRevisions from './use-global-styles-revisions';\nimport RevisionsButtons from './revisions-buttons';\n\nconst { GlobalStylesContext, areGlobalStyleConfigsEqual } = unlock(\n\tblockEditorPrivateApis\n);\n\nfunction ScreenRevisions() {\n\tconst { goTo } = useNavigator();\n\tconst { user: currentEditorGlobalStyles, setUserConfig } =\n\t\tuseContext( GlobalStylesContext );\n\tconst { blocks, editorCanvasContainerView, revisionsCount } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEntityRecord,\n\t\t\t\t__experimentalGetCurrentGlobalStylesId,\n\t\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\t} = select( coreStore );\n\t\t\tconst isDirty = __experimentalGetDirtyEntityRecords().length > 0;\n\t\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\t\tconst globalStyles = globalStylesId\n\t\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t\t: undefined;\n\t\t\tlet _revisionsCount =\n\t\t\t\tglobalStyles?._links?.[ 'version-history' ]?.[ 0 ]?.count || 0;\n\t\t\t// one for the reset item.\n\t\t\t_revisionsCount++;\n\t\t\t// one for any dirty changes (unsaved).\n\t\t\tif ( isDirty ) {\n\t\t\t\t_revisionsCount++;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\teditorCanvasContainerView: unlock(\n\t\t\t\t\tselect( editSiteStore )\n\t\t\t\t).getEditorCanvasContainerView(),\n\t\t\t\tblocks: select( blockEditorStore ).getBlocks(),\n\t\t\t\trevisionsCount: _revisionsCount,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst { revisions, isLoading, hasUnsavedChanges } =\n\t\tuseGlobalStylesRevisions();\n\tconst [ currentlySelectedRevision, setCurrentlySelectedRevision ] =\n\t\tuseState( currentEditorGlobalStyles );\n\tconst [\n\t\tisLoadingRevisionWithUnsavedChanges,\n\t\tsetIsLoadingRevisionWithUnsavedChanges,\n\t] = useState( false );\n\tconst { setEditorCanvasContainerView } = unlock(\n\t\tuseDispatch( editSiteStore )\n\t);\n\tconst selectedRevisionMatchesEditorStyles = areGlobalStyleConfigsEqual(\n\t\tcurrentlySelectedRevision,\n\t\tcurrentEditorGlobalStyles\n\t);\n\n\tconst onCloseRevisions = () => {\n\t\tgoTo( '/' ); // Return to global styles main panel.\n\t\tsetEditorCanvasContainerView( undefined );\n\t};\n\n\tconst restoreRevision = ( revision ) => {\n\t\tsetUserConfig( () => ( {\n\t\t\tstyles: revision?.styles,\n\t\t\tsettings: revision?.settings,\n\t\t} ) );\n\t\tsetIsLoadingRevisionWithUnsavedChanges( false );\n\t\tonCloseRevisions();\n\t};\n\n\tconst selectRevision = ( revision ) => {\n\t\tsetCurrentlySelectedRevision( {\n\t\t\tstyles: revision?.styles || {},\n\t\t\tsettings: revision?.settings || {},\n\t\t\tid: revision?.id,\n\t\t} );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( editorCanvasContainerView !== 'global-styles-revisions' ) {\n\t\t\tgoTo( '/' ); // Return to global styles main panel.\n\t\t\tsetEditorCanvasContainerView( editorCanvasContainerView );\n\t\t}\n\t}, [ editorCanvasContainerView ] );\n\n\tconst firstRevision = revisions[ 0 ];\n\tconst currentlySelectedRevisionId = currentlySelectedRevision?.id;\n\tconst shouldSelectFirstItem =\n\t\t!! firstRevision?.id &&\n\t\t! selectedRevisionMatchesEditorStyles &&\n\t\t! currentlySelectedRevisionId;\n\n\tuseEffect( () => {\n\t\t/*\n\t\t * Ensure that the first item is selected and loaded into the preview pane\n\t\t * when no revision is selected and the selected styles don't match the current editor styles.\n\t\t * This is required in case editor styles are changed outside the revisions panel,\n\t\t * e.g., via the reset styles function of useGlobalStylesReset().\n\t\t * See: https://github.com/WordPress/gutenberg/issues/55866\n\t\t */\n\t\tif ( shouldSelectFirstItem ) {\n\t\t\tsetCurrentlySelectedRevision( {\n\t\t\t\tstyles: firstRevision?.styles || {},\n\t\t\t\tsettings: firstRevision?.settings || {},\n\t\t\t\tid: firstRevision?.id,\n\t\t\t} );\n\t\t}\n\t}, [ shouldSelectFirstItem, firstRevision ] );\n\n\t// Only display load button if there is a revision to load and it is different from the current editor styles.\n\tconst isLoadButtonEnabled =\n\t\t!! currentlySelectedRevisionId && ! selectedRevisionMatchesEditorStyles;\n\tconst shouldShowRevisions = ! isLoading && revisions.length;\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={\n\t\t\t\t\trevisionsCount &&\n\t\t\t\t\t// translators: %s: number of revisions.\n\t\t\t\t\tsprintf( __( 'Revisions (%s)' ), revisionsCount )\n\t\t\t\t}\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Click on previously saved styles to preview them. To restore a selected version to the editor, hit \"Apply.\" When you\\'re ready, use the Save button to save your changes.'\n\t\t\t\t) }\n\t\t\t\tonBack={ onCloseRevisions }\n\t\t\t/>\n\t\t\t{ isLoading && (\n\t\t\t\t<Spinner className=\"edit-site-global-styles-screen-revisions__loading\" />\n\t\t\t) }\n\t\t\t{ shouldShowRevisions ? (\n\t\t\t\t<>\n\t\t\t\t\t<Revisions\n\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\tuserConfig={ currentlySelectedRevision }\n\t\t\t\t\t\tonClose={ onCloseRevisions }\n\t\t\t\t\t/>\n\t\t\t\t\t<div className=\"edit-site-global-styles-screen-revisions\">\n\t\t\t\t\t\t<RevisionsButtons\n\t\t\t\t\t\t\tonChange={ selectRevision }\n\t\t\t\t\t\t\tselectedRevisionId={ currentlySelectedRevisionId }\n\t\t\t\t\t\t\tuserRevisions={ revisions }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ isLoadButtonEnabled && (\n\t\t\t\t\t\t\t<SidebarFixedBottom>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__button\"\n\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t! currentlySelectedRevisionId ||\n\t\t\t\t\t\t\t\t\t\tcurrentlySelectedRevisionId ===\n\t\t\t\t\t\t\t\t\t\t\t'unsaved'\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\tif ( hasUnsavedChanges ) {\n\t\t\t\t\t\t\t\t\t\t\tsetIsLoadingRevisionWithUnsavedChanges(\n\t\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\trestoreRevision(\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentlySelectedRevision\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\t>\n\t\t\t\t\t\t\t\t\t{ currentlySelectedRevisionId === 'parent'\n\t\t\t\t\t\t\t\t\t\t? __( 'Reset to defaults' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Apply' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</SidebarFixedBottom>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t\t{ isLoadingRevisionWithUnsavedChanges && (\n\t\t\t\t\t\t<ConfirmDialog\n\t\t\t\t\t\t\tisOpen={ isLoadingRevisionWithUnsavedChanges }\n\t\t\t\t\t\t\tconfirmButtonText={ __( 'Apply' ) }\n\t\t\t\t\t\t\tonConfirm={ () =>\n\t\t\t\t\t\t\t\trestoreRevision( currentlySelectedRevision )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonCancel={ () =>\n\t\t\t\t\t\t\t\tsetIsLoadingRevisionWithUnsavedChanges( false )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Any unsaved changes will be lost when you apply this revision.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ConfirmDialog>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<Spacer marginX={ 4 } data-testid=\"global-styles-no-revisions\">\n\t\t\t\t\t{\n\t\t\t\t\t\t// Adding an existing translation here in case these changes are shipped to WordPress 6.3.\n\t\t\t\t\t\t// Later we could update to something better, e.g., \"There are currently no style revisions.\".\n\t\t\t\t\t\t__( 'No results found.' )\n\t\t\t\t\t}\n\t\t\t\t</Spacer>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default ScreenRevisions;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_i18n","require","_components","_data","_coreData","_element","_blockEditor","_header","_interopRequireDefault","_lockUnlock","_revisions","_sidebarFixedBottom","_store","_useGlobalStylesRevisions","_revisionsButtons","GlobalStylesContext","areGlobalStyleConfigsEqual","unlock","blockEditorPrivateApis","ScreenRevisions","goTo","useNavigator","user","currentEditorGlobalStyles","setUserConfig","useContext","blocks","editorCanvasContainerView","revisionsCount","useSelect","select","getEntityRecord","__experimentalGetCurrentGlobalStylesId","__experimentalGetDirtyEntityRecords","coreStore","isDirty","length","globalStylesId","globalStyles","undefined","_revisionsCount","_links","count","editSiteStore","getEditorCanvasContainerView","blockEditorStore","getBlocks","revisions","isLoading","hasUnsavedChanges","useGlobalStylesRevisions","currentlySelectedRevision","setCurrentlySelectedRevision","useState","isLoadingRevisionWithUnsavedChanges","setIsLoadingRevisionWithUnsavedChanges","setEditorCanvasContainerView","useDispatch","selectedRevisionMatchesEditorStyles","onCloseRevisions","restoreRevision","revision","styles","settings","selectRevision","id","useEffect","firstRevision","currentlySelectedRevisionId","shouldSelectFirstItem","isLoadButtonEnabled","shouldShowRevisions","_react","createElement","Fragment","default","title","sprintf","__","description","onBack","Spinner","className","userConfig","onClose","onChange","selectedRevisionId","userRevisions","canApplyRevision","Button","variant","disabled","onClick","__experimentalConfirmDialog","isOpen","confirmButtonText","onConfirm","onCancel","_default","exports"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-revisions/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tButton,\n\t__experimentalUseNavigator as useNavigator,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\tSpinner,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useContext, useState, useEffect } from '@wordpress/element';\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport ScreenHeader from '../header';\nimport { unlock } from '../../../lock-unlock';\nimport Revisions from '../../revisions';\nimport SidebarFixedBottom from '../../sidebar-edit-mode/sidebar-fixed-bottom';\nimport { store as editSiteStore } from '../../../store';\nimport useGlobalStylesRevisions from './use-global-styles-revisions';\nimport RevisionsButtons from './revisions-buttons';\n\nconst { GlobalStylesContext, areGlobalStyleConfigsEqual } = unlock(\n\tblockEditorPrivateApis\n);\n\nfunction ScreenRevisions() {\n\tconst { goTo } = useNavigator();\n\tconst { user: currentEditorGlobalStyles, setUserConfig } =\n\t\tuseContext( GlobalStylesContext );\n\tconst { blocks, editorCanvasContainerView, revisionsCount } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEntityRecord,\n\t\t\t\t__experimentalGetCurrentGlobalStylesId,\n\t\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\t} = select( coreStore );\n\t\t\tconst isDirty = __experimentalGetDirtyEntityRecords().length > 0;\n\t\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\t\tconst globalStyles = globalStylesId\n\t\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t\t: undefined;\n\t\t\tlet _revisionsCount =\n\t\t\t\tglobalStyles?._links?.[ 'version-history' ]?.[ 0 ]?.count || 0;\n\t\t\t// one for the reset item.\n\t\t\t_revisionsCount++;\n\t\t\t// one for any dirty changes (unsaved).\n\t\t\tif ( isDirty ) {\n\t\t\t\t_revisionsCount++;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\teditorCanvasContainerView: unlock(\n\t\t\t\t\tselect( editSiteStore )\n\t\t\t\t).getEditorCanvasContainerView(),\n\t\t\t\tblocks: select( blockEditorStore ).getBlocks(),\n\t\t\t\trevisionsCount: _revisionsCount,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst { revisions, isLoading, hasUnsavedChanges } =\n\t\tuseGlobalStylesRevisions();\n\tconst [ currentlySelectedRevision, setCurrentlySelectedRevision ] =\n\t\tuseState( currentEditorGlobalStyles );\n\tconst [\n\t\tisLoadingRevisionWithUnsavedChanges,\n\t\tsetIsLoadingRevisionWithUnsavedChanges,\n\t] = useState( false );\n\tconst { setEditorCanvasContainerView } = unlock(\n\t\tuseDispatch( editSiteStore )\n\t);\n\tconst selectedRevisionMatchesEditorStyles = areGlobalStyleConfigsEqual(\n\t\tcurrentlySelectedRevision,\n\t\tcurrentEditorGlobalStyles\n\t);\n\n\tconst onCloseRevisions = () => {\n\t\tgoTo( '/' ); // Return to global styles main panel.\n\t\tsetEditorCanvasContainerView( undefined );\n\t};\n\n\tconst restoreRevision = ( revision ) => {\n\t\tsetUserConfig( () => ( {\n\t\t\tstyles: revision?.styles,\n\t\t\tsettings: revision?.settings,\n\t\t} ) );\n\t\tsetIsLoadingRevisionWithUnsavedChanges( false );\n\t\tonCloseRevisions();\n\t};\n\n\tconst selectRevision = ( revision ) => {\n\t\tsetCurrentlySelectedRevision( {\n\t\t\tstyles: revision?.styles || {},\n\t\t\tsettings: revision?.settings || {},\n\t\t\tid: revision?.id,\n\t\t} );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( editorCanvasContainerView !== 'global-styles-revisions' ) {\n\t\t\tgoTo( '/' ); // Return to global styles main panel.\n\t\t\tsetEditorCanvasContainerView( editorCanvasContainerView );\n\t\t}\n\t}, [ editorCanvasContainerView ] );\n\n\tconst firstRevision = revisions[ 0 ];\n\tconst currentlySelectedRevisionId = currentlySelectedRevision?.id;\n\tconst shouldSelectFirstItem =\n\t\t!! firstRevision?.id &&\n\t\t! selectedRevisionMatchesEditorStyles &&\n\t\t! currentlySelectedRevisionId;\n\n\tuseEffect( () => {\n\t\t/*\n\t\t * Ensure that the first item is selected and loaded into the preview pane\n\t\t * when no revision is selected and the selected styles don't match the current editor styles.\n\t\t * This is required in case editor styles are changed outside the revisions panel,\n\t\t * e.g., via the reset styles function of useGlobalStylesReset().\n\t\t * See: https://github.com/WordPress/gutenberg/issues/55866\n\t\t */\n\t\tif ( shouldSelectFirstItem ) {\n\t\t\tsetCurrentlySelectedRevision( {\n\t\t\t\tstyles: firstRevision?.styles || {},\n\t\t\t\tsettings: firstRevision?.settings || {},\n\t\t\t\tid: firstRevision?.id,\n\t\t\t} );\n\t\t}\n\t}, [ shouldSelectFirstItem, firstRevision ] );\n\n\t// Only display load button if there is a revision to load,\n\t// and it is different from the current editor styles.\n\tconst isLoadButtonEnabled =\n\t\t!! currentlySelectedRevisionId && ! selectedRevisionMatchesEditorStyles;\n\tconst shouldShowRevisions = ! isLoading && revisions.length;\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={\n\t\t\t\t\trevisionsCount &&\n\t\t\t\t\t// translators: %s: number of revisions.\n\t\t\t\t\tsprintf( __( 'Revisions (%s)' ), revisionsCount )\n\t\t\t\t}\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Click on previously saved styles to preview them. To restore a selected version to the editor, hit \"Apply.\" When you\\'re ready, use the Save button to save your changes.'\n\t\t\t\t) }\n\t\t\t\tonBack={ onCloseRevisions }\n\t\t\t/>\n\t\t\t{ isLoading && (\n\t\t\t\t<Spinner className=\"edit-site-global-styles-screen-revisions__loading\" />\n\t\t\t) }\n\t\t\t{ shouldShowRevisions && (\n\t\t\t\t<>\n\t\t\t\t\t<Revisions\n\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\tuserConfig={ currentlySelectedRevision }\n\t\t\t\t\t\tonClose={ onCloseRevisions }\n\t\t\t\t\t/>\n\t\t\t\t\t<div className=\"edit-site-global-styles-screen-revisions\">\n\t\t\t\t\t\t<RevisionsButtons\n\t\t\t\t\t\t\tonChange={ selectRevision }\n\t\t\t\t\t\t\tselectedRevisionId={ currentlySelectedRevisionId }\n\t\t\t\t\t\t\tuserRevisions={ revisions }\n\t\t\t\t\t\t\tcanApplyRevision={ isLoadButtonEnabled }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ isLoadButtonEnabled && (\n\t\t\t\t\t\t\t<SidebarFixedBottom>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__button\"\n\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t! currentlySelectedRevisionId ||\n\t\t\t\t\t\t\t\t\t\tcurrentlySelectedRevisionId ===\n\t\t\t\t\t\t\t\t\t\t\t'unsaved'\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\tif ( hasUnsavedChanges ) {\n\t\t\t\t\t\t\t\t\t\t\tsetIsLoadingRevisionWithUnsavedChanges(\n\t\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\trestoreRevision(\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentlySelectedRevision\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\t>\n\t\t\t\t\t\t\t\t\t{ currentlySelectedRevisionId === 'parent'\n\t\t\t\t\t\t\t\t\t\t? __( 'Reset to defaults' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Apply' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</SidebarFixedBottom>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t\t{ isLoadingRevisionWithUnsavedChanges && (\n\t\t\t\t\t\t<ConfirmDialog\n\t\t\t\t\t\t\tisOpen={ isLoadingRevisionWithUnsavedChanges }\n\t\t\t\t\t\t\tconfirmButtonText={ __( 'Apply' ) }\n\t\t\t\t\t\t\tonConfirm={ () =>\n\t\t\t\t\t\t\t\trestoreRevision( currentlySelectedRevision )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonCancel={ () =>\n\t\t\t\t\t\t\t\tsetIsLoadingRevisionWithUnsavedChanges( false )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Any unsaved changes will be lost when you apply this revision.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ConfirmDialog>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default ScreenRevisions;\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAMA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AAQA,IAAAM,OAAA,GAAAC,sBAAA,CAAAP,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AACA,IAAAS,UAAA,GAAAF,sBAAA,CAAAP,OAAA;AACA,IAAAU,mBAAA,GAAAH,sBAAA,CAAAP,OAAA;AACA,IAAAW,MAAA,GAAAX,OAAA;AACA,IAAAY,yBAAA,GAAAL,sBAAA,CAAAP,OAAA;AACA,IAAAa,iBAAA,GAAAN,sBAAA,CAAAP,OAAA;AA3BA;AACA;AACA;;AAgBA;AACA;AACA;;AASA,MAAM;EAAEc,mBAAmB;EAAEC;AAA2B,CAAC,GAAG,IAAAC,kBAAM,EACjEC,wBACD,CAAC;AAED,SAASC,eAAeA,CAAA,EAAG;EAC1B,MAAM;IAAEC;EAAK,CAAC,GAAG,IAAAC,sCAAY,EAAC,CAAC;EAC/B,MAAM;IAAEC,IAAI,EAAEC,yBAAyB;IAAEC;EAAc,CAAC,GACvD,IAAAC,mBAAU,EAAEV,mBAAoB,CAAC;EAClC,MAAM;IAAEW,MAAM;IAAEC,yBAAyB;IAAEC;EAAe,CAAC,GAAG,IAAAC,eAAS,EACpEC,MAAM,IAAM;IACb,MAAM;MACLC,eAAe;MACfC,sCAAsC;MACtCC;IACD,CAAC,GAAGH,MAAM,CAAEI,eAAU,CAAC;IACvB,MAAMC,OAAO,GAAGF,mCAAmC,CAAC,CAAC,CAACG,MAAM,GAAG,CAAC;IAChE,MAAMC,cAAc,GAAGL,sCAAsC,CAAC,CAAC;IAC/D,MAAMM,YAAY,GAAGD,cAAc,GAChCN,eAAe,CAAE,MAAM,EAAE,cAAc,EAAEM,cAAe,CAAC,GACzDE,SAAS;IACZ,IAAIC,eAAe,GAClBF,YAAY,EAAEG,MAAM,GAAI,iBAAiB,CAAE,GAAI,CAAC,CAAE,EAAEC,KAAK,IAAI,CAAC;IAC/D;IACAF,eAAe,EAAE;IACjB;IACA,IAAKL,OAAO,EAAG;MACdK,eAAe,EAAE;IAClB;IACA,OAAO;MACNb,yBAAyB,EAAE,IAAAV,kBAAM,EAChCa,MAAM,CAAEa,YAAc,CACvB,CAAC,CAACC,4BAA4B,CAAC,CAAC;MAChClB,MAAM,EAAEI,MAAM,CAAEe,kBAAiB,CAAC,CAACC,SAAS,CAAC,CAAC;MAC9ClB,cAAc,EAAEY;IACjB,CAAC;EACF,CAAC,EACD,EACD,CAAC;EACD,MAAM;IAAEO,SAAS;IAAEC,SAAS;IAAEC;EAAkB,CAAC,GAChD,IAAAC,iCAAwB,EAAC,CAAC;EAC3B,MAAM,CAAEC,yBAAyB,EAAEC,4BAA4B,CAAE,GAChE,IAAAC,iBAAQ,EAAE9B,yBAA0B,CAAC;EACtC,MAAM,CACL+B,mCAAmC,EACnCC,sCAAsC,CACtC,GAAG,IAAAF,iBAAQ,EAAE,KAAM,CAAC;EACrB,MAAM;IAAEG;EAA6B,CAAC,GAAG,IAAAvC,kBAAM,EAC9C,IAAAwC,iBAAW,EAAEd,YAAc,CAC5B,CAAC;EACD,MAAMe,mCAAmC,GAAG1C,0BAA0B,CACrEmC,yBAAyB,EACzB5B,yBACD,CAAC;EAED,MAAMoC,gBAAgB,GAAGA,CAAA,KAAM;IAC9BvC,IAAI,CAAE,GAAI,CAAC,CAAC,CAAC;IACboC,4BAA4B,CAAEjB,SAAU,CAAC;EAC1C,CAAC;EAED,MAAMqB,eAAe,GAAKC,QAAQ,IAAM;IACvCrC,aAAa,CAAE,OAAQ;MACtBsC,MAAM,EAAED,QAAQ,EAAEC,MAAM;MACxBC,QAAQ,EAAEF,QAAQ,EAAEE;IACrB,CAAC,CAAG,CAAC;IACLR,sCAAsC,CAAE,KAAM,CAAC;IAC/CI,gBAAgB,CAAC,CAAC;EACnB,CAAC;EAED,MAAMK,cAAc,GAAKH,QAAQ,IAAM;IACtCT,4BAA4B,CAAE;MAC7BU,MAAM,EAAED,QAAQ,EAAEC,MAAM,IAAI,CAAC,CAAC;MAC9BC,QAAQ,EAAEF,QAAQ,EAAEE,QAAQ,IAAI,CAAC,CAAC;MAClCE,EAAE,EAAEJ,QAAQ,EAAEI;IACf,CAAE,CAAC;EACJ,CAAC;EAED,IAAAC,kBAAS,EAAE,MAAM;IAChB,IAAKvC,yBAAyB,KAAK,yBAAyB,EAAG;MAC9DP,IAAI,CAAE,GAAI,CAAC,CAAC,CAAC;MACboC,4BAA4B,CAAE7B,yBAA0B,CAAC;IAC1D;EACD,CAAC,EAAE,CAAEA,yBAAyB,CAAG,CAAC;EAElC,MAAMwC,aAAa,GAAGpB,SAAS,CAAE,CAAC,CAAE;EACpC,MAAMqB,2BAA2B,GAAGjB,yBAAyB,EAAEc,EAAE;EACjE,MAAMI,qBAAqB,GAC1B,CAAC,CAAEF,aAAa,EAAEF,EAAE,IACpB,CAAEP,mCAAmC,IACrC,CAAEU,2BAA2B;EAE9B,IAAAF,kBAAS,EAAE,MAAM;IAChB;AACF;AACA;AACA;AACA;AACA;AACA;IACE,IAAKG,qBAAqB,EAAG;MAC5BjB,4BAA4B,CAAE;QAC7BU,MAAM,EAAEK,aAAa,EAAEL,MAAM,IAAI,CAAC,CAAC;QACnCC,QAAQ,EAAEI,aAAa,EAAEJ,QAAQ,IAAI,CAAC,CAAC;QACvCE,EAAE,EAAEE,aAAa,EAAEF;MACpB,CAAE,CAAC;IACJ;EACD,CAAC,EAAE,CAAEI,qBAAqB,EAAEF,aAAa,CAAG,CAAC;;EAE7C;EACA;EACA,MAAMG,mBAAmB,GACxB,CAAC,CAAEF,2BAA2B,IAAI,CAAEV,mCAAmC;EACxE,MAAMa,mBAAmB,GAAG,CAAEvB,SAAS,IAAID,SAAS,CAACX,MAAM;EAE3D,OACC,IAAAoC,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAAClE,OAAA,CAAAoE,OAAY;IACZC,KAAK,EACJhD,cAAc;IACd;IACA,IAAAiD,aAAO,EAAE,IAAAC,QAAE,EAAE,gBAAiB,CAAC,EAAElD,cAAe,CAChD;IACDmD,WAAW,EAAG,IAAAD,QAAE,EACf,2KACD,CAAG;IACHE,MAAM,EAAGrB;EAAkB,CAC3B,CAAC,EACAX,SAAS,IACV,IAAAwB,MAAA,CAAAC,aAAA,EAACvE,WAAA,CAAA+E,OAAO;IAACC,SAAS,EAAC;EAAmD,CAAE,CACxE,EACCX,mBAAmB,IACpB,IAAAC,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAAC/D,UAAA,CAAAiE,OAAS;IACTjD,MAAM,EAAGA,MAAQ;IACjByD,UAAU,EAAGhC,yBAA2B;IACxCiC,OAAO,EAAGzB;EAAkB,CAC5B,CAAC,EACF,IAAAa,MAAA,CAAAC,aAAA;IAAKS,SAAS,EAAC;EAA0C,GACxD,IAAAV,MAAA,CAAAC,aAAA,EAAC3D,iBAAA,CAAA6D,OAAgB;IAChBU,QAAQ,EAAGrB,cAAgB;IAC3BsB,kBAAkB,EAAGlB,2BAA6B;IAClDmB,aAAa,EAAGxC,SAAW;IAC3ByC,gBAAgB,EAAGlB;EAAqB,CACxC,CAAC,EACAA,mBAAmB,IACpB,IAAAE,MAAA,CAAAC,aAAA,EAAC9D,mBAAA,CAAAgE,OAAkB,QAClB,IAAAH,MAAA,CAAAC,aAAA,EAACvE,WAAA,CAAAuF,MAAM;IACNC,OAAO,EAAC,SAAS;IACjBR,SAAS,EAAC,kDAAkD;IAC5DS,QAAQ,EACP,CAAEvB,2BAA2B,IAC7BA,2BAA2B,KAC1B,SACD;IACDwB,OAAO,EAAGA,CAAA,KAAM;MACf,IAAK3C,iBAAiB,EAAG;QACxBM,sCAAsC,CACrC,IACD,CAAC;MACF,CAAC,MAAM;QACNK,eAAe,CACdT,yBACD,CAAC;MACF;IACD;EAAG,GAEDiB,2BAA2B,KAAK,QAAQ,GACvC,IAAAU,QAAE,EAAE,mBAAoB,CAAC,GACzB,IAAAA,QAAE,EAAE,OAAQ,CACR,CACW,CAEjB,CAAC,EACJxB,mCAAmC,IACpC,IAAAkB,MAAA,CAAAC,aAAA,EAACvE,WAAA,CAAA2F,2BAAa;IACbC,MAAM,EAAGxC,mCAAqC;IAC9CyC,iBAAiB,EAAG,IAAAjB,QAAE,EAAE,OAAQ,CAAG;IACnCkB,SAAS,EAAGA,CAAA,KACXpC,eAAe,CAAET,yBAA0B,CAC3C;IACD8C,QAAQ,EAAGA,CAAA,KACV1C,sCAAsC,CAAE,KAAM;EAC9C,GAEC,IAAAuB,QAAE,EACH,gEACD,CACc,CAEf,CAEF,CAAC;AAEL;AAAC,IAAAoB,QAAA,GAEc/E,eAAe;AAAAgF,OAAA,CAAAxB,OAAA,GAAAuB,QAAA"}
@@ -12,6 +12,9 @@ var _components = require("@wordpress/components");
12
12
  var _date = require("@wordpress/date");
13
13
  var _coreData = require("@wordpress/core-data");
14
14
  var _data = require("@wordpress/data");
15
+ var _element = require("@wordpress/element");
16
+ var _blocks = require("@wordpress/blocks");
17
+ var _getRevisionChanges = _interopRequireDefault(require("./get-revision-changes"));
15
18
  /**
16
19
  * External dependencies
17
20
  */
@@ -20,27 +23,58 @@ var _data = require("@wordpress/data");
20
23
  * WordPress dependencies
21
24
  */
22
25
 
26
+ /**
27
+ * Internal dependencies
28
+ */
29
+
23
30
  const DAY_IN_MILLISECONDS = 60 * 60 * 1000 * 24;
31
+ const MAX_CHANGES = 7;
32
+ function ChangesSummary({
33
+ revision,
34
+ previousRevision,
35
+ blockNames
36
+ }) {
37
+ const changes = (0, _getRevisionChanges.default)(revision, previousRevision, blockNames);
38
+ const changesLength = changes.length;
39
+ if (!changesLength) {
40
+ return null;
41
+ }
42
+
43
+ // Truncate to `n` results if necessary.
44
+ if (changesLength > MAX_CHANGES) {
45
+ const deleteCount = changesLength - MAX_CHANGES;
46
+ const andMoreText = (0, _i18n.sprintf)(
47
+ // translators: %d: number of global styles changes that are not displayed in the UI.
48
+ (0, _i18n._n)('…and %d more change.', '…and %d more changes.', deleteCount), deleteCount);
49
+ changes.splice(MAX_CHANGES, deleteCount, andMoreText);
50
+ }
51
+ return (0, _react.createElement)("span", {
52
+ "data-testid": "global-styles-revision-changes",
53
+ className: "edit-site-global-styles-screen-revisions__changes"
54
+ }, changes.join(', '));
55
+ }
24
56
 
25
57
  /**
26
58
  * Returns a button label for the revision.
27
59
  *
28
60
  * @param {string|number} id A revision object.
29
- * @param {boolean} isLatest Whether the revision is the most current.
30
61
  * @param {string} authorDisplayName Author name.
31
62
  * @param {string} formattedModifiedDate Revision modified date formatted.
63
+ * @param {boolean} areStylesEqual Whether the revision matches the current editor styles.
32
64
  * @return {string} Translated label.
33
65
  */
34
- function getRevisionLabel(id, isLatest, authorDisplayName, formattedModifiedDate) {
66
+ function getRevisionLabel(id, authorDisplayName, formattedModifiedDate, areStylesEqual) {
35
67
  if ('parent' === id) {
36
68
  return (0, _i18n.__)('Reset the styles to the theme defaults');
37
69
  }
38
70
  if ('unsaved' === id) {
39
- return (0, _i18n.sprintf)( /* translators: %s author display name */
71
+ return (0, _i18n.sprintf)( /* translators: %s: author display name */
40
72
  (0, _i18n.__)('Unsaved changes by %s'), authorDisplayName);
41
73
  }
42
- return isLatest ? (0, _i18n.sprintf)( /* translators: %1$s author display name, %2$s: revision creation date */
43
- (0, _i18n.__)('Changes saved by %1$s on %2$s (current)'), authorDisplayName, formattedModifiedDate) : (0, _i18n.sprintf)( /* translators: %1$s author display name, %2$s: revision creation date */
74
+ return areStylesEqual ? (0, _i18n.sprintf)(
75
+ // translators: %1$s: author display name, %2$s: revision creation date.
76
+ (0, _i18n.__)('Changes saved by %1$s on %2$s. This revision matches current editor styles.'), authorDisplayName, formattedModifiedDate) : (0, _i18n.sprintf)(
77
+ // translators: %1$s: author display name, %2$s: revision creation date.
44
78
  (0, _i18n.__)('Changes saved by %1$s on %2$s'), authorDisplayName, formattedModifiedDate);
45
79
  }
46
80
 
@@ -58,7 +92,8 @@ function getRevisionLabel(id, isLatest, authorDisplayName, formattedModifiedDate
58
92
  function RevisionsButtons({
59
93
  userRevisions,
60
94
  selectedRevisionId,
61
- onChange
95
+ onChange,
96
+ canApplyRevision
62
97
  }) {
63
98
  const {
64
99
  currentThemeName,
@@ -74,9 +109,18 @@ function RevisionsButtons({
74
109
  currentUser: getCurrentUser()
75
110
  };
76
111
  }, []);
112
+ const blockNames = (0, _element.useMemo)(() => {
113
+ const blockTypes = (0, _blocks.getBlockTypes)();
114
+ return blockTypes.reduce((accumulator, {
115
+ name,
116
+ title
117
+ }) => {
118
+ accumulator[name] = title;
119
+ return accumulator;
120
+ }, {});
121
+ }, []);
77
122
  const dateNowInMs = (0, _date.getDate)().getTime();
78
123
  const {
79
- date: dateFormat,
80
124
  datetimeAbbreviated
81
125
  } = (0, _date.getSettings)().formats;
82
126
  return (0, _react.createElement)("ol", {
@@ -86,7 +130,6 @@ function RevisionsButtons({
86
130
  }, userRevisions.map((revision, index) => {
87
131
  const {
88
132
  id,
89
- isLatest,
90
133
  author,
91
134
  modified
92
135
  } = revision;
@@ -95,14 +138,17 @@ function RevisionsButtons({
95
138
  const revisionAuthor = isUnsaved ? currentUser : author;
96
139
  const authorDisplayName = revisionAuthor?.name || (0, _i18n.__)('User');
97
140
  const authorAvatar = revisionAuthor?.avatar_urls?.['48'];
98
- const isSelected = selectedRevisionId ? selectedRevisionId === id : index === 0;
141
+ const isFirstItem = index === 0;
142
+ const isSelected = selectedRevisionId ? selectedRevisionId === id : isFirstItem;
143
+ const areStylesEqual = !canApplyRevision && isSelected;
99
144
  const isReset = 'parent' === id;
100
145
  const modifiedDate = (0, _date.getDate)(modified);
101
- const displayDate = modified && dateNowInMs - modifiedDate.getTime() > DAY_IN_MILLISECONDS ? (0, _date.dateI18n)(dateFormat, modifiedDate) : (0, _date.humanTimeDiff)(modified);
102
- const revisionLabel = getRevisionLabel(id, isLatest, authorDisplayName, (0, _date.dateI18n)(datetimeAbbreviated, modifiedDate));
146
+ const displayDate = modified && dateNowInMs - modifiedDate.getTime() > DAY_IN_MILLISECONDS ? (0, _date.dateI18n)(datetimeAbbreviated, modifiedDate) : (0, _date.humanTimeDiff)(modified);
147
+ const revisionLabel = getRevisionLabel(id, authorDisplayName, (0, _date.dateI18n)(datetimeAbbreviated, modifiedDate), areStylesEqual);
103
148
  return (0, _react.createElement)("li", {
104
149
  className: (0, _classnames.default)('edit-site-global-styles-screen-revisions__revision-item', {
105
150
  'is-selected': isSelected,
151
+ 'is-active': areStylesEqual,
106
152
  'is-reset': isReset
107
153
  }),
108
154
  key: id
@@ -112,7 +158,7 @@ function RevisionsButtons({
112
158
  onClick: () => {
113
159
  onChange(revision);
114
160
  },
115
- label: revisionLabel
161
+ "aria-label": revisionLabel
116
162
  }, isReset ? (0, _react.createElement)("span", {
117
163
  className: "edit-site-global-styles-screen-revisions__description"
118
164
  }, (0, _i18n.__)('Default styles'), (0, _react.createElement)("span", {
@@ -124,7 +170,11 @@ function RevisionsButtons({
124
170
  }, (0, _i18n.__)('(Unsaved)')) : (0, _react.createElement)("time", {
125
171
  className: "edit-site-global-styles-screen-revisions__date",
126
172
  dateTime: modified
127
- }, displayDate), (0, _react.createElement)("span", {
173
+ }, displayDate), isSelected && (0, _react.createElement)(ChangesSummary, {
174
+ blockNames: blockNames,
175
+ revision: revision,
176
+ previousRevision: index < userRevisions.length ? userRevisions[index + 1] : {}
177
+ }), (0, _react.createElement)("span", {
128
178
  className: "edit-site-global-styles-screen-revisions__meta"
129
179
  }, (0, _react.createElement)("img", {
130
180
  alt: authorDisplayName,
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_i18n","_components","_date","_coreData","_data","DAY_IN_MILLISECONDS","getRevisionLabel","id","isLatest","authorDisplayName","formattedModifiedDate","__","sprintf","RevisionsButtons","userRevisions","selectedRevisionId","onChange","currentThemeName","currentUser","useSelect","select","getCurrentTheme","getCurrentUser","coreStore","currentTheme","name","rendered","stylesheet","dateNowInMs","getDate","getTime","date","dateFormat","datetimeAbbreviated","getSettings","formats","_react","createElement","className","role","map","revision","index","author","modified","isUnsaved","revisionAuthor","authorAvatar","avatar_urls","isSelected","isReset","modifiedDate","displayDate","dateI18n","humanTimeDiff","revisionLabel","classnames","key","Button","disabled","onClick","label","dateTime","alt","src","_default","exports","default"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-revisions/revisions-buttons.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport { dateI18n, getDate, humanTimeDiff, getSettings } from '@wordpress/date';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\nconst DAY_IN_MILLISECONDS = 60 * 60 * 1000 * 24;\n\n/**\n * Returns a button label for the revision.\n *\n * @param {string|number} id A revision object.\n * @param {boolean} isLatest Whether the revision is the most current.\n * @param {string} authorDisplayName Author name.\n * @param {string} formattedModifiedDate Revision modified date formatted.\n * @return {string} Translated label.\n */\nfunction getRevisionLabel(\n\tid,\n\tisLatest,\n\tauthorDisplayName,\n\tformattedModifiedDate\n) {\n\tif ( 'parent' === id ) {\n\t\treturn __( 'Reset the styles to the theme defaults' );\n\t}\n\n\tif ( 'unsaved' === id ) {\n\t\treturn sprintf(\n\t\t\t/* translators: %s author display name */\n\t\t\t__( 'Unsaved changes by %s' ),\n\t\t\tauthorDisplayName\n\t\t);\n\t}\n\n\treturn isLatest\n\t\t? sprintf(\n\t\t\t\t/* translators: %1$s author display name, %2$s: revision creation date */\n\t\t\t\t__( 'Changes saved by %1$s on %2$s (current)' ),\n\t\t\t\tauthorDisplayName,\n\t\t\t\tformattedModifiedDate\n\t\t )\n\t\t: sprintf(\n\t\t\t\t/* translators: %1$s author display name, %2$s: revision creation date */\n\t\t\t\t__( 'Changes saved by %1$s on %2$s' ),\n\t\t\t\tauthorDisplayName,\n\t\t\t\tformattedModifiedDate\n\t\t );\n}\n\n/**\n * Returns a rendered list of revisions buttons.\n *\n * @typedef {Object} props\n * @property {Array<Object>} userRevisions A collection of user revisions.\n * @property {number} selectedRevisionId The id of the currently-selected revision.\n * @property {Function} onChange Callback fired when a revision is selected.\n *\n * @param {props} Component props.\n * @return {JSX.Element} The modal component.\n */\nfunction RevisionsButtons( { userRevisions, selectedRevisionId, onChange } ) {\n\tconst { currentThemeName, currentUser } = useSelect( ( select ) => {\n\t\tconst { getCurrentTheme, getCurrentUser } = select( coreStore );\n\t\tconst currentTheme = getCurrentTheme();\n\t\treturn {\n\t\t\tcurrentThemeName:\n\t\t\t\tcurrentTheme?.name?.rendered || currentTheme?.stylesheet,\n\t\t\tcurrentUser: getCurrentUser(),\n\t\t};\n\t}, [] );\n\tconst dateNowInMs = getDate().getTime();\n\tconst { date: dateFormat, datetimeAbbreviated } = getSettings().formats;\n\n\treturn (\n\t\t<ol\n\t\t\tclassName=\"edit-site-global-styles-screen-revisions__revisions-list\"\n\t\t\taria-label={ __( 'Global styles revisions' ) }\n\t\t\trole=\"group\"\n\t\t>\n\t\t\t{ userRevisions.map( ( revision, index ) => {\n\t\t\t\tconst { id, isLatest, author, modified } = revision;\n\t\t\t\tconst isUnsaved = 'unsaved' === id;\n\t\t\t\t// Unsaved changes are created by the current user.\n\t\t\t\tconst revisionAuthor = isUnsaved ? currentUser : author;\n\t\t\t\tconst authorDisplayName = revisionAuthor?.name || __( 'User' );\n\t\t\t\tconst authorAvatar = revisionAuthor?.avatar_urls?.[ '48' ];\n\t\t\t\tconst isSelected = selectedRevisionId\n\t\t\t\t\t? selectedRevisionId === id\n\t\t\t\t\t: index === 0;\n\t\t\t\tconst isReset = 'parent' === id;\n\t\t\t\tconst modifiedDate = getDate( modified );\n\t\t\t\tconst displayDate =\n\t\t\t\t\tmodified &&\n\t\t\t\t\tdateNowInMs - modifiedDate.getTime() > DAY_IN_MILLISECONDS\n\t\t\t\t\t\t? dateI18n( dateFormat, modifiedDate )\n\t\t\t\t\t\t: humanTimeDiff( modified );\n\t\t\t\tconst revisionLabel = getRevisionLabel(\n\t\t\t\t\tid,\n\t\t\t\t\tisLatest,\n\t\t\t\t\tauthorDisplayName,\n\t\t\t\t\tdateI18n( datetimeAbbreviated, modifiedDate )\n\t\t\t\t);\n\n\t\t\t\treturn (\n\t\t\t\t\t<li\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'edit-site-global-styles-screen-revisions__revision-item',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'is-selected': isSelected,\n\t\t\t\t\t\t\t\t'is-reset': isReset,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__revision-button\"\n\t\t\t\t\t\t\tdisabled={ isSelected }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonChange( revision );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tlabel={ revisionLabel }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isReset ? (\n\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__description\">\n\t\t\t\t\t\t\t\t\t{ __( 'Default styles' ) }\n\t\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__meta\">\n\t\t\t\t\t\t\t\t\t\t{ currentThemeName }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__description\">\n\t\t\t\t\t\t\t\t\t{ isUnsaved ? (\n\t\t\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__date\">\n\t\t\t\t\t\t\t\t\t\t\t{ __( '(Unsaved)' ) }\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<time\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__date\"\n\t\t\t\t\t\t\t\t\t\t\tdateTime={ modified }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ displayDate }\n\t\t\t\t\t\t\t\t\t\t</time>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__meta\">\n\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\talt={ authorDisplayName }\n\t\t\t\t\t\t\t\t\t\t\tsrc={ authorAvatar }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t{ authorDisplayName }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</li>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ol>\n\t);\n}\n\nexport default RevisionsButtons;\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AAZA;AACA;AACA;;AAGA;AACA;AACA;;AAOA,MAAMM,mBAAmB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,gBAAgBA,CACxBC,EAAE,EACFC,QAAQ,EACRC,iBAAiB,EACjBC,qBAAqB,EACpB;EACD,IAAK,QAAQ,KAAKH,EAAE,EAAG;IACtB,OAAO,IAAAI,QAAE,EAAE,wCAAyC,CAAC;EACtD;EAEA,IAAK,SAAS,KAAKJ,EAAE,EAAG;IACvB,OAAO,IAAAK,aAAO,GACb;IACA,IAAAD,QAAE,EAAE,uBAAwB,CAAC,EAC7BF,iBACD,CAAC;EACF;EAEA,OAAOD,QAAQ,GACZ,IAAAI,aAAO,GACP;EACA,IAAAD,QAAE,EAAE,yCAA0C,CAAC,EAC/CF,iBAAiB,EACjBC,qBACA,CAAC,GACD,IAAAE,aAAO,GACP;EACA,IAAAD,QAAE,EAAE,+BAAgC,CAAC,EACrCF,iBAAiB,EACjBC,qBACA,CAAC;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASG,gBAAgBA,CAAE;EAAEC,aAAa;EAAEC,kBAAkB;EAAEC;AAAS,CAAC,EAAG;EAC5E,MAAM;IAAEC,gBAAgB;IAAEC;EAAY,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAClE,MAAM;MAAEC,eAAe;MAAEC;IAAe,CAAC,GAAGF,MAAM,CAAEG,eAAU,CAAC;IAC/D,MAAMC,YAAY,GAAGH,eAAe,CAAC,CAAC;IACtC,OAAO;MACNJ,gBAAgB,EACfO,YAAY,EAAEC,IAAI,EAAEC,QAAQ,IAAIF,YAAY,EAAEG,UAAU;MACzDT,WAAW,EAAEI,cAAc,CAAC;IAC7B,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAMM,WAAW,GAAG,IAAAC,aAAO,EAAC,CAAC,CAACC,OAAO,CAAC,CAAC;EACvC,MAAM;IAAEC,IAAI,EAAEC,UAAU;IAAEC;EAAoB,CAAC,GAAG,IAAAC,iBAAW,EAAC,CAAC,CAACC,OAAO;EAEvE,OACC,IAAAC,MAAA,CAAAC,aAAA;IACCC,SAAS,EAAC,0DAA0D;IACpE,cAAa,IAAA3B,QAAE,EAAE,yBAA0B,CAAG;IAC9C4B,IAAI,EAAC;EAAO,GAEVzB,aAAa,CAAC0B,GAAG,CAAE,CAAEC,QAAQ,EAAEC,KAAK,KAAM;IAC3C,MAAM;MAAEnC,EAAE;MAAEC,QAAQ;MAAEmC,MAAM;MAAEC;IAAS,CAAC,GAAGH,QAAQ;IACnD,MAAMI,SAAS,GAAG,SAAS,KAAKtC,EAAE;IAClC;IACA,MAAMuC,cAAc,GAAGD,SAAS,GAAG3B,WAAW,GAAGyB,MAAM;IACvD,MAAMlC,iBAAiB,GAAGqC,cAAc,EAAErB,IAAI,IAAI,IAAAd,QAAE,EAAE,MAAO,CAAC;IAC9D,MAAMoC,YAAY,GAAGD,cAAc,EAAEE,WAAW,GAAI,IAAI,CAAE;IAC1D,MAAMC,UAAU,GAAGlC,kBAAkB,GAClCA,kBAAkB,KAAKR,EAAE,GACzBmC,KAAK,KAAK,CAAC;IACd,MAAMQ,OAAO,GAAG,QAAQ,KAAK3C,EAAE;IAC/B,MAAM4C,YAAY,GAAG,IAAAtB,aAAO,EAAEe,QAAS,CAAC;IACxC,MAAMQ,WAAW,GAChBR,QAAQ,IACRhB,WAAW,GAAGuB,YAAY,CAACrB,OAAO,CAAC,CAAC,GAAGzB,mBAAmB,GACvD,IAAAgD,cAAQ,EAAErB,UAAU,EAAEmB,YAAa,CAAC,GACpC,IAAAG,mBAAa,EAAEV,QAAS,CAAC;IAC7B,MAAMW,aAAa,GAAGjD,gBAAgB,CACrCC,EAAE,EACFC,QAAQ,EACRC,iBAAiB,EACjB,IAAA4C,cAAQ,EAAEpB,mBAAmB,EAAEkB,YAAa,CAC7C,CAAC;IAED,OACC,IAAAf,MAAA,CAAAC,aAAA;MACCC,SAAS,EAAG,IAAAkB,mBAAU,EACrB,yDAAyD,EACzD;QACC,aAAa,EAAEP,UAAU;QACzB,UAAU,EAAEC;MACb,CACD,CAAG;MACHO,GAAG,EAAGlD;IAAI,GAEV,IAAA6B,MAAA,CAAAC,aAAA,EAACpC,WAAA,CAAAyD,MAAM;MACNpB,SAAS,EAAC,2DAA2D;MACrEqB,QAAQ,EAAGV,UAAY;MACvBW,OAAO,EAAGA,CAAA,KAAM;QACf5C,QAAQ,CAAEyB,QAAS,CAAC;MACrB,CAAG;MACHoB,KAAK,EAAGN;IAAe,GAErBL,OAAO,GACR,IAAAd,MAAA,CAAAC,aAAA;MAAMC,SAAS,EAAC;IAAuD,GACpE,IAAA3B,QAAE,EAAE,gBAAiB,CAAC,EACxB,IAAAyB,MAAA,CAAAC,aAAA;MAAMC,SAAS,EAAC;IAAgD,GAC7DrB,gBACG,CACD,CAAC,GAEP,IAAAmB,MAAA,CAAAC,aAAA;MAAMC,SAAS,EAAC;IAAuD,GACpEO,SAAS,GACV,IAAAT,MAAA,CAAAC,aAAA;MAAMC,SAAS,EAAC;IAAgD,GAC7D,IAAA3B,QAAE,EAAE,WAAY,CACb,CAAC,GAEP,IAAAyB,MAAA,CAAAC,aAAA;MACCC,SAAS,EAAC,gDAAgD;MAC1DwB,QAAQ,EAAGlB;IAAU,GAEnBQ,WACG,CACN,EACD,IAAAhB,MAAA,CAAAC,aAAA;MAAMC,SAAS,EAAC;IAAgD,GAC/D,IAAAF,MAAA,CAAAC,aAAA;MACC0B,GAAG,EAAGtD,iBAAmB;MACzBuD,GAAG,EAAGjB;IAAc,CACpB,CAAC,EACAtC,iBACG,CACD,CAEA,CACL,CAAC;EAEP,CAAE,CACC,CAAC;AAEP;AAAC,IAAAwD,QAAA,GAEcpD,gBAAgB;AAAAqD,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_i18n","_components","_date","_coreData","_data","_element","_blocks","_getRevisionChanges","DAY_IN_MILLISECONDS","MAX_CHANGES","ChangesSummary","revision","previousRevision","blockNames","changes","getRevisionChanges","changesLength","length","deleteCount","andMoreText","sprintf","_n","splice","_react","createElement","className","join","getRevisionLabel","id","authorDisplayName","formattedModifiedDate","areStylesEqual","__","RevisionsButtons","userRevisions","selectedRevisionId","onChange","canApplyRevision","currentThemeName","currentUser","useSelect","select","getCurrentTheme","getCurrentUser","coreStore","currentTheme","name","rendered","stylesheet","useMemo","blockTypes","getBlockTypes","reduce","accumulator","title","dateNowInMs","getDate","getTime","datetimeAbbreviated","getSettings","formats","role","map","index","author","modified","isUnsaved","revisionAuthor","authorAvatar","avatar_urls","isFirstItem","isSelected","isReset","modifiedDate","displayDate","dateI18n","humanTimeDiff","revisionLabel","classnames","key","Button","disabled","onClick","dateTime","alt","src","_default","exports","default"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-revisions/revisions-buttons.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport { dateI18n, getDate, humanTimeDiff, getSettings } from '@wordpress/date';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { getBlockTypes } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport getRevisionChanges from './get-revision-changes';\n\nconst DAY_IN_MILLISECONDS = 60 * 60 * 1000 * 24;\nconst MAX_CHANGES = 7;\n\nfunction ChangesSummary( { revision, previousRevision, blockNames } ) {\n\tconst changes = getRevisionChanges(\n\t\trevision,\n\t\tpreviousRevision,\n\t\tblockNames\n\t);\n\tconst changesLength = changes.length;\n\n\tif ( ! changesLength ) {\n\t\treturn null;\n\t}\n\n\t// Truncate to `n` results if necessary.\n\tif ( changesLength > MAX_CHANGES ) {\n\t\tconst deleteCount = changesLength - MAX_CHANGES;\n\t\tconst andMoreText = sprintf(\n\t\t\t// translators: %d: number of global styles changes that are not displayed in the UI.\n\t\t\t_n( '…and %d more change.', '…and %d more changes.', deleteCount ),\n\t\t\tdeleteCount\n\t\t);\n\t\tchanges.splice( MAX_CHANGES, deleteCount, andMoreText );\n\t}\n\n\treturn (\n\t\t<span\n\t\t\tdata-testid=\"global-styles-revision-changes\"\n\t\t\tclassName=\"edit-site-global-styles-screen-revisions__changes\"\n\t\t>\n\t\t\t{ changes.join( ', ' ) }\n\t\t</span>\n\t);\n}\n\n/**\n * Returns a button label for the revision.\n *\n * @param {string|number} id A revision object.\n * @param {string} authorDisplayName Author name.\n * @param {string} formattedModifiedDate Revision modified date formatted.\n * @param {boolean} areStylesEqual Whether the revision matches the current editor styles.\n * @return {string} Translated label.\n */\nfunction getRevisionLabel(\n\tid,\n\tauthorDisplayName,\n\tformattedModifiedDate,\n\tareStylesEqual\n) {\n\tif ( 'parent' === id ) {\n\t\treturn __( 'Reset the styles to the theme defaults' );\n\t}\n\n\tif ( 'unsaved' === id ) {\n\t\treturn sprintf(\n\t\t\t/* translators: %s: author display name */\n\t\t\t__( 'Unsaved changes by %s' ),\n\t\t\tauthorDisplayName\n\t\t);\n\t}\n\n\treturn areStylesEqual\n\t\t? sprintf(\n\t\t\t\t// translators: %1$s: author display name, %2$s: revision creation date.\n\t\t\t\t__(\n\t\t\t\t\t'Changes saved by %1$s on %2$s. This revision matches current editor styles.'\n\t\t\t\t),\n\t\t\t\tauthorDisplayName,\n\t\t\t\tformattedModifiedDate\n\t\t )\n\t\t: sprintf(\n\t\t\t\t// translators: %1$s: author display name, %2$s: revision creation date.\n\t\t\t\t__( 'Changes saved by %1$s on %2$s' ),\n\t\t\t\tauthorDisplayName,\n\t\t\t\tformattedModifiedDate\n\t\t );\n}\n\n/**\n * Returns a rendered list of revisions buttons.\n *\n * @typedef {Object} props\n * @property {Array<Object>} userRevisions A collection of user revisions.\n * @property {number} selectedRevisionId The id of the currently-selected revision.\n * @property {Function} onChange Callback fired when a revision is selected.\n *\n * @param {props} Component props.\n * @return {JSX.Element} The modal component.\n */\nfunction RevisionsButtons( {\n\tuserRevisions,\n\tselectedRevisionId,\n\tonChange,\n\tcanApplyRevision,\n} ) {\n\tconst { currentThemeName, currentUser } = useSelect( ( select ) => {\n\t\tconst { getCurrentTheme, getCurrentUser } = select( coreStore );\n\t\tconst currentTheme = getCurrentTheme();\n\t\treturn {\n\t\t\tcurrentThemeName:\n\t\t\t\tcurrentTheme?.name?.rendered || currentTheme?.stylesheet,\n\t\t\tcurrentUser: getCurrentUser(),\n\t\t};\n\t}, [] );\n\tconst blockNames = useMemo( () => {\n\t\tconst blockTypes = getBlockTypes();\n\t\treturn blockTypes.reduce( ( accumulator, { name, title } ) => {\n\t\t\taccumulator[ name ] = title;\n\t\t\treturn accumulator;\n\t\t}, {} );\n\t}, [] );\n\tconst dateNowInMs = getDate().getTime();\n\tconst { datetimeAbbreviated } = getSettings().formats;\n\n\treturn (\n\t\t<ol\n\t\t\tclassName=\"edit-site-global-styles-screen-revisions__revisions-list\"\n\t\t\taria-label={ __( 'Global styles revisions' ) }\n\t\t\trole=\"group\"\n\t\t>\n\t\t\t{ userRevisions.map( ( revision, index ) => {\n\t\t\t\tconst { id, author, modified } = revision;\n\t\t\t\tconst isUnsaved = 'unsaved' === id;\n\t\t\t\t// Unsaved changes are created by the current user.\n\t\t\t\tconst revisionAuthor = isUnsaved ? currentUser : author;\n\t\t\t\tconst authorDisplayName = revisionAuthor?.name || __( 'User' );\n\t\t\t\tconst authorAvatar = revisionAuthor?.avatar_urls?.[ '48' ];\n\t\t\t\tconst isFirstItem = index === 0;\n\t\t\t\tconst isSelected = selectedRevisionId\n\t\t\t\t\t? selectedRevisionId === id\n\t\t\t\t\t: isFirstItem;\n\t\t\t\tconst areStylesEqual = ! canApplyRevision && isSelected;\n\t\t\t\tconst isReset = 'parent' === id;\n\t\t\t\tconst modifiedDate = getDate( modified );\n\t\t\t\tconst displayDate =\n\t\t\t\t\tmodified &&\n\t\t\t\t\tdateNowInMs - modifiedDate.getTime() > DAY_IN_MILLISECONDS\n\t\t\t\t\t\t? dateI18n( datetimeAbbreviated, modifiedDate )\n\t\t\t\t\t\t: humanTimeDiff( modified );\n\t\t\t\tconst revisionLabel = getRevisionLabel(\n\t\t\t\t\tid,\n\t\t\t\t\tauthorDisplayName,\n\t\t\t\t\tdateI18n( datetimeAbbreviated, modifiedDate ),\n\t\t\t\t\tareStylesEqual\n\t\t\t\t);\n\n\t\t\t\treturn (\n\t\t\t\t\t<li\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'edit-site-global-styles-screen-revisions__revision-item',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'is-selected': isSelected,\n\t\t\t\t\t\t\t\t'is-active': areStylesEqual,\n\t\t\t\t\t\t\t\t'is-reset': isReset,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__revision-button\"\n\t\t\t\t\t\t\tdisabled={ isSelected }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonChange( revision );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\taria-label={ revisionLabel }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isReset ? (\n\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__description\">\n\t\t\t\t\t\t\t\t\t{ __( 'Default styles' ) }\n\t\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__meta\">\n\t\t\t\t\t\t\t\t\t\t{ currentThemeName }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__description\">\n\t\t\t\t\t\t\t\t\t{ isUnsaved ? (\n\t\t\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__date\">\n\t\t\t\t\t\t\t\t\t\t\t{ __( '(Unsaved)' ) }\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<time\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__date\"\n\t\t\t\t\t\t\t\t\t\t\tdateTime={ modified }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ displayDate }\n\t\t\t\t\t\t\t\t\t\t</time>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ isSelected && (\n\t\t\t\t\t\t\t\t\t\t<ChangesSummary\n\t\t\t\t\t\t\t\t\t\t\tblockNames={ blockNames }\n\t\t\t\t\t\t\t\t\t\t\trevision={ revision }\n\t\t\t\t\t\t\t\t\t\t\tpreviousRevision={\n\t\t\t\t\t\t\t\t\t\t\t\tindex < userRevisions.length\n\t\t\t\t\t\t\t\t\t\t\t\t\t? userRevisions[ index + 1 ]\n\t\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\t\t<span className=\"edit-site-global-styles-screen-revisions__meta\">\n\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\talt={ authorDisplayName }\n\t\t\t\t\t\t\t\t\t\t\tsrc={ authorAvatar }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t{ authorDisplayName }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</li>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ol>\n\t);\n}\n\nexport default RevisionsButtons;\n"],"mappings":"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"}
@@ -14,6 +14,7 @@ var _i18n = require("@wordpress/i18n");
14
14
  var _icons = require("@wordpress/icons");
15
15
  var _components = require("@wordpress/components");
16
16
  var _keyboardShortcuts = require("@wordpress/keyboard-shortcuts");
17
+ var _editor = require("@wordpress/editor");
17
18
  var _undo = _interopRequireDefault(require("../undo-redo/undo"));
18
19
  var _redo = _interopRequireDefault(require("../undo-redo/redo"));
19
20
  var _store = require("../../../store");
@@ -47,7 +48,6 @@ function DocumentTools({
47
48
  isVisualMode
48
49
  } = (0, _data.useSelect)(select => {
49
50
  const {
50
- __experimentalGetPreviewDeviceType,
51
51
  isInserterOpened,
52
52
  isListViewOpened,
53
53
  getEditorMode
@@ -56,7 +56,6 @@ function DocumentTools({
56
56
  getShortcutRepresentation
57
57
  } = select(_keyboardShortcuts.store);
58
58
  return {
59
- deviceType: __experimentalGetPreviewDeviceType(),
60
59
  isInserterOpen: isInserterOpened(),
61
60
  isListViewOpen: isListViewOpened(),
62
61
  listViewShortcut: getShortcutRepresentation('core/edit-site/toggle-list-view'),
@@ -64,13 +63,15 @@ function DocumentTools({
64
63
  };
65
64
  }, []);
66
65
  const {
67
- __experimentalSetPreviewDeviceType: setPreviewDeviceType,
68
66
  setIsInserterOpened,
69
67
  setIsListViewOpened
70
68
  } = (0, _data.useDispatch)(_store.store);
71
69
  const {
72
70
  __unstableSetEditorMode
73
71
  } = (0, _data.useDispatch)(_blockEditor.store);
72
+ const {
73
+ setDeviceType
74
+ } = (0, _data.useDispatch)(_editor.store);
74
75
  const isLargeViewport = (0, _compose.useViewportMatch)('medium');
75
76
  const toggleInserter = (0, _element.useCallback)(() => {
76
77
  if (isInserterOpen) {
@@ -116,20 +117,24 @@ function DocumentTools({
116
117
  icon: _icons.plus,
117
118
  label: showIconLabels ? shortLabel : longLabel,
118
119
  showTooltip: !showIconLabels,
119
- "aria-expanded": isInserterOpen
120
+ "aria-expanded": isInserterOpen,
121
+ size: "compact"
120
122
  }), isLargeViewport && (0, _react.createElement)(_react.Fragment, null, !hasFixedToolbar && (0, _react.createElement)(_components.ToolbarItem, {
121
123
  as: _blockEditor.ToolSelector,
122
124
  showTooltip: !showIconLabels,
123
125
  variant: showIconLabels ? 'tertiary' : undefined,
124
- disabled: !isVisualMode
126
+ disabled: !isVisualMode,
127
+ size: "compact"
125
128
  }), (0, _react.createElement)(_components.ToolbarItem, {
126
129
  as: _undo.default,
127
130
  showTooltip: !showIconLabels,
128
- variant: showIconLabels ? 'tertiary' : undefined
131
+ variant: showIconLabels ? 'tertiary' : undefined,
132
+ size: "compact"
129
133
  }), (0, _react.createElement)(_components.ToolbarItem, {
130
134
  as: _redo.default,
131
135
  showTooltip: !showIconLabels,
132
- variant: showIconLabels ? 'tertiary' : undefined
136
+ variant: showIconLabels ? 'tertiary' : undefined,
137
+ size: "compact"
133
138
  }), !isDistractionFree && (0, _react.createElement)(_components.ToolbarItem, {
134
139
  as: _components.Button,
135
140
  className: "edit-site-header-edit-mode__list-view-toggle",
@@ -143,7 +148,8 @@ function DocumentTools({
143
148
  shortcut: listViewShortcut,
144
149
  showTooltip: !showIconLabels,
145
150
  variant: showIconLabels ? 'tertiary' : undefined,
146
- "aria-expanded": isListViewOpen
151
+ "aria-expanded": isListViewOpen,
152
+ size: "compact"
147
153
  }), isZoomedOutViewExperimentEnabled && !isDistractionFree && !hasFixedToolbar && (0, _react.createElement)(_components.ToolbarItem, {
148
154
  as: _components.Button,
149
155
  className: "edit-site-header-edit-mode__zoom-out-view-toggle",
@@ -152,9 +158,10 @@ function DocumentTools({
152
158
  /* translators: button label text should, if possible, be under 16 characters. */,
153
159
  label: (0, _i18n.__)('Zoom-out View'),
154
160
  onClick: () => {
155
- setPreviewDeviceType('Desktop');
161
+ setDeviceType('Desktop');
156
162
  __unstableSetEditorMode(isZoomedOutView ? 'edit' : 'zoom-out');
157
- }
163
+ },
164
+ size: "compact"
158
165
  }))));
159
166
  }
160
167
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_compose","_blockEditor","_data","_i18n","_icons","_components","_keyboardShortcuts","_undo","_interopRequireDefault","_redo","_store","_lockUnlock","useShouldContextualToolbarShow","unlock","blockEditorPrivateApis","preventDefault","event","DocumentTools","blockEditorMode","hasFixedToolbar","isDistractionFree","showIconLabels","setListViewToggleElement","inserterButton","useRef","isInserterOpen","isListViewOpen","listViewShortcut","isVisualMode","useSelect","select","__experimentalGetPreviewDeviceType","isInserterOpened","isListViewOpened","getEditorMode","editSiteStore","getShortcutRepresentation","keyboardShortcutsStore","deviceType","__experimentalSetPreviewDeviceType","setPreviewDeviceType","setIsInserterOpened","setIsListViewOpened","useDispatch","__unstableSetEditorMode","blockEditorStore","isLargeViewport","useViewportMatch","toggleInserter","useCallback","current","focus","toggleListView","shouldShowContextualToolbar","canFocusHiddenToolbar","fixedToolbarCanBeFocused","blockToolbarCanBeFocused","longLabel","_x","shortLabel","__","isZoomedOutViewExperimentEnabled","window","__experimentalEnableZoomedOutView","isZoomedOutView","_react","createElement","NavigableToolbar","className","shouldUseKeyboardFocusShortcut","ToolbarItem","ref","as","Button","variant","isPressed","onMouseDown","onClick","disabled","icon","plus","label","showTooltip","Fragment","ToolSelector","undefined","UndoButton","RedoButton","listView","shortcut","chevronUpDown"],"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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"}
1
+ {"version":3,"names":["_element","require","_compose","_blockEditor","_data","_i18n","_icons","_components","_keyboardShortcuts","_editor","_undo","_interopRequireDefault","_redo","_store","_lockUnlock","useShouldContextualToolbarShow","unlock","blockEditorPrivateApis","preventDefault","event","DocumentTools","blockEditorMode","hasFixedToolbar","isDistractionFree","showIconLabels","setListViewToggleElement","inserterButton","useRef","isInserterOpen","isListViewOpen","listViewShortcut","isVisualMode","useSelect","select","isInserterOpened","isListViewOpened","getEditorMode","editSiteStore","getShortcutRepresentation","keyboardShortcutsStore","setIsInserterOpened","setIsListViewOpened","useDispatch","__unstableSetEditorMode","blockEditorStore","setDeviceType","editorStore","isLargeViewport","useViewportMatch","toggleInserter","useCallback","current","focus","toggleListView","shouldShowContextualToolbar","canFocusHiddenToolbar","fixedToolbarCanBeFocused","blockToolbarCanBeFocused","longLabel","_x","shortLabel","__","isZoomedOutViewExperimentEnabled","window","__experimentalEnableZoomedOutView","isZoomedOutView","_react","createElement","NavigableToolbar","className","shouldUseKeyboardFocusShortcut","ToolbarItem","ref","as","Button","variant","isPressed","onMouseDown","onClick","disabled","icon","plus","label","showTooltip","size","Fragment","ToolSelector","undefined","UndoButton","RedoButton","listView","shortcut","chevronUpDown"],"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';\nimport { store as editorStore } from '@wordpress/editor';\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 { isInserterOpened, isListViewOpened, getEditorMode } =\n\t\t\t\tselect( 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\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 { setIsInserterOpened, setIsListViewOpened } =\n\t\tuseDispatch( editSiteStore );\n\tconst { __unstableSetEditorMode } = useDispatch( blockEditorStore );\n\tconst { setDeviceType } = useDispatch( editorStore );\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\tsize=\"compact\"\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\tsize=\"compact\"\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\tsize=\"compact\"\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\tsize=\"compact\"\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\tsize=\"compact\"\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\tsetDeviceType( '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\tsize=\"compact\"\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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"}
@@ -8,7 +8,6 @@ exports.default = HeaderEditMode;
8
8
  var _react = require("react");
9
9
  var _classnames = _interopRequireDefault(require("classnames"));
10
10
  var _compose = require("@wordpress/compose");
11
- var _coreData = require("@wordpress/core-data");
12
11
  var _blockEditor = require("@wordpress/block-editor");
13
12
  var _data = require("@wordpress/data");
14
13
  var _element = require("@wordpress/element");
@@ -17,9 +16,9 @@ var _i18n = require("@wordpress/i18n");
17
16
  var _icons = require("@wordpress/icons");
18
17
  var _components = require("@wordpress/components");
19
18
  var _preferences = require("@wordpress/preferences");
19
+ var _editor = require("@wordpress/editor");
20
20
  var _moreMenu = _interopRequireDefault(require("./more-menu"));
21
21
  var _saveButton = _interopRequireDefault(require("../save-button"));
22
- var _documentActions = _interopRequireDefault(require("./document-actions"));
23
22
  var _documentTools = _interopRequireDefault(require("./document-tools"));
24
23
  var _store = require("../../store");
25
24
  var _editorCanvasContainer = require("../editor-canvas-container");
@@ -38,44 +37,39 @@ var _constants = require("../../utils/constants");
38
37
  */
39
38
 
40
39
  const {
41
- BlockContextualToolbar
42
- } = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
40
+ PreviewDropdown
41
+ } = (0, _lockUnlock.unlock)(_editor.privateApis);
43
42
  function HeaderEditMode({
44
43
  setListViewToggleElement
45
44
  }) {
46
45
  const {
47
- deviceType,
48
46
  templateType,
49
47
  isDistractionFree,
50
48
  blockEditorMode,
51
49
  blockSelectionStart,
52
- homeUrl,
53
50
  showIconLabels,
54
51
  editorCanvasView,
55
52
  hasFixedToolbar,
56
53
  isZoomOutMode
57
54
  } = (0, _data.useSelect)(select => {
58
55
  const {
59
- __experimentalGetPreviewDeviceType,
60
56
  getEditedPostType
61
57
  } = select(_store.store);
62
58
  const {
63
59
  getBlockSelectionStart,
64
60
  __unstableGetEditorMode
65
61
  } = select(_blockEditor.store);
66
- const postType = getEditedPostType();
67
- const {
68
- getUnstableBase // Site index.
69
- } = select(_coreData.store);
70
62
  const {
71
63
  get: getPreference
72
64
  } = select(_preferences.store);
65
+ const {
66
+ getDeviceType
67
+ } = select(_editor.store);
73
68
  return {
74
- deviceType: __experimentalGetPreviewDeviceType(),
75
- templateType: postType,
69
+ deviceType: getDeviceType(),
70
+ templateType: getEditedPostType(),
76
71
  blockEditorMode: __unstableGetEditorMode(),
77
72
  blockSelectionStart: getBlockSelectionStart(),
78
- homeUrl: getUnstableBase()?.home,
79
73
  showIconLabels: getPreference(_store.store.name, 'showIconLabels'),
80
74
  editorCanvasView: (0, _lockUnlock.unlock)(select(_store.store)).getEditorCanvasContainerView(),
81
75
  hasFixedToolbar: getPreference(_store.store.name, 'fixedToolbar'),
@@ -86,9 +80,6 @@ function HeaderEditMode({
86
80
  const isLargeViewport = (0, _compose.useViewportMatch)('medium');
87
81
  const isTopToolbar = !isZoomOutMode && hasFixedToolbar && isLargeViewport;
88
82
  const blockToolbarRef = (0, _element.useRef)();
89
- const {
90
- __experimentalSetPreviewDeviceType: setPreviewDeviceType
91
- } = (0, _data.useDispatch)(_store.store);
92
83
  const disableMotion = (0, _compose.useReducedMotion)();
93
84
  const hasDefaultEditorCanvasView = !(0, _editorCanvasContainer.useHasEditorCanvasContainer)();
94
85
  const isFocusMode = _constants.FOCUSABLE_ENTITIES.includes(templateType);
@@ -137,8 +128,8 @@ function HeaderEditMode({
137
128
  className: (0, _classnames.default)('selected-block-tools-wrapper', {
138
129
  'is-collapsed': isBlockToolsCollapsed
139
130
  })
140
- }, (0, _react.createElement)(BlockContextualToolbar, {
141
- isFixed: true
131
+ }, (0, _react.createElement)(_blockEditor.BlockToolbar, {
132
+ hideDragHandle: true
142
133
  })), (0, _react.createElement)(_components.Popover.Slot, {
143
134
  ref: blockToolbarRef,
144
135
  name: "block-toolbar"
@@ -153,33 +144,20 @@ function HeaderEditMode({
153
144
  className: (0, _classnames.default)('edit-site-header-edit-mode__center', {
154
145
  'is-collapsed': !isBlockToolsCollapsed && isLargeViewport
155
146
  })
156
- }, !hasDefaultEditorCanvasView ? (0, _editorCanvasContainer.getEditorCanvasContainerTitle)(editorCanvasView) : (0, _react.createElement)(_documentActions.default, null)), (0, _react.createElement)("div", {
147
+ }, !hasDefaultEditorCanvasView ? (0, _editorCanvasContainer.getEditorCanvasContainerTitle)(editorCanvasView) : (0, _react.createElement)(_editor.DocumentBar, null)), (0, _react.createElement)("div", {
157
148
  className: "edit-site-header-edit-mode__end"
158
149
  }, (0, _react.createElement)(_components.__unstableMotion.div, {
159
150
  className: "edit-site-header-edit-mode__actions",
160
151
  variants: toolbarVariants,
161
152
  transition: toolbarTransition
162
- }, (0, _react.createElement)("div", {
153
+ }, isLargeViewport && (0, _react.createElement)("div", {
163
154
  className: (0, _classnames.default)('edit-site-header-edit-mode__preview-options', {
164
155
  'is-zoomed-out': isZoomedOutView
165
156
  })
166
- }, (0, _react.createElement)(_blockEditor.__experimentalPreviewOptions, {
167
- deviceType: deviceType,
168
- setDeviceType: setPreviewDeviceType,
169
- label: (0, _i18n.__)('View'),
170
- isEnabled: !isFocusMode && hasDefaultEditorCanvasView,
171
- showIconLabels: showIconLabels
172
- }, ({
173
- onClose
174
- }) => (0, _react.createElement)(_components.MenuGroup, null, (0, _react.createElement)(_components.MenuItem, {
175
- href: homeUrl,
176
- target: "_blank",
177
- icon: _icons.external,
178
- onClick: onClose
179
- }, (0, _i18n.__)('View site'), (0, _react.createElement)(_components.VisuallyHidden, {
180
- as: "span"
181
- }, /* translators: accessibility text */
182
- (0, _i18n.__)('(opens in a new tab)')))))), (0, _react.createElement)(_saveButton.default, null), !isDistractionFree && (0, _react.createElement)(_interface.PinnedItems.Slot, {
157
+ }, (0, _react.createElement)(PreviewDropdown, {
158
+ showIconLabels: showIconLabels,
159
+ disabled: isFocusMode || !hasDefaultEditorCanvasView
160
+ })), (0, _react.createElement)(_saveButton.default, null), !isDistractionFree && (0, _react.createElement)(_interface.PinnedItems.Slot, {
183
161
  scope: "core/edit-site"
184
162
  }), (0, _react.createElement)(_moreMenu.default, {
185
163
  showIconLabels: showIconLabels