@wordpress/edit-site 5.23.0 → 5.24.1

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 (320) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/actions/index.js +56 -38
  3. package/build/components/actions/index.js.map +1 -1
  4. package/build/components/block-editor/site-editor-canvas.js +7 -2
  5. package/build/components/block-editor/site-editor-canvas.js.map +1 -1
  6. package/build/components/dataviews/add-filter.js +21 -20
  7. package/build/components/dataviews/add-filter.js.map +1 -1
  8. package/build/components/dataviews/constants.js +14 -0
  9. package/build/components/dataviews/constants.js.map +1 -0
  10. package/build/components/dataviews/dataviews.js +9 -7
  11. package/build/components/dataviews/dataviews.js.map +1 -1
  12. package/build/components/dataviews/filter-summary.js +62 -0
  13. package/build/components/dataviews/filter-summary.js.map +1 -0
  14. package/build/components/dataviews/filters.js +15 -30
  15. package/build/components/dataviews/filters.js.map +1 -1
  16. package/build/components/dataviews/item-actions.js +84 -30
  17. package/build/components/dataviews/item-actions.js.map +1 -1
  18. package/build/components/dataviews/pagination.js +4 -0
  19. package/build/components/dataviews/pagination.js.map +1 -1
  20. package/build/components/dataviews/view-actions.js +24 -24
  21. package/build/components/dataviews/view-actions.js.map +1 -1
  22. package/build/components/dataviews/view-grid.js +48 -25
  23. package/build/components/dataviews/view-grid.js.map +1 -1
  24. package/build/components/dataviews/view-list.js +28 -33
  25. package/build/components/dataviews/view-list.js.map +1 -1
  26. package/build/components/editor/index.js +23 -27
  27. package/build/components/editor/index.js.map +1 -1
  28. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
  29. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -1
  30. package/build/components/global-styles/font-library-modal/utils/index.js +15 -2
  31. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  32. package/build/components/global-styles/header.js +4 -2
  33. package/build/components/global-styles/header.js.map +1 -1
  34. package/build/components/global-styles/screen-block-list.js +22 -16
  35. package/build/components/global-styles/screen-block-list.js.map +1 -1
  36. package/build/components/global-styles/screen-revisions/index.js +26 -5
  37. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  38. package/build/components/global-styles/screen-revisions/revisions-buttons.js +52 -24
  39. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  40. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +9 -3
  41. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  42. package/build/components/global-styles/ui.js +28 -36
  43. package/build/components/global-styles/ui.js.map +1 -1
  44. package/build/components/header-edit-mode/document-actions/index.js +21 -16
  45. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  46. package/build/components/header-edit-mode/index.js +2 -1
  47. package/build/components/header-edit-mode/index.js.map +1 -1
  48. package/build/components/header-edit-mode/more-menu/index.js +1 -1
  49. package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
  50. package/build/components/list/added-by.js +43 -54
  51. package/build/components/list/added-by.js.map +1 -1
  52. package/build/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +9 -8
  53. package/build/components/page-content-focus-notifications/back-to-page-notification.js.map +1 -0
  54. package/build/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
  55. package/build/components/page-content-focus-notifications/edit-template-notification.js.map +1 -0
  56. package/build/components/page-content-focus-notifications/index.js +22 -0
  57. package/build/components/page-content-focus-notifications/index.js.map +1 -0
  58. package/build/components/page-pages/index.js +9 -15
  59. package/build/components/page-pages/index.js.map +1 -1
  60. package/build/components/page-patterns/use-patterns.js +1 -1
  61. package/build/components/page-patterns/use-patterns.js.map +1 -1
  62. package/build/components/page-templates/dataviews-templates.js +166 -51
  63. package/build/components/page-templates/dataviews-templates.js.map +1 -1
  64. package/build/components/preferences-modal/index.js +1 -1
  65. package/build/components/preferences-modal/index.js.map +1 -1
  66. package/build/components/save-button/index.js +9 -6
  67. package/build/components/save-button/index.js.map +1 -1
  68. package/build/components/save-hub/index.js +14 -0
  69. package/build/components/save-hub/index.js.map +1 -1
  70. package/build/components/sidebar-dataviews/custom-dataviews-list.js +3 -1
  71. package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
  72. package/build/components/sidebar-dataviews/default-views.js +7 -2
  73. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  74. package/build/components/sidebar-edit-mode/index.js +6 -5
  75. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  76. package/build/components/sidebar-edit-mode/page-panels/edit-template.js +15 -26
  77. package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  78. package/build/components/sidebar-edit-mode/page-panels/hooks.js +22 -8
  79. package/build/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
  80. package/build/components/sidebar-edit-mode/page-panels/page-status.js +8 -5
  81. package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  82. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +4 -8
  83. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  84. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +2 -2
  85. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
  86. package/build/components/sidebar-edit-mode/settings-header/index.js +10 -6
  87. package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  88. package/build/components/sidebar-navigation-screen-page/index.js +23 -4
  89. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
  90. package/build/components/style-book/index.js +22 -12
  91. package/build/components/style-book/index.js.map +1 -1
  92. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +41 -9
  93. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  94. package/build/components/welcome-guide/page.js +2 -2
  95. package/build/components/welcome-guide/page.js.map +1 -1
  96. package/build/components/welcome-guide/template.js +6 -3
  97. package/build/components/welcome-guide/template.js.map +1 -1
  98. package/build/hooks/commands/use-edit-mode-commands.js +24 -14
  99. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  100. package/build/store/actions.js +4 -1
  101. package/build/store/actions.js.map +1 -1
  102. package/build/store/private-actions.js +2 -27
  103. package/build/store/private-actions.js.map +1 -1
  104. package/build/store/private-selectors.js +0 -23
  105. package/build/store/private-selectors.js.map +1 -1
  106. package/build/store/reducer.js +1 -40
  107. package/build/store/reducer.js.map +1 -1
  108. package/build/store/selectors.js +8 -4
  109. package/build/store/selectors.js.map +1 -1
  110. package/build/utils/constants.js +1 -12
  111. package/build/utils/constants.js.map +1 -1
  112. package/build-module/components/actions/index.js +55 -36
  113. package/build-module/components/actions/index.js.map +1 -1
  114. package/build-module/components/block-editor/site-editor-canvas.js +7 -2
  115. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
  116. package/build-module/components/dataviews/add-filter.js +21 -20
  117. package/build-module/components/dataviews/add-filter.js.map +1 -1
  118. package/build-module/components/dataviews/constants.js +6 -0
  119. package/build-module/components/dataviews/constants.js.map +1 -0
  120. package/build-module/components/dataviews/dataviews.js +9 -7
  121. package/build-module/components/dataviews/dataviews.js.map +1 -1
  122. package/build-module/components/dataviews/filter-summary.js +55 -0
  123. package/build-module/components/dataviews/filter-summary.js.map +1 -0
  124. package/build-module/components/dataviews/filters.js +15 -28
  125. package/build-module/components/dataviews/filters.js.map +1 -1
  126. package/build-module/components/dataviews/item-actions.js +84 -30
  127. package/build-module/components/dataviews/item-actions.js.map +1 -1
  128. package/build-module/components/dataviews/pagination.js +4 -0
  129. package/build-module/components/dataviews/pagination.js.map +1 -1
  130. package/build-module/components/dataviews/view-actions.js +24 -24
  131. package/build-module/components/dataviews/view-actions.js.map +1 -1
  132. package/build-module/components/dataviews/view-grid.js +49 -26
  133. package/build-module/components/dataviews/view-grid.js.map +1 -1
  134. package/build-module/components/dataviews/view-list.js +28 -33
  135. package/build-module/components/dataviews/view-list.js.map +1 -1
  136. package/build-module/components/editor/index.js +26 -30
  137. package/build-module/components/editor/index.js.map +1 -1
  138. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
  139. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -1
  140. package/build-module/components/global-styles/font-library-modal/utils/index.js +14 -2
  141. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  142. package/build-module/components/global-styles/header.js +4 -2
  143. package/build-module/components/global-styles/header.js.map +1 -1
  144. package/build-module/components/global-styles/screen-block-list.js +23 -17
  145. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  146. package/build-module/components/global-styles/screen-revisions/index.js +27 -6
  147. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  148. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +51 -24
  149. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  150. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +9 -3
  151. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  152. package/build-module/components/global-styles/ui.js +28 -36
  153. package/build-module/components/global-styles/ui.js.map +1 -1
  154. package/build-module/components/header-edit-mode/document-actions/index.js +21 -16
  155. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  156. package/build-module/components/header-edit-mode/index.js +2 -1
  157. package/build-module/components/header-edit-mode/index.js.map +1 -1
  158. package/build-module/components/header-edit-mode/more-menu/index.js +1 -1
  159. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
  160. package/build-module/components/list/added-by.js +44 -55
  161. package/build-module/components/list/added-by.js.map +1 -1
  162. package/build-module/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +9 -8
  163. package/build-module/components/page-content-focus-notifications/back-to-page-notification.js.map +1 -0
  164. package/build-module/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
  165. package/build-module/components/page-content-focus-notifications/edit-template-notification.js.map +1 -0
  166. package/build-module/components/page-content-focus-notifications/index.js +14 -0
  167. package/build-module/components/page-content-focus-notifications/index.js.map +1 -0
  168. package/build-module/components/page-pages/index.js +10 -16
  169. package/build-module/components/page-pages/index.js.map +1 -1
  170. package/build-module/components/page-patterns/use-patterns.js +1 -1
  171. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  172. package/build-module/components/page-templates/dataviews-templates.js +168 -53
  173. package/build-module/components/page-templates/dataviews-templates.js.map +1 -1
  174. package/build-module/components/preferences-modal/index.js +1 -1
  175. package/build-module/components/preferences-modal/index.js.map +1 -1
  176. package/build-module/components/save-button/index.js +11 -8
  177. package/build-module/components/save-button/index.js.map +1 -1
  178. package/build-module/components/save-hub/index.js +14 -0
  179. package/build-module/components/save-hub/index.js.map +1 -1
  180. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +3 -1
  181. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
  182. package/build-module/components/sidebar-dataviews/default-views.js +7 -2
  183. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  184. package/build-module/components/sidebar-edit-mode/index.js +6 -5
  185. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  186. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +16 -27
  187. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  188. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js +21 -7
  189. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
  190. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js +9 -6
  191. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  192. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +5 -9
  193. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  194. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +3 -3
  195. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
  196. package/build-module/components/sidebar-edit-mode/settings-header/index.js +10 -6
  197. package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  198. package/build-module/components/sidebar-navigation-screen-page/index.js +23 -4
  199. package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
  200. package/build-module/components/style-book/index.js +22 -12
  201. package/build-module/components/style-book/index.js.map +1 -1
  202. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +41 -9
  203. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  204. package/build-module/components/welcome-guide/page.js +2 -2
  205. package/build-module/components/welcome-guide/page.js.map +1 -1
  206. package/build-module/components/welcome-guide/template.js +6 -3
  207. package/build-module/components/welcome-guide/template.js.map +1 -1
  208. package/build-module/hooks/commands/use-edit-mode-commands.js +24 -14
  209. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  210. package/build-module/store/actions.js +4 -1
  211. package/build-module/store/actions.js.map +1 -1
  212. package/build-module/store/private-actions.js +1 -25
  213. package/build-module/store/private-actions.js.map +1 -1
  214. package/build-module/store/private-selectors.js +0 -22
  215. package/build-module/store/private-selectors.js.map +1 -1
  216. package/build-module/store/reducer.js +1 -38
  217. package/build-module/store/reducer.js.map +1 -1
  218. package/build-module/store/selectors.js +8 -4
  219. package/build-module/store/selectors.js.map +1 -1
  220. package/build-module/utils/constants.js +0 -10
  221. package/build-module/utils/constants.js.map +1 -1
  222. package/build-style/style-rtl.css +152 -62
  223. package/build-style/style.css +152 -62
  224. package/package.json +41 -41
  225. package/src/components/actions/index.js +76 -48
  226. package/src/components/block-editor/site-editor-canvas.js +8 -2
  227. package/src/components/dataviews/README.md +14 -11
  228. package/src/components/dataviews/add-filter.js +21 -24
  229. package/src/components/dataviews/constants.js +5 -0
  230. package/src/components/dataviews/dataviews.js +10 -10
  231. package/src/components/dataviews/filter-summary.js +79 -0
  232. package/src/components/dataviews/filters.js +18 -35
  233. package/src/components/dataviews/item-actions.js +106 -42
  234. package/src/components/dataviews/pagination.js +4 -0
  235. package/src/components/dataviews/style.scss +84 -8
  236. package/src/components/dataviews/view-actions.js +39 -41
  237. package/src/components/dataviews/view-grid.js +63 -38
  238. package/src/components/dataviews/view-list.js +50 -57
  239. package/src/components/editor/index.js +18 -34
  240. package/src/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
  241. package/src/components/global-styles/font-library-modal/utils/index.js +20 -9
  242. package/src/components/global-styles/font-library-modal/utils/test/getIntersectingFontFaces.spec.js +46 -15
  243. package/src/components/global-styles/font-library-modal/utils/test/wpKebabCase.spec.js +28 -0
  244. package/src/components/global-styles/header.js +2 -1
  245. package/src/components/global-styles/screen-block-list.js +37 -26
  246. package/src/components/global-styles/screen-revisions/index.js +39 -10
  247. package/src/components/global-styles/screen-revisions/revisions-buttons.js +65 -45
  248. package/src/components/global-styles/screen-revisions/style.scss +52 -28
  249. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +15 -6
  250. package/src/components/global-styles/style.scss +0 -11
  251. package/src/components/global-styles/ui.js +59 -74
  252. package/src/components/header-edit-mode/document-actions/index.js +20 -18
  253. package/src/components/header-edit-mode/index.js +1 -0
  254. package/src/components/header-edit-mode/more-menu/index.js +1 -1
  255. package/src/components/list/added-by.js +23 -63
  256. package/src/components/list/style.scss +11 -13
  257. package/src/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +12 -13
  258. package/src/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
  259. package/src/components/page-content-focus-notifications/index.js +14 -0
  260. package/src/components/page-pages/index.js +15 -20
  261. package/src/components/page-patterns/use-patterns.js +1 -1
  262. package/src/components/page-templates/dataviews-templates.js +169 -48
  263. package/src/components/page-templates/style.scss +13 -0
  264. package/src/components/preferences-modal/index.js +1 -1
  265. package/src/components/save-button/index.js +37 -24
  266. package/src/components/save-hub/index.js +15 -0
  267. package/src/components/save-hub/style.scss +7 -0
  268. package/src/components/sidebar-dataviews/custom-dataviews-list.js +2 -0
  269. package/src/components/sidebar-dataviews/default-views.js +7 -2
  270. package/src/components/sidebar-dataviews/style.scss +7 -0
  271. package/src/components/sidebar-edit-mode/index.js +13 -9
  272. package/src/components/sidebar-edit-mode/page-panels/edit-template.js +33 -52
  273. package/src/components/sidebar-edit-mode/page-panels/hooks.js +20 -9
  274. package/src/components/sidebar-edit-mode/page-panels/page-status.js +6 -6
  275. package/src/components/sidebar-edit-mode/page-panels/page-summary.js +8 -9
  276. package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +3 -3
  277. package/src/components/sidebar-edit-mode/page-panels/style.scss +9 -19
  278. package/src/components/sidebar-edit-mode/settings-header/index.js +8 -9
  279. package/src/components/sidebar-navigation-screen/style.scss +1 -0
  280. package/src/components/sidebar-navigation-screen-page/index.js +24 -3
  281. package/src/components/sidebar-navigation-screen-template/style.scss +6 -1
  282. package/src/components/style-book/index.js +48 -35
  283. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +69 -17
  284. package/src/components/welcome-guide/page.js +2 -2
  285. package/src/components/welcome-guide/template.js +4 -2
  286. package/src/hooks/commands/use-edit-mode-commands.js +22 -16
  287. package/src/store/actions.js +5 -1
  288. package/src/store/private-actions.js +1 -24
  289. package/src/store/private-selectors.js +0 -22
  290. package/src/store/reducer.js +0 -39
  291. package/src/store/selectors.js +12 -4
  292. package/src/store/test/actions.js +3 -32
  293. package/src/store/test/reducer.js +0 -62
  294. package/src/store/test/selectors.js +0 -35
  295. package/src/style.scss +1 -0
  296. package/src/utils/constants.js +0 -10
  297. package/build/components/dataviews/in-filter.js +0 -51
  298. package/build/components/dataviews/in-filter.js.map +0 -1
  299. package/build/components/page-content-focus-manager/back-to-page-notification.js.map +0 -1
  300. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -63
  301. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +0 -1
  302. package/build/components/page-content-focus-manager/edit-template-notification.js.map +0 -1
  303. package/build/components/page-content-focus-manager/index.js +0 -61
  304. package/build/components/page-content-focus-manager/index.js.map +0 -1
  305. package/build/components/sidebar-edit-mode/page-panels/publish-date.js +0 -87
  306. package/build/components/sidebar-edit-mode/page-panels/publish-date.js.map +0 -1
  307. package/build-module/components/dataviews/in-filter.js +0 -42
  308. package/build-module/components/dataviews/in-filter.js.map +0 -1
  309. package/build-module/components/page-content-focus-manager/back-to-page-notification.js.map +0 -1
  310. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -56
  311. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +0 -1
  312. package/build-module/components/page-content-focus-manager/edit-template-notification.js.map +0 -1
  313. package/build-module/components/page-content-focus-manager/index.js +0 -52
  314. package/build-module/components/page-content-focus-manager/index.js.map +0 -1
  315. package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js +0 -80
  316. package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js.map +0 -1
  317. package/src/components/dataviews/in-filter.js +0 -63
  318. package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -57
  319. package/src/components/page-content-focus-manager/index.js +0 -51
  320. package/src/components/sidebar-edit-mode/page-panels/publish-date.js +0 -94
