@wordpress/edit-site 6.11.0 → 6.12.1-next.082ed6819.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 (346) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-template/utils.js +1 -2
  3. package/build/components/add-new-template/utils.js.map +1 -1
  4. package/build/components/app/index.js +0 -5
  5. package/build/components/app/index.js.map +1 -1
  6. package/build/components/block-editor/use-editor-iframe-props.js +6 -8
  7. package/build/components/block-editor/use-editor-iframe-props.js.map +1 -1
  8. package/build/components/block-editor/use-site-editor-settings.js +4 -12
  9. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  10. package/build/components/editor/index.js +23 -27
  11. package/build/components/editor/index.js.map +1 -1
  12. package/build/components/editor/use-editor-title.js +37 -12
  13. package/build/components/editor/use-editor-title.js.map +1 -1
  14. package/build/components/editor/use-resolve-edited-entity.js +133 -0
  15. package/build/components/editor/use-resolve-edited-entity.js.map +1 -0
  16. package/build/components/editor-canvas-container/index.js +1 -1
  17. package/build/components/editor-canvas-container/index.js.map +1 -1
  18. package/build/components/global-styles/block-preview-panel.js +8 -10
  19. package/build/components/global-styles/block-preview-panel.js.map +1 -1
  20. package/build/components/global-styles/screen-block.js +18 -5
  21. package/build/components/global-styles/screen-block.js.map +1 -1
  22. package/build/components/global-styles/screen-revisions/revisions-buttons.js +24 -22
  23. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  24. package/build/components/global-styles/screen-style-variations.js +11 -5
  25. package/build/components/global-styles/screen-style-variations.js.map +1 -1
  26. package/build/components/global-styles/shadows-edit-panel.js +2 -3
  27. package/build/components/global-styles/shadows-edit-panel.js.map +1 -1
  28. package/build/components/global-styles/ui.js +42 -2
  29. package/build/components/global-styles/ui.js.map +1 -1
  30. package/build/components/global-styles-renderer/index.js +6 -8
  31. package/build/components/global-styles-renderer/index.js.map +1 -1
  32. package/build/components/global-styles-sidebar/index.js +17 -1
  33. package/build/components/global-styles-sidebar/index.js.map +1 -1
  34. package/build/components/layout/hooks.js +1 -10
  35. package/build/components/layout/hooks.js.map +1 -1
  36. package/build/components/layout/index.js +1 -0
  37. package/build/components/layout/index.js.map +1 -1
  38. package/build/components/page-patterns/fields.js +3 -7
  39. package/build/components/page-patterns/fields.js.map +1 -1
  40. package/build/components/page-patterns/header.js +2 -2
  41. package/build/components/page-patterns/header.js.map +1 -1
  42. package/build/components/page-patterns/use-patterns.js +4 -8
  43. package/build/components/page-patterns/use-patterns.js.map +1 -1
  44. package/build/components/page-templates/fields.js +1 -2
  45. package/build/components/page-templates/fields.js.map +1 -1
  46. package/build/components/post-edit/index.js +15 -11
  47. package/build/components/post-edit/index.js.map +1 -1
  48. package/build/components/post-list/index.js +13 -3
  49. package/build/components/post-list/index.js.map +1 -1
  50. package/build/components/posts-app/index.js +3 -4
  51. package/build/components/posts-app/index.js.map +1 -1
  52. package/build/components/posts-app-routes/home.js +48 -0
  53. package/build/components/posts-app-routes/home.js.map +1 -0
  54. package/build/components/posts-app-routes/index.js +37 -0
  55. package/build/components/posts-app-routes/index.js.map +1 -0
  56. package/build/components/posts-app-routes/posts-edit.js +44 -0
  57. package/build/components/posts-app-routes/posts-edit.js.map +1 -0
  58. package/build/components/posts-app-routes/posts-list-view-quick-edit.js +63 -0
  59. package/build/components/posts-app-routes/posts-list-view-quick-edit.js.map +1 -0
  60. package/build/components/posts-app-routes/posts-list-view.js +48 -0
  61. package/build/components/posts-app-routes/posts-list-view.js.map +1 -0
  62. package/build/components/posts-app-routes/posts-view-quick-edit.js +60 -0
  63. package/build/components/posts-app-routes/posts-view-quick-edit.js.map +1 -0
  64. package/build/components/posts-app-routes/posts-view.js +41 -0
  65. package/build/components/posts-app-routes/posts-view.js.map +1 -0
  66. package/build/components/sidebar/index.js +11 -3
  67. package/build/components/sidebar/index.js.map +1 -1
  68. package/build/components/sidebar-global-styles-wrapper/index.js +129 -0
  69. package/build/components/sidebar-global-styles-wrapper/index.js.map +1 -0
  70. package/build/components/sidebar-navigation-screen-details-footer/index.js +17 -23
  71. package/build/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
  72. package/build/components/sidebar-navigation-screen-global-styles/index.js +18 -90
  73. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  74. package/build/components/sidebar-navigation-screen-main/index.js +43 -42
  75. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  76. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +1 -1
  77. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  78. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +2 -3
  79. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
  80. package/build/components/site-editor-routes/index.js +1 -2
  81. package/build/components/site-editor-routes/index.js.map +1 -1
  82. package/build/components/site-editor-routes/styles-view.js +8 -2
  83. package/build/components/site-editor-routes/styles-view.js.map +1 -1
  84. package/build/components/site-hub/index.js +19 -6
  85. package/build/components/site-hub/index.js.map +1 -1
  86. package/build/components/style-book/constants.js +10 -3
  87. package/build/components/style-book/constants.js.map +1 -1
  88. package/build/components/style-book/examples.js +94 -2
  89. package/build/components/style-book/examples.js.map +1 -1
  90. package/build/components/style-book/index.js +70 -11
  91. package/build/components/style-book/index.js.map +1 -1
  92. package/build/components/welcome-guide/index.js +4 -2
  93. package/build/components/welcome-guide/index.js.map +1 -1
  94. package/build/components/welcome-guide/page.js +1 -9
  95. package/build/components/welcome-guide/page.js.map +1 -1
  96. package/build/components/welcome-guide/template.js +1 -12
  97. package/build/components/welcome-guide/template.js.map +1 -1
  98. package/build/hooks/commands/use-common-commands.js +15 -15
  99. package/build/hooks/commands/use-common-commands.js.map +1 -1
  100. package/build/index.js +1 -9
  101. package/build/index.js.map +1 -1
  102. package/build/posts.js +1 -0
  103. package/build/posts.js.map +1 -1
  104. package/build/store/actions.js +13 -0
  105. package/build/store/actions.js.map +1 -1
  106. package/build/store/selectors.js +21 -1
  107. package/build/store/selectors.js.map +1 -1
  108. package/build-module/components/add-new-template/utils.js +1 -2
  109. package/build-module/components/add-new-template/utils.js.map +1 -1
  110. package/build-module/components/app/index.js +0 -5
  111. package/build-module/components/app/index.js.map +1 -1
  112. package/build-module/components/block-editor/use-editor-iframe-props.js +6 -8
  113. package/build-module/components/block-editor/use-editor-iframe-props.js.map +1 -1
  114. package/build-module/components/block-editor/use-site-editor-settings.js +4 -12
  115. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  116. package/build-module/components/editor/index.js +23 -27
  117. package/build-module/components/editor/index.js.map +1 -1
  118. package/build-module/components/editor/use-editor-title.js +37 -12
  119. package/build-module/components/editor/use-editor-title.js.map +1 -1
  120. package/build-module/components/editor/use-resolve-edited-entity.js +125 -0
  121. package/build-module/components/editor/use-resolve-edited-entity.js.map +1 -0
  122. package/build-module/components/editor-canvas-container/index.js +1 -1
  123. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  124. package/build-module/components/global-styles/block-preview-panel.js +8 -10
  125. package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
  126. package/build-module/components/global-styles/screen-block.js +18 -5
  127. package/build-module/components/global-styles/screen-block.js.map +1 -1
  128. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +25 -23
  129. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  130. package/build-module/components/global-styles/screen-style-variations.js +11 -5
  131. package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
  132. package/build-module/components/global-styles/shadows-edit-panel.js +2 -3
  133. package/build-module/components/global-styles/shadows-edit-panel.js.map +1 -1
  134. package/build-module/components/global-styles/ui.js +42 -2
  135. package/build-module/components/global-styles/ui.js.map +1 -1
  136. package/build-module/components/global-styles-renderer/index.js +6 -8
  137. package/build-module/components/global-styles-renderer/index.js.map +1 -1
  138. package/build-module/components/global-styles-sidebar/index.js +18 -2
  139. package/build-module/components/global-styles-sidebar/index.js.map +1 -1
  140. package/build-module/components/layout/hooks.js +1 -9
  141. package/build-module/components/layout/hooks.js.map +1 -1
  142. package/build-module/components/layout/index.js +1 -0
  143. package/build-module/components/layout/index.js.map +1 -1
  144. package/build-module/components/page-patterns/fields.js +4 -8
  145. package/build-module/components/page-patterns/fields.js.map +1 -1
  146. package/build-module/components/page-patterns/header.js +2 -2
  147. package/build-module/components/page-patterns/header.js.map +1 -1
  148. package/build-module/components/page-patterns/use-patterns.js +4 -8
  149. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  150. package/build-module/components/page-templates/fields.js +1 -2
  151. package/build-module/components/page-templates/fields.js.map +1 -1
  152. package/build-module/components/post-edit/index.js +14 -10
  153. package/build-module/components/post-edit/index.js.map +1 -1
  154. package/build-module/components/post-list/index.js +13 -3
  155. package/build-module/components/post-list/index.js.map +1 -1
  156. package/build-module/components/posts-app/index.js +3 -4
  157. package/build-module/components/posts-app/index.js.map +1 -1
  158. package/build-module/components/posts-app-routes/home.js +40 -0
  159. package/build-module/components/posts-app-routes/home.js.map +1 -0
  160. package/build-module/components/posts-app-routes/index.js +30 -0
  161. package/build-module/components/posts-app-routes/index.js.map +1 -0
  162. package/build-module/components/posts-app-routes/posts-edit.js +36 -0
  163. package/build-module/components/posts-app-routes/posts-edit.js.map +1 -0
  164. package/build-module/components/posts-app-routes/posts-list-view-quick-edit.js +55 -0
  165. package/build-module/components/posts-app-routes/posts-list-view-quick-edit.js.map +1 -0
  166. package/build-module/components/posts-app-routes/posts-list-view.js +40 -0
  167. package/build-module/components/posts-app-routes/posts-list-view.js.map +1 -0
  168. package/build-module/components/posts-app-routes/posts-view-quick-edit.js +52 -0
  169. package/build-module/components/posts-app-routes/posts-view-quick-edit.js.map +1 -0
  170. package/build-module/components/posts-app-routes/posts-view.js +33 -0
  171. package/build-module/components/posts-app-routes/posts-view.js.map +1 -0
  172. package/build-module/components/sidebar/index.js +11 -3
  173. package/build-module/components/sidebar/index.js.map +1 -1
  174. package/build-module/components/sidebar-global-styles-wrapper/index.js +121 -0
  175. package/build-module/components/sidebar-global-styles-wrapper/index.js.map +1 -0
  176. package/build-module/components/sidebar-navigation-screen-details-footer/index.js +20 -26
  177. package/build-module/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
  178. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +19 -91
  179. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  180. package/build-module/components/sidebar-navigation-screen-main/index.js +43 -43
  181. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  182. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +1 -1
  183. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  184. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +3 -4
  185. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
  186. package/build-module/components/site-editor-routes/index.js +1 -2
  187. package/build-module/components/site-editor-routes/index.js.map +1 -1
  188. package/build-module/components/site-editor-routes/styles-view.js +8 -2
  189. package/build-module/components/site-editor-routes/styles-view.js.map +1 -1
  190. package/build-module/components/site-hub/index.js +19 -6
  191. package/build-module/components/site-hub/index.js.map +1 -1
  192. package/build-module/components/style-book/constants.js +10 -3
  193. package/build-module/components/style-book/constants.js.map +1 -1
  194. package/build-module/components/style-book/examples.js +94 -2
  195. package/build-module/components/style-book/examples.js.map +1 -1
  196. package/build-module/components/style-book/index.js +71 -12
  197. package/build-module/components/style-book/index.js.map +1 -1
  198. package/build-module/components/welcome-guide/index.js +4 -2
  199. package/build-module/components/welcome-guide/index.js.map +1 -1
  200. package/build-module/components/welcome-guide/page.js +1 -9
  201. package/build-module/components/welcome-guide/page.js.map +1 -1
  202. package/build-module/components/welcome-guide/template.js +1 -11
  203. package/build-module/components/welcome-guide/template.js.map +1 -1
  204. package/build-module/hooks/commands/use-common-commands.js +15 -15
  205. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  206. package/build-module/index.js +2 -10
  207. package/build-module/index.js.map +1 -1
  208. package/build-module/posts.js +1 -0
  209. package/build-module/posts.js.map +1 -1
  210. package/build-module/store/actions.js +13 -0
  211. package/build-module/store/actions.js.map +1 -1
  212. package/build-module/store/selectors.js +21 -1
  213. package/build-module/store/selectors.js.map +1 -1
  214. package/build-style/posts-rtl.css +106 -16
  215. package/build-style/posts.css +106 -16
  216. package/build-style/style-rtl.css +176 -78
  217. package/build-style/style.css +176 -78
  218. package/package.json +39 -40
  219. package/src/components/add-new-template/utils.js +2 -2
  220. package/src/components/app/index.js +0 -5
  221. package/src/components/block-editor/use-editor-iframe-props.js +2 -3
  222. package/src/components/block-editor/use-site-editor-settings.js +7 -21
  223. package/src/components/editor/index.js +31 -30
  224. package/src/components/editor/use-editor-title.js +50 -13
  225. package/src/components/editor/use-resolve-edited-entity.js +132 -0
  226. package/src/components/editor-canvas-container/index.js +1 -1
  227. package/src/components/editor-canvas-container/style.scss +0 -1
  228. package/src/components/global-styles/block-preview-panel.js +10 -10
  229. package/src/components/global-styles/screen-block.js +26 -8
  230. package/src/components/global-styles/screen-revisions/revisions-buttons.js +28 -31
  231. package/src/components/global-styles/screen-revisions/style.scss +11 -17
  232. package/src/components/global-styles/screen-style-variations.js +14 -5
  233. package/src/components/global-styles/shadows-edit-panel.js +4 -2
  234. package/src/components/global-styles/ui.js +41 -1
  235. package/src/components/global-styles-renderer/index.js +4 -10
  236. package/src/components/global-styles-sidebar/index.js +16 -2
  237. package/src/components/layout/hooks.js +1 -7
  238. package/src/components/layout/index.js +6 -1
  239. package/src/components/page-patterns/fields.js +6 -12
  240. package/src/components/page-patterns/header.js +3 -2
  241. package/src/components/page-patterns/style.scss +0 -5
  242. package/src/components/page-patterns/use-patterns.js +9 -7
  243. package/src/components/page-templates/fields.js +2 -3
  244. package/src/components/page-templates/style.scss +1 -0
  245. package/src/components/post-edit/index.js +37 -32
  246. package/src/components/post-edit/style.scss +7 -0
  247. package/src/components/post-list/index.js +10 -5
  248. package/src/components/post-list/style.scss +29 -3
  249. package/src/components/posts-app/index.js +3 -4
  250. package/src/components/posts-app-routes/home.js +36 -0
  251. package/src/components/posts-app-routes/index.js +36 -0
  252. package/src/components/posts-app-routes/posts-edit.js +31 -0
  253. package/src/components/posts-app-routes/posts-list-view-quick-edit.js +52 -0
  254. package/src/components/posts-app-routes/posts-list-view.js +40 -0
  255. package/src/components/posts-app-routes/posts-view-quick-edit.js +49 -0
  256. package/src/components/posts-app-routes/posts-view.js +35 -0
  257. package/src/components/sidebar/index.js +23 -7
  258. package/src/components/sidebar-global-styles-wrapper/index.js +150 -0
  259. package/src/components/sidebar-global-styles-wrapper/style.scss +35 -0
  260. package/src/components/sidebar-navigation-item/style.scss +2 -2
  261. package/src/components/sidebar-navigation-screen/style.scss +7 -2
  262. package/src/components/sidebar-navigation-screen-details-footer/index.js +27 -38
  263. package/src/components/sidebar-navigation-screen-details-footer/style.scss +0 -4
  264. package/src/components/sidebar-navigation-screen-global-styles/index.js +19 -103
  265. package/src/components/sidebar-navigation-screen-main/index.js +46 -45
  266. package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +8 -0
  267. package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +1 -1
  268. package/src/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +4 -4
  269. package/src/components/site-editor-routes/README.md +2 -2
  270. package/src/components/site-editor-routes/index.js +0 -2
  271. package/src/components/site-editor-routes/styles-view.js +11 -1
  272. package/src/components/site-hub/index.js +33 -16
  273. package/src/components/site-hub/style.scss +1 -1
  274. package/src/components/site-icon/style.scss +16 -0
  275. package/src/components/style-book/constants.ts +11 -3
  276. package/src/components/style-book/examples.tsx +128 -2
  277. package/src/components/style-book/index.js +86 -8
  278. package/src/components/welcome-guide/index.js +3 -3
  279. package/src/components/welcome-guide/page.js +1 -7
  280. package/src/components/welcome-guide/template.js +1 -8
  281. package/src/hooks/commands/use-common-commands.js +253 -246
  282. package/src/index.js +2 -13
  283. package/src/posts.js +1 -0
  284. package/src/store/actions.js +15 -0
  285. package/src/store/selectors.js +24 -1
  286. package/src/style.scss +2 -5
  287. package/build/components/async/index.js +0 -51
  288. package/build/components/async/index.js.map +0 -1
  289. package/build/components/post-fields/index.js +0 -290
  290. package/build/components/post-fields/index.js.map +0 -1
  291. package/build/components/posts-app/router.js +0 -85
  292. package/build/components/posts-app/router.js.map +0 -1
  293. package/build/components/sidebar-navigation-screen-details-panel/index.js +0 -54
  294. package/build/components/sidebar-navigation-screen-details-panel/index.js.map +0 -1
  295. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js +0 -21
  296. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js.map +0 -1
  297. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +0 -33
  298. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +0 -1
  299. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js +0 -21
  300. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js.map +0 -1
  301. package/build/components/site-editor-routes/styles-edit.js +0 -28
  302. package/build/components/site-editor-routes/styles-edit.js.map +0 -1
  303. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +0 -219
  304. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +0 -1
  305. package/build/components/use-edited-entity-record/index.js +0 -60
  306. package/build/components/use-edited-entity-record/index.js.map +0 -1
  307. package/build/hooks/commands/use-edit-mode-commands.js +0 -179
  308. package/build/hooks/commands/use-edit-mode-commands.js.map +0 -1
  309. package/build-module/components/async/index.js +0 -44
  310. package/build-module/components/async/index.js.map +0 -1
  311. package/build-module/components/post-fields/index.js +0 -283
  312. package/build-module/components/post-fields/index.js.map +0 -1
  313. package/build-module/components/posts-app/router.js +0 -77
  314. package/build-module/components/posts-app/router.js.map +0 -1
  315. package/build-module/components/sidebar-navigation-screen-details-panel/index.js +0 -29
  316. package/build-module/components/sidebar-navigation-screen-details-panel/index.js.map +0 -1
  317. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js +0 -14
  318. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js.map +0 -1
  319. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +0 -25
  320. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +0 -1
  321. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js +0 -14
  322. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js.map +0 -1
  323. package/build-module/components/site-editor-routes/styles-edit.js +0 -20
  324. package/build-module/components/site-editor-routes/styles-edit.js.map +0 -1
  325. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +0 -212
  326. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +0 -1
  327. package/build-module/components/use-edited-entity-record/index.js +0 -53
  328. package/build-module/components/use-edited-entity-record/index.js.map +0 -1
  329. package/build-module/hooks/commands/use-edit-mode-commands.js +0 -171
  330. package/build-module/hooks/commands/use-edit-mode-commands.js.map +0 -1
  331. package/src/components/async/index.js +0 -43
  332. package/src/components/post-fields/index.js +0 -361
  333. package/src/components/post-fields/style.scss +0 -3
  334. package/src/components/posts-app/router.js +0 -69
  335. package/src/components/sidebar-navigation-screen-details-panel/index.js +0 -40
  336. package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js +0 -14
  337. package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +0 -31
  338. package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js +0 -14
  339. package/src/components/sidebar-navigation-screen-details-panel/style.scss +0 -26
  340. package/src/components/site-editor-routes/styles-edit.js +0 -17
  341. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +0 -267
  342. package/src/components/use-edited-entity-record/index.js +0 -58
  343. package/src/hooks/commands/use-edit-mode-commands.js +0 -168
  344. package/src/store/test/actions.js +0 -83
  345. package/src/store/test/reducer.js +0 -69
  346. package/src/store/test/selectors.js +0 -41
