@wordpress/edit-site 5.8.0 → 5.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (471) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/add-new-template/add-custom-template-modal.js +21 -6
  3. package/build/components/add-new-template/add-custom-template-modal.js.map +1 -1
  4. package/build/components/add-new-template/new-template-part.js +8 -2
  5. package/build/components/add-new-template/new-template-part.js.map +1 -1
  6. package/build/components/add-new-template/new-template.js +8 -4
  7. package/build/components/add-new-template/new-template.js.map +1 -1
  8. package/build/components/app/index.js +8 -2
  9. package/build/components/app/index.js.map +1 -1
  10. package/build/components/block-editor/back-button.js +10 -3
  11. package/build/components/block-editor/back-button.js.map +1 -1
  12. package/build/components/block-editor/editor-canvas.js +39 -6
  13. package/build/components/block-editor/editor-canvas.js.map +1 -1
  14. package/build/components/block-editor/index.js +7 -7
  15. package/build/components/block-editor/index.js.map +1 -1
  16. package/build/components/editor/index.js +43 -9
  17. package/build/components/editor/index.js.map +1 -1
  18. package/build/components/editor-canvas-container/index.js +131 -0
  19. package/build/components/editor-canvas-container/index.js.map +1 -0
  20. package/build/components/global-styles/block-preview-panel.js +1 -1
  21. package/build/components/global-styles/block-preview-panel.js.map +1 -1
  22. package/build/components/global-styles/border-panel.js +53 -5
  23. package/build/components/global-styles/border-panel.js.map +1 -1
  24. package/build/components/global-styles/color-palette-panel.js +14 -3
  25. package/build/components/global-styles/color-palette-panel.js.map +1 -1
  26. package/build/components/global-styles/dimensions-panel.js +17 -18
  27. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  28. package/build/components/global-styles/global-styles-provider.js +4 -18
  29. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  30. package/build/components/global-styles/gradients-palette-panel.js +14 -3
  31. package/build/components/global-styles/gradients-palette-panel.js.map +1 -1
  32. package/build/components/global-styles/root-menu.js +61 -0
  33. package/build/components/global-styles/root-menu.js.map +1 -0
  34. package/build/components/global-styles/screen-block-list.js +3 -1
  35. package/build/components/global-styles/screen-block-list.js.map +1 -1
  36. package/build/components/global-styles/screen-block.js +158 -7
  37. package/build/components/global-styles/screen-block.js.map +1 -1
  38. package/build/components/global-styles/screen-colors.js +9 -26
  39. package/build/components/global-styles/screen-colors.js.map +1 -1
  40. package/build/components/global-styles/screen-css.js +20 -15
  41. package/build/components/global-styles/screen-css.js.map +1 -1
  42. package/build/components/global-styles/screen-layout.js +4 -17
  43. package/build/components/global-styles/screen-layout.js.map +1 -1
  44. package/build/components/global-styles/screen-revisions/index.js +148 -0
  45. package/build/components/global-styles/screen-revisions/index.js.map +1 -0
  46. package/build/components/global-styles/screen-revisions/revisions-buttons.js +132 -0
  47. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -0
  48. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +130 -0
  49. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -0
  50. package/build/components/global-styles/screen-root.js +2 -2
  51. package/build/components/global-styles/screen-root.js.map +1 -1
  52. package/build/components/global-styles/screen-typography-element.js +0 -3
  53. package/build/components/global-styles/screen-typography-element.js.map +1 -1
  54. package/build/components/global-styles/screen-typography.js +11 -39
  55. package/build/components/global-styles/screen-typography.js.map +1 -1
  56. package/build/components/global-styles/style-variations-container.js +3 -8
  57. package/build/components/global-styles/style-variations-container.js.map +1 -1
  58. package/build/components/global-styles/typography-panel.js +7 -11
  59. package/build/components/global-styles/typography-panel.js.map +1 -1
  60. package/build/components/global-styles/ui.js +66 -120
  61. package/build/components/global-styles/ui.js.map +1 -1
  62. package/build/components/global-styles/variations-panel.js +4 -28
  63. package/build/components/global-styles/variations-panel.js.map +1 -1
  64. package/build/components/header-edit-mode/index.js +11 -7
  65. package/build/components/header-edit-mode/index.js.map +1 -1
  66. package/build/components/keyboard-shortcuts/register.js +1 -1
  67. package/build/components/keyboard-shortcuts/register.js.map +1 -1
  68. package/build/components/layout/index.js +22 -14
  69. package/build/components/layout/index.js.map +1 -1
  70. package/build/components/list/index.js +9 -3
  71. package/build/components/list/index.js.map +1 -1
  72. package/build/components/list/table.js +4 -4
  73. package/build/components/list/table.js.map +1 -1
  74. package/build/components/plugin-template-setting-panel/index.js +44 -0
  75. package/build/components/plugin-template-setting-panel/index.js.map +1 -0
  76. package/build/components/revisions/index.js +95 -0
  77. package/build/components/revisions/index.js.map +1 -0
  78. package/build/components/routes/link.js +17 -2
  79. package/build/components/routes/link.js.map +1 -1
  80. package/build/components/routes/use-title.js +8 -2
  81. package/build/components/routes/use-title.js.map +1 -1
  82. package/build/components/save-button/index.js +31 -6
  83. package/build/components/save-button/index.js.map +1 -1
  84. package/build/components/save-hub/index.js +14 -31
  85. package/build/components/save-hub/index.js.map +1 -1
  86. package/build/components/save-panel/index.js +20 -7
  87. package/build/components/save-panel/index.js.map +1 -1
  88. package/build/components/secondary-sidebar/list-view-sidebar.js +2 -7
  89. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  90. package/build/components/sidebar/index.js +16 -2
  91. package/build/components/sidebar/index.js.map +1 -1
  92. package/build/components/sidebar-edit-mode/global-styles-sidebar.js +35 -14
  93. package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  94. package/build/components/sidebar-edit-mode/index.js +9 -2
  95. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  96. package/build/components/sidebar-edit-mode/sidebar-fixed-bottom.js +40 -0
  97. package/build/components/sidebar-edit-mode/sidebar-fixed-bottom.js.map +1 -0
  98. package/build/components/sidebar-edit-mode/template-card/index.js +1 -8
  99. package/build/components/sidebar-edit-mode/template-card/index.js.map +1 -1
  100. package/build/components/sidebar-edit-mode/{template-card/last-revision.js → template-revisions/index.js} +1 -1
  101. package/build/components/sidebar-edit-mode/template-revisions/index.js.map +1 -0
  102. package/build/components/sidebar-navigation-item/index.js +5 -7
  103. package/build/components/sidebar-navigation-item/index.js.map +1 -1
  104. package/build/components/sidebar-navigation-screen/index.js +14 -4
  105. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  106. package/build/components/sidebar-navigation-screen-main/index.js +24 -7
  107. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  108. package/build/components/sidebar-navigation-screen-navigation-item/index.js +1 -1
  109. package/build/components/sidebar-navigation-screen-navigation-item/index.js.map +1 -1
  110. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +17 -5
  111. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  112. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +3 -3
  113. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  114. package/build/components/sidebar-navigation-screen-page/index.js +67 -0
  115. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -0
  116. package/build/components/sidebar-navigation-screen-pages/index.js +74 -0
  117. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -0
  118. package/build/components/sidebar-navigation-screen-templates/index.js +5 -3
  119. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  120. package/build/components/sidebar-navigation-subtitle/index.js +18 -0
  121. package/build/components/sidebar-navigation-subtitle/index.js.map +1 -0
  122. package/build/components/site-hub/index.js +64 -12
  123. package/build/components/site-hub/index.js.map +1 -1
  124. package/build/components/site-icon/index.js +8 -7
  125. package/build/components/site-icon/index.js.map +1 -1
  126. package/build/components/start-template-options/index.js +21 -24
  127. package/build/components/start-template-options/index.js.map +1 -1
  128. package/build/components/style-book/index.js +9 -41
  129. package/build/components/style-book/index.js.map +1 -1
  130. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +13 -5
  131. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  132. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +9 -4
  133. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -1
  134. package/build/components/sync-state-with-url/use-sync-path-with-url.js +17 -3
  135. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  136. package/build/components/template-details/index.js +3 -1
  137. package/build/components/template-details/index.js.map +1 -1
  138. package/build/components/template-details/template-areas.js +9 -3
  139. package/build/components/template-details/template-areas.js.map +1 -1
  140. package/build/hooks/template-part-edit.js +8 -2
  141. package/build/hooks/template-part-edit.js.map +1 -1
  142. package/build/index.js +8 -0
  143. package/build/index.js.map +1 -1
  144. package/build/store/private-actions.js +19 -1
  145. package/build/store/private-actions.js.map +1 -1
  146. package/build/store/private-selectors.js +13 -0
  147. package/build/store/private-selectors.js.map +1 -1
  148. package/build/store/reducer.js +23 -1
  149. package/build/store/reducer.js.map +1 -1
  150. package/build/utils/is-previewing-theme.js +27 -0
  151. package/build/utils/is-previewing-theme.js.map +1 -0
  152. package/build/utils/use-activate-theme.js +46 -0
  153. package/build/utils/use-activate-theme.js.map +1 -0
  154. package/build-module/components/add-new-template/add-custom-template-modal.js +21 -6
  155. package/build-module/components/add-new-template/add-custom-template-modal.js.map +1 -1
  156. package/build-module/components/add-new-template/new-template-part.js +5 -1
  157. package/build-module/components/add-new-template/new-template-part.js.map +1 -1
  158. package/build-module/components/add-new-template/new-template.js +7 -3
  159. package/build-module/components/add-new-template/new-template.js.map +1 -1
  160. package/build-module/components/app/index.js +6 -2
  161. package/build-module/components/app/index.js.map +1 -1
  162. package/build-module/components/block-editor/back-button.js +6 -1
  163. package/build-module/components/block-editor/back-button.js.map +1 -1
  164. package/build-module/components/block-editor/editor-canvas.js +37 -6
  165. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  166. package/build-module/components/block-editor/index.js +6 -6
  167. package/build-module/components/block-editor/index.js.map +1 -1
  168. package/build-module/components/editor/index.js +45 -11
  169. package/build-module/components/editor/index.js.map +1 -1
  170. package/build-module/components/editor-canvas-container/index.js +115 -0
  171. package/build-module/components/editor-canvas-container/index.js.map +1 -0
  172. package/build-module/components/global-styles/block-preview-panel.js +1 -1
  173. package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
  174. package/build-module/components/global-styles/border-panel.js +54 -5
  175. package/build-module/components/global-styles/border-panel.js.map +1 -1
  176. package/build-module/components/global-styles/color-palette-panel.js +13 -3
  177. package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
  178. package/build-module/components/global-styles/dimensions-panel.js +17 -18
  179. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  180. package/build-module/components/global-styles/global-styles-provider.js +5 -19
  181. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  182. package/build-module/components/global-styles/gradients-palette-panel.js +13 -3
  183. package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -1
  184. package/build-module/components/global-styles/root-menu.js +47 -0
  185. package/build-module/components/global-styles/root-menu.js.map +1 -0
  186. package/build-module/components/global-styles/screen-block-list.js +4 -2
  187. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  188. package/build-module/components/global-styles/screen-block.js +151 -7
  189. package/build-module/components/global-styles/screen-block.js.map +1 -1
  190. package/build-module/components/global-styles/screen-colors.js +9 -25
  191. package/build-module/components/global-styles/screen-colors.js.map +1 -1
  192. package/build-module/components/global-styles/screen-css.js +20 -15
  193. package/build-module/components/global-styles/screen-css.js.map +1 -1
  194. package/build-module/components/global-styles/screen-layout.js +4 -16
  195. package/build-module/components/global-styles/screen-layout.js.map +1 -1
  196. package/build-module/components/global-styles/screen-revisions/index.js +128 -0
  197. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -0
  198. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +121 -0
  199. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -0
  200. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +116 -0
  201. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -0
  202. package/build-module/components/global-styles/screen-root.js +2 -2
  203. package/build-module/components/global-styles/screen-root.js.map +1 -1
  204. package/build-module/components/global-styles/screen-typography-element.js +0 -3
  205. package/build-module/components/global-styles/screen-typography-element.js.map +1 -1
  206. package/build-module/components/global-styles/screen-typography.js +11 -37
  207. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  208. package/build-module/components/global-styles/style-variations-container.js +3 -7
  209. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  210. package/build-module/components/global-styles/typography-panel.js +7 -11
  211. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  212. package/build-module/components/global-styles/ui.js +66 -118
  213. package/build-module/components/global-styles/ui.js.map +1 -1
  214. package/build-module/components/global-styles/variations-panel.js +3 -22
  215. package/build-module/components/global-styles/variations-panel.js.map +1 -1
  216. package/build-module/components/header-edit-mode/index.js +10 -7
  217. package/build-module/components/header-edit-mode/index.js.map +1 -1
  218. package/build-module/components/keyboard-shortcuts/register.js +1 -1
  219. package/build-module/components/keyboard-shortcuts/register.js.map +1 -1
  220. package/build-module/components/layout/index.js +17 -10
  221. package/build-module/components/layout/index.js.map +1 -1
  222. package/build-module/components/list/index.js +5 -1
  223. package/build-module/components/list/index.js.map +1 -1
  224. package/build-module/components/list/table.js +4 -4
  225. package/build-module/components/list/table.js.map +1 -1
  226. package/build-module/components/plugin-template-setting-panel/index.js +35 -0
  227. package/build-module/components/plugin-template-setting-panel/index.js.map +1 -0
  228. package/build-module/components/revisions/index.js +77 -0
  229. package/build-module/components/revisions/index.js.map +1 -0
  230. package/build-module/components/routes/link.js +13 -1
  231. package/build-module/components/routes/link.js.map +1 -1
  232. package/build-module/components/routes/use-title.js +5 -1
  233. package/build-module/components/routes/use-title.js.map +1 -1
  234. package/build-module/components/save-button/index.js +28 -6
  235. package/build-module/components/save-button/index.js.map +1 -1
  236. package/build-module/components/save-hub/index.js +13 -32
  237. package/build-module/components/save-hub/index.js.map +1 -1
  238. package/build-module/components/save-panel/index.js +19 -7
  239. package/build-module/components/save-panel/index.js.map +1 -1
  240. package/build-module/components/secondary-sidebar/list-view-sidebar.js +3 -8
  241. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  242. package/build-module/components/sidebar/index.js +11 -1
  243. package/build-module/components/sidebar/index.js.map +1 -1
  244. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js +35 -16
  245. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  246. package/build-module/components/sidebar-edit-mode/index.js +10 -5
  247. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  248. package/build-module/components/sidebar-edit-mode/sidebar-fixed-bottom.js +29 -0
  249. package/build-module/components/sidebar-edit-mode/sidebar-fixed-bottom.js.map +1 -0
  250. package/build-module/components/sidebar-edit-mode/template-card/index.js +2 -7
  251. package/build-module/components/sidebar-edit-mode/template-card/index.js.map +1 -1
  252. package/build-module/components/sidebar-edit-mode/{template-card/last-revision.js → template-revisions/index.js} +1 -1
  253. package/build-module/components/sidebar-edit-mode/template-revisions/index.js.map +1 -0
  254. package/build-module/components/sidebar-navigation-item/index.js +6 -8
  255. package/build-module/components/sidebar-navigation-item/index.js.map +1 -1
  256. package/build-module/components/sidebar-navigation-screen/index.js +13 -5
  257. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  258. package/build-module/components/sidebar-navigation-screen-main/index.js +25 -8
  259. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  260. package/build-module/components/sidebar-navigation-screen-navigation-item/index.js +1 -1
  261. package/build-module/components/sidebar-navigation-screen-navigation-item/index.js.map +1 -1
  262. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +13 -3
  263. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  264. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +3 -3
  265. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  266. package/build-module/components/sidebar-navigation-screen-page/index.js +48 -0
  267. package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -0
  268. package/build-module/components/sidebar-navigation-screen-pages/index.js +57 -0
  269. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -0
  270. package/build-module/components/sidebar-navigation-screen-templates/index.js +5 -3
  271. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  272. package/build-module/components/sidebar-navigation-subtitle/index.js +10 -0
  273. package/build-module/components/sidebar-navigation-subtitle/index.js.map +1 -0
  274. package/build-module/components/site-hub/index.js +64 -14
  275. package/build-module/components/site-hub/index.js.map +1 -1
  276. package/build-module/components/site-icon/index.js +8 -7
  277. package/build-module/components/site-icon/index.js.map +1 -1
  278. package/build-module/components/start-template-options/index.js +22 -25
  279. package/build-module/components/start-template-options/index.js.map +1 -1
  280. package/build-module/components/style-book/index.js +10 -41
  281. package/build-module/components/style-book/index.js.map +1 -1
  282. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +10 -4
  283. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  284. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +5 -1
  285. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -1
  286. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +13 -1
  287. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  288. package/build-module/components/template-details/index.js +3 -1
  289. package/build-module/components/template-details/index.js.map +1 -1
  290. package/build-module/components/template-details/template-areas.js +5 -1
  291. package/build-module/components/template-details/template-areas.js.map +1 -1
  292. package/build-module/hooks/template-part-edit.js +5 -1
  293. package/build-module/hooks/template-part-edit.js.map +1 -1
  294. package/build-module/index.js +1 -0
  295. package/build-module/index.js.map +1 -1
  296. package/build-module/store/private-actions.js +15 -0
  297. package/build-module/store/private-actions.js.map +1 -1
  298. package/build-module/store/private-selectors.js +11 -0
  299. package/build-module/store/private-selectors.js.map +1 -1
  300. package/build-module/store/reducer.js +23 -1
  301. package/build-module/store/reducer.js.map +1 -1
  302. package/build-module/utils/is-previewing-theme.js +17 -0
  303. package/build-module/utils/is-previewing-theme.js.map +1 -0
  304. package/build-module/utils/use-activate-theme.js +36 -0
  305. package/build-module/utils/use-activate-theme.js.map +1 -0
  306. package/build-style/style-rtl.css +310 -137
  307. package/build-style/style.css +310 -137
  308. package/package.json +37 -35
  309. package/src/components/add-new-template/add-custom-template-modal.js +31 -8
  310. package/src/components/add-new-template/new-template-part.js +4 -1
  311. package/src/components/add-new-template/new-template.js +6 -1
  312. package/src/components/add-new-template/style.scss +52 -48
  313. package/src/components/app/index.js +6 -3
  314. package/src/components/block-editor/back-button.js +4 -1
  315. package/src/components/block-editor/editor-canvas.js +36 -8
  316. package/src/components/block-editor/index.js +8 -8
  317. package/src/components/block-editor/style.scss +15 -8
  318. package/src/components/editor/index.js +48 -7
  319. package/src/components/editor-canvas-container/index.js +128 -0
  320. package/src/components/editor-canvas-container/style.scss +19 -0
  321. package/src/components/global-styles/block-preview-panel.js +1 -1
  322. package/src/components/global-styles/border-panel.js +46 -3
  323. package/src/components/global-styles/color-palette-panel.js +9 -0
  324. package/src/components/global-styles/dimensions-panel.js +15 -15
  325. package/src/components/global-styles/global-styles-provider.js +4 -18
  326. package/src/components/global-styles/gradients-palette-panel.js +8 -0
  327. package/src/components/global-styles/root-menu.js +66 -0
  328. package/src/components/global-styles/screen-block-list.js +2 -2
  329. package/src/components/global-styles/screen-block.js +184 -7
  330. package/src/components/global-styles/screen-colors.js +9 -16
  331. package/src/components/global-styles/screen-css.js +21 -21
  332. package/src/components/global-styles/screen-layout.js +5 -9
  333. package/src/components/global-styles/screen-revisions/index.js +177 -0
  334. package/src/components/global-styles/screen-revisions/revisions-buttons.js +131 -0
  335. package/src/components/global-styles/screen-revisions/style.scss +99 -0
  336. package/src/components/global-styles/screen-revisions/test/use-global-styles-revisions.js +125 -0
  337. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +103 -0
  338. package/src/components/global-styles/screen-root.js +2 -2
  339. package/src/components/global-styles/screen-typography-element.js +1 -3
  340. package/src/components/global-styles/screen-typography.js +44 -79
  341. package/src/components/global-styles/style-variations-container.js +4 -10
  342. package/src/components/global-styles/style.scss +1 -23
  343. package/src/components/global-styles/typography-panel.js +12 -13
  344. package/src/components/global-styles/ui.js +82 -107
  345. package/src/components/global-styles/variations-panel.js +3 -26
  346. package/src/components/header-edit-mode/index.js +17 -5
  347. package/src/components/keyboard-shortcuts/register.js +1 -1
  348. package/src/components/layout/index.js +16 -19
  349. package/src/components/layout/style.scss +32 -7
  350. package/src/components/list/index.js +4 -1
  351. package/src/components/list/style.scss +4 -0
  352. package/src/components/list/table.js +19 -3
  353. package/src/components/plugin-template-setting-panel/index.js +33 -0
  354. package/src/components/revisions/index.js +104 -0
  355. package/src/components/routes/link.js +16 -1
  356. package/src/components/routes/use-title.js +4 -1
  357. package/src/components/save-button/index.js +27 -6
  358. package/src/components/save-hub/index.js +17 -35
  359. package/src/components/save-panel/index.js +15 -3
  360. package/src/components/secondary-sidebar/list-view-sidebar.js +2 -6
  361. package/src/components/secondary-sidebar/style.scss +23 -5
  362. package/src/components/sidebar/index.js +12 -1
  363. package/src/components/sidebar/style.scss +2 -1
  364. package/src/components/sidebar-edit-mode/global-styles-sidebar.js +39 -18
  365. package/src/components/sidebar-edit-mode/index.js +17 -6
  366. package/src/components/sidebar-edit-mode/sidebar-fixed-bottom.js +26 -0
  367. package/src/components/sidebar-edit-mode/style.scss +10 -0
  368. package/src/components/sidebar-edit-mode/template-card/index.js +1 -9
  369. package/src/components/sidebar-navigation-item/index.js +13 -14
  370. package/src/components/sidebar-navigation-item/style.scss +8 -1
  371. package/src/components/sidebar-navigation-screen/index.js +26 -5
  372. package/src/components/sidebar-navigation-screen-main/index.js +43 -22
  373. package/src/components/sidebar-navigation-screen-navigation-item/index.js +3 -9
  374. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +13 -1
  375. package/src/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +3 -3
  376. package/src/components/sidebar-navigation-screen-page/index.js +59 -0
  377. package/src/components/sidebar-navigation-screen-pages/index.js +82 -0
  378. package/src/components/sidebar-navigation-screen-pages/style.scss +4 -0
  379. package/src/components/sidebar-navigation-screen-templates/index.js +5 -1
  380. package/src/components/sidebar-navigation-subtitle/index.js +5 -0
  381. package/src/components/sidebar-navigation-subtitle/style.scss +7 -0
  382. package/src/components/site-hub/index.js +92 -33
  383. package/src/components/site-hub/style.scss +8 -0
  384. package/src/components/site-icon/index.js +6 -11
  385. package/src/components/site-icon/style.scss +8 -3
  386. package/src/components/start-template-options/index.js +32 -39
  387. package/src/components/start-template-options/style.scss +36 -46
  388. package/src/components/style-book/index.js +7 -51
  389. package/src/components/style-book/style.scss +0 -18
  390. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +8 -4
  391. package/src/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +3 -1
  392. package/src/components/sync-state-with-url/use-sync-path-with-url.js +14 -1
  393. package/src/components/template-details/index.js +1 -0
  394. package/src/components/template-details/template-areas.js +4 -1
  395. package/src/hooks/template-part-edit.js +4 -1
  396. package/src/index.js +1 -0
  397. package/src/store/private-actions.js +14 -0
  398. package/src/store/private-selectors.js +11 -0
  399. package/src/store/reducer.js +18 -0
  400. package/src/store/test/actions.js +6 -14
  401. package/src/style.scss +5 -1
  402. package/src/utils/is-previewing-theme.js +18 -0
  403. package/src/utils/use-activate-theme.js +38 -0
  404. package/build/components/global-styles/context-menu.js +0 -126
  405. package/build/components/global-styles/context-menu.js.map +0 -1
  406. package/build/components/global-styles/custom-css.js +0 -113
  407. package/build/components/global-styles/custom-css.js.map +0 -1
  408. package/build/components/global-styles/effects-panel.js +0 -53
  409. package/build/components/global-styles/effects-panel.js.map +0 -1
  410. package/build/components/global-styles/filters-panel.js +0 -45
  411. package/build/components/global-styles/filters-panel.js.map +0 -1
  412. package/build/components/global-styles/screen-border.js +0 -61
  413. package/build/components/global-styles/screen-border.js.map +0 -1
  414. package/build/components/global-styles/screen-effects.js +0 -61
  415. package/build/components/global-styles/screen-effects.js.map +0 -1
  416. package/build/components/global-styles/screen-filters.js +0 -46
  417. package/build/components/global-styles/screen-filters.js.map +0 -1
  418. package/build/components/global-styles/screen-variations.js +0 -71
  419. package/build/components/global-styles/screen-variations.js.map +0 -1
  420. package/build/components/routes/index.js +0 -60
  421. package/build/components/routes/index.js.map +0 -1
  422. package/build/components/sidebar-edit-mode/template-card/last-revision.js.map +0 -1
  423. package/build/hooks/commands/index.js +0 -19
  424. package/build/hooks/commands/index.js.map +0 -1
  425. package/build/hooks/commands/use-navigation-commands.js +0 -117
  426. package/build/hooks/commands/use-navigation-commands.js.map +0 -1
  427. package/build/hooks/commands/use-wp-admin-commands.js +0 -94
  428. package/build/hooks/commands/use-wp-admin-commands.js.map +0 -1
  429. package/build/utils/history.js +0 -41
  430. package/build/utils/history.js.map +0 -1
  431. package/build-module/components/global-styles/context-menu.js +0 -107
  432. package/build-module/components/global-styles/context-menu.js.map +0 -1
  433. package/build-module/components/global-styles/custom-css.js +0 -98
  434. package/build-module/components/global-styles/custom-css.js.map +0 -1
  435. package/build-module/components/global-styles/effects-panel.js +0 -43
  436. package/build-module/components/global-styles/effects-panel.js.map +0 -1
  437. package/build-module/components/global-styles/filters-panel.js +0 -35
  438. package/build-module/components/global-styles/filters-panel.js.map +0 -1
  439. package/build-module/components/global-styles/screen-border.js +0 -44
  440. package/build-module/components/global-styles/screen-border.js.map +0 -1
  441. package/build-module/components/global-styles/screen-effects.js +0 -44
  442. package/build-module/components/global-styles/screen-effects.js.map +0 -1
  443. package/build-module/components/global-styles/screen-filters.js +0 -33
  444. package/build-module/components/global-styles/screen-filters.js.map +0 -1
  445. package/build-module/components/global-styles/screen-variations.js +0 -54
  446. package/build-module/components/global-styles/screen-variations.js.map +0 -1
  447. package/build-module/components/routes/index.js +0 -47
  448. package/build-module/components/routes/index.js.map +0 -1
  449. package/build-module/components/sidebar-edit-mode/template-card/last-revision.js.map +0 -1
  450. package/build-module/hooks/commands/index.js +0 -10
  451. package/build-module/hooks/commands/index.js.map +0 -1
  452. package/build-module/hooks/commands/use-navigation-commands.js +0 -101
  453. package/build-module/hooks/commands/use-navigation-commands.js.map +0 -1
  454. package/build-module/hooks/commands/use-wp-admin-commands.js +0 -79
  455. package/build-module/hooks/commands/use-wp-admin-commands.js.map +0 -1
  456. package/build-module/utils/history.js +0 -31
  457. package/build-module/utils/history.js.map +0 -1
  458. package/src/components/global-styles/context-menu.js +0 -175
  459. package/src/components/global-styles/custom-css.js +0 -131
  460. package/src/components/global-styles/effects-panel.js +0 -40
  461. package/src/components/global-styles/filters-panel.js +0 -33
  462. package/src/components/global-styles/screen-border.js +0 -35
  463. package/src/components/global-styles/screen-effects.js +0 -35
  464. package/src/components/global-styles/screen-filters.js +0 -27
  465. package/src/components/global-styles/screen-variations.js +0 -46
  466. package/src/components/routes/index.js +0 -53
  467. package/src/hooks/commands/index.js +0 -10
  468. package/src/hooks/commands/use-navigation-commands.js +0 -103
  469. package/src/hooks/commands/use-wp-admin-commands.js +0 -77
  470. package/src/utils/history.js +0 -39
  471. /package/src/components/sidebar-edit-mode/{template-card/last-revision.js → template-revisions/index.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/screen-block.js"],"names":["ScreenBlock","name","blockType","title","encodeURIComponent"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AAVA;AACA;AACA;;AAGA;AACA;AACA;AAKA,SAASA,WAAT,OAAiC;AAAA,MAAX;AAAEC,IAAAA;AAAF,GAAW;AAChC,QAAMC,SAAS,GAAG,0BAAcD,IAAd,CAAlB;AAEA,SACC,qDACC,4BAAC,eAAD;AAAc,IAAA,KAAK,EAAGC,SAAS,CAACC;AAAhC,IADD,EAEC,4BAAC,0BAAD;AAAmB,IAAA,IAAI,EAAGF;AAA1B,IAFD,EAGC,4BAAC,oBAAD;AACC,IAAA,UAAU,EAAG,aAAaG,kBAAkB,CAAEH,IAAF,CAD7C;AAEC,IAAA,IAAI,EAAGA;AAFR,IAHD,CADD;AAUA;;eAEcD,W","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockType } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport ContextMenu from './context-menu';\nimport ScreenHeader from './header';\nimport BlockPreviewPanel from './block-preview-panel';\n\nfunction ScreenBlock( { name } ) {\n\tconst blockType = getBlockType( name );\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader title={ blockType.title } />\n\t\t\t<BlockPreviewPanel name={ name } />\n\t\t\t<ContextMenu\n\t\t\t\tparentMenu={ '/blocks/' + encodeURIComponent( name ) }\n\t\t\t\tname={ name }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default ScreenBlock;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/screen-block.js"],"names":["useHasDimensionsPanel","useHasTypographyPanel","useHasBorderPanel","useGlobalSetting","useSettingsForBlockElement","useHasColorPanel","useHasEffectsPanel","useHasFiltersPanel","useGlobalStyle","BorderPanel","StylesBorderPanel","ColorPanel","StylesColorPanel","TypographyPanel","StylesTypographyPanel","DimensionsPanel","StylesDimensionsPanel","EffectsPanel","StylesEffectsPanel","FiltersPanel","StylesFiltersPanel","AdvancedPanel","StylesAdvancedPanel","blockEditorPrivateApis","ScreenBlock","name","variation","prefixParts","concat","prefix","join","style","shouldDecodeEncode","inheritedStyle","setStyle","rawSettings","setSettings","settings","blockType","blockVariations","hasTypographyPanel","hasColorPanel","hasBorderPanel","hasDimensionsPanel","hasEffectsPanel","hasFiltersPanel","hasVariationsPanel","length","canEditCSS","select","getEntityRecord","__experimentalGetCurrentGlobalStylesId","coreStore","globalStylesId","globalStyles","undefined","_links","currentBlockStyle","find","s","inheritedStyleWithLayout","layout","styleWithLayout","onChangeDimensions","newStyle","updatedStyle","label","title","color","customDuotone"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockType } from '@wordpress/blocks';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tPanelBody,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ScreenHeader from './header';\nimport BlockPreviewPanel from './block-preview-panel';\nimport { unlock } from '../../private-apis';\nimport Subtitle from './subtitle';\nimport { useBlockVariations, VariationsPanel } from './variations-panel';\n\nconst {\n\tuseHasDimensionsPanel,\n\tuseHasTypographyPanel,\n\tuseHasBorderPanel,\n\tuseGlobalSetting,\n\tuseSettingsForBlockElement,\n\tuseHasColorPanel,\n\tuseHasEffectsPanel,\n\tuseHasFiltersPanel,\n\tuseGlobalStyle,\n\tBorderPanel: StylesBorderPanel,\n\tColorPanel: StylesColorPanel,\n\tTypographyPanel: StylesTypographyPanel,\n\tDimensionsPanel: StylesDimensionsPanel,\n\tEffectsPanel: StylesEffectsPanel,\n\tFiltersPanel: StylesFiltersPanel,\n\tAdvancedPanel: StylesAdvancedPanel,\n} = unlock( blockEditorPrivateApis );\n\nfunction ScreenBlock( { name, variation } ) {\n\tlet prefixParts = [];\n\tif ( variation ) {\n\t\tprefixParts = [ 'variations', variation ].concat( prefixParts );\n\t}\n\tconst prefix = prefixParts.join( '.' );\n\n\tconst [ style ] = useGlobalStyle( prefix, name, 'user', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ inheritedStyle, setStyle ] = useGlobalStyle( prefix, name, 'all', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ rawSettings, setSettings ] = useGlobalSetting( '', name );\n\tconst settings = useSettingsForBlockElement( rawSettings, name );\n\tconst blockType = getBlockType( name );\n\tconst blockVariations = useBlockVariations( name );\n\tconst hasTypographyPanel = useHasTypographyPanel( settings );\n\tconst hasColorPanel = useHasColorPanel( settings );\n\tconst hasBorderPanel = useHasBorderPanel( settings );\n\tconst hasDimensionsPanel = useHasDimensionsPanel( settings );\n\tconst hasEffectsPanel = useHasEffectsPanel( settings );\n\tconst hasFiltersPanel = useHasFiltersPanel( settings );\n\tconst hasVariationsPanel = !! blockVariations?.length && ! variation;\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:\n\t\t\t\t!! globalStyles?._links?.[ 'wp:action-edit-css' ] ?? false,\n\t\t};\n\t}, [] );\n\tconst currentBlockStyle = variation\n\t\t? blockVariations.find( ( s ) => s.name === variation )\n\t\t: null;\n\n\t// These intermediary objects are needed because the \"layout\" property is stored\n\t// in settings rather than styles.\n\tconst inheritedStyleWithLayout = useMemo( () => {\n\t\treturn {\n\t\t\t...inheritedStyle,\n\t\t\tlayout: settings.layout,\n\t\t};\n\t}, [ inheritedStyle, settings.layout ] );\n\tconst styleWithLayout = useMemo( () => {\n\t\treturn {\n\t\t\t...style,\n\t\t\tlayout: settings.layout,\n\t\t};\n\t}, [ style, settings.layout ] );\n\tconst onChangeDimensions = ( newStyle ) => {\n\t\tconst updatedStyle = { ...newStyle };\n\t\tdelete updatedStyle.layout;\n\t\tsetStyle( updatedStyle );\n\n\t\tif ( newStyle.layout !== settings.layout ) {\n\t\t\tsetSettings( {\n\t\t\t\t...rawSettings,\n\t\t\t\tlayout: newStyle.layout,\n\t\t\t} );\n\t\t}\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ variation ? currentBlockStyle.label : blockType.title }\n\t\t\t/>\n\t\t\t<BlockPreviewPanel name={ name } variation={ variation } />\n\t\t\t{ hasVariationsPanel && (\n\t\t\t\t<div className=\"edit-site-global-styles-screen-variations\">\n\t\t\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t\t\t<Subtitle>{ __( 'Style Variations' ) }</Subtitle>\n\t\t\t\t\t\t<VariationsPanel name={ name } />\n\t\t\t\t\t</VStack>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ hasColorPanel && (\n\t\t\t\t<StylesColorPanel\n\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\tvalue={ style }\n\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasTypographyPanel && (\n\t\t\t\t<StylesTypographyPanel\n\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\tvalue={ style }\n\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasDimensionsPanel && (\n\t\t\t\t<StylesDimensionsPanel\n\t\t\t\t\tinheritedValue={ inheritedStyleWithLayout }\n\t\t\t\t\tvalue={ styleWithLayout }\n\t\t\t\t\tonChange={ onChangeDimensions }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tincludeLayoutControls\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBorderPanel && (\n\t\t\t\t<StylesBorderPanel\n\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\tvalue={ style }\n\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasEffectsPanel && (\n\t\t\t\t<StylesEffectsPanel\n\t\t\t\t\tinheritedValue={ inheritedStyleWithLayout }\n\t\t\t\t\tvalue={ styleWithLayout }\n\t\t\t\t\tonChange={ onChangeDimensions }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tincludeLayoutControls\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasFiltersPanel && (\n\t\t\t\t<StylesFiltersPanel\n\t\t\t\t\tinheritedValue={ inheritedStyleWithLayout }\n\t\t\t\t\tvalue={ styleWithLayout }\n\t\t\t\t\tonChange={ onChangeDimensions }\n\t\t\t\t\tsettings={ {\n\t\t\t\t\t\t...settings,\n\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t...settings.color,\n\t\t\t\t\t\t\tcustomDuotone: false, //TO FIX: Custom duotone only works on the block level right now\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t\tincludeLayoutControls\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ canEditCSS && (\n\t\t\t\t<PanelBody title={ __( 'Advanced' ) } initialOpen={ false }>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t// translators: %s: is the name of a block e.g., 'Image' or 'Table'.\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'Add your own CSS to customize the appearance of the %s block.'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tblockType?.title\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t<StylesAdvancedPanel\n\t\t\t\t\t\tvalue={ style }\n\t\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default ScreenBlock;\n"]}