@@ -20,25 +20,28 @@ var _data = require("@wordpress/data");
20
20
  * WordPress dependencies
21
21
  */
22
22
 
23
+ const DAY_IN_MILLISECONDS = 60 * 60 * 1000 * 24;
24
+
23
25
  /**
24
26
  * Returns a button label for the revision.
25
27
  *
26
- * @param {Object} revision A revision object.
28
+ * @param {string|number} id A revision object.
29
+ * @param {boolean} isLatest Whether the revision is the most current.
30
+ * @param {string} authorDisplayName Author name.
31
+ * @param {string} formattedModifiedDate Revision modified date formatted.
27
32
  * @return {string} Translated label.
28
33
  */
29
- function getRevisionLabel(revision) {
30
- const authorDisplayName = revision?.author?.name || (0, _i18n.__)('User');
31
- if ('parent' === revision?.id) {
34
+ function getRevisionLabel(id, isLatest, authorDisplayName, formattedModifiedDate) {
35
+ if ('parent' === id) {
32
36
  return (0, _i18n.__)('Reset the styles to the theme defaults');
33
37
  }
34
- if ('unsaved' === revision?.id) {
38
+ if ('unsaved' === id) {
35
39
  return (0, _i18n.sprintf)( /* translators: %s author display name */
36
40
  (0, _i18n.__)('Unsaved changes by %s'), authorDisplayName);
37
41
  }
38
- const formattedDate = (0, _date.dateI18n)((0, _date.getSettings)().formats.datetimeAbbreviated, (0, _date.getDate)(revision?.modified));
39
- return revision?.isLatest ? (0, _i18n.sprintf)( /* translators: %1$s author display name, %2$s: revision creation date */
40
- (0, _i18n.__)('Changes saved by %1$s on %2$s (current)'), authorDisplayName, formattedDate) : (0, _i18n.sprintf)( /* translators: %1$s author display name, %2$s: revision creation date */
41
- (0, _i18n.__)('Changes saved by %1$s on %2$s'), authorDisplayName, formattedDate);
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 */
44
+ (0, _i18n.__)('Changes saved by %1$s on %2$s'), authorDisplayName, formattedModifiedDate);
42
45
  }
43
46
 
44
47
  /**
@@ -57,7 +60,25 @@ function RevisionsButtons({
57
60
  selectedRevisionId,
58
61
  onChange
59
62
  }) {
60
- const currentTheme = (0, _data.useSelect)(select => select(_coreData.store).getCurrentTheme(), []);
63
+ const {
64
+ currentThemeName,
65
+ currentUser
66
+ } = (0, _data.useSelect)(select => {
67
+ const {
68
+ getCurrentTheme,
69
+ getCurrentUser
70
+ } = select(_coreData.store);
71
+ const currentTheme = getCurrentTheme();
72
+ return {
73
+ currentThemeName: currentTheme?.name?.rendered || currentTheme?.stylesheet,
74
+ currentUser: getCurrentUser()
75
+ };
76
+ }, []);
77
+ const dateNowInMs = (0, _date.getDate)().getTime();
78
+ const {
79
+ date: dateFormat,
80
+ datetimeAbbreviated
81
+ } = (0, _date.getSettings)().formats;
61
82
  return (0, _react.createElement)("ol", {
62
83
  className: "edit-site-global-styles-screen-revisions__revisions-list",
63
84
  "aria-label": (0, _i18n.__)('Global styles revisions'),
@@ -65,14 +86,20 @@ function RevisionsButtons({
65
86
  }, userRevisions.map((revision, index) => {
66
87
  const {
67
88
  id,
89
+ isLatest,
68
90
  author,
69
91
  modified
70
92
  } = revision;
71
- const authorDisplayName = author?.name || (0, _i18n.__)('User');
72
- const authorAvatar = author?.avatar_urls?.['48'];
73
- const isUnsaved = 'unsaved' === revision?.id;
74
- const isSelected = selectedRevisionId ? selectedRevisionId === revision?.id : index === 0;
75
- const isReset = 'parent' === revision?.id;
93
+ const isUnsaved = 'unsaved' === id;
94
+ // Unsaved changes are created by the current user.
95
+ const revisionAuthor = isUnsaved ? currentUser : author;
96
+ const authorDisplayName = revisionAuthor?.name || (0, _i18n.__)('User');
97
+ const authorAvatar = revisionAuthor?.avatar_urls?.['48'];
98
+ const isSelected = selectedRevisionId ? selectedRevisionId === id : index === 0;
99
+ const isReset = 'parent' === id;
100
+ 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));
76
103
  return (0, _react.createElement)("li", {
77
104
  className: (0, _classnames.default)('edit-site-global-styles-screen-revisions__revision-item', {
78
105
  'is-selected': isSelected,
@@ -85,23 +112,24 @@ function RevisionsButtons({
85
112
  onClick: () => {
86
113
  onChange(revision);
87
114
  },
88
- label: getRevisionLabel(revision)
115
+ label: revisionLabel
89
116
  }, isReset ? (0, _react.createElement)("span", {
90
117
  className: "edit-site-global-styles-screen-revisions__description"
91
118
  }, (0, _i18n.__)('Default styles'), (0, _react.createElement)("span", {
92
119
  className: "edit-site-global-styles-screen-revisions__meta"
93
- }, currentTheme?.name?.rendered || currentTheme?.stylesheet)) : (0, _react.createElement)("span", {
120
+ }, currentThemeName)) : (0, _react.createElement)("span", {
94
121
  className: "edit-site-global-styles-screen-revisions__description"
95
- }, (0, _react.createElement)("time", {
122
+ }, isUnsaved ? (0, _react.createElement)("span", {
123
+ className: "edit-site-global-styles-screen-revisions__date"
124
+ }, (0, _i18n.__)('(Unsaved)')) : (0, _react.createElement)("time", {
125
+ className: "edit-site-global-styles-screen-revisions__date",
96
126
  dateTime: modified
97
- }, (0, _date.humanTimeDiff)(modified)), (0, _react.createElement)("span", {
127
+ }, displayDate), (0, _react.createElement)("span", {
98
128
  className: "edit-site-global-styles-screen-revisions__meta"
99
- }, isUnsaved ? (0, _i18n.sprintf)( /* translators: %s author display name */
100
- (0, _i18n.__)('Unsaved changes by %s'), authorDisplayName) : (0, _i18n.sprintf)( /* translators: %s author display name */
101
- (0, _i18n.__)('Changes saved by %s'), authorDisplayName), (0, _react.createElement)("img", {
102
- alt: author?.name,
129
+ }, (0, _react.createElement)("img", {
130
+ alt: authorDisplayName,
103
131
  src: authorAvatar
104
- })))));
132
+ }), authorDisplayName))));
105
133
  }));