@@ -49,6 +49,11 @@ import useEditorIframeProps from '../block-editor/use-editor-iframe-props';
49
49
  import useEditorTitle from './use-editor-title';
50
50
  import { useIsSiteEditorLoading } from '../layout/hooks';
51
51
  import { useAdaptEditorToCanvas } from './use-adapt-editor-to-canvas';
52
+ import { TEMPLATE_POST_TYPE } from '../../utils/constants';
53
+ import {
54
+ useResolveEditedEntity,
55
+ useSyncDeprecatedEntityIntoState,
56
+ } from './use-resolve-edited-entity';
52
57
 
53
58
  const { Editor, BackButton } = unlock( editorPrivateApis );
54
59
  const { useHistory, useLocation } = unlock( routerPrivateApis );
@@ -84,38 +89,25 @@ export default function EditSiteEditor( { isPostsList = false } ) {
84
89
  const { canvas = 'view' } = params;
85
90
  const isLoading = useIsSiteEditorLoading();
86
91
  useAdaptEditorToCanvas( canvas );
92
+ const entity = useResolveEditedEntity();
93
+ // deprecated sync state with url
94
+ useSyncDeprecatedEntityIntoState( entity );
95
+ const { postType, postId, context } = entity;
87
96
  const {
88
- editedPostType,
89
- editedPostId,
90
- contextPostType,
91
- contextPostId,
92
- isEditingPage,
93
97
  supportsGlobalStyles,
94
98
  showIconLabels,
95
99
  editorCanvasView,
96
100
  currentPostIsTrashed,
97
101
  hasSiteIcon,
98
102
  } = useSelect( ( select ) => {
99
- const {
100
- getEditorCanvasContainerView,
101
- getEditedPostContext,
102
- isPage,
103
- getEditedPostType,
104
- getEditedPostId,
105
- } = unlock( select( editSiteStore ) );
103
+ const { getEditorCanvasContainerView } = unlock(
104
+ select( editSiteStore )
105
+ );
106
106
  const { get } = select( preferencesStore );
107
107
  const { getCurrentTheme, getEntityRecord } = select( coreDataStore );
108
- const _context = getEditedPostContext();
109
108
  const siteData = getEntityRecord( 'root', '__unstableBase', undefined );
110
109
 
111
- // The currently selected entity to display.
112
- // Typically template or template part in the site editor.
113
110
  return {
114
- editedPostType: getEditedPostType(),
115
- editedPostId: getEditedPostId(),
116
- contextPostType: _context?.postId ? _context.postType : undefined,
117
- contextPostId: _context?.postId ? _context.postId : undefined,
118
- isEditingPage: isPage(),
119
111
  supportsGlobalStyles: getCurrentTheme()?.is_block_theme,
120
112
  showIconLabels: get( 'core', 'showIconLabels' ),
121
113
  editorCanvasView: getEditorCanvasContainerView(),
@@ -125,12 +117,15 @@ export default function EditSiteEditor( { isPostsList = false } ) {
125
117
  hasSiteIcon: !! siteData?.site_icon_url,
126
118
  };
127
119
  }, [] );
128
- useEditorTitle();
120
+ const postWithTemplate = !! context?.postId;
121
+ useEditorTitle(
122
+ postWithTemplate ? context.postType : postType,
123
+ postWithTemplate ? context.postId : postId
124
+ );
129
125
  const _isPreviewingTheme = isPreviewingTheme();
130
126
  const hasDefaultEditorCanvasView = ! useHasEditorCanvasContainer();
131
127
  const iframeProps = useEditorIframeProps();
132
128
  const isEditMode = canvas === 'edit';
133
- const postWithTemplate = !! contextPostId;
134
129
  const loadingProgressId = useInstanceId(
135
130
  CanvasLoader,
136
131
  'edit-site-editor__loading-progress'
@@ -214,18 +209,22 @@ export default function EditSiteEditor( { isPostsList = false } ) {
214
209
 
215
210
  return (
216
211
  <>
217
- <GlobalStylesRenderer />
212
+ <GlobalStylesRenderer
213
+ disableRootPadding={ postType !== TEMPLATE_POST_TYPE }
214
+ />
218
215
  <EditorKeyboardShortcutsRegister />
219
216
  { isEditMode && <BlockKeyboardShortcuts /> }
220
217
  { ! isReady ? <CanvasLoader id={ loadingProgressId } /> : null }
221
- { isEditMode && <WelcomeGuide /> }
218
+ { isEditMode && (
219
+ <WelcomeGuide
220
+ postType={ postWithTemplate ? context.postType : postType }
221
+ />
222
+ ) }
222
223
  { isReady && (
223
224
  <Editor
224
- postType={
225
- postWithTemplate ? contextPostType : editedPostType
226
- }
227
- postId={ postWithTemplate ? contextPostId : editedPostId }
228
- templateId={ postWithTemplate ? editedPostId : undefined }
225
+ postType={ postWithTemplate ? context.postType : postType }
226
+ postId={ postWithTemplate ? context.postId : postId }
227
+ templateId={ postWithTemplate ? postId : undefined }
229
228
  settings={ settings }
230
229
  className={ clsx( 'edit-site-editor__editor-interface', {
231
230
  'show-icon-labels': showIconLabels,
@@ -240,7 +239,9 @@ export default function EditSiteEditor( { isPostsList = false } ) {
240
239
  iframeProps={ iframeProps }
241
240
  onActionPerformed={ onActionPerformed }
242
241
  extraSidebarPanels={
243
- ! isEditingPage && <PluginTemplateSettingPanel.Slot />
242
+ ! postWithTemplate && (
243
+ <PluginTemplateSettingPanel.Slot />
244
+ )
244
245
  }
245
246
  >
246
247
  { isEditMode && (
@@ -2,34 +2,71 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { _x, sprintf } from '@wordpress/i18n';
5
+ import { useSelect } from '@wordpress/data';
6
+ import { store as coreStore } from '@wordpress/core-data';
7
+ import { decodeEntities } from '@wordpress/html-entities';
8
+ import { privateApis as editorPrivateApis } from '@wordpress/editor';
5
9
 
6
10
  /**
7
11
  * Internal dependencies
8
12
  */
9
- import useEditedEntityRecord from '../use-edited-entity-record';
10
13
  import useTitle from '../routes/use-title';
11
14
  import { POST_TYPE_LABELS, TEMPLATE_POST_TYPE } from '../../utils/constants';
15
+ import { unlock } from '../../lock-unlock';
12
16
 
13
- function useEditorTitle() {
14
- const {
15
- record: editedPost,
16
- getTitle,
17
- isLoaded: hasLoadedPost,
18
- } = useEditedEntityRecord();
19
- let title;
20
- if ( hasLoadedPost ) {
21
- title = sprintf(
17
+ const { getTemplateInfo } = unlock( editorPrivateApis );
18
+
19
+ function useEditorTitle( postType, postId ) {
20
+ const { title, isLoaded } = useSelect(
21
+ ( select ) => {
22
+ const { getEditedEntityRecord, hasFinishedResolution } =
23
+ select( coreStore );
24
+
25
+ const _record = getEditedEntityRecord(
26
+ 'postType',
27
+ postType,
28
+ postId
29
+ );
30
+
31
+ const { default_template_types: templateTypes = [] } =
32
+ select( coreStore ).getEntityRecord(
33
+ 'root',
34
+ '__unstableBase'
35
+ ) ?? {};
36
+
37
+ const templateInfo = getTemplateInfo( {
38
+ template: _record,
39
+ templateTypes,
40
+ } );
41
+
42
+ const _isLoaded = hasFinishedResolution( 'getEditedEntityRecord', [
43
+ 'postType',
44
+ postType,
45
+ postId,
46
+ ] );
47
+
48
+ return {
49
+ title: templateInfo.title,
50
+ isLoaded: _isLoaded,
51
+ };
52
+ },
53
+ [ postType, postId ]
54
+ );
55
+
56
+ let editorTitle;
57
+ if ( isLoaded ) {
58
+ editorTitle = sprintf(
22
59
  // translators: A breadcrumb trail for the Admin document title. 1: title of template being edited, 2: type of template (Template or Template Part).
23
60
  _x( '%1$s ‹ %2$s', 'breadcrumb trail' ),
24
- getTitle(),
25
- POST_TYPE_LABELS[ editedPost.type ] ??
61
+ decodeEntities( title ),
62
+ POST_TYPE_LABELS[ postType ] ??
26
63
  POST_TYPE_LABELS[ TEMPLATE_POST_TYPE ]
27
64
  );
28
65
  }
29
66
 
30
67
  // Only announce the title once the editor is ready to prevent "Replace"
31
68
  // action in <URLQueryController> from double-announcing.
32
- useTitle( hasLoadedPost && title );
69
+ useTitle( isLoaded && editorTitle );
33
70
  }
34
71
 
35
72
  export default useEditorTitle;
@@ -0,0 +1,132 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { useEffect, useMemo } from '@wordpress/element';
5
+ import { useSelect, useDispatch } from '@wordpress/data';
6
+ import { store as coreDataStore } from '@wordpress/core-data';
7
+ import { privateApis as routerPrivateApis } from '@wordpress/router';
8
+
9
+ /**
10
+ * Internal dependencies
11
+ */
12
+ import { store as editSiteStore } from '../../store';
13
+ import { unlock } from '../../lock-unlock';
14
+ import {
15
+ TEMPLATE_POST_TYPE,
16
+ TEMPLATE_PART_POST_TYPE,
17
+ NAVIGATION_POST_TYPE,
18
+ PATTERN_TYPES,
19
+ } from '../../utils/constants';
20
+
21
+ const { useLocation } = unlock( routerPrivateApis );
22
+
23
+ const postTypesWithoutParentTemplate = [
24
+ TEMPLATE_POST_TYPE,
25
+ TEMPLATE_PART_POST_TYPE,
26
+ NAVIGATION_POST_TYPE,
27
+ PATTERN_TYPES.user,
28
+ ];
29
+
30
+ const authorizedPostTypes = [ 'page', 'post' ];
31
+
32
+ export function useResolveEditedEntity() {
33
+ const { params = {} } = useLocation();
34
+ const { postId, postType } = params;
35
+ const homePage = useSelect( ( select ) => {
36
+ const { getHomePage } = unlock( select( coreDataStore ) );
37
+ return getHomePage();
38
+ }, [] );
39
+
40
+ /**
41
+ * This is a hook that recreates the logic to resolve a template for a given WordPress postID postTypeId
42
+ * in order to match the frontend as closely as possible in the site editor.
43
+ *
44
+ * It is not possible to rely on the server logic because there maybe unsaved changes that impact the template resolution.
45
+ */
46
+ const resolvedTemplateId = useSelect(
47
+ ( select ) => {
48
+ // If we're rendering a post type that doesn't have a template
49
+ // no need to resolve its template.
50
+ if (
51
+ postTypesWithoutParentTemplate.includes( postType ) &&
52
+ postId
53
+ ) {
54
+ return;
55
+ }
56
+
57
+ // Don't trigger resolution for multi-selected posts.
58
+ if ( postId && postId.includes( ',' ) ) {
59
+ return;
60
+ }
61
+
62
+ const { getTemplateId } = unlock( select( coreDataStore ) );
63
+
64
+ // If we're rendering a specific page, we need to resolve its template.
65
+ // The site editor only supports pages for now, not other CPTs.
66
+ if (
67
+ postType &&
68
+ postId &&
69
+ authorizedPostTypes.includes( postType )
70
+ ) {
71
+ return getTemplateId( postType, postId );
72
+ }
73
+
74
+ // If we're rendering the home page, and we have a static home page, resolve its template.
75
+ if ( homePage?.postType === 'page' ) {
76
+ return getTemplateId( 'page', homePage?.postId );
77
+ }
78
+
79
+ if ( homePage?.postType === 'wp_template' ) {
80
+ return homePage?.postId;
81
+ }
82
+ },
83
+ [ homePage, postId, postType ]
84
+ );
85
+
86
+ const context = useMemo( () => {
87
+ if ( postTypesWithoutParentTemplate.includes( postType ) && postId ) {
88
+ return {};
89
+ }
90
+
91
+ if ( postType && postId && authorizedPostTypes.includes( postType ) ) {
92
+ return { postType, postId };
93
+ }
94
+ // TODO: for post types lists we should probably not render the front page, but maybe a placeholder
95
+ // with a message like "Select a page" or something similar.
96
+ if ( homePage?.postType === 'page' ) {
97
+ return { postType: 'page', postId: homePage?.postId };
98
+ }
99
+
100
+ return {};
101
+ }, [ homePage, postType, postId ] );
102
+
103
+ if ( postTypesWithoutParentTemplate.includes( postType ) && postId ) {
104
+ return { isReady: true, postType, postId, context };
105
+ }
106
+
107
+ if ( !! homePage ) {
108
+ return {
109
+ isReady: resolvedTemplateId !== undefined,
110
+ postType: TEMPLATE_POST_TYPE,
111
+ postId: resolvedTemplateId,
112
+ context,
113
+ };
114
+ }
115
+
116
+ return { isReady: false };
117
+ }
118
+
119
+ export function useSyncDeprecatedEntityIntoState( {
120
+ postType,
121
+ postId,
122
+ context,
123
+ isReady,
124
+ } ) {
125
+ const { setEditedEntity } = useDispatch( editSiteStore );
126
+
127
+ useEffect( () => {
128
+ if ( isReady ) {
129
+ setEditedEntity( postType, postId, context );
130
+ }
131
+ }, [ isReady, postType, postId, context, setEditedEntity ] );
132
+ }
@@ -141,7 +141,7 @@ function EditorCanvasContainer( {
141
141
  }
142
142
 
143
143
  function useHasEditorCanvasContainer() {
144
- const fills = useSlotFills( EditorContentSlotFill.privateKey );
144
+ const fills = useSlotFills( EditorContentSlotFill.name );
145
145
  return !! fills?.length;
146
146
  }
147
147
 
@@ -1,6 +1,5 @@
1
1
  .edit-site-editor-canvas-container {
2
2
  height: 100%;
3
- background-color: $gray-300;
4
3
 
5
4
  // Controls height of editor and editor canvas container (style book, global styles revisions previews etc.)
6
5
  iframe {
@@ -18,16 +18,16 @@ const BlockPreviewPanel = ( { name, variation = '' } ) => {
18
18
  return null;
19
19
  }
20
20
 
21
- let example = blockExample;
22
- if ( variation ) {
23
- example = {
24
- ...example,
25
- attributes: {
26
- ...example.attributes,
27
- className: getVariationClassName( variation ),
28
- },
29
- };
30
- }
21
+ const example = {
22
+ ...blockExample,
23
+ attributes: {
24
+ ...blockExample.attributes,
25
+ style: undefined,
26
+ className: variation
27
+ ? getVariationClassName( variation )
28
+ : blockExample.attributes?.className,
29
+ },
30
+ };
31
31
 
32
32
  return getBlockFromExample( name, example );
33
33
  }, [ name, blockExample, variation ] );
@@ -102,20 +102,23 @@ function ScreenBlock( { name, variation } ) {
102
102
  } );
103
103
  const [ userSettings ] = useGlobalSetting( '', name, 'user' );
104
104
  const [ rawSettings, setSettings ] = useGlobalSetting( '', name );
105
- const settings = useSettingsForBlockElement( rawSettings, name );
105
+ const settingsForBlockElement = useSettingsForBlockElement(
106
+ rawSettings,
107
+ name
108
+ );
106
109
  const blockType = getBlockType( name );
107
110
 
108
111
  // Only allow `blockGap` support if serialization has not been skipped, to be sure global spacing can be applied.
112
+ let disableBlockGap = false;
109
113
  if (
110
- settings?.spacing?.blockGap &&
114
+ settingsForBlockElement?.spacing?.blockGap &&
111
115
  blockType?.supports?.spacing?.blockGap &&
112
- ( blockType?.supports?.spacing?.__experimentalSkipSerialization ===
113
- true ||
114
- blockType?.supports?.spacing?.__experimentalSkipSerialization?.some?.(
116
+ ( blockType?.supports?.spacing?.skipSerialization === true ||
117
+ blockType?.supports?.spacing?.skipSerialization?.some?.(
115
118
  ( spacingType ) => spacingType === 'blockGap'
116
119
  ) )
117
120
  ) {
118
- settings.spacing.blockGap = false;
121
+ disableBlockGap = true;
119
122
  }
120
123
 
121
124
  // Only allow `aspectRatio` support if the block is not the grouping block.
@@ -124,10 +127,25 @@ function ScreenBlock( { name, variation } ) {
124
127
  // for all three at once. Until there is the ability to set a different aspect
125
128
  // ratio for each variation, we disable the aspect ratio controls for the
126
129
  // grouping block in global styles.
127
- if ( settings?.dimensions?.aspectRatio && name === 'core/group' ) {
128
- settings.dimensions.aspectRatio = false;
130
+ let disableAspectRatio = false;
131
+ if (
132
+ settingsForBlockElement?.dimensions?.aspectRatio &&
133
+ name === 'core/group'
134
+ ) {
135
+ disableAspectRatio = true;
129
136
  }
130
137
 
138
+ const settings = useMemo( () => {
139
+ const updatedSettings = structuredClone( settingsForBlockElement );
140
+ if ( disableBlockGap ) {
141
+ updatedSettings.spacing.blockGap = false;
142
+ }
143
+ if ( disableAspectRatio ) {
144
+ updatedSettings.dimensions.aspectRatio = false;
145
+ }
146
+ return updatedSettings;
147
+ }, [ settingsForBlockElement, disableBlockGap, disableAspectRatio ] );
148
+
131
149
  const blockVariations = useBlockVariations( name );
132
150
  const hasBackgroundPanel = useHasBackgroundPanel( settings );
133
151
  const hasTypographyPanel = useHasTypographyPanel( settings );
@@ -1,18 +1,13 @@
1
- /**
2
- * External dependencies
3
- */
4
- import clsx from 'clsx';
5
-
6
1
  /**
7
2
  * WordPress dependencies
8
3
  */
9
4
  import { __, sprintf } from '@wordpress/i18n';
10
- import { Button } from '@wordpress/components';
5
+ import { Button, Composite } from '@wordpress/components';
11
6
  import { dateI18n, getDate, humanTimeDiff, getSettings } from '@wordpress/date';
12
7
  import { store as coreStore } from '@wordpress/core-data';
13
8
  import { useSelect } from '@wordpress/data';
14
9
  import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
15
-
10
+ import { ENTER, SPACE } from '@wordpress/keycodes';
16
11
  /**
17
12
  * Internal dependencies
18
13
  */
@@ -117,10 +112,11 @@ function RevisionsButtons( {
117
112
  const { datetimeAbbreviated } = getSettings().formats;
118
113
 
119
114
  return (
120
- <ol
115
+ <Composite
116
+ orientation="vertical"
121
117
  className="edit-site-global-styles-screen-revisions__revisions-list"
122
118
  aria-label={ __( 'Global styles revisions list' ) }
123
- role="group"
119
+ role="listbox"
124
120
  >
125
121
  { userRevisions.map( ( revision, index ) => {
126
122
  const { id, author, modified } = revision;
@@ -149,28 +145,26 @@ function RevisionsButtons( {
149
145
  );
150
146
 
151
147
  return (
152
- <li
153
- className={ clsx(
154
- 'edit-site-global-styles-screen-revisions__revision-item',
155
- {
156
- 'is-selected': isSelected,
157
- 'is-active': areStylesEqual,
158
- 'is-reset': isReset,
159
- }
160
- ) }
148
+ <Composite.Item
161
149
  key={ id }
150
+ className="edit-site-global-styles-screen-revisions__revision-item"
162
151
  aria-current={ isSelected }
163
- >
164
- <Button
165
- __next40pxDefaultSize
166
- className="edit-site-global-styles-screen-revisions__revision-button"
167
- accessibleWhenDisabled
168
- disabled={ isSelected }
169
- onClick={ () => {
152
+ role="option"
153
+ onKeyDown={ ( event ) => {
154
+ const { keyCode } = event;
155
+ if ( keyCode === ENTER || keyCode === SPACE ) {
170
156
  onChange( revision );
171
- } }
172
- aria-label={ revisionLabel }
173
- >
157
+ }
158
+ } }
159
+ onClick={ ( event ) => {
160
+ event.preventDefault();
161
+ onChange( revision );
162
+ } }
163
+ aria-selected={ isSelected }
164
+ aria-label={ revisionLabel }
165
+ render={ <div /> }
166
+ >
167
+ <span className="edit-site-global-styles-screen-revisions__revision-item-wrapper">
174
168
  { isReset ? (
175
169
  <span className="edit-site-global-styles-screen-revisions__description">
176
170
  { __( 'Default styles' ) }
@@ -211,7 +205,7 @@ function RevisionsButtons( {
211
205
  ) }
212
206
  </span>
213
207
  ) }
214
- </Button>
208
+ </span>
215
209
  { isSelected &&
216
210
  ( areStylesEqual ? (
217
211
  <p className="edit-site-global-styles-screen-revisions__applied-text">
@@ -225,16 +219,19 @@ function RevisionsButtons( {
225
219
  variant="primary"
226
220
  className="edit-site-global-styles-screen-revisions__apply-button"
227
221
  onClick={ onApplyRevision }
222
+ aria-label={ __(
223
+ 'Apply the selected revision to your site.'
224
+ ) }
228
225
  >
229
226
  { isReset
230
227
  ? __( 'Reset to defaults' )
231
228
  : __( 'Apply' ) }
232
229
  </Button>
233
230
  ) ) }
234
- </li>
231
+ </Composite.Item>
235
232
  );
236
233
  } ) }
237
- </ol>
234
+ </Composite>
238
235
  );
239
236
  }
240
237
 
@@ -14,6 +14,11 @@
14
14
  display: flex;
15
15
  flex-direction: column;
16
16
 
17
+ &[role="option"]:active,
18
+ &[role="option"]:focus {
19
+ @include button-style__focus();
20
+ }
21
+
17
22
  &:hover {
18
23
  background: rgba(var(--wp-admin-theme-color--rgb), 0.04);
19
24
  .edit-site-global-styles-screen-revisions__date {
@@ -42,7 +47,7 @@
42
47
  border: 4px solid transparent;
43
48
  }
44
49
 
45
- &.is-selected {
50
+ &[aria-selected="true"] {
46
51
  border-radius: $radius-small;
47
52
 
48
53
  // Only visible in Windows High Contrast mode.
@@ -52,10 +57,6 @@
52
57
  color: var(--wp-admin-theme-color);
53
58
  background: rgba(var(--wp-admin-theme-color--rgb), 0.04);
54
59
 
55
- .edit-site-global-styles-screen-revisions__revision-button {
56
- opacity: 1;
57
- }
58
-
59
60
  .edit-site-global-styles-screen-revisions__date {
60
61
  color: var(--wp-admin-theme-color);
61
62
  }
@@ -86,23 +87,16 @@
86
87
  &:last-child::after {
87
88
  height: $grid-unit-20 + 2;
88
89
  }
89
-
90
- // Nested to override specificity of .components-button.
91
- .edit-site-global-styles-screen-revisions__revision-button {
92
- width: 100%;
93
- height: auto;
94
- display: block;
95
- padding: $grid-unit-15 $grid-unit-15 $grid-unit-05 $grid-unit-50;
96
- z-index: 1;
97
- position: relative;
98
- outline-offset: -2px;
99
- }
90
+ }
91
+ .edit-site-global-styles-screen-revisions__revision-item-wrapper {
92
+ display: block;
93
+ padding: $grid-unit-15 $grid-unit-15 $grid-unit-05 $grid-unit-50;
100
94
  }
101
95
 
102
96
  .edit-site-global-styles-screen-revisions__apply-button.is-primary,
103
97
  .edit-site-global-styles-screen-revisions__applied-text {
104
98
  align-self: flex-start;
105
- // Left margin = left padding of .edit-site-global-styles-screen-revisions__revision-button.
99
+ // Left margin = left padding of .edit-site-global-styles-screen-revisions__revision-item-wrapper.
106
100
  margin: $grid-unit-05 $grid-unit-15 $grid-unit-15 $grid-unit-50;
107
101
  }
108
102
 
@@ -1,11 +1,15 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
+ import {
5
+ privateApis as blockEditorPrivateApis,
6
+ store as blockEditorStore,
7
+ } from '@wordpress/block-editor';
4
8
  import { Card, CardBody } from '@wordpress/components';
9
+ import { useSelect, useDispatch } from '@wordpress/data';
5
10
  import { __ } from '@wordpress/i18n';
6
- import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
7
- import { useDispatch } from '@wordpress/data';
8
11
  import { store as editorStore } from '@wordpress/editor';
12
+ import { useEffect } from '@wordpress/element';
9
13
 
10
14
  /**
11
15
  * Internal dependencies
@@ -18,11 +22,16 @@ const { useZoomOut } = unlock( blockEditorPrivateApis );
18
22
 
19
23
  function ScreenStyleVariations() {
20
24
  // Style Variations should only be previewed in with
21
- // - a "zoomed out" editor
25
+ // - a "zoomed out" editor (but not when in preview mode)
22
26
  // - "Desktop" device preview
27
+ const isPreviewMode = useSelect( ( select ) => {
28
+ return select( blockEditorStore ).getSettings().isPreviewMode;
29
+ }, [] );
23
30
  const { setDeviceType } = useDispatch( editorStore );
24
- useZoomOut();
25
- setDeviceType( 'desktop' );
31
+ useZoomOut( ! isPreviewMode );
32
+ useEffect( () => {
33
+ setDeviceType( 'desktop' );
34
+ }, [ setDeviceType ] );
26
35
 
27
36
  return (
28
37
  <>
@@ -215,8 +215,10 @@ export default function ShadowsEditPanel() {
215
215
  size="medium"
216
216
  >
217
217
  { sprintf(
218
- // translators: %s: name of the shadow
219
- 'Are you sure you want to delete "%s"?',
218
+ /* translators: %s: Name of the shadow preset. */
219
+ __(
220
+ 'Are you sure you want to delete "%s" shadow preset?'
221
+ ),
220
222
  selectedShadow.name
221
223
  ) }
222
224
  </ConfirmDialog>