@@ -21,8 +21,6 @@ var _palette = _interopRequireDefault(require("./palette"));
21
21
 
22
22
  var _blockPreviewPanel = _interopRequireDefault(require("./block-preview-panel"));
23
23
 
24
- var _utils = require("./utils");
25
-
26
24
  var _privateApis = require("../../private-apis");
27
25
 
28
26
  /**
@@ -39,38 +37,23 @@ const {
39
37
  ColorPanel: StylesColorPanel
40
38
  } = (0, _privateApis.unlock)(_blockEditor.privateApis);
41
39
 
42
- function ScreenColors(_ref) {
43
- let {
44
- name,
45
- variation = ''
46
- } = _ref;
47
- const variationClassName = (0, _utils.getVariationClassName)(variation);
48
- let prefixParts = [];
49
-
50
- if (variation) {
51
- prefixParts = ['variations', variation].concat(prefixParts);
52
- }
53
-
54
- const prefix = prefixParts.join('.');
55
- const [style] = useGlobalStyle(prefix, name, 'user', false);
56
- const [inheritedStyle, setStyle] = useGlobalStyle(prefix, name, 'all', {
40
+ function ScreenColors() {
41
+ const [style] = useGlobalStyle('', undefined, 'user', {
42
+ shouldDecodeEncode: false
43
+ });
44
+ const [inheritedStyle, setStyle] = useGlobalStyle('', undefined, 'all', {
57
45
  shouldDecodeEncode: false
58
46
  });
59
- const [rawSettings] = useGlobalSetting('', name);
60
- const settings = useSettingsForBlockElement(rawSettings, name);
47
+ const [rawSettings] = useGlobalSetting('');
48
+ const settings = useSettingsForBlockElement(rawSettings);
61
49
  return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_header.default, {
62
50
  title: (0, _i18n.__)('Colors'),
63
51
  description: (0, _i18n.__)('Manage palettes and the default color of different global elements on the site.')
64
- }), (0, _element.createElement)(_blockPreviewPanel.default, {
65
- name: name,
66
- variation: variationClassName
67
- }), (0, _element.createElement)("div", {
52
+ }), (0, _element.createElement)(_blockPreviewPanel.default, null), (0, _element.createElement)("div", {
68
53
  className: "edit-site-global-styles-screen-colors"
69
54
  }, (0, _element.createElement)(_components.__experimentalVStack, {
70
55
  spacing: 10
71
- }, (0, _element.createElement)(_palette.default, {
72
- name: name
73
- }), (0, _element.createElement)(StylesColorPanel, {
56
+ }, (0, _element.createElement)(_palette.default, null), (0, _element.createElement)(StylesColorPanel, {
74
57
  inheritedValue: inheritedStyle,
75
58
  value: style,
76
59
  onChange: setStyle,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/screen-colors.js"],"names":["useGlobalStyle","useGlobalSetting","useSettingsForBlockElement","ColorPanel","StylesColorPanel","blockEditorPrivateApis","ScreenColors","name","variation","variationClassName","prefixParts","concat","prefix","join","style","inheritedStyle","setStyle","shouldDecodeEncode","rawSettings","settings"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AAdA;AACA;AACA;;AAKA;AACA;AACA;AAOA,MAAM;AACLA,EAAAA,cADK;AAELC,EAAAA,gBAFK;AAGLC,EAAAA,0BAHK;AAILC,EAAAA,UAAU,EAAEC;AAJP,IAKF,yBAAQC,wBAAR,CALJ;;AAOA,SAASC,YAAT,OAAkD;AAAA,MAA3B;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,SAAS,GAAG;AAApB,GAA2B;AACjD,QAAMC,kBAAkB,GAAG,kCAAuBD,SAAvB,CAA3B;AAEA,MAAIE,WAAW,GAAG,EAAlB;;AACA,MAAKF,SAAL,EAAiB;AAChBE,IAAAA,WAAW,GAAG,CAAE,YAAF,EAAgBF,SAAhB,EAA4BG,MAA5B,CAAoCD,WAApC,CAAd;AACA;;AACD,QAAME,MAAM,GAAGF,WAAW,CAACG,IAAZ,CAAkB,GAAlB,CAAf;AAEA,QAAM,CAAEC,KAAF,IAAYd,cAAc,CAAEY,MAAF,EAAUL,IAAV,EAAgB,MAAhB,EAAwB,KAAxB,CAAhC;AACA,QAAM,CAAEQ,cAAF,EAAkBC,QAAlB,IAA+BhB,cAAc,CAAEY,MAAF,EAAUL,IAAV,EAAgB,KAAhB,EAAuB;AACzEU,IAAAA,kBAAkB,EAAE;AADqD,GAAvB,CAAnD;AAGA,QAAM,CAAEC,WAAF,IAAkBjB,gBAAgB,CAAE,EAAF,EAAMM,IAAN,CAAxC;AACA,QAAMY,QAAQ,GAAGjB,0BAA0B,CAAEgB,WAAF,EAAeX,IAAf,CAA3C;AAEA,SACC,qDACC,4BAAC,eAAD;AACC,IAAA,KAAK,EAAG,cAAI,QAAJ,CADT;AAEC,IAAA,WAAW,EAAG,cACb,iFADa;AAFf,IADD,EAQC,4BAAC,0BAAD;AAAmB,IAAA,IAAI,EAAGA,IAA1B;AAAiC,IAAA,SAAS,EAAGE;AAA7C,IARD,EAUC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,gCAAD;AAAQ,IAAA,OAAO,EAAG;AAAlB,KACC,4BAAC,gBAAD;AAAS,IAAA,IAAI,EAAGF;AAAhB,IADD,EAGC,4BAAC,gBAAD;AACC,IAAA,cAAc,EAAGQ,cADlB;AAEC,IAAA,KAAK,EAAGD,KAFT;AAGC,IAAA,QAAQ,EAAGE,QAHZ;AAIC,IAAA,QAAQ,EAAGG;AAJZ,IAHD,CADD,CAVD,CADD;AAyBA;;eAEcb,Y","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { __experimentalVStack as VStack } from '@wordpress/components';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport ScreenHeader from './header';\nimport Palette from './palette';\nimport BlockPreviewPanel from './block-preview-panel';\nimport { getVariationClassName } from './utils';\nimport { unlock } from '../../private-apis';\n\nconst {\n\tuseGlobalStyle,\n\tuseGlobalSetting,\n\tuseSettingsForBlockElement,\n\tColorPanel: StylesColorPanel,\n} = unlock( blockEditorPrivateApis );\n\nfunction ScreenColors( { name, variation = '' } ) {\n\tconst variationClassName = getVariationClassName( variation );\n\n\tlet prefixParts = [];\n\tif ( variation ) {\n\t\tprefixParts = [ 'variations', variation ].concat( prefixParts );\n\t}\n\tconst prefix = prefixParts.join( '.' );\n\n\tconst [ style ] = useGlobalStyle( prefix, name, 'user', false );\n\tconst [ inheritedStyle, setStyle ] = useGlobalStyle( prefix, name, 'all', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ rawSettings ] = useGlobalSetting( '', name );\n\tconst settings = useSettingsForBlockElement( rawSettings, name );\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ __( 'Colors' ) }\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Manage palettes and the default color of different global elements on the site.'\n\t\t\t\t) }\n\t\t\t/>\n\n\t\t\t<BlockPreviewPanel name={ name } variation={ variationClassName } />\n\n\t\t\t<div className=\"edit-site-global-styles-screen-colors\">\n\t\t\t\t<VStack spacing={ 10 }>\n\t\t\t\t\t<Palette name={ name } />\n\n\t\t\t\t\t<StylesColorPanel\n\t\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\t\tvalue={ style }\n\t\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t/>\n\t\t\t\t</VStack>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default ScreenColors;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/screen-colors.js"],"names":["useGlobalStyle","useGlobalSetting","useSettingsForBlockElement","ColorPanel","StylesColorPanel","blockEditorPrivateApis","ScreenColors","style","undefined","shouldDecodeEncode","inheritedStyle","setStyle","rawSettings","settings"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AAbA;AACA;AACA;;AAKA;AACA;AACA;AAMA,MAAM;AACLA,EAAAA,cADK;AAELC,EAAAA,gBAFK;AAGLC,EAAAA,0BAHK;AAILC,EAAAA,UAAU,EAAEC;AAJP,IAKF,yBAAQC,wBAAR,CALJ;;AAOA,SAASC,YAAT,GAAwB;AACvB,QAAM,CAAEC,KAAF,IAAYP,cAAc,CAAE,EAAF,EAAMQ,SAAN,EAAiB,MAAjB,EAAyB;AACxDC,IAAAA,kBAAkB,EAAE;AADoC,GAAzB,CAAhC;AAGA,QAAM,CAAEC,cAAF,EAAkBC,QAAlB,IAA+BX,cAAc,CAAE,EAAF,EAAMQ,SAAN,EAAiB,KAAjB,EAAwB;AAC1EC,IAAAA,kBAAkB,EAAE;AADsD,GAAxB,CAAnD;AAGA,QAAM,CAAEG,WAAF,IAAkBX,gBAAgB,CAAE,EAAF,CAAxC;AACA,QAAMY,QAAQ,GAAGX,0BAA0B,CAAEU,WAAF,CAA3C;AAEA,SACC,qDACC,4BAAC,eAAD;AACC,IAAA,KAAK,EAAG,cAAI,QAAJ,CADT;AAEC,IAAA,WAAW,EAAG,cACb,iFADa;AAFf,IADD,EAQC,4BAAC,0BAAD,OARD,EAUC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,gCAAD;AAAQ,IAAA,OAAO,EAAG;AAAlB,KACC,4BAAC,gBAAD,OADD,EAGC,4BAAC,gBAAD;AACC,IAAA,cAAc,EAAGF,cADlB;AAEC,IAAA,KAAK,EAAGH,KAFT;AAGC,IAAA,QAAQ,EAAGI,QAHZ;AAIC,IAAA,QAAQ,EAAGE;AAJZ,IAHD,CADD,CAVD,CADD;AAyBA;;eAEcP,Y","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { __experimentalVStack as VStack } from '@wordpress/components';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport ScreenHeader from './header';\nimport Palette from './palette';\nimport BlockPreviewPanel from './block-preview-panel';\nimport { unlock } from '../../private-apis';\n\nconst {\n\tuseGlobalStyle,\n\tuseGlobalSetting,\n\tuseSettingsForBlockElement,\n\tColorPanel: StylesColorPanel,\n} = unlock( blockEditorPrivateApis );\n\nfunction ScreenColors() {\n\tconst [ style ] = useGlobalStyle( '', undefined, 'user', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ inheritedStyle, setStyle ] = useGlobalStyle( '', undefined, 'all', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ rawSettings ] = useGlobalSetting( '' );\n\tconst settings = useSettingsForBlockElement( rawSettings );\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ __( 'Colors' ) }\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Manage palettes and the default color of different global elements on the site.'\n\t\t\t\t) }\n\t\t\t/>\n\n\t\t\t<BlockPreviewPanel />\n\n\t\t\t<div className=\"edit-site-global-styles-screen-colors\">\n\t\t\t\t<VStack spacing={ 10 }>\n\t\t\t\t\t<Palette />\n\n\t\t\t\t\t<StylesColorPanel\n\t\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\t\tvalue={ style }\n\t\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t/>\n\t\t\t\t</VStack>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default ScreenColors;\n"]}
@@ -13,11 +13,11 @@ var _i18n = require("@wordpress/i18n");
13
13
 
14
14
  var _components = require("@wordpress/components");
15
15
 
16
- var _blocks = require("@wordpress/blocks");
16
+ var _blockEditor = require("@wordpress/block-editor");
17
17
 
18
- var _header = _interopRequireDefault(require("./header"));
18
+ var _privateApis = require("../../private-apis");
19
19
 
20
- var _customCss = _interopRequireDefault(require("./custom-css"));
20
+ var _header = _interopRequireDefault(require("./header"));
21
21
 
22
22
  /**
23
23
  * WordPress dependencies
@@ -26,16 +26,19 @@ var _customCss = _interopRequireDefault(require("./custom-css"));
26
26
  /**
27
27
  * Internal dependencies
28
28
  */