106
134
  }
107
135
  var _default = RevisionsButtons;
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_i18n","_components","_date","_coreData","_data","getRevisionLabel","revision","authorDisplayName","author","name","__","id","sprintf","formattedDate","dateI18n","getSettings","formats","datetimeAbbreviated","getDate","modified","isLatest","RevisionsButtons","userRevisions","selectedRevisionId","onChange","currentTheme","useSelect","select","coreStore","getCurrentTheme","_react","createElement","className","role","map","index","authorAvatar","avatar_urls","isUnsaved","isSelected","isReset","classnames","key","Button","disabled","onClick","label","rendered","stylesheet","dateTime","humanTimeDiff","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\n/**\n * Returns a button label for the revision.\n *\n * @param {Object} revision A revision object.\n * @return {string} Translated label.\n */\nfunction getRevisionLabel( revision ) {\n\tconst authorDisplayName = revision?.author?.name || __( 'User' );\n\n\tif ( 'parent' === revision?.id ) {\n\t\treturn __( 'Reset the styles to the theme defaults' );\n\t}\n\n\tif ( 'unsaved' === revision?.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\tconst formattedDate = dateI18n(\n\t\tgetSettings().formats.datetimeAbbreviated,\n\t\tgetDate( revision?.modified )\n\t);\n\n\treturn revision?.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\tformattedDate\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\tformattedDate\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 currentTheme = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme(),\n\t\t[]\n\t);\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 authorDisplayName = author?.name || __( 'User' );\n\t\t\t\tconst authorAvatar = author?.avatar_urls?.[ '48' ];\n\t\t\t\tconst isUnsaved = 'unsaved' === revision?.id;\n\t\t\t\tconst isSelected = selectedRevisionId\n\t\t\t\t\t? selectedRevisionId === revision?.id\n\t\t\t\t\t: index === 0;\n\t\t\t\tconst isReset = 'parent' === revision?.id;\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={ getRevisionLabel( revision ) }\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{ currentTheme?.name?.rendered ||\n\t\t\t\t\t\t\t\t\t\t\tcurrentTheme?.stylesheet }\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<time dateTime={ modified }>\n\t\t\t\t\t\t\t\t\t\t{ humanTimeDiff( modified ) }\n\t\t\t\t\t\t\t\t\t</time>\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{ isUnsaved\n\t\t\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s author display name */\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\t\t\t'Unsaved changes by %s'\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\t\tauthorDisplayName\n\t\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s author display name */\n\t\t\t\t\t\t\t\t\t\t\t\t\t__( 'Changes saved by %s' ),\n\t\t\t\t\t\t\t\t\t\t\t\t\tauthorDisplayName\n\t\t\t\t\t\t\t\t\t\t\t ) }\n\n\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\talt={ author?.name }\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</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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"}
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":"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"}
@@ -42,20 +42,26 @@ function useGlobalStylesRevisions() {
42
42
  __experimentalGetDirtyEntityRecords,
43
43
  getCurrentUser,
44
44
  getUsers,
45
- getCurrentThemeGlobalStylesRevisions,
45
+ getRevisions,
46
+ __experimentalGetCurrentGlobalStylesId,
46
47
  isResolving
47
48
  } = select(_coreData.store);
48
49
  const dirtyEntityRecords = __experimentalGetDirtyEntityRecords();
49
50
  const _currentUser = getCurrentUser();
50
51
  const _isDirty = dirtyEntityRecords.length > 0;
51
- const globalStylesRevisions = getCurrentThemeGlobalStylesRevisions() || EMPTY_ARRAY;
52
+ const query = {
53
+ per_page: 100
54
+ };
55
+ const globalStylesId = __experimentalGetCurrentGlobalStylesId();
56
+ const globalStylesRevisions = getRevisions('root', 'globalStyles', globalStylesId, query) || EMPTY_ARRAY;
52
57
  const _authors = getUsers(SITE_EDITOR_AUTHORS_QUERY) || EMPTY_ARRAY;
58
+ const _isResolving = isResolving('getRevisions', ['root', 'globalStyles', globalStylesId, query]);
53
59
  return {
54
60
  authors: _authors,
55
61
  currentUser: _currentUser,
56
62
  isDirty: _isDirty,
57
63
  revisions: globalStylesRevisions,
58
- isLoadingGlobalStylesRevisions: isResolving('getCurrentThemeGlobalStylesRevisions')
64
+ isLoadingGlobalStylesRevisions: _isResolving
59
65
  };
60
66
  }, []);
61
67
  return (0, _element.useMemo)(() => {
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_coreData","_element","_blockEditor","_lockUnlock","SITE_EDITOR_AUTHORS_QUERY","per_page","_fields","context","capabilities","EMPTY_ARRAY","GlobalStylesContext","unlock","blockEditorPrivateApis","useGlobalStylesRevisions","user","userConfig","useContext","authors","currentUser","isDirty","revisions","isLoadingGlobalStylesRevisions","useSelect","select","__experimentalGetDirtyEntityRecords","getCurrentUser","getUsers","getCurrentThemeGlobalStylesRevisions","isResolving","coreStore","dirtyEntityRecords","_currentUser","_isDirty","length","globalStylesRevisions","_authors","useMemo","_modifiedRevisions","hasUnsavedChanges","isLoading","map","revision","author","find","id","isLatest","Object","keys","unsavedRevision","styles","settings","name","avatar_urls","modified","Date","unshift","push"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-revisions/use-global-styles-revisions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useContext, useMemo } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\n\nconst SITE_EDITOR_AUTHORS_QUERY = {\n\tper_page: -1,\n\t_fields: 'id,name,avatar_urls',\n\tcontext: 'view',\n\tcapabilities: [ 'edit_theme_options' ],\n};\nconst EMPTY_ARRAY = [];\nconst { GlobalStylesContext } = unlock( blockEditorPrivateApis );\nexport default function useGlobalStylesRevisions() {\n\tconst { user: userConfig } = useContext( GlobalStylesContext );\n\tconst {\n\t\tauthors,\n\t\tcurrentUser,\n\t\tisDirty,\n\t\trevisions,\n\t\tisLoadingGlobalStylesRevisions,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\tgetCurrentUser,\n\t\t\tgetUsers,\n\t\t\tgetCurrentThemeGlobalStylesRevisions,\n\t\t\tisResolving,\n\t\t} = select( coreStore );\n\t\tconst dirtyEntityRecords = __experimentalGetDirtyEntityRecords();\n\t\tconst _currentUser = getCurrentUser();\n\t\tconst _isDirty = dirtyEntityRecords.length > 0;\n\t\tconst globalStylesRevisions =\n\t\t\tgetCurrentThemeGlobalStylesRevisions() || EMPTY_ARRAY;\n\t\tconst _authors = getUsers( SITE_EDITOR_AUTHORS_QUERY ) || EMPTY_ARRAY;\n\n\t\treturn {\n\t\t\tauthors: _authors,\n\t\t\tcurrentUser: _currentUser,\n\t\t\tisDirty: _isDirty,\n\t\t\trevisions: globalStylesRevisions,\n\t\t\tisLoadingGlobalStylesRevisions: isResolving(\n\t\t\t\t'getCurrentThemeGlobalStylesRevisions'\n\t\t\t),\n\t\t};\n\t}, [] );\n\treturn useMemo( () => {\n\t\tlet _modifiedRevisions = [];\n\t\tif ( ! authors.length || isLoadingGlobalStylesRevisions ) {\n\t\t\treturn {\n\t\t\t\trevisions: _modifiedRevisions,\n\t\t\t\thasUnsavedChanges: isDirty,\n\t\t\t\tisLoading: true,\n\t\t\t};\n\t\t}\n\n\t\t// Adds author details to each revision.\n\t\t_modifiedRevisions = revisions.map( ( revision ) => {\n\t\t\treturn {\n\t\t\t\t...revision,\n\t\t\t\tauthor: authors.find(\n\t\t\t\t\t( author ) => author.id === revision.author\n\t\t\t\t),\n\t\t\t};\n\t\t} );\n\n\t\tif ( _modifiedRevisions.length ) {\n\t\t\t// Flags the most current saved revision.\n\t\t\tif ( _modifiedRevisions[ 0 ].id !== 'unsaved' ) {\n\t\t\t\t_modifiedRevisions[ 0 ].isLatest = true;\n\t\t\t}\n\n\t\t\t// Adds an item for unsaved changes.\n\t\t\tif (\n\t\t\t\tisDirty &&\n\t\t\t\tuserConfig &&\n\t\t\t\tObject.keys( userConfig ).length > 0 &&\n\t\t\t\tcurrentUser\n\t\t\t) {\n\t\t\t\tconst unsavedRevision = {\n\t\t\t\t\tid: 'unsaved',\n\t\t\t\t\tstyles: userConfig?.styles,\n\t\t\t\t\tsettings: userConfig?.settings,\n\t\t\t\t\tauthor: {\n\t\t\t\t\t\tname: currentUser?.name,\n\t\t\t\t\t\tavatar_urls: currentUser?.avatar_urls,\n\t\t\t\t\t},\n\t\t\t\t\tmodified: new Date(),\n\t\t\t\t};\n\n\t\t\t\t_modifiedRevisions.unshift( unsavedRevision );\n\t\t\t}\n\n\t\t\t_modifiedRevisions.push( {\n\t\t\t\tid: 'parent',\n\t\t\t\tstyles: {},\n\t\t\t\tsettings: {},\n\t\t\t} );\n\t\t}\n\n\t\treturn {\n\t\t\trevisions: _modifiedRevisions,\n\t\t\thasUnsavedChanges: isDirty,\n\t\t\tisLoading: false,\n\t\t};\n\t}, [\n\t\tisDirty,\n\t\trevisions,\n\t\tcurrentUser,\n\t\tauthors,\n\t\tuserConfig,\n\t\tisLoadingGlobalStylesRevisions,\n\t] );\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_data","require","_coreData","_element","_blockEditor","_lockUnlock","SITE_EDITOR_AUTHORS_QUERY","per_page","_fields","context","capabilities","EMPTY_ARRAY","GlobalStylesContext","unlock","blockEditorPrivateApis","useGlobalStylesRevisions","user","userConfig","useContext","authors","currentUser","isDirty","revisions","isLoadingGlobalStylesRevisions","useSelect","select","__experimentalGetDirtyEntityRecords","getCurrentUser","getUsers","getRevisions","__experimentalGetCurrentGlobalStylesId","isResolving","coreStore","dirtyEntityRecords","_currentUser","_isDirty","length","query","globalStylesId","globalStylesRevisions","_authors","_isResolving","useMemo","_modifiedRevisions","hasUnsavedChanges","isLoading","map","revision","author","find","id","isLatest","Object","keys","unsavedRevision","styles","settings","name","avatar_urls","modified","Date","unshift","push"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-revisions/use-global-styles-revisions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useContext, useMemo } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\n\nconst SITE_EDITOR_AUTHORS_QUERY = {\n\tper_page: -1,\n\t_fields: 'id,name,avatar_urls',\n\tcontext: 'view',\n\tcapabilities: [ 'edit_theme_options' ],\n};\nconst EMPTY_ARRAY = [];\nconst { GlobalStylesContext } = unlock( blockEditorPrivateApis );\nexport default function useGlobalStylesRevisions() {\n\tconst { user: userConfig } = useContext( GlobalStylesContext );\n\tconst {\n\t\tauthors,\n\t\tcurrentUser,\n\t\tisDirty,\n\t\trevisions,\n\t\tisLoadingGlobalStylesRevisions,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\tgetCurrentUser,\n\t\t\tgetUsers,\n\t\t\tgetRevisions,\n\t\t\t__experimentalGetCurrentGlobalStylesId,\n\t\t\tisResolving,\n\t\t} = select( coreStore );\n\t\tconst dirtyEntityRecords = __experimentalGetDirtyEntityRecords();\n\t\tconst _currentUser = getCurrentUser();\n\t\tconst _isDirty = dirtyEntityRecords.length > 0;\n\t\tconst query = {\n\t\t\tper_page: 100,\n\t\t};\n\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\tconst globalStylesRevisions =\n\t\t\tgetRevisions( 'root', 'globalStyles', globalStylesId, query ) ||\n\t\t\tEMPTY_ARRAY;\n\t\tconst _authors = getUsers( SITE_EDITOR_AUTHORS_QUERY ) || EMPTY_ARRAY;\n\t\tconst _isResolving = isResolving( 'getRevisions', [\n\t\t\t'root',\n\t\t\t'globalStyles',\n\t\t\tglobalStylesId,\n\t\t\tquery,\n\t\t] );\n\t\treturn {\n\t\t\tauthors: _authors,\n\t\t\tcurrentUser: _currentUser,\n\t\t\tisDirty: _isDirty,\n\t\t\trevisions: globalStylesRevisions,\n\t\t\tisLoadingGlobalStylesRevisions: _isResolving,\n\t\t};\n\t}, [] );\n\treturn useMemo( () => {\n\t\tlet _modifiedRevisions = [];\n\t\tif ( ! authors.length || isLoadingGlobalStylesRevisions ) {\n\t\t\treturn {\n\t\t\t\trevisions: _modifiedRevisions,\n\t\t\t\thasUnsavedChanges: isDirty,\n\t\t\t\tisLoading: true,\n\t\t\t};\n\t\t}\n\n\t\t// Adds author details to each revision.\n\t\t_modifiedRevisions = revisions.map( ( revision ) => {\n\t\t\treturn {\n\t\t\t\t...revision,\n\t\t\t\tauthor: authors.find(\n\t\t\t\t\t( author ) => author.id === revision.author\n\t\t\t\t),\n\t\t\t};\n\t\t} );\n\n\t\tif ( _modifiedRevisions.length ) {\n\t\t\t// Flags the most current saved revision.\n\t\t\tif ( _modifiedRevisions[ 0 ].id !== 'unsaved' ) {\n\t\t\t\t_modifiedRevisions[ 0 ].isLatest = true;\n\t\t\t}\n\n\t\t\t// Adds an item for unsaved changes.\n\t\t\tif (\n\t\t\t\tisDirty &&\n\t\t\t\tuserConfig &&\n\t\t\t\tObject.keys( userConfig ).length > 0 &&\n\t\t\t\tcurrentUser\n\t\t\t) {\n\t\t\t\tconst unsavedRevision = {\n\t\t\t\t\tid: 'unsaved',\n\t\t\t\t\tstyles: userConfig?.styles,\n\t\t\t\t\tsettings: userConfig?.settings,\n\t\t\t\t\tauthor: {\n\t\t\t\t\t\tname: currentUser?.name,\n\t\t\t\t\t\tavatar_urls: currentUser?.avatar_urls,\n\t\t\t\t\t},\n\t\t\t\t\tmodified: new Date(),\n\t\t\t\t};\n\n\t\t\t\t_modifiedRevisions.unshift( unsavedRevision );\n\t\t\t}\n\n\t\t\t_modifiedRevisions.push( {\n\t\t\t\tid: 'parent',\n\t\t\t\tstyles: {},\n\t\t\t\tsettings: {},\n\t\t\t} );\n\t\t}\n\n\t\treturn {\n\t\t\trevisions: _modifiedRevisions,\n\t\t\thasUnsavedChanges: isDirty,\n\t\t\tisLoading: false,\n\t\t};\n\t}, [\n\t\tisDirty,\n\t\trevisions,\n\t\tcurrentUser,\n\t\tauthors,\n\t\tuserConfig,\n\t\tisLoadingGlobalStylesRevisions,\n\t] );\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAKA,IAAAI,WAAA,GAAAJ,OAAA;AAXA;AACA;AACA;;AAMA;AACA;AACA;;AAGA,MAAMK,yBAAyB,GAAG;EACjCC,QAAQ,EAAE,CAAC,CAAC;EACZC,OAAO,EAAE,qBAAqB;EAC9BC,OAAO,EAAE,MAAM;EACfC,YAAY,EAAE,CAAE,oBAAoB;AACrC,CAAC;AACD,MAAMC,WAAW,GAAG,EAAE;AACtB,MAAM;EAAEC;AAAoB,CAAC,GAAG,IAAAC,kBAAM,EAAEC,wBAAuB,CAAC;AACjD,SAASC,wBAAwBA,CAAA,EAAG;EAClD,MAAM;IAAEC,IAAI,EAAEC;EAAW,CAAC,GAAG,IAAAC,mBAAU,EAAEN,mBAAoB,CAAC;EAC9D,MAAM;IACLO,OAAO;IACPC,WAAW;IACXC,OAAO;IACPC,SAAS;IACTC;EACD,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC5B,MAAM;MACLC,mCAAmC;MACnCC,cAAc;MACdC,QAAQ;MACRC,YAAY;MACZC,sCAAsC;MACtCC;IACD,CAAC,GAAGN,MAAM,CAAEO,eAAU,CAAC;IACvB,MAAMC,kBAAkB,GAAGP,mCAAmC,CAAC,CAAC;IAChE,MAAMQ,YAAY,GAAGP,cAAc,CAAC,CAAC;IACrC,MAAMQ,QAAQ,GAAGF,kBAAkB,CAACG,MAAM,GAAG,CAAC;IAC9C,MAAMC,KAAK,GAAG;MACb9B,QAAQ,EAAE;IACX,CAAC;IACD,MAAM+B,cAAc,GAAGR,sCAAsC,CAAC,CAAC;IAC/D,MAAMS,qBAAqB,GAC1BV,YAAY,CAAE,MAAM,EAAE,cAAc,EAAES,cAAc,EAAED,KAAM,CAAC,IAC7D1B,WAAW;IACZ,MAAM6B,QAAQ,GAAGZ,QAAQ,CAAEtB,yBAA0B,CAAC,IAAIK,WAAW;IACrE,MAAM8B,YAAY,GAAGV,WAAW,CAAE,cAAc,EAAE,CACjD,MAAM,EACN,cAAc,EACdO,cAAc,EACdD,KAAK,CACJ,CAAC;IACH,OAAO;MACNlB,OAAO,EAAEqB,QAAQ;MACjBpB,WAAW,EAAEc,YAAY;MACzBb,OAAO,EAAEc,QAAQ;MACjBb,SAAS,EAAEiB,qBAAqB;MAChChB,8BAA8B,EAAEkB;IACjC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,OAAO,IAAAC,gBAAO,EAAE,MAAM;IACrB,IAAIC,kBAAkB,GAAG,EAAE;IAC3B,IAAK,CAAExB,OAAO,CAACiB,MAAM,IAAIb,8BAA8B,EAAG;MACzD,OAAO;QACND,SAAS,EAAEqB,kBAAkB;QAC7BC,iBAAiB,EAAEvB,OAAO;QAC1BwB,SAAS,EAAE;MACZ,CAAC;IACF;;IAEA;IACAF,kBAAkB,GAAGrB,SAAS,CAACwB,GAAG,CAAIC,QAAQ,IAAM;MACnD,OAAO;QACN,GAAGA,QAAQ;QACXC,MAAM,EAAE7B,OAAO,CAAC8B,IAAI,CACjBD,MAAM,IAAMA,MAAM,CAACE,EAAE,KAAKH,QAAQ,CAACC,MACtC;MACD,CAAC;IACF,CAAE,CAAC;IAEH,IAAKL,kBAAkB,CAACP,MAAM,EAAG;MAChC;MACA,IAAKO,kBAAkB,CAAE,CAAC,CAAE,CAACO,EAAE,KAAK,SAAS,EAAG;QAC/CP,kBAAkB,CAAE,CAAC,CAAE,CAACQ,QAAQ,GAAG,IAAI;MACxC;;MAEA;MACA,IACC9B,OAAO,IACPJ,UAAU,IACVmC,MAAM,CAACC,IAAI,CAAEpC,UAAW,CAAC,CAACmB,MAAM,GAAG,CAAC,IACpChB,WAAW,EACV;QACD,MAAMkC,eAAe,GAAG;UACvBJ,EAAE,EAAE,SAAS;UACbK,MAAM,EAAEtC,UAAU,EAAEsC,MAAM;UAC1BC,QAAQ,EAAEvC,UAAU,EAAEuC,QAAQ;UAC9BR,MAAM,EAAE;YACPS,IAAI,EAAErC,WAAW,EAAEqC,IAAI;YACvBC,WAAW,EAAEtC,WAAW,EAAEsC;UAC3B,CAAC;UACDC,QAAQ,EAAE,IAAIC,IAAI,CAAC;QACpB,CAAC;QAEDjB,kBAAkB,CAACkB,OAAO,CAAEP,eAAgB,CAAC;MAC9C;MAEAX,kBAAkB,CAACmB,IAAI,CAAE;QACxBZ,EAAE,EAAE,QAAQ;QACZK,MAAM,EAAE,CAAC,CAAC;QACVC,QAAQ,EAAE,CAAC;MACZ,CAAE,CAAC;IACJ;IAEA,OAAO;MACNlC,SAAS,EAAEqB,kBAAkB;MAC7BC,iBAAiB,EAAEvB,OAAO;MAC1BwB,SAAS,EAAE;IACZ,CAAC;EACF,CAAC,EAAE,CACFxB,OAAO,EACPC,SAAS,EACTF,WAAW,EACXD,OAAO,EACPF,UAAU,EACVM,8BAA8B,CAC7B,CAAC;AACJ"}
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = exports.GlobalStylesMenuSlot = void 0;
8
8
  var _react = require("react");
9
- var _classnames = _interopRequireDefault(require("classnames"));
10
9
  var _components = require("@wordpress/components");
11
10
  var _blocks = require("@wordpress/blocks");
12
11
  var _data = require("@wordpress/data");
@@ -32,10 +31,6 @@ var _lockUnlock = require("../../lock-unlock");
32
31
  var _store = require("../../store");
33
32
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
34
33
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
- /**
36
- * External dependencies
37
- */
38
-
39
34
  /**
40
35
  * WordPress dependencies
41
36
  */
@@ -54,6 +49,7 @@ const {
54
49
  } = (0, _components.createSlotFill)(SLOT_FILL_NAME);
55
50
  exports.GlobalStylesMenuSlot = GlobalStylesMenuSlot;
56
51
  function GlobalStylesActionMenu() {
52
+ const [canReset, onReset] = useGlobalStylesReset();
57
53
  const {
58
54
  toggle
59
55
  } = (0, _data.useDispatch)(_preferences.store);
@@ -70,31 +66,35 @@ function GlobalStylesActionMenu() {
70
66
  canEditCSS: !!globalStyles?._links?.['wp:action-edit-css']
71
67
  };
72
68
  }, []);
69
+ const {
70
+ setEditorCanvasContainerView
71
+ } = (0, _lockUnlock.unlock)((0, _data.useDispatch)(_store.store));
73
72
  const {
74
73
  goTo
75
74
  } = (0, _components.__experimentalUseNavigator)();
76
- const loadCustomCSS = () => goTo('/css');
75
+ const loadCustomCSS = () => {
76
+ setEditorCanvasContainerView('global-styles-css');
77
+ goTo('/css');
78
+ };
77
79
  return (0, _react.createElement)(GlobalStylesMenuFill, null, (0, _react.createElement)(_components.DropdownMenu, {
78
80
  icon: _icons.moreVertical,
79
81
  label: (0, _i18n.__)('More')
80
82
  }, ({
81
83
  onClose
82
- }) => (0, _react.createElement)(_components.MenuGroup, null, canEditCSS && (0, _react.createElement)(_components.MenuItem, {
84
+ }) => (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_components.MenuGroup, null, canEditCSS && (0, _react.createElement)(_components.MenuItem, {
83
85
  onClick: loadCustomCSS
84
86
  }, (0, _i18n.__)('Additional CSS')), (0, _react.createElement)(_components.MenuItem, {
85
87
  onClick: () => {
86
88
  toggle('core/edit-site', 'welcomeGuideStyles');
87
89
  onClose();
88
90
  }
89
- }, (0, _i18n.__)('Welcome Guide')))));
90
- }
91
- function RevisionsCountBadge({
92
- className,
93
- children
94
- }) {
95
- return (0, _react.createElement)("span", {
96
- className: (0, _classnames.default)(className, 'edit-site-global-styles-sidebar__revisions-count-badge')
97
- }, children);
91
+ }, (0, _i18n.__)('Welcome Guide'))), (0, _react.createElement)(_components.MenuGroup, null, (0, _react.createElement)(_components.MenuItem, {
92
+ onClick: () => {
93
+ onReset();
94
+ onClose();
95
+ },
96
+ disabled: !canReset
97
+ }, (0, _i18n.__)('Reset styles'))))));
98
98
  }