29
- function ScreenCSS(_ref) {
30
- let {
31
- name
32
- } = _ref;
33
- // If name is defined, we are customizing CSS at the block level.
34
- // Display the block title in the description.
35
- const blockType = (0, _blocks.getBlockType)(name);
36
- const title = blockType === null || blockType === void 0 ? void 0 : blockType.title;
37
- const description = title !== undefined ? (0, _i18n.sprintf)( // translators: %s: is the name of a block e.g., 'Image' or 'Table'.
38
- (0, _i18n.__)('Add your own CSS to customize the appearance of the %s block.'), title) : (0, _i18n.__)('Add your own CSS to customize the appearance and layout of your site.');
29
+ const {
30
+ useGlobalStyle,
31
+ AdvancedPanel: StylesAdvancedPanel
32
+ } = (0, _privateApis.unlock)(_blockEditor.privateApis);
33
+
34
+ function ScreenCSS() {
35
+ const description = (0, _i18n.__)('Add your own CSS to customize the appearance and layout of your site.');
36
+ const [style] = useGlobalStyle('', undefined, 'user', {
37
+ shouldDecodeEncode: false
38
+ });
39
+ const [inheritedStyle, setStyle] = useGlobalStyle('', undefined, 'all', {
40
+ shouldDecodeEncode: false
41
+ });
39
42
  return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_header.default, {
40
43
  title: (0, _i18n.__)('CSS'),
41
44
  description: (0, _element.createElement)(_element.Fragment, null, description, (0, _element.createElement)(_components.ExternalLink, {
@@ -44,8 +47,10 @@ function ScreenCSS(_ref) {
44
47
  }, (0, _i18n.__)('Learn more about CSS')))
45
48
  }), (0, _element.createElement)("div", {
46
49
  className: "edit-site-global-styles-screen-css"
47
- }, (0, _element.createElement)(_customCss.default, {
48
- blockName: name
50
+ }, (0, _element.createElement)(StylesAdvancedPanel, {
51
+ value: style,
52
+ onChange: setStyle,
53
+ inheritedValue: inheritedStyle
49
54
  })));
50
55
  }
51
56
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/screen-css.js"],"names":["ScreenCSS","name","blockType","title","description","undefined"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;AAKA;;AACA;;AAXA;AACA;AACA;;AAKA;AACA;AACA;AAIA,SAASA,SAAT,OAA+B;AAAA,MAAX;AAAEC,IAAAA;AAAF,GAAW;AAC9B;AACA;AACA,QAAMC,SAAS,GAAG,0BAAcD,IAAd,CAAlB;AACA,QAAME,KAAK,GAAGD,SAAH,aAAGA,SAAH,uBAAGA,SAAS,CAAEC,KAAzB;AAEA,QAAMC,WAAW,GAChBD,KAAK,KAAKE,SAAV,GACG,oBACA;AACA,gBACC,+DADD,CAFA,EAKAF,KALA,CADH,GAQG,cACA,uEADA,CATJ;AAaA,SACC,qDACC,4BAAC,eAAD;AACC,IAAA,KAAK,EAAG,cAAI,KAAJ,CADT;AAEC,IAAA,WAAW,EACV,qDACGC,WADH,EAEC,4BAAC,wBAAD;AACC,MAAA,IAAI,EAAC,kDADN;AAEC,MAAA,SAAS,EAAC;AAFX,OAIG,cAAI,sBAAJ,CAJH,CAFD;AAHF,IADD,EAeC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,kBAAD;AAAkB,IAAA,SAAS,EAAGH;AAA9B,IADD,CAfD,CADD;AAqBA;;eAEcD,S","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { sprintf, __ } from '@wordpress/i18n';\nimport { ExternalLink } from '@wordpress/components';\nimport { getBlockType } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport ScreenHeader from './header';\nimport CustomCSSControl from './custom-css';\n\nfunction ScreenCSS( { name } ) {\n\t// If name is defined, we are customizing CSS at the block level.\n\t// Display the block title in the description.\n\tconst blockType = getBlockType( name );\n\tconst title = blockType?.title;\n\n\tconst description =\n\t\ttitle !== undefined\n\t\t\t? sprintf(\n\t\t\t\t\t// translators: %s: is the name of a block e.g., 'Image' or 'Table'.\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Add your own CSS to customize the appearance of the %s block.'\n\t\t\t\t\t),\n\t\t\t\t\ttitle\n\t\t\t )\n\t\t\t: __(\n\t\t\t\t\t'Add your own CSS to customize the appearance and layout of your site.'\n\t\t\t );\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ __( 'CSS' ) }\n\t\t\t\tdescription={\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\thref=\"https://wordpress.org/documentation/article/css/\"\n\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-css-help-link\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Learn more about CSS' ) }\n\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t/>\n\t\t\t<div className=\"edit-site-global-styles-screen-css\">\n\t\t\t\t<CustomCSSControl blockName={ name } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default ScreenCSS;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/screen-css.js"],"names":["useGlobalStyle","AdvancedPanel","StylesAdvancedPanel","blockEditorPrivateApis","ScreenCSS","description","style","undefined","shouldDecodeEncode","inheritedStyle","setStyle"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;AAKA;;AACA;;AAXA;AACA;AACA;;AAKA;AACA;AACA;AAIA,MAAM;AAAEA,EAAAA,cAAF;AAAkBC,EAAAA,aAAa,EAAEC;AAAjC,IAAyD,yBAC9DC,wBAD8D,CAA/D;;AAIA,SAASC,SAAT,GAAqB;AACpB,QAAMC,WAAW,GAAG,cACnB,uEADmB,CAApB;AAGA,QAAM,CAAEC,KAAF,IAAYN,cAAc,CAAE,EAAF,EAAMO,SAAN,EAAiB,MAAjB,EAAyB;AACxDC,IAAAA,kBAAkB,EAAE;AADoC,GAAzB,CAAhC;AAGA,QAAM,CAAEC,cAAF,EAAkBC,QAAlB,IAA+BV,cAAc,CAAE,EAAF,EAAMO,SAAN,EAAiB,KAAjB,EAAwB;AAC1EC,IAAAA,kBAAkB,EAAE;AADsD,GAAxB,CAAnD;AAIA,SACC,qDACC,4BAAC,eAAD;AACC,IAAA,KAAK,EAAG,cAAI,KAAJ,CADT;AAEC,IAAA,WAAW,EACV,qDACGH,WADH,EAEC,4BAAC,wBAAD;AACC,MAAA,IAAI,EAAC,kDADN;AAEC,MAAA,SAAS,EAAC;AAFX,OAIG,cAAI,sBAAJ,CAJH,CAFD;AAHF,IADD,EAeC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,mBAAD;AACC,IAAA,KAAK,EAAGC,KADT;AAEC,IAAA,QAAQ,EAAGI,QAFZ;AAGC,IAAA,cAAc,EAAGD;AAHlB,IADD,CAfD,CADD;AAyBA;;eAEcL,S","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { ExternalLink } from '@wordpress/components';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../private-apis';\nimport ScreenHeader from './header';\n\nconst { useGlobalStyle, AdvancedPanel: StylesAdvancedPanel } = unlock(\n\tblockEditorPrivateApis\n);\n\nfunction ScreenCSS() {\n\tconst description = __(\n\t\t'Add your own CSS to customize the appearance and layout of your site.'\n\t);\n\tconst [ style ] = useGlobalStyle( '', undefined, 'user', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ inheritedStyle, setStyle ] = useGlobalStyle( '', undefined, 'all', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ __( 'CSS' ) }\n\t\t\t\tdescription={\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\thref=\"https://wordpress.org/documentation/article/css/\"\n\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-css-help-link\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Learn more about CSS' ) }\n\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t/>\n\t\t\t<div className=\"edit-site-global-styles-screen-css\">\n\t\t\t\t<StylesAdvancedPanel\n\t\t\t\t\tvalue={ style }\n\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default ScreenCSS;\n"]}
@@ -19,8 +19,6 @@ var _header = _interopRequireDefault(require("./header"));
19
19
 