99
99
  function GlobalStylesRevisionsMenu() {
100
100
  const {
@@ -114,38 +114,30 @@ function GlobalStylesRevisionsMenu() {
114
114
  revisionsCount: (_globalStyles$_links$ = globalStyles?._links?.['version-history']?.[0]?.count) !== null && _globalStyles$_links$ !== void 0 ? _globalStyles$_links$ : 0
115
115
  };
116
116
  }, []);
117
- const [canReset, onReset] = useGlobalStylesReset();
118
117
  const {
119
118
  goTo
120
119
  } = (0, _components.__experimentalUseNavigator)();
121
120
  const {
122
121
  setEditorCanvasContainerView
123
122
  } = (0, _lockUnlock.unlock)((0, _data.useDispatch)(_store.store));
123
+ const isRevisionsOpened = (0, _data.useSelect)(select => 'global-styles-revisions' === (0, _lockUnlock.unlock)(select(_store.store)).getEditorCanvasContainerView(), []);
124
124
  const loadRevisions = () => {
125
125
  setIsListViewOpened(false);
126
- goTo('/revisions');
127
- setEditorCanvasContainerView('global-styles-revisions');
126
+ if (!isRevisionsOpened) {
127
+ goTo('/revisions');
128
+ setEditorCanvasContainerView('global-styles-revisions');
129
+ } else {
130
+ goTo('/');
131
+ setEditorCanvasContainerView(undefined);
132
+ }
128
133
  };
129
134
  const hasRevisions = revisionsCount > 0;
130
- return (0, _react.createElement)(GlobalStylesMenuFill, null, canReset || hasRevisions ? (0, _react.createElement)(_components.DropdownMenu, {
131
- icon: _icons.backup,
132
- label: (0, _i18n.__)('Revisions')
133
- }, ({
134
- onClose
135
- }) => (0, _react.createElement)(_components.MenuGroup, null, hasRevisions && (0, _react.createElement)(_components.MenuItem, {
136
- onClick: loadRevisions,
137
- icon: (0, _react.createElement)(RevisionsCountBadge, null, revisionsCount)
138
- }, (0, _i18n.__)('Revision history')), (0, _react.createElement)(_components.MenuItem, {
139
- onClick: () => {
140
- onReset();
141
- onClose();
142
- },
143
- disabled: !canReset
144
- }, (0, _i18n.__)('Reset to defaults')))) : (0, _react.createElement)(_components.Button, {
135
+ return (0, _react.createElement)(GlobalStylesMenuFill, null, (0, _react.createElement)(_components.Button, {
145
136
  label: (0, _i18n.__)('Revisions'),
146
137
  icon: _icons.backup,
147
- disabled: true,
148
- __experimentalIsFocusable: true
138
+ onClick: loadRevisions,
139
+ disabled: !hasRevisions,
140
+ isPressed: isRevisionsOpened
149
141
  }));
150
142
  }
151
143
  function GlobalStylesNavigationScreen({
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_components","_blocks","_data","_blockEditor","_i18n","_preferences","_icons","_coreData","_element","_screenRoot","_screenBlockList","_interopRequireWildcard","_screenBlock","_screenTypography","_screenTypographyElement","_screenColors","_screenColorPalette","_screenLayout","_screenStyleVariations","_styleBook","_screenCss","_screenRevisions","_lockUnlock","_store","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","SLOT_FILL_NAME","useGlobalStylesReset","unlock","blockEditorPrivateApis","Slot","GlobalStylesMenuSlot","Fill","GlobalStylesMenuFill","createSlotFill","exports","GlobalStylesActionMenu","toggle","useDispatch","preferencesStore","canEditCSS","useSelect","select","getEntityRecord","__experimentalGetCurrentGlobalStylesId","coreStore","globalStylesId","globalStyles","undefined","_links","goTo","useNavigator","loadCustomCSS","_react","createElement","DropdownMenu","icon","moreVertical","label","__","onClose","MenuGroup","MenuItem","onClick","RevisionsCountBadge","className","children","classnames","GlobalStylesRevisionsMenu","setIsListViewOpened","editSiteStore","revisionsCount","_globalStyles$_links$","count","canReset","onReset","setEditorCanvasContainerView","loadRevisions","hasRevisions","backup","disabled","Button","__experimentalIsFocusable","GlobalStylesNavigationScreen","props","__experimentalNavigatorScreen","filter","Boolean","join","BlockStylesNavigationScreens","parentMenu","blockStyles","blockName","map","style","index","path","name","variation","ContextScreens","blockStyleVariations","getBlockStyles","blocksStore","Fragment","length","GlobalStylesStyleBook","navigator","location","isSelected","encodeURIComponent","startsWith","onSelect","GlobalStylesBlockLink","selectedBlockName","selectedBlockClientId","getSelectedBlockClientId","getBlockName","blockEditorStore","clientId","blockHasGlobalStyles","useBlockHasGlobalStyles","useEffect","currentPath","newPath","skipFocus","GlobalStylesEditorCanvasContainerLink","editorCanvasContainerView","getEditorCanvasContainerView","GlobalStylesUI","blocks","getBlockTypes","__experimentalNavigatorProvider","initialPath","element","block","_default"],"sources":["@wordpress/edit-site/src/components/global-styles/ui.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalNavigatorProvider as NavigatorProvider,\n\t__experimentalNavigatorScreen as NavigatorScreen,\n\t__experimentalUseNavigator as useNavigator,\n\tcreateSlotFill,\n\tButton,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n} from '@wordpress/components';\nimport { getBlockTypes, store as blocksStore } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { backup, moreVertical } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport ScreenRoot from './screen-root';\nimport {\n\tuseBlockHasGlobalStyles,\n\tdefault as ScreenBlockList,\n} from './screen-block-list';\nimport ScreenBlock from './screen-block';\nimport ScreenTypography from './screen-typography';\nimport ScreenTypographyElement from './screen-typography-element';\nimport ScreenColors from './screen-colors';\nimport ScreenColorPalette from './screen-color-palette';\nimport ScreenLayout from './screen-layout';\nimport ScreenStyleVariations from './screen-style-variations';\nimport StyleBook from '../style-book';\nimport ScreenCSS from './screen-css';\nimport ScreenRevisions from './screen-revisions';\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\n\nconst SLOT_FILL_NAME = 'GlobalStylesMenu';\nconst { useGlobalStylesReset } = unlock( blockEditorPrivateApis );\nconst { Slot: GlobalStylesMenuSlot, Fill: GlobalStylesMenuFill } =\n\tcreateSlotFill( SLOT_FILL_NAME );\n\nfunction GlobalStylesActionMenu() {\n\tconst { toggle } = useDispatch( preferencesStore );\n\tconst { canEditCSS } = useSelect( ( select ) => {\n\t\tconst { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =\n\t\t\tselect( coreStore );\n\n\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\tconst globalStyles = globalStylesId\n\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\tcanEditCSS: !! globalStyles?._links?.[ 'wp:action-edit-css' ],\n\t\t};\n\t}, [] );\n\tconst { goTo } = useNavigator();\n\tconst loadCustomCSS = () => goTo( '/css' );\n\n\treturn (\n\t\t<GlobalStylesMenuFill>\n\t\t\t<DropdownMenu icon={ moreVertical } label={ __( 'More' ) }>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t{ canEditCSS && (\n\t\t\t\t\t\t\t<MenuItem onClick={ loadCustomCSS }>\n\t\t\t\t\t\t\t\t{ __( 'Additional CSS' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\ttoggle(\n\t\t\t\t\t\t\t\t\t'core/edit-site',\n\t\t\t\t\t\t\t\t\t'welcomeGuideStyles'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Welcome Guide' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t) }\n\t\t\t</DropdownMenu>\n\t\t</GlobalStylesMenuFill>\n\t);\n}\n\nfunction RevisionsCountBadge( { className, children } ) {\n\treturn (\n\t\t<span\n\t\t\tclassName={ classnames(\n\t\t\t\tclassName,\n\t\t\t\t'edit-site-global-styles-sidebar__revisions-count-badge'\n\t\t\t) }\n\t\t>\n\t\t\t{ children }\n\t\t</span>\n\t);\n}\nfunction GlobalStylesRevisionsMenu() {\n\tconst { setIsListViewOpened } = useDispatch( editSiteStore );\n\tconst { revisionsCount } = useSelect( ( select ) => {\n\t\tconst { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =\n\t\t\tselect( coreStore );\n\n\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\tconst globalStyles = globalStylesId\n\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\trevisionsCount:\n\t\t\t\tglobalStyles?._links?.[ 'version-history' ]?.[ 0 ]?.count ?? 0,\n\t\t};\n\t}, [] );\n\tconst [ canReset, onReset ] = useGlobalStylesReset();\n\tconst { goTo } = useNavigator();\n\tconst { setEditorCanvasContainerView } = unlock(\n\t\tuseDispatch( editSiteStore )\n\t);\n\tconst loadRevisions = () => {\n\t\tsetIsListViewOpened( false );\n\t\tgoTo( '/revisions' );\n\t\tsetEditorCanvasContainerView( 'global-styles-revisions' );\n\t};\n\tconst hasRevisions = revisionsCount > 0;\n\n\treturn (\n\t\t<GlobalStylesMenuFill>\n\t\t\t{ canReset || hasRevisions ? (\n\t\t\t\t<DropdownMenu icon={ backup } label={ __( 'Revisions' ) }>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t{ hasRevisions && (\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ loadRevisions }\n\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t<RevisionsCountBadge>\n\t\t\t\t\t\t\t\t\t\t\t{ revisionsCount }\n\t\t\t\t\t\t\t\t\t\t</RevisionsCountBadge>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Revision history' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonReset();\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdisabled={ ! canReset }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Reset to defaults' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</DropdownMenu>\n\t\t\t) : (\n\t\t\t\t<Button\n\t\t\t\t\tlabel={ __( 'Revisions' ) }\n\t\t\t\t\ticon={ backup }\n\t\t\t\t\tdisabled\n\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t/>\n\t\t\t) }\n\t\t</GlobalStylesMenuFill>\n\t);\n}\n\nfunction GlobalStylesNavigationScreen( { className, ...props } ) {\n\treturn (\n\t\t<NavigatorScreen\n\t\t\tclassName={ [\n\t\t\t\t'edit-site-global-styles-sidebar__navigator-screen',\n\t\t\t\tclassName,\n\t\t\t]\n\t\t\t\t.filter( Boolean )\n\t\t\t\t.join( ' ' ) }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nfunction BlockStylesNavigationScreens( {\n\tparentMenu,\n\tblockStyles,\n\tblockName,\n} ) {\n\treturn blockStyles.map( ( style, index ) => (\n\t\t<GlobalStylesNavigationScreen\n\t\t\tkey={ index }\n\t\t\tpath={ parentMenu + '/variations/' + style.name }\n\t\t>\n\t\t\t<ScreenBlock name={ blockName } variation={ style.name } />\n\t\t</GlobalStylesNavigationScreen>\n\t) );\n}\n\nfunction ContextScreens( { name, parentMenu = '' } ) {\n\tconst blockStyleVariations = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockStyles } = select( blocksStore );\n\t\t\treturn getBlockStyles( name );\n\t\t},\n\t\t[ name ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<GlobalStylesNavigationScreen\n\t\t\t\tpath={ parentMenu + '/colors/palette' }\n\t\t\t>\n\t\t\t\t<ScreenColorPalette name={ name } />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t{ !! blockStyleVariations?.length && (\n\t\t\t\t<BlockStylesNavigationScreens\n\t\t\t\t\tparentMenu={ parentMenu }\n\t\t\t\t\tblockStyles={ blockStyleVariations }\n\t\t\t\t\tblockName={ name }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction GlobalStylesStyleBook() {\n\tconst navigator = useNavigator();\n\tconst { path } = navigator.location;\n\treturn (\n\t\t<StyleBook\n\t\t\tisSelected={ ( blockName ) =>\n\t\t\t\t// Match '/blocks/core%2Fbutton' and\n\t\t\t\t// '/blocks/core%2Fbutton/typography', but not\n\t\t\t\t// '/blocks/core%2Fbuttons'.\n\t\t\t\tpath === `/blocks/${ encodeURIComponent( blockName ) }` ||\n\t\t\t\tpath.startsWith(\n\t\t\t\t\t`/blocks/${ encodeURIComponent( blockName ) }/`\n\t\t\t\t)\n\t\t\t}\n\t\t\tonSelect={ ( blockName ) => {\n\t\t\t\t// Now go to the selected block.\n\t\t\t\tnavigator.goTo( '/blocks/' + encodeURIComponent( blockName ) );\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction GlobalStylesBlockLink() {\n\tconst navigator = useNavigator();\n\tconst { selectedBlockName, selectedBlockClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSelectedBlockClientId, getBlockName } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst clientId = getSelectedBlockClientId();\n\t\t\treturn {\n\t\t\t\tselectedBlockName: getBlockName( clientId ),\n\t\t\t\tselectedBlockClientId: clientId,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst blockHasGlobalStyles = useBlockHasGlobalStyles( selectedBlockName );\n\t// When we're in the `Blocks` screen enable deep linking to the selected block.\n\tuseEffect( () => {\n\t\tif ( ! selectedBlockClientId || ! blockHasGlobalStyles ) {\n\t\t\treturn;\n\t\t}\n\t\tconst currentPath = navigator.location.path;\n\t\tif (\n\t\t\tcurrentPath !== '/blocks' &&\n\t\t\t! currentPath.startsWith( '/blocks/' )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tconst newPath = '/blocks/' + encodeURIComponent( selectedBlockName );\n\t\t// Avoid navigating to the same path. This can happen when selecting\n\t\t// a new block of the same type.\n\t\tif ( newPath !== currentPath ) {\n\t\t\tnavigator.goTo( newPath, { skipFocus: true } );\n\t\t}\n\t}, [ selectedBlockClientId, selectedBlockName, blockHasGlobalStyles ] );\n}\n\nfunction GlobalStylesEditorCanvasContainerLink() {\n\tconst { goTo, location } = useNavigator();\n\tconst editorCanvasContainerView = useSelect(\n\t\t( select ) =>\n\t\t\tunlock( select( editSiteStore ) ).getEditorCanvasContainerView(),\n\t\t[]\n\t);\n\n\t// If the user switches the editor canvas container view, redirect\n\t// to the appropriate screen. This effectively allows deep linking to the\n\t// desired screens from outside the global styles navigation provider.\n\tuseEffect( () => {\n\t\tif ( editorCanvasContainerView === 'global-styles-revisions' ) {\n\t\t\t// Switching to the revisions container view should\n\t\t\t// redirect to the revisions screen.\n\t\t\tgoTo( '/revisions' );\n\t\t} else if (\n\t\t\t!! editorCanvasContainerView &&\n\t\t\tlocation?.path === '/revisions'\n\t\t) {\n\t\t\t// Switching to any container other than revisions should\n\t\t\t// redirect from the revisions screen to the root global styles screen.\n\t\t\tgoTo( '/' );\n\t\t} else if ( editorCanvasContainerView === 'global-styles-css' ) {\n\t\t\tgoTo( '/css' );\n\t\t}\n\n\t\t// location?.path is not a dependency because we don't want to track it.\n\t\t// Doing so will cause an infinite loop. We could abstract logic to avoid\n\t\t// having to disable the check later.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ editorCanvasContainerView, goTo ] );\n}\n\nfunction GlobalStylesUI() {\n\tconst blocks = getBlockTypes();\n\tconst editorCanvasContainerView = useSelect(\n\t\t( select ) =>\n\t\t\tunlock( select( editSiteStore ) ).getEditorCanvasContainerView(),\n\t\t[]\n\t);\n\treturn (\n\t\t<NavigatorProvider\n\t\t\tclassName=\"edit-site-global-styles-sidebar__navigator-provider\"\n\t\t\tinitialPath=\"/\"\n\t\t>\n\t\t\t<GlobalStylesNavigationScreen path=\"/\">\n\t\t\t\t<ScreenRoot />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/variations\">\n\t\t\t\t<ScreenStyleVariations />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/blocks\">\n\t\t\t\t<ScreenBlockList />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography\">\n\t\t\t\t<ScreenTypography />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/text\">\n\t\t\t\t<ScreenTypographyElement element=\"text\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/link\">\n\t\t\t\t<ScreenTypographyElement element=\"link\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/heading\">\n\t\t\t\t<ScreenTypographyElement element=\"heading\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/caption\">\n\t\t\t\t<ScreenTypographyElement element=\"caption\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/button\">\n\t\t\t\t<ScreenTypographyElement element=\"button\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/colors\">\n\t\t\t\t<ScreenColors />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/layout\">\n\t\t\t\t<ScreenLayout />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/css\">\n\t\t\t\t<ScreenCSS />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path={ '/revisions' }>\n\t\t\t\t<ScreenRevisions />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t{ blocks.map( ( block ) => (\n\t\t\t\t<GlobalStylesNavigationScreen\n\t\t\t\t\tkey={ 'menu-block-' + block.name }\n\t\t\t\t\tpath={ '/blocks/' + encodeURIComponent( block.name ) }\n\t\t\t\t>\n\t\t\t\t\t<ScreenBlock name={ block.name } />\n\t\t\t\t</GlobalStylesNavigationScreen>\n\t\t\t) ) }\n\n\t\t\t<ContextScreens />\n\n\t\t\t{ blocks.map( ( block ) => (\n\t\t\t\t<ContextScreens\n\t\t\t\t\tkey={ 'screens-block-' + block.name }\n\t\t\t\t\tname={ block.name }\n\t\t\t\t\tparentMenu={ '/blocks/' + encodeURIComponent( block.name ) }\n\t\t\t\t/>\n\t\t\t) ) }\n\n\t\t\t{ 'style-book' === editorCanvasContainerView && (\n\t\t\t\t<GlobalStylesStyleBook />\n\t\t\t) }\n\n\t\t\t<GlobalStylesRevisionsMenu />\n\t\t\t<GlobalStylesActionMenu />\n\t\t\t<GlobalStylesBlockLink />\n\t\t\t<GlobalStylesEditorCanvasContainerLink />\n\t\t</NavigatorProvider>\n\t);\n}\nexport { GlobalStylesMenuSlot };\nexport default GlobalStylesUI;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_components","require","_blocks","_data","_blockEditor","_i18n","_preferences","_icons","_coreData","_element","_screenRoot","_interopRequireDefault","_screenBlockList","_interopRequireWildcard","_screenBlock","_screenTypography","_screenTypographyElement","_screenColors","_screenColorPalette","_screenLayout","_screenStyleVariations","_styleBook","_screenCss","_screenRevisions","_lockUnlock","_store","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","SLOT_FILL_NAME","useGlobalStylesReset","unlock","blockEditorPrivateApis","Slot","GlobalStylesMenuSlot","Fill","GlobalStylesMenuFill","createSlotFill","exports","GlobalStylesActionMenu","canReset","onReset","toggle","useDispatch","preferencesStore","canEditCSS","useSelect","select","getEntityRecord","__experimentalGetCurrentGlobalStylesId","coreStore","globalStylesId","globalStyles","undefined","_links","setEditorCanvasContainerView","editSiteStore","goTo","useNavigator","loadCustomCSS","_react","createElement","DropdownMenu","icon","moreVertical","label","__","onClose","Fragment","MenuGroup","MenuItem","onClick","disabled","GlobalStylesRevisionsMenu","setIsListViewOpened","revisionsCount","_globalStyles$_links$","count","isRevisionsOpened","getEditorCanvasContainerView","loadRevisions","hasRevisions","Button","backup","isPressed","GlobalStylesNavigationScreen","className","props","__experimentalNavigatorScreen","filter","Boolean","join","BlockStylesNavigationScreens","parentMenu","blockStyles","blockName","map","style","index","path","name","variation","ContextScreens","blockStyleVariations","getBlockStyles","blocksStore","length","GlobalStylesStyleBook","navigator","location","isSelected","encodeURIComponent","startsWith","onSelect","GlobalStylesBlockLink","selectedBlockName","selectedBlockClientId","getSelectedBlockClientId","getBlockName","blockEditorStore","clientId","blockHasGlobalStyles","useBlockHasGlobalStyles","useEffect","currentPath","newPath","skipFocus","GlobalStylesEditorCanvasContainerLink","editorCanvasContainerView","GlobalStylesUI","blocks","getBlockTypes","__experimentalNavigatorProvider","initialPath","element","block","_default"],"sources":["@wordpress/edit-site/src/components/global-styles/ui.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalNavigatorProvider as NavigatorProvider,\n\t__experimentalNavigatorScreen as NavigatorScreen,\n\t__experimentalUseNavigator as useNavigator,\n\tcreateSlotFill,\n\tButton,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n} from '@wordpress/components';\nimport { getBlockTypes, store as blocksStore } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { backup, moreVertical } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport ScreenRoot from './screen-root';\nimport {\n\tuseBlockHasGlobalStyles,\n\tdefault as ScreenBlockList,\n} from './screen-block-list';\nimport ScreenBlock from './screen-block';\nimport ScreenTypography from './screen-typography';\nimport ScreenTypographyElement from './screen-typography-element';\nimport ScreenColors from './screen-colors';\nimport ScreenColorPalette from './screen-color-palette';\nimport ScreenLayout from './screen-layout';\nimport ScreenStyleVariations from './screen-style-variations';\nimport StyleBook from '../style-book';\nimport ScreenCSS from './screen-css';\nimport ScreenRevisions from './screen-revisions';\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\n\nconst SLOT_FILL_NAME = 'GlobalStylesMenu';\nconst { useGlobalStylesReset } = unlock( blockEditorPrivateApis );\nconst { Slot: GlobalStylesMenuSlot, Fill: GlobalStylesMenuFill } =\n\tcreateSlotFill( SLOT_FILL_NAME );\n\nfunction GlobalStylesActionMenu() {\n\tconst [ canReset, onReset ] = useGlobalStylesReset();\n\tconst { toggle } = useDispatch( preferencesStore );\n\tconst { canEditCSS } = useSelect( ( select ) => {\n\t\tconst { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =\n\t\t\tselect( coreStore );\n\n\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\tconst globalStyles = globalStylesId\n\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\tcanEditCSS: !! globalStyles?._links?.[ 'wp:action-edit-css' ],\n\t\t};\n\t}, [] );\n\tconst { setEditorCanvasContainerView } = unlock(\n\t\tuseDispatch( editSiteStore )\n\t);\n\tconst { goTo } = useNavigator();\n\tconst loadCustomCSS = () => {\n\t\tsetEditorCanvasContainerView( 'global-styles-css' );\n\t\tgoTo( '/css' );\n\t};\n\n\treturn (\n\t\t<GlobalStylesMenuFill>\n\t\t\t<DropdownMenu icon={ moreVertical } label={ __( 'More' ) }>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t{ canEditCSS && (\n\t\t\t\t\t\t\t\t<MenuItem onClick={ loadCustomCSS }>\n\t\t\t\t\t\t\t\t\t{ __( 'Additional CSS' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\ttoggle(\n\t\t\t\t\t\t\t\t\t\t'core/edit-site',\n\t\t\t\t\t\t\t\t\t\t'welcomeGuideStyles'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Welcome Guide' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonReset();\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdisabled={ ! canReset }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Reset styles' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</DropdownMenu>\n\t\t</GlobalStylesMenuFill>\n\t);\n}\n\nfunction GlobalStylesRevisionsMenu() {\n\tconst { setIsListViewOpened } = useDispatch( editSiteStore );\n\tconst { revisionsCount } = useSelect( ( select ) => {\n\t\tconst { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =\n\t\t\tselect( coreStore );\n\n\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\tconst globalStyles = globalStylesId\n\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\trevisionsCount:\n\t\t\t\tglobalStyles?._links?.[ 'version-history' ]?.[ 0 ]?.count ?? 0,\n\t\t};\n\t}, [] );\n\tconst { goTo } = useNavigator();\n\tconst { setEditorCanvasContainerView } = unlock(\n\t\tuseDispatch( editSiteStore )\n\t);\n\tconst isRevisionsOpened = useSelect(\n\t\t( select ) =>\n\t\t\t'global-styles-revisions' ===\n\t\t\tunlock( select( editSiteStore ) ).getEditorCanvasContainerView(),\n\t\t[]\n\t);\n\tconst loadRevisions = () => {\n\t\tsetIsListViewOpened( false );\n\n\t\tif ( ! isRevisionsOpened ) {\n\t\t\tgoTo( '/revisions' );\n\t\t\tsetEditorCanvasContainerView( 'global-styles-revisions' );\n\t\t} else {\n\t\t\tgoTo( '/' );\n\t\t\tsetEditorCanvasContainerView( undefined );\n\t\t}\n\t};\n\tconst hasRevisions = revisionsCount > 0;\n\n\treturn (\n\t\t<GlobalStylesMenuFill>\n\t\t\t<Button\n\t\t\t\tlabel={ __( 'Revisions' ) }\n\t\t\t\ticon={ backup }\n\t\t\t\tonClick={ loadRevisions }\n\t\t\t\tdisabled={ ! hasRevisions }\n\t\t\t\tisPressed={ isRevisionsOpened }\n\t\t\t/>\n\t\t</GlobalStylesMenuFill>\n\t);\n}\n\nfunction GlobalStylesNavigationScreen( { className, ...props } ) {\n\treturn (\n\t\t<NavigatorScreen\n\t\t\tclassName={ [\n\t\t\t\t'edit-site-global-styles-sidebar__navigator-screen',\n\t\t\t\tclassName,\n\t\t\t]\n\t\t\t\t.filter( Boolean )\n\t\t\t\t.join( ' ' ) }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nfunction BlockStylesNavigationScreens( {\n\tparentMenu,\n\tblockStyles,\n\tblockName,\n} ) {\n\treturn blockStyles.map( ( style, index ) => (\n\t\t<GlobalStylesNavigationScreen\n\t\t\tkey={ index }\n\t\t\tpath={ parentMenu + '/variations/' + style.name }\n\t\t>\n\t\t\t<ScreenBlock name={ blockName } variation={ style.name } />\n\t\t</GlobalStylesNavigationScreen>\n\t) );\n}\n\nfunction ContextScreens( { name, parentMenu = '' } ) {\n\tconst blockStyleVariations = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockStyles } = select( blocksStore );\n\t\t\treturn getBlockStyles( name );\n\t\t},\n\t\t[ name ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<GlobalStylesNavigationScreen\n\t\t\t\tpath={ parentMenu + '/colors/palette' }\n\t\t\t>\n\t\t\t\t<ScreenColorPalette name={ name } />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t{ !! blockStyleVariations?.length && (\n\t\t\t\t<BlockStylesNavigationScreens\n\t\t\t\t\tparentMenu={ parentMenu }\n\t\t\t\t\tblockStyles={ blockStyleVariations }\n\t\t\t\t\tblockName={ name }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction GlobalStylesStyleBook() {\n\tconst navigator = useNavigator();\n\tconst { path } = navigator.location;\n\treturn (\n\t\t<StyleBook\n\t\t\tisSelected={ ( blockName ) =>\n\t\t\t\t// Match '/blocks/core%2Fbutton' and\n\t\t\t\t// '/blocks/core%2Fbutton/typography', but not\n\t\t\t\t// '/blocks/core%2Fbuttons'.\n\t\t\t\tpath === `/blocks/${ encodeURIComponent( blockName ) }` ||\n\t\t\t\tpath.startsWith(\n\t\t\t\t\t`/blocks/${ encodeURIComponent( blockName ) }/`\n\t\t\t\t)\n\t\t\t}\n\t\t\tonSelect={ ( blockName ) => {\n\t\t\t\t// Now go to the selected block.\n\t\t\t\tnavigator.goTo( '/blocks/' + encodeURIComponent( blockName ) );\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction GlobalStylesBlockLink() {\n\tconst navigator = useNavigator();\n\tconst { selectedBlockName, selectedBlockClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSelectedBlockClientId, getBlockName } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst clientId = getSelectedBlockClientId();\n\t\t\treturn {\n\t\t\t\tselectedBlockName: getBlockName( clientId ),\n\t\t\t\tselectedBlockClientId: clientId,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst blockHasGlobalStyles = useBlockHasGlobalStyles( selectedBlockName );\n\t// When we're in the `Blocks` screen enable deep linking to the selected block.\n\tuseEffect( () => {\n\t\tif ( ! selectedBlockClientId || ! blockHasGlobalStyles ) {\n\t\t\treturn;\n\t\t}\n\t\tconst currentPath = navigator.location.path;\n\t\tif (\n\t\t\tcurrentPath !== '/blocks' &&\n\t\t\t! currentPath.startsWith( '/blocks/' )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tconst newPath = '/blocks/' + encodeURIComponent( selectedBlockName );\n\t\t// Avoid navigating to the same path. This can happen when selecting\n\t\t// a new block of the same type.\n\t\tif ( newPath !== currentPath ) {\n\t\t\tnavigator.goTo( newPath, { skipFocus: true } );\n\t\t}\n\t}, [ selectedBlockClientId, selectedBlockName, blockHasGlobalStyles ] );\n}\n\nfunction GlobalStylesEditorCanvasContainerLink() {\n\tconst { goTo, location } = useNavigator();\n\tconst editorCanvasContainerView = useSelect(\n\t\t( select ) =>\n\t\t\tunlock( select( editSiteStore ) ).getEditorCanvasContainerView(),\n\t\t[]\n\t);\n\n\t// If the user switches the editor canvas container view, redirect\n\t// to the appropriate screen. This effectively allows deep linking to the\n\t// desired screens from outside the global styles navigation provider.\n\tuseEffect( () => {\n\t\tif ( editorCanvasContainerView === 'global-styles-revisions' ) {\n\t\t\t// Switching to the revisions container view should\n\t\t\t// redirect to the revisions screen.\n\t\t\tgoTo( '/revisions' );\n\t\t} else if (\n\t\t\t!! editorCanvasContainerView &&\n\t\t\tlocation?.path === '/revisions'\n\t\t) {\n\t\t\t// Switching to any container other than revisions should\n\t\t\t// redirect from the revisions screen to the root global styles screen.\n\t\t\tgoTo( '/' );\n\t\t} else if ( editorCanvasContainerView === 'global-styles-css' ) {\n\t\t\tgoTo( '/css' );\n\t\t}\n\n\t\t// location?.path is not a dependency because we don't want to track it.\n\t\t// Doing so will cause an infinite loop. We could abstract logic to avoid\n\t\t// having to disable the check later.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ editorCanvasContainerView, goTo ] );\n}\n\nfunction GlobalStylesUI() {\n\tconst blocks = getBlockTypes();\n\tconst editorCanvasContainerView = useSelect(\n\t\t( select ) =>\n\t\t\tunlock( select( editSiteStore ) ).getEditorCanvasContainerView(),\n\t\t[]\n\t);\n\treturn (\n\t\t<NavigatorProvider\n\t\t\tclassName=\"edit-site-global-styles-sidebar__navigator-provider\"\n\t\t\tinitialPath=\"/\"\n\t\t>\n\t\t\t<GlobalStylesNavigationScreen path=\"/\">\n\t\t\t\t<ScreenRoot />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/variations\">\n\t\t\t\t<ScreenStyleVariations />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/blocks\">\n\t\t\t\t<ScreenBlockList />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography\">\n\t\t\t\t<ScreenTypography />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/text\">\n\t\t\t\t<ScreenTypographyElement element=\"text\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/link\">\n\t\t\t\t<ScreenTypographyElement element=\"link\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/heading\">\n\t\t\t\t<ScreenTypographyElement element=\"heading\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/caption\">\n\t\t\t\t<ScreenTypographyElement element=\"caption\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/button\">\n\t\t\t\t<ScreenTypographyElement element=\"button\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/colors\">\n\t\t\t\t<ScreenColors />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/layout\">\n\t\t\t\t<ScreenLayout />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/css\">\n\t\t\t\t<ScreenCSS />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path={ '/revisions' }>\n\t\t\t\t<ScreenRevisions />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t{ blocks.map( ( block ) => (\n\t\t\t\t<GlobalStylesNavigationScreen\n\t\t\t\t\tkey={ 'menu-block-' + block.name }\n\t\t\t\t\tpath={ '/blocks/' + encodeURIComponent( block.name ) }\n\t\t\t\t>\n\t\t\t\t\t<ScreenBlock name={ block.name } />\n\t\t\t\t</GlobalStylesNavigationScreen>\n\t\t\t) ) }\n\n\t\t\t<ContextScreens />\n\n\t\t\t{ blocks.map( ( block ) => (\n\t\t\t\t<ContextScreens\n\t\t\t\t\tkey={ 'screens-block-' + block.name }\n\t\t\t\t\tname={ block.name }\n\t\t\t\t\tparentMenu={ '/blocks/' + encodeURIComponent( block.name ) }\n\t\t\t\t/>\n\t\t\t) ) }\n\n\t\t\t{ 'style-book' === editorCanvasContainerView && (\n\t\t\t\t<GlobalStylesStyleBook />\n\t\t\t) }\n\n\t\t\t<GlobalStylesRevisionsMenu />\n\t\t\t<GlobalStylesActionMenu />\n\t\t\t<GlobalStylesBlockLink />\n\t\t\t<GlobalStylesEditorCanvasContainerLink />\n\t\t</NavigatorProvider>\n\t);\n}\nexport { GlobalStylesMenuSlot };\nexport default GlobalStylesUI;\n"],"mappings":"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"}
@@ -14,8 +14,9 @@ var _blockEditor = require("@wordpress/block-editor");
14
14
  var _commands = require("@wordpress/commands");
15
15
  var _icons = require("@wordpress/icons");
16
16
  var _keycodes = require("@wordpress/keycodes");
17
- var _element = require("@wordpress/element");
18
17
  var _coreData = require("@wordpress/core-data");
18
+ var _editor = require("@wordpress/editor");
19
+ var _element = require("@wordpress/element");
19
20
  var _useEditedEntityRecord = _interopRequireDefault(require("../../use-edited-entity-record"));
20
21
  var _store = require("../../../store");
21
22
  var _constants = require("../../../utils/constants");
@@ -43,40 +44,42 @@ function DocumentActions() {
43
44
  }
44
45
  function PageDocumentActions() {
45
46
  const {
46
- hasPageContentFocus,
47
+ isEditingPage,
47
48
  hasResolved,
48
49
  isFound,
49
50
  title
50
51
  } = (0, _data.useSelect)(select => {
51
52
  const {
52
- hasPageContentFocus: _hasPageContentFocus,
53
53
  getEditedPostContext
54
54
  } = select(_store.store);
55
55
  const {
56
56
  getEditedEntityRecord,
57
57
  hasFinishedResolution
58
58
  } = select(_coreData.store);
59
+ const {
60
+ getRenderingMode
61
+ } = select(_editor.store);
59
62
  const context = getEditedPostContext();
60
63
  const queryArgs = ['postType', context.postType, context.postId];
61
64
  const page = getEditedEntityRecord(...queryArgs);
62
65
  return {
63
- hasPageContentFocus: _hasPageContentFocus(),
66
+ isEditingPage: !!context.postId && getRenderingMode() !== 'template-only',
64
67
  hasResolved: hasFinishedResolution('getEditedEntityRecord', queryArgs),
65
68
  isFound: !!page,
66
69
  title: page?.title
67
70
  };
68
71
  }, []);
69
72
  const {
70
- setHasPageContentFocus
71
- } = (0, _data.useDispatch)(_store.store);
72
- const [hasEditedTemplate, setHasEditedTemplate] = (0, _element.useState)(false);
73
- const prevHasPageContentFocus = (0, _element.useRef)(false);
73
+ setRenderingMode
74
+ } = (0, _data.useDispatch)(_editor.store);
75
+ const [isAnimated, setIsAnimated] = (0, _element.useState)(false);
76
+ const isLoading = (0, _element.useRef)(true);
74
77
  (0, _element.useEffect)(() => {
75
- if (prevHasPageContentFocus.current && !hasPageContentFocus) {
76
- setHasEditedTemplate(true);
78
+ if (!isLoading.current) {
79
+ setIsAnimated(true);
77
80
  }
78
- prevHasPageContentFocus.current = hasPageContentFocus;
79
- }, [hasPageContentFocus]);
81
+ isLoading.current = false;
82
+ }, [isEditingPage]);
80
83
  if (!hasResolved) {
81
84
  return null;
82
85
  }
@@ -85,14 +88,16 @@ function PageDocumentActions() {
85
88
  className: "edit-site-document-actions"
86
89
  }, (0, _i18n.__)('Document not found'));
87
90
  }
88
- return hasPageContentFocus ? (0, _react.createElement)(BaseDocumentActions, {
91
+ return isEditingPage ? (0, _react.createElement)(BaseDocumentActions, {
89
92
  className: (0, _classnames.default)('is-page', {
90
- 'is-animated': hasEditedTemplate
93
+ 'is-animated': isAnimated
91
94
  }),
92
95
  icon: _icons.page
93
96
  }, title) : (0, _react.createElement)(TemplateDocumentActions, {
94
- className: "is-animated",
95
- onBack: () => setHasPageContentFocus(true)
97
+ className: (0, _classnames.default)({
98
+ 'is-animated': isAnimated
99
+ }),
100
+ onBack: () => setRenderingMode('template-locked')
96
101
  });
97
102
  }
98
103
  function TemplateDocumentActions({