20
20
  var _blockPreviewPanel = _interopRequireDefault(require("./block-preview-panel"));
21
21
 
22
- var _utils = require("./utils");
23
-
24
22
  var _privateApis = require("../../private-apis");
25
23
 
26
24
  /**
@@ -36,24 +34,13 @@ const {
36
34
  useSettingsForBlockElement
37
35
  } = (0, _privateApis.unlock)(_blockEditor.privateApis);
38
36
 
39
- function ScreenLayout(_ref) {
40
- let {
41
- name,
42
- variation = ''
43
- } = _ref;
44
- const [rawSettings] = useGlobalSetting('', name);
45
- const settings = useSettingsForBlockElement(rawSettings, name);
37
+ function ScreenLayout() {
38
+ const [rawSettings] = useGlobalSetting('');
39
+ const settings = useSettingsForBlockElement(rawSettings);
46
40
  const hasDimensionsPanel = useHasDimensionsPanel(settings);
47
- const variationClassName = (0, _utils.getVariationClassName)(variation);
48
41
  return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_header.default, {
49
42
  title: (0, _i18n.__)('Layout')
50
- }), (0, _element.createElement)(_blockPreviewPanel.default, {
51
- name: name,
52
- variation: variationClassName
53
- }), hasDimensionsPanel && (0, _element.createElement)(_dimensionsPanel.default, {
54
- name: name,
55
- variation: variation
56
- }));
43
+ }), (0, _element.createElement)(_blockPreviewPanel.default, null), hasDimensionsPanel && (0, _element.createElement)(_dimensionsPanel.default, null));
57
44
  }
58
45
 
59
46
  var _default = ScreenLayout;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/screen-layout.js"],"names":["useHasDimensionsPanel","useGlobalSetting","useSettingsForBlockElement","blockEditorPrivateApis","ScreenLayout","name","variation","rawSettings","settings","hasDimensionsPanel","variationClassName"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AAbA;AACA;AACA;;AAIA;AACA;AACA;AAOA,MAAM;AAAEA,EAAAA,qBAAF;AAAyBC,EAAAA,gBAAzB;AAA2CC,EAAAA;AAA3C,IACL,yBAAQC,wBAAR,CADD;;AAGA,SAASC,YAAT,OAAkD;AAAA,MAA3B;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,SAAS,GAAG;AAApB,GAA2B;AACjD,QAAM,CAAEC,WAAF,IAAkBN,gBAAgB,CAAE,EAAF,EAAMI,IAAN,CAAxC;AACA,QAAMG,QAAQ,GAAGN,0BAA0B,CAAEK,WAAF,EAAeF,IAAf,CAA3C;AACA,QAAMI,kBAAkB,GAAGT,qBAAqB,CAAEQ,QAAF,CAAhD;AACA,QAAME,kBAAkB,GAAG,kCAAuBJ,SAAvB,CAA3B;AACA,SACC,qDACC,4BAAC,eAAD;AAAc,IAAA,KAAK,EAAG,cAAI,QAAJ;AAAtB,IADD,EAEC,4BAAC,0BAAD;AAAmB,IAAA,IAAI,EAAGD,IAA1B;AAAiC,IAAA,SAAS,EAAGK;AAA7C,IAFD,EAGGD,kBAAkB,IACnB,4BAAC,wBAAD;AAAiB,IAAA,IAAI,EAAGJ,IAAxB;AAA+B,IAAA,SAAS,EAAGC;AAA3C,IAJF,CADD;AASA;;eAEcF,Y","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport DimensionsPanel from './dimensions-panel';\nimport ScreenHeader from './header';\nimport BlockPreviewPanel from './block-preview-panel';\nimport { getVariationClassName } from './utils';\nimport { unlock } from '../../private-apis';\n\nconst { useHasDimensionsPanel, useGlobalSetting, useSettingsForBlockElement } =\n\tunlock( blockEditorPrivateApis );\n\nfunction ScreenLayout( { name, variation = '' } ) {\n\tconst [ rawSettings ] = useGlobalSetting( '', name );\n\tconst settings = useSettingsForBlockElement( rawSettings, name );\n\tconst hasDimensionsPanel = useHasDimensionsPanel( settings );\n\tconst variationClassName = getVariationClassName( variation );\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader title={ __( 'Layout' ) } />\n\t\t\t<BlockPreviewPanel name={ name } variation={ variationClassName } />\n\t\t\t{ hasDimensionsPanel && (\n\t\t\t\t<DimensionsPanel name={ name } variation={ variation } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default ScreenLayout;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/screen-layout.js"],"names":["useHasDimensionsPanel","useGlobalSetting","useSettingsForBlockElement","blockEditorPrivateApis","ScreenLayout","rawSettings","settings","hasDimensionsPanel"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AAZA;AACA;AACA;;AAIA;AACA;AACA;AAMA,MAAM;AAAEA,EAAAA,qBAAF;AAAyBC,EAAAA,gBAAzB;AAA2CC,EAAAA;AAA3C,IACL,yBAAQC,wBAAR,CADD;;AAGA,SAASC,YAAT,GAAwB;AACvB,QAAM,CAAEC,WAAF,IAAkBJ,gBAAgB,CAAE,EAAF,CAAxC;AACA,QAAMK,QAAQ,GAAGJ,0BAA0B,CAAEG,WAAF,CAA3C;AACA,QAAME,kBAAkB,GAAGP,qBAAqB,CAAEM,QAAF,CAAhD;AACA,SACC,qDACC,4BAAC,eAAD;AAAc,IAAA,KAAK,EAAG,cAAI,QAAJ;AAAtB,IADD,EAEC,4BAAC,0BAAD,OAFD,EAGGC,kBAAkB,IAAI,4BAAC,wBAAD,OAHzB,CADD;AAOA;;eAEcH,Y","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport DimensionsPanel from './dimensions-panel';\nimport ScreenHeader from './header';\nimport BlockPreviewPanel from './block-preview-panel';\nimport { unlock } from '../../private-apis';\n\nconst { useHasDimensionsPanel, useGlobalSetting, useSettingsForBlockElement } =\n\tunlock( blockEditorPrivateApis );\n\nfunction ScreenLayout() {\n\tconst [ rawSettings ] = useGlobalSetting( '' );\n\tconst settings = useSettingsForBlockElement( rawSettings );\n\tconst hasDimensionsPanel = useHasDimensionsPanel( settings );\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader title={ __( 'Layout' ) } />\n\t\t\t<BlockPreviewPanel />\n\t\t\t{ hasDimensionsPanel && <DimensionsPanel /> }\n\t\t</>\n\t);\n}\n\nexport default ScreenLayout;\n"]}
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _element = require("@wordpress/element");
11
+
12
+ var _i18n = require("@wordpress/i18n");
13
+
14
+ var _components = require("@wordpress/components");
15
+
16
+ var _data = require("@wordpress/data");
17
+
18
+ var _blockEditor = require("@wordpress/block-editor");
19
+
20
+ var _header = _interopRequireDefault(require("../header"));
21
+
22
+ var _privateApis = require("../../../private-apis");
23
+
24
+ var _revisions = _interopRequireDefault(require("../../revisions"));
25
+
26
+ var _sidebarFixedBottom = _interopRequireDefault(require("../../sidebar-edit-mode/sidebar-fixed-bottom"));
27
+
28
+ var _store = require("../../../store");
29
+
30
+ var _useGlobalStylesRevisions = _interopRequireDefault(require("./use-global-styles-revisions"));
31
+
32
+ var _revisionsButtons = _interopRequireDefault(require("./revisions-buttons"));
33
+
34
+ /**
35
+ * WordPress dependencies
36
+ */
37
+
38
+ /**
39
+ * Internal dependencies
40
+ */
41
+ const {
42
+ GlobalStylesContext,
43
+ areGlobalStyleConfigsEqual
44
+ } = (0, _privateApis.unlock)(_blockEditor.privateApis);
45
+
46
+ function ScreenRevisions() {
47
+ var _revisions$;
48
+
49
+ const {
50
+ goBack
51
+ } = (0, _components.__experimentalUseNavigator)();
52
+ const {
53
+ user: userConfig,
54
+ setUserConfig
55
+ } = (0, _element.useContext)(GlobalStylesContext);
56
+ const {
57
+ blocks,
58
+ editorCanvasContainerView
59
+ } = (0, _data.useSelect)(select => {
60
+ return {
61
+ editorCanvasContainerView: (0, _privateApis.unlock)(select(_store.store)).getEditorCanvasContainerView(),
62
+ blocks: select(_blockEditor.store).getBlocks()
63
+ };
64
+ }, []);
65
+ const {
66
+ revisions,
67
+ isLoading,
68
+ hasUnsavedChanges
69
+ } = (0, _useGlobalStylesRevisions.default)();
70
+ const [globalStylesRevision, setGlobalStylesRevision] = (0, _element.useState)(userConfig);
71
+ const [currentRevisionId, setCurrentRevisionId] = (0, _element.useState)(
72
+ /*
73
+ * We need this for the first render,
74
+ * otherwise the unsaved changes haven't been merged into the revisions array yet.
75
+ */
76
+ hasUnsavedChanges ? 'unsaved' : revisions === null || revisions === void 0 ? void 0 : (_revisions$ = revisions[0]) === null || _revisions$ === void 0 ? void 0 : _revisions$.id);
77
+ const [isLoadingRevisionWithUnsavedChanges, setIsLoadingRevisionWithUnsavedChanges] = (0, _element.useState)(false);
78
+ const {
79
+ setEditorCanvasContainerView
80
+ } = (0, _privateApis.unlock)((0, _data.useDispatch)(_store.store));
81
+ (0, _element.useEffect)(() => {
82
+ if (editorCanvasContainerView !== 'global-styles-revisions') {
83
+ goBack();
84
+ setEditorCanvasContainerView(editorCanvasContainerView);
85
+ }
86
+ }, [editorCanvasContainerView]);
87
+
88
+ const onCloseRevisions = () => {
89
+ goBack();
90
+ };
91
+
92
+ const restoreRevision = revision => {
93
+ setUserConfig(() => ({
94
+ styles: revision === null || revision === void 0 ? void 0 : revision.styles,
95
+ settings: revision === null || revision === void 0 ? void 0 : revision.settings
96
+ }));
97
+ setIsLoadingRevisionWithUnsavedChanges(false);
98
+ onCloseRevisions();
99
+ };
100
+
101
+ const selectRevision = revision => {
102
+ setGlobalStylesRevision({
103
+ styles: revision === null || revision === void 0 ? void 0 : revision.styles,
104
+ settings: revision === null || revision === void 0 ? void 0 : revision.settings,
105
+ id: revision === null || revision === void 0 ? void 0 : revision.id
106
+ });
107
+ setCurrentRevisionId(revision === null || revision === void 0 ? void 0 : revision.id);
108
+ };
109
+
110
+ const isLoadButtonEnabled = !!(globalStylesRevision !== null && globalStylesRevision !== void 0 && globalStylesRevision.id) && !areGlobalStyleConfigsEqual(globalStylesRevision, userConfig);
111
+ return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_header.default, {
112
+ title: (0, _i18n.__)('Revisions'),
113
+ description: (0, _i18n.__)('Revisions are added to the timeline when style changes are saved.')
114
+ }), isLoading && (0, _element.createElement)(_components.Spinner, {
115
+ className: "edit-site-global-styles-screen-revisions__loading"
116
+ }), !isLoading && (0, _element.createElement)(_revisions.default, {
117
+ blocks: blocks,
118
+ userConfig: globalStylesRevision,
119
+ onClose: onCloseRevisions
120
+ }), (0, _element.createElement)("div", {
121
+ className: "edit-site-global-styles-screen-revisions"
122
+ }, (0, _element.createElement)(_revisionsButtons.default, {
123
+ onChange: selectRevision,
124
+ currentRevisionId: currentRevisionId,
125
+ userRevisions: revisions
126
+ }), isLoadButtonEnabled && (0, _element.createElement)(_sidebarFixedBottom.default, null, (0, _element.createElement)(_components.Button, {
127
+ variant: "primary",
128
+ className: "edit-site-global-styles-screen-revisions__button",
129
+ disabled: !(globalStylesRevision !== null && globalStylesRevision !== void 0 && globalStylesRevision.id) || (globalStylesRevision === null || globalStylesRevision === void 0 ? void 0 : globalStylesRevision.id) === 'unsaved',
130
+ onClick: () => {
131
+ if (hasUnsavedChanges) {
132
+ setIsLoadingRevisionWithUnsavedChanges(true);
133
+ } else {
134
+ restoreRevision(globalStylesRevision);
135
+ }
136
+ }
137
+ }, (0, _i18n.__)('Apply')))), isLoadingRevisionWithUnsavedChanges && (0, _element.createElement)(_components.__experimentalConfirmDialog, {
138
+ title: (0, _i18n.__)('Loading this revision will discard all unsaved changes.'),
139
+ isOpen: isLoadingRevisionWithUnsavedChanges,
140
+ confirmButtonText: (0, _i18n.__)(' Discard unsaved changes'),
141
+ onConfirm: () => restoreRevision(globalStylesRevision),
142
+ onCancel: () => setIsLoadingRevisionWithUnsavedChanges(false)
143
+ }, (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)("h2", null, (0, _i18n.__)('Loading this revision will discard all unsaved changes.')), (0, _element.createElement)("p", null, (0, _i18n.__)('Do you want to replace your unsaved changes in the editor?')))));
144
+ }
145
+
146
+ var _default = ScreenRevisions;
147
+ exports.default = _default;
148
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/screen-revisions/index.js"],"names":["GlobalStylesContext","areGlobalStyleConfigsEqual","blockEditorPrivateApis","ScreenRevisions","goBack","user","userConfig","setUserConfig","blocks","editorCanvasContainerView","select","editSiteStore","getEditorCanvasContainerView","blockEditorStore","getBlocks","revisions","isLoading","hasUnsavedChanges","globalStylesRevision","setGlobalStylesRevision","currentRevisionId","setCurrentRevisionId","id","isLoadingRevisionWithUnsavedChanges","setIsLoadingRevisionWithUnsavedChanges","setEditorCanvasContainerView","onCloseRevisions","restoreRevision","revision","styles","settings","selectRevision","isLoadButtonEnabled"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\t__experimentalUseNavigator as useNavigator,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\tSpinner,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useContext, useState, useEffect } from '@wordpress/element';\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport ScreenHeader from '../header';\nimport { unlock } from '../../../private-apis';\nimport Revisions from '../../revisions';\nimport SidebarFixedBottom from '../../sidebar-edit-mode/sidebar-fixed-bottom';\nimport { store as editSiteStore } from '../../../store';\nimport useGlobalStylesRevisions from './use-global-styles-revisions';\nimport RevisionsButtons from './revisions-buttons';\n\nconst { GlobalStylesContext, areGlobalStyleConfigsEqual } = unlock(\n\tblockEditorPrivateApis\n);\n\nfunction ScreenRevisions() {\n\tconst { goBack } = useNavigator();\n\tconst { user: userConfig, setUserConfig } =\n\t\tuseContext( GlobalStylesContext );\n\tconst { blocks, editorCanvasContainerView } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\teditorCanvasContainerView: unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t).getEditorCanvasContainerView(),\n\t\t\tblocks: select( blockEditorStore ).getBlocks(),\n\t\t};\n\t}, [] );\n\n\tconst { revisions, isLoading, hasUnsavedChanges } =\n\t\tuseGlobalStylesRevisions();\n\tconst [ globalStylesRevision, setGlobalStylesRevision ] =\n\t\tuseState( userConfig );\n\n\tconst [ currentRevisionId, setCurrentRevisionId ] = useState(\n\t\t/*\n\t\t * We need this for the first render,\n\t\t * otherwise the unsaved changes haven't been merged into the revisions array yet.\n\t\t */\n\t\thasUnsavedChanges ? 'unsaved' : revisions?.[ 0 ]?.id\n\t);\n\tconst [\n\t\tisLoadingRevisionWithUnsavedChanges,\n\t\tsetIsLoadingRevisionWithUnsavedChanges,\n\t] = useState( false );\n\tconst { setEditorCanvasContainerView } = unlock(\n\t\tuseDispatch( editSiteStore )\n\t);\n\n\tuseEffect( () => {\n\t\tif ( editorCanvasContainerView !== 'global-styles-revisions' ) {\n\t\t\tgoBack();\n\t\t\tsetEditorCanvasContainerView( editorCanvasContainerView );\n\t\t}\n\t}, [ editorCanvasContainerView ] );\n\n\tconst onCloseRevisions = () => {\n\t\tgoBack();\n\t};\n\n\tconst restoreRevision = ( revision ) => {\n\t\tsetUserConfig( () => ( {\n\t\t\tstyles: revision?.styles,\n\t\t\tsettings: revision?.settings,\n\t\t} ) );\n\t\tsetIsLoadingRevisionWithUnsavedChanges( false );\n\t\tonCloseRevisions();\n\t};\n\n\tconst selectRevision = ( revision ) => {\n\t\tsetGlobalStylesRevision( {\n\t\t\tstyles: revision?.styles,\n\t\t\tsettings: revision?.settings,\n\t\t\tid: revision?.id,\n\t\t} );\n\t\tsetCurrentRevisionId( revision?.id );\n\t};\n\n\tconst isLoadButtonEnabled =\n\t\t!! globalStylesRevision?.id &&\n\t\t! areGlobalStyleConfigsEqual( globalStylesRevision, userConfig );\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ __( 'Revisions' ) }\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Revisions are added to the timeline when style changes are saved.'\n\t\t\t\t) }\n\t\t\t/>\n\t\t\t{ isLoading && (\n\t\t\t\t<Spinner className=\"edit-site-global-styles-screen-revisions__loading\" />\n\t\t\t) }\n\t\t\t{ ! isLoading && (\n\t\t\t\t<Revisions\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tuserConfig={ globalStylesRevision }\n\t\t\t\t\tonClose={ onCloseRevisions }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<div className=\"edit-site-global-styles-screen-revisions\">\n\t\t\t\t<RevisionsButtons\n\t\t\t\t\tonChange={ selectRevision }\n\t\t\t\t\tcurrentRevisionId={ currentRevisionId }\n\t\t\t\t\tuserRevisions={ revisions }\n\t\t\t\t/>\n\t\t\t\t{ isLoadButtonEnabled && (\n\t\t\t\t\t<SidebarFixedBottom>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__button\"\n\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t! globalStylesRevision?.id ||\n\t\t\t\t\t\t\t\tglobalStylesRevision?.id === 'unsaved'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tif ( hasUnsavedChanges ) {\n\t\t\t\t\t\t\t\t\tsetIsLoadingRevisionWithUnsavedChanges(\n\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\trestoreRevision( globalStylesRevision );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Apply' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</SidebarFixedBottom>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ isLoadingRevisionWithUnsavedChanges && (\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\ttitle={ __(\n\t\t\t\t\t\t'Loading this revision will discard all unsaved changes.'\n\t\t\t\t\t) }\n\t\t\t\t\tisOpen={ isLoadingRevisionWithUnsavedChanges }\n\t\t\t\t\tconfirmButtonText={ __( ' Discard unsaved changes' ) }\n\t\t\t\t\tonConfirm={ () => restoreRevision( globalStylesRevision ) }\n\t\t\t\t\tonCancel={ () =>\n\t\t\t\t\t\tsetIsLoadingRevisionWithUnsavedChanges( false )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<>\n\t\t\t\t\t\t<h2>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Loading this revision will discard all unsaved changes.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Do you want to replace your unsaved changes in the editor?'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</>\n\t\t\t\t</ConfirmDialog>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default ScreenRevisions;\n"]}
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _element = require("@wordpress/element");
11
+
12
+ var _classnames = _interopRequireDefault(require("classnames"));
13
+
14
+ var _i18n = require("@wordpress/i18n");
15
+
16
+ var _components = require("@wordpress/components");
17
+
18
+ var _date = require("@wordpress/date");
19
+
20
+ /**
21
+ * External dependencies
22
+ */
23
+
24
+ /**
25
+ * WordPress dependencies
26
+ */
27
+
28
+ /**
29
+ * Returns a button label for the revision.
30
+ *
31
+ * @param {Object} revision A revision object.
32
+ * @return {string} Translated label.
33
+ */
34
+ function getRevisionLabel(revision) {
35
+ var _revision$author;
36
+
37
+ const authorDisplayName = (revision === null || revision === void 0 ? void 0 : (_revision$author = revision.author) === null || _revision$author === void 0 ? void 0 : _revision$author.name) || (0, _i18n.__)('User');
38
+ const isUnsaved = 'unsaved' === (revision === null || revision === void 0 ? void 0 : revision.id);
39
+
40
+ if (isUnsaved) {
41
+ return (0, _i18n.sprintf)(
42
+ /* translators: %(name)s author display name */
43
+ (0, _i18n.__)('Unsaved changes by %(name)s'), {
44
+ name: authorDisplayName
45
+ });
46
+ }
47
+
48
+ const formattedDate = (0, _date.dateI18n)((0, _date.getSettings)().formats.datetimeAbbreviated, (0, _date.getDate)(revision === null || revision === void 0 ? void 0 : revision.modified));
49
+ return revision !== null && revision !== void 0 && revision.isLatest ? (0, _i18n.sprintf)(
50
+ /* translators: %(name)s author display name, %(date)s: revision creation date */
51
+ (0, _i18n.__)('Changes saved by %(name)s on %(date)s (current)'), {
52
+ name: authorDisplayName,
53
+ date: formattedDate
54
+ }) : (0, _i18n.sprintf)(
55
+ /* translators: %(name)s author display name, %(date)s: revision creation date */
56
+ (0, _i18n.__)('Changes saved by %(name)s on %(date)s'), {
57
+ name: authorDisplayName,
58
+ date: formattedDate
59
+ });
60
+ }
61
+ /**
62
+ * Returns a rendered list of revisions buttons.
63
+ *
64
+ * @typedef {Object} props
65
+ * @property {Array<Object>} userRevisions A collection of user revisions.
66
+ * @property {number} currentRevisionId Callback fired when the modal is closed or action cancelled.
67
+ * @property {Function} onChange Callback fired when a revision is selected.
68
+ *
69
+ * @param {props} Component props.
70
+ * @return {JSX.Element} The modal component.
71
+ */
72
+
73
+
74
+ function RevisionsButtons(_ref) {
75
+ let {
76
+ userRevisions,
77
+ currentRevisionId,
78
+ onChange
79
+ } = _ref;
80
+ return (0, _element.createElement)("ol", {
81
+ className: "edit-site-global-styles-screen-revisions__revisions-list",
82
+ "aria-label": (0, _i18n.__)('Global styles revisions'),
83
+ role: "group"
84
+ }, userRevisions.map(revision => {
85
+ var _author$avatar_urls;
86
+
87
+ const {
88
+ id,
89
+ author,
90
+ isLatest,
91
+ modified
92
+ } = revision;
93
+ const authorDisplayName = (author === null || author === void 0 ? void 0 : author.name) || (0, _i18n.__)('User');
94
+ const authorAvatar = author === null || author === void 0 ? void 0 : (_author$avatar_urls = author.avatar_urls) === null || _author$avatar_urls === void 0 ? void 0 : _author$avatar_urls['48'];
95
+ /*
96
+ * If the currentId hasn't been selected yet, the first revision is
97
+ * the current one so long as the API returns revisions in descending order.
98
+ */
99
+
100
+ const isActive = !!currentRevisionId ? id === currentRevisionId : isLatest;
101
+ return (0, _element.createElement)("li", {
102
+ className: (0, _classnames.default)('edit-site-global-styles-screen-revisions__revision-item', {
103
+ 'is-current': isActive
104
+ }),
105
+ key: id
106
+ }, (0, _element.createElement)(_components.Button, {
107
+ className: "edit-site-global-styles-screen-revisions__revision-button",
108
+ disabled: isActive,
109
+ onClick: () => {
110
+ onChange(revision);
111
+ },
112
+ label: getRevisionLabel(revision)
113
+ }, (0, _element.createElement)("span", {
114
+ className: "edit-site-global-styles-screen-revisions__description"
115
+ }, (0, _element.createElement)("time", {
116
+ dateTime: modified
117
+ }, (0, _date.humanTimeDiff)(modified)), (0, _element.createElement)("span", {
118
+ className: "edit-site-global-styles-screen-revisions__meta"
119
+ }, (0, _i18n.sprintf)(
120
+ /* translators: %(name)s author display name */
121
+ (0, _i18n.__)('Changes saved by %(name)s'), {
122
+ name: authorDisplayName
123
+ }), (0, _element.createElement)("img", {
124
+ alt: author === null || author === void 0 ? void 0 : author.name,
125
+ src: authorAvatar
126
+ })))));
127
+ }));
128
+ }
129
+
130
+ var _default = RevisionsButtons;
131
+ exports.default = _default;
132
+ //# sourceMappingURL=revisions-buttons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/screen-revisions/revisions-buttons.js"],"names":["getRevisionLabel","revision","authorDisplayName","author","name","isUnsaved","id","formattedDate","formats","datetimeAbbreviated","modified","isLatest","date","RevisionsButtons","userRevisions","currentRevisionId","onChange","map","authorAvatar","avatar_urls","isActive"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AAVA;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,gBAAT,CAA2BC,QAA3B,EAAsC;AAAA;;AACrC,QAAMC,iBAAiB,GAAG,CAAAD,QAAQ,SAAR,IAAAA,QAAQ,WAAR,gCAAAA,QAAQ,CAAEE,MAAV,sEAAkBC,IAAlB,KAA0B,cAAI,MAAJ,CAApD;AACA,QAAMC,SAAS,GAAG,eAAcJ,QAAd,aAAcA,QAAd,uBAAcA,QAAQ,CAAEK,EAAxB,CAAlB;;AAEA,MAAKD,SAAL,EAAiB;AAChB,WAAO;AACN;AACA,kBAAI,6BAAJ,CAFM,EAGN;AACCD,MAAAA,IAAI,EAAEF;AADP,KAHM,CAAP;AAOA;;AACD,QAAMK,aAAa,GAAG,oBACrB,yBAAcC,OAAd,CAAsBC,mBADD,EAErB,mBAASR,QAAT,aAASA,QAAT,uBAASA,QAAQ,CAAES,QAAnB,CAFqB,CAAtB;AAKA,SAAOT,QAAQ,SAAR,IAAAA,QAAQ,WAAR,IAAAA,QAAQ,CAAEU,QAAV,GACJ;AACA;AACA,gBAAI,iDAAJ,CAFA,EAGA;AACCP,IAAAA,IAAI,EAAEF,iBADP;AAECU,IAAAA,IAAI,EAAEL;AAFP,GAHA,CADI,GASJ;AACA;AACA,gBAAI,uCAAJ,CAFA,EAGA;AACCH,IAAAA,IAAI,EAAEF,iBADP;AAECU,IAAAA,IAAI,EAAEL;AAFP,GAHA,CATH;AAiBA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASM,gBAAT,OAA4E;AAAA,MAAjD;AAAEC,IAAAA,aAAF;AAAiBC,IAAAA,iBAAjB;AAAoCC,IAAAA;AAApC,GAAiD;AAC3E,SACC;AACC,IAAA,SAAS,EAAC,0DADX;AAEC,kBAAa,cAAI,yBAAJ,CAFd;AAGC,IAAA,IAAI,EAAC;AAHN,KAKGF,aAAa,CAACG,GAAd,CAAqBhB,QAAF,IAAgB;AAAA;;AACpC,UAAM;AAAEK,MAAAA,EAAF;AAAMH,MAAAA,MAAN;AAAcQ,MAAAA,QAAd;AAAwBD,MAAAA;AAAxB,QAAqCT,QAA3C;AACA,UAAMC,iBAAiB,GAAG,CAAAC,MAAM,SAAN,IAAAA,MAAM,WAAN,YAAAA,MAAM,CAAEC,IAAR,KAAgB,cAAI,MAAJ,CAA1C;AACA,UAAMc,YAAY,GAAGf,MAAH,aAAGA,MAAH,8CAAGA,MAAM,CAAEgB,WAAX,wDAAG,oBAAuB,IAAvB,CAArB;AACA;AACJ;AACA;AACA;;AACI,UAAMC,QAAQ,GAAG,CAAC,CAAEL,iBAAH,GACdT,EAAE,KAAKS,iBADO,GAEdJ,QAFH;AAIA,WACC;AACC,MAAA,SAAS,EAAG,yBACX,yDADW,EAEX;AACC,sBAAcS;AADf,OAFW,CADb;AAOC,MAAA,GAAG,EAAGd;AAPP,OASC,4BAAC,kBAAD;AACC,MAAA,SAAS,EAAC,2DADX;AAEC,MAAA,QAAQ,EAAGc,QAFZ;AAGC,MAAA,OAAO,EAAG,MAAM;AACfJ,QAAAA,QAAQ,CAAEf,QAAF,CAAR;AACA,OALF;AAMC,MAAA,KAAK,EAAGD,gBAAgB,CAAEC,QAAF;AANzB,OAQC;AAAM,MAAA,SAAS,EAAC;AAAhB,OACC;AAAM,MAAA,QAAQ,EAAGS;AAAjB,OACG,yBAAeA,QAAf,CADH,CADD,EAIC;AAAM,MAAA,SAAS,EAAC;AAAhB,OACG;AACD;AACA,kBAAI,2BAAJ,CAFC,EAGD;AACCN,MAAAA,IAAI,EAAEF;AADP,KAHC,CADH,EASC;AACC,MAAA,GAAG,EAAGC,MAAH,aAAGA,MAAH,uBAAGA,MAAM,CAAEC,IADf;AAEC,MAAA,GAAG,EAAGc;AAFP,MATD,CAJD,CARD,CATD,CADD;AAwCA,GApDC,CALH,CADD;AA6DA;;eAEcL,gB","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';\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\tconst isUnsaved = 'unsaved' === revision?.id;\n\n\tif ( isUnsaved ) {\n\t\treturn sprintf(\n\t\t\t/* translators: %(name)s author display name */\n\t\t\t__( 'Unsaved changes by %(name)s' ),\n\t\t\t{\n\t\t\t\tname: authorDisplayName,\n\t\t\t}\n\t\t);\n\t}\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: %(name)s author display name, %(date)s: revision creation date */\n\t\t\t\t__( 'Changes saved by %(name)s on %(date)s (current)' ),\n\t\t\t\t{\n\t\t\t\t\tname: authorDisplayName,\n\t\t\t\t\tdate: formattedDate,\n\t\t\t\t}\n\t\t )\n\t\t: sprintf(\n\t\t\t\t/* translators: %(name)s author display name, %(date)s: revision creation date */\n\t\t\t\t__( 'Changes saved by %(name)s on %(date)s' ),\n\t\t\t\t{\n\t\t\t\t\tname: authorDisplayName,\n\t\t\t\t\tdate: formattedDate,\n\t\t\t\t}\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} currentRevisionId Callback fired when the modal is closed or action cancelled.\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, currentRevisionId, onChange } ) {\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 ) => {\n\t\t\t\tconst { id, author, isLatest, 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\t/*\n\t\t\t\t * If the currentId hasn't been selected yet, the first revision is\n\t\t\t\t * the current one so long as the API returns revisions in descending order.\n\t\t\t\t */\n\t\t\t\tconst isActive = !! currentRevisionId\n\t\t\t\t\t? id === currentRevisionId\n\t\t\t\t\t: isLatest;\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-current': isActive,\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={ isActive }\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<span className=\"edit-site-global-styles-screen-revisions__description\">\n\t\t\t\t\t\t\t\t<time dateTime={ modified }>\n\t\t\t\t\t\t\t\t\t{ humanTimeDiff( modified ) }\n\t\t\t\t\t\t\t\t</time>\n\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{ sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: %(name)s author display name */\n\t\t\t\t\t\t\t\t\t\t__( 'Changes saved by %(name)s' ),\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tname: authorDisplayName,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\talt={ author?.name }\n\t\t\t\t\t\t\t\t\t\tsrc={ authorAvatar }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</span>\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"]}