@wordpress/edit-site 6.10.0 → 6.12.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 (516) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/add-new-post/index.js +1 -1
  3. package/build/components/add-new-post/index.js.map +1 -1
  4. package/build/components/add-new-template/index.js +1 -1
  5. package/build/components/add-new-template/index.js.map +1 -1
  6. package/build/components/add-new-template/utils.js +8 -8
  7. package/build/components/add-new-template/utils.js.map +1 -1
  8. package/build/components/app/index.js +2 -2
  9. package/build/components/app/index.js.map +1 -1
  10. package/build/components/block-editor/use-editor-iframe-props.js +29 -22
  11. package/build/components/block-editor/use-editor-iframe-props.js.map +1 -1
  12. package/build/components/block-editor/use-site-editor-settings.js +10 -8
  13. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  14. package/build/components/editor/index.js +32 -14
  15. package/build/components/editor/index.js.map +1 -1
  16. package/build/components/editor/use-adapt-editor-to-canvas.js +49 -0
  17. package/build/components/editor/use-adapt-editor-to-canvas.js.map +1 -0
  18. package/build/components/editor/use-editor-title.js +30 -13
  19. package/build/components/editor/use-editor-title.js.map +1 -1
  20. package/build/components/global-styles/font-sizes/font-size.js +6 -6
  21. package/build/components/global-styles/font-sizes/font-size.js.map +1 -1
  22. package/build/components/global-styles/font-sizes/font-sizes-count.js +0 -1
  23. package/build/components/global-styles/font-sizes/font-sizes-count.js.map +1 -1
  24. package/build/components/global-styles/font-sizes/font-sizes.js +4 -4
  25. package/build/components/global-styles/font-sizes/font-sizes.js.map +1 -1
  26. package/build/components/global-styles/palette.js +16 -13
  27. package/build/components/global-styles/palette.js.map +1 -1
  28. package/build/components/global-styles/root-menu.js +0 -4
  29. package/build/components/global-styles/root-menu.js.map +1 -1
  30. package/build/components/global-styles/screen-block-list.js +0 -4
  31. package/build/components/global-styles/screen-block-list.js.map +1 -1
  32. package/build/components/global-styles/screen-css.js +1 -1
  33. package/build/components/global-styles/screen-css.js.map +1 -1
  34. package/build/components/global-styles/screen-revisions/revisions-buttons.js +26 -24
  35. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  36. package/build/components/global-styles/screen-root.js +0 -3
  37. package/build/components/global-styles/screen-root.js.map +1 -1
  38. package/build/components/global-styles/screen-style-variations.js +5 -1
  39. package/build/components/global-styles/screen-style-variations.js.map +1 -1
  40. package/build/components/global-styles/shadows-edit-panel.js +11 -13
  41. package/build/components/global-styles/shadows-edit-panel.js.map +1 -1
  42. package/build/components/global-styles/shadows-panel.js +0 -3
  43. package/build/components/global-styles/shadows-panel.js.map +1 -1
  44. package/build/components/global-styles/typography-elements.js +1 -4
  45. package/build/components/global-styles/typography-elements.js.map +1 -1
  46. package/build/components/global-styles/ui.js +49 -2
  47. package/build/components/global-styles/ui.js.map +1 -1
  48. package/build/components/global-styles/variations/variation.js +2 -2
  49. package/build/components/global-styles/variations/variation.js.map +1 -1
  50. package/build/components/global-styles/variations/variations-panel.js +0 -1
  51. package/build/components/global-styles/variations/variations-panel.js.map +1 -1
  52. package/build/components/global-styles-renderer/index.js +6 -8
  53. package/build/components/global-styles-renderer/index.js.map +1 -1
  54. package/build/components/global-styles-sidebar/default-sidebar.js +0 -1
  55. package/build/components/global-styles-sidebar/default-sidebar.js.map +1 -1
  56. package/build/components/global-styles-sidebar/index.js +43 -30
  57. package/build/components/global-styles-sidebar/index.js.map +1 -1
  58. package/build/components/layout/animation.js +1 -3
  59. package/build/components/layout/animation.js.map +1 -1
  60. package/build/components/layout/hooks.js +1 -10
  61. package/build/components/layout/hooks.js.map +1 -1
  62. package/build/components/layout/index.js +23 -35
  63. package/build/components/layout/index.js.map +1 -1
  64. package/build/components/layout/router.js +17 -140
  65. package/build/components/layout/router.js.map +1 -1
  66. package/build/components/page-patterns/delete-category-menu-item.js +3 -3
  67. package/build/components/page-patterns/delete-category-menu-item.js.map +1 -1
  68. package/build/components/page-patterns/fields.js +3 -7
  69. package/build/components/page-patterns/fields.js.map +1 -1
  70. package/build/components/page-patterns/use-pattern-settings.js +1 -1
  71. package/build/components/page-patterns/use-pattern-settings.js.map +1 -1
  72. package/build/components/page-templates/fields.js +1 -2
  73. package/build/components/page-templates/fields.js.map +1 -1
  74. package/build/components/page-templates/index.js +1 -2
  75. package/build/components/page-templates/index.js.map +1 -1
  76. package/build/components/pagination/index.js +1 -1
  77. package/build/components/pagination/index.js.map +1 -1
  78. package/build/components/post-edit/index.js +15 -5
  79. package/build/components/post-edit/index.js.map +1 -1
  80. package/build/components/post-fields/index.js +4 -244
  81. package/build/components/post-fields/index.js.map +1 -1
  82. package/build/components/post-list/index.js +12 -2
  83. package/build/components/post-list/index.js.map +1 -1
  84. package/build/components/posts-app/index.js.map +1 -1
  85. package/build/components/posts-app/router.js +4 -4
  86. package/build/components/posts-app/router.js.map +1 -1
  87. package/build/components/resizable-frame/index.js +21 -9
  88. package/build/components/resizable-frame/index.js.map +1 -1
  89. package/build/components/revisions/index.js +1 -1
  90. package/build/components/revisions/index.js.map +1 -1
  91. package/build/components/save-keyboard-shortcut/index.js +78 -0
  92. package/build/components/save-keyboard-shortcut/index.js.map +1 -0
  93. package/build/components/save-panel/index.js +17 -6
  94. package/build/components/save-panel/index.js.map +1 -1
  95. package/build/components/sidebar/index.js +11 -3
  96. package/build/components/sidebar/index.js.map +1 -1
  97. package/build/components/sidebar-dataviews/default-views.js +2 -5
  98. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  99. package/build/components/sidebar-global-styles-wrapper/index.js +129 -0
  100. package/build/components/sidebar-global-styles-wrapper/index.js.map +1 -0
  101. package/build/components/sidebar-navigation-screen/index.js +2 -1
  102. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  103. package/build/components/sidebar-navigation-screen-global-styles/index.js +33 -71
  104. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  105. package/build/components/sidebar-navigation-screen-main/index.js +43 -42
  106. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  107. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +1 -1
  108. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  109. package/build/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js +3 -3
  110. package/build/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js.map +1 -1
  111. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +7 -12
  112. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  113. package/build/components/site-editor-routes/home-edit.js +26 -0
  114. package/build/components/site-editor-routes/home-edit.js.map +1 -0
  115. package/build/components/site-editor-routes/home-view.js +25 -0
  116. package/build/components/site-editor-routes/home-view.js.map +1 -0
  117. package/build/components/site-editor-routes/index.js +49 -0
  118. package/build/components/site-editor-routes/index.js.map +1 -0
  119. package/build/components/site-editor-routes/navigation-edit.js +29 -0
  120. package/build/components/site-editor-routes/navigation-edit.js.map +1 -0
  121. package/build/components/site-editor-routes/navigation-item-edit.js +31 -0
  122. package/build/components/site-editor-routes/navigation-item-edit.js.map +1 -0
  123. package/build/components/site-editor-routes/navigation-item-view.js +30 -0
  124. package/build/components/site-editor-routes/navigation-item-view.js.map +1 -0
  125. package/build/components/site-editor-routes/navigation-view.js +28 -0
  126. package/build/components/site-editor-routes/navigation-view.js.map +1 -0
  127. package/build/components/site-editor-routes/pages-edit.js +43 -0
  128. package/build/components/site-editor-routes/pages-edit.js.map +1 -0
  129. package/build/components/site-editor-routes/pages-list-view-quick-edit.js +64 -0
  130. package/build/components/site-editor-routes/pages-list-view-quick-edit.js.map +1 -0
  131. package/build/components/site-editor-routes/pages-list-view.js +47 -0
  132. package/build/components/site-editor-routes/pages-list-view.js.map +1 -0
  133. package/build/components/site-editor-routes/pages-view-quick-edit.js +61 -0
  134. package/build/components/site-editor-routes/pages-view-quick-edit.js.map +1 -0
  135. package/build/components/site-editor-routes/pages-view.js +42 -0
  136. package/build/components/site-editor-routes/pages-view.js.map +1 -0
  137. package/build/components/site-editor-routes/patterns-edit.js +31 -0
  138. package/build/components/site-editor-routes/patterns-edit.js.map +1 -0
  139. package/build/components/site-editor-routes/patterns-view.js +29 -0
  140. package/build/components/site-editor-routes/patterns-view.js.map +1 -0
  141. package/build/components/site-editor-routes/styles-edit.js +33 -0
  142. package/build/components/site-editor-routes/styles-edit.js.map +1 -0
  143. package/build/components/site-editor-routes/styles-view.js +33 -0
  144. package/build/components/site-editor-routes/styles-view.js.map +1 -0
  145. package/build/components/site-editor-routes/templates-edit.js +31 -0
  146. package/build/components/site-editor-routes/templates-edit.js.map +1 -0
  147. package/build/components/site-editor-routes/templates-list-view.js +34 -0
  148. package/build/components/site-editor-routes/templates-list-view.js.map +1 -0
  149. package/build/components/site-editor-routes/templates-view.js +29 -0
  150. package/build/components/site-editor-routes/templates-view.js.map +1 -0
  151. package/build/components/site-hub/index.js +22 -8
  152. package/build/components/site-hub/index.js.map +1 -1
  153. package/build/components/style-book/color-examples.js +46 -0
  154. package/build/components/style-book/color-examples.js.map +1 -0
  155. package/build/components/style-book/constants.js +85 -13
  156. package/build/components/style-book/constants.js.map +1 -1
  157. package/build/components/style-book/duotone-examples.js +55 -0
  158. package/build/components/style-book/duotone-examples.js.map +1 -0
  159. package/build/components/style-book/examples.js +116 -3
  160. package/build/components/style-book/examples.js.map +1 -1
  161. package/build/components/style-book/index.js +161 -46
  162. package/build/components/style-book/index.js.map +1 -1
  163. package/build/components/style-book/types.js.map +1 -1
  164. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +38 -33
  165. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  166. package/build/components/welcome-guide/index.js +4 -2
  167. package/build/components/welcome-guide/index.js.map +1 -1
  168. package/build/components/welcome-guide/page.js +1 -9
  169. package/build/components/welcome-guide/page.js.map +1 -1
  170. package/build/components/welcome-guide/template.js +1 -12
  171. package/build/components/welcome-guide/template.js.map +1 -1
  172. package/build/hooks/commands/use-common-commands.js +61 -45
  173. package/build/hooks/commands/use-common-commands.js.map +1 -1
  174. package/build/hooks/commands/use-set-command-context.js +12 -15
  175. package/build/hooks/commands/use-set-command-context.js.map +1 -1
  176. package/build/index.js +1 -0
  177. package/build/index.js.map +1 -1
  178. package/build/posts.js +1 -0
  179. package/build/posts.js.map +1 -1
  180. package/build/store/private-actions.js +8 -60
  181. package/build/store/private-actions.js.map +1 -1
  182. package/build/store/private-selectors.js +4 -12
  183. package/build/store/private-selectors.js.map +1 -1
  184. package/build/store/reducer.js +9 -18
  185. package/build/store/reducer.js.map +1 -1
  186. package/build-module/components/add-new-post/index.js +1 -1
  187. package/build-module/components/add-new-post/index.js.map +1 -1
  188. package/build-module/components/add-new-template/index.js +1 -1
  189. package/build-module/components/add-new-template/index.js.map +1 -1
  190. package/build-module/components/add-new-template/utils.js +9 -9
  191. package/build-module/components/add-new-template/utils.js.map +1 -1
  192. package/build-module/components/app/index.js +4 -4
  193. package/build-module/components/app/index.js.map +1 -1
  194. package/build-module/components/block-editor/use-editor-iframe-props.js +30 -23
  195. package/build-module/components/block-editor/use-editor-iframe-props.js.map +1 -1
  196. package/build-module/components/block-editor/use-site-editor-settings.js +10 -8
  197. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  198. package/build-module/components/editor/index.js +32 -14
  199. package/build-module/components/editor/index.js.map +1 -1
  200. package/build-module/components/editor/use-adapt-editor-to-canvas.js +42 -0
  201. package/build-module/components/editor/use-adapt-editor-to-canvas.js.map +1 -0
  202. package/build-module/components/editor/use-editor-title.js +31 -14
  203. package/build-module/components/editor/use-editor-title.js.map +1 -1
  204. package/build-module/components/global-styles/font-sizes/font-size.js +6 -6
  205. package/build-module/components/global-styles/font-sizes/font-size.js.map +1 -1
  206. package/build-module/components/global-styles/font-sizes/font-sizes-count.js +0 -1
  207. package/build-module/components/global-styles/font-sizes/font-sizes-count.js.map +1 -1
  208. package/build-module/components/global-styles/font-sizes/font-sizes.js +4 -4
  209. package/build-module/components/global-styles/font-sizes/font-sizes.js.map +1 -1
  210. package/build-module/components/global-styles/palette.js +17 -14
  211. package/build-module/components/global-styles/palette.js.map +1 -1
  212. package/build-module/components/global-styles/root-menu.js +0 -4
  213. package/build-module/components/global-styles/root-menu.js.map +1 -1
  214. package/build-module/components/global-styles/screen-block-list.js +0 -4
  215. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  216. package/build-module/components/global-styles/screen-css.js +1 -1
  217. package/build-module/components/global-styles/screen-css.js.map +1 -1
  218. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +27 -25
  219. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  220. package/build-module/components/global-styles/screen-root.js +0 -3
  221. package/build-module/components/global-styles/screen-root.js.map +1 -1
  222. package/build-module/components/global-styles/screen-style-variations.js +5 -1
  223. package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
  224. package/build-module/components/global-styles/shadows-edit-panel.js +11 -13
  225. package/build-module/components/global-styles/shadows-edit-panel.js.map +1 -1
  226. package/build-module/components/global-styles/shadows-panel.js +0 -3
  227. package/build-module/components/global-styles/shadows-panel.js.map +1 -1
  228. package/build-module/components/global-styles/typography-elements.js +2 -5
  229. package/build-module/components/global-styles/typography-elements.js.map +1 -1
  230. package/build-module/components/global-styles/ui.js +50 -3
  231. package/build-module/components/global-styles/ui.js.map +1 -1
  232. package/build-module/components/global-styles/variations/variation.js +3 -3
  233. package/build-module/components/global-styles/variations/variation.js.map +1 -1
  234. package/build-module/components/global-styles/variations/variations-panel.js +0 -1
  235. package/build-module/components/global-styles/variations/variations-panel.js.map +1 -1
  236. package/build-module/components/global-styles-renderer/index.js +6 -8
  237. package/build-module/components/global-styles-renderer/index.js.map +1 -1
  238. package/build-module/components/global-styles-sidebar/default-sidebar.js +0 -1
  239. package/build-module/components/global-styles-sidebar/default-sidebar.js.map +1 -1
  240. package/build-module/components/global-styles-sidebar/index.js +44 -31
  241. package/build-module/components/global-styles-sidebar/index.js.map +1 -1
  242. package/build-module/components/layout/animation.js +1 -3
  243. package/build-module/components/layout/animation.js.map +1 -1
  244. package/build-module/components/layout/hooks.js +1 -9
  245. package/build-module/components/layout/hooks.js.map +1 -1
  246. package/build-module/components/layout/index.js +23 -35
  247. package/build-module/components/layout/index.js.map +1 -1
  248. package/build-module/components/layout/router.js +17 -139
  249. package/build-module/components/layout/router.js.map +1 -1
  250. package/build-module/components/page-patterns/delete-category-menu-item.js +4 -4
  251. package/build-module/components/page-patterns/delete-category-menu-item.js.map +1 -1
  252. package/build-module/components/page-patterns/fields.js +4 -8
  253. package/build-module/components/page-patterns/fields.js.map +1 -1
  254. package/build-module/components/page-patterns/use-pattern-settings.js +1 -1
  255. package/build-module/components/page-patterns/use-pattern-settings.js.map +1 -1
  256. package/build-module/components/page-templates/fields.js +1 -2
  257. package/build-module/components/page-templates/fields.js.map +1 -1
  258. package/build-module/components/page-templates/index.js +1 -2
  259. package/build-module/components/page-templates/index.js.map +1 -1
  260. package/build-module/components/pagination/index.js +1 -1
  261. package/build-module/components/pagination/index.js.map +1 -1
  262. package/build-module/components/post-edit/index.js +15 -5
  263. package/build-module/components/post-edit/index.js.map +1 -1
  264. package/build-module/components/post-fields/index.js +7 -246
  265. package/build-module/components/post-fields/index.js.map +1 -1
  266. package/build-module/components/post-list/index.js +12 -2
  267. package/build-module/components/post-list/index.js.map +1 -1
  268. package/build-module/components/posts-app/index.js +2 -2
  269. package/build-module/components/posts-app/index.js.map +1 -1
  270. package/build-module/components/posts-app/router.js +3 -3
  271. package/build-module/components/posts-app/router.js.map +1 -1
  272. package/build-module/components/resizable-frame/index.js +21 -10
  273. package/build-module/components/resizable-frame/index.js.map +1 -1
  274. package/build-module/components/revisions/index.js +1 -1
  275. package/build-module/components/revisions/index.js.map +1 -1
  276. package/build-module/components/save-keyboard-shortcut/index.js +71 -0
  277. package/build-module/components/save-keyboard-shortcut/index.js.map +1 -0
  278. package/build-module/components/save-panel/index.js +17 -6
  279. package/build-module/components/save-panel/index.js.map +1 -1
  280. package/build-module/components/sidebar/index.js +11 -3
  281. package/build-module/components/sidebar/index.js.map +1 -1
  282. package/build-module/components/sidebar-dataviews/default-views.js +2 -5
  283. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  284. package/build-module/components/sidebar-global-styles-wrapper/index.js +121 -0
  285. package/build-module/components/sidebar-global-styles-wrapper/index.js.map +1 -0
  286. package/build-module/components/sidebar-navigation-screen/index.js +2 -1
  287. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  288. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +34 -72
  289. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  290. package/build-module/components/sidebar-navigation-screen-main/index.js +43 -43
  291. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  292. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +2 -2
  293. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  294. package/build-module/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js +4 -4
  295. package/build-module/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js.map +1 -1
  296. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +8 -13
  297. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  298. package/build-module/components/site-editor-routes/home-edit.js +18 -0
  299. package/build-module/components/site-editor-routes/home-edit.js.map +1 -0
  300. package/build-module/components/site-editor-routes/home-view.js +17 -0
  301. package/build-module/components/site-editor-routes/home-view.js.map +1 -0
  302. package/build-module/components/site-editor-routes/index.js +42 -0
  303. package/build-module/components/site-editor-routes/index.js.map +1 -0
  304. package/build-module/components/site-editor-routes/navigation-edit.js +21 -0
  305. package/build-module/components/site-editor-routes/navigation-edit.js.map +1 -0
  306. package/build-module/components/site-editor-routes/navigation-item-edit.js +23 -0
  307. package/build-module/components/site-editor-routes/navigation-item-edit.js.map +1 -0
  308. package/build-module/components/site-editor-routes/navigation-item-view.js +22 -0
  309. package/build-module/components/site-editor-routes/navigation-item-view.js.map +1 -0
  310. package/build-module/components/site-editor-routes/navigation-view.js +20 -0
  311. package/build-module/components/site-editor-routes/navigation-view.js.map +1 -0
  312. package/build-module/components/site-editor-routes/pages-edit.js +35 -0
  313. package/build-module/components/site-editor-routes/pages-edit.js.map +1 -0
  314. package/build-module/components/site-editor-routes/pages-list-view-quick-edit.js +56 -0
  315. package/build-module/components/site-editor-routes/pages-list-view-quick-edit.js.map +1 -0
  316. package/build-module/components/site-editor-routes/pages-list-view.js +39 -0
  317. package/build-module/components/site-editor-routes/pages-list-view.js.map +1 -0
  318. package/build-module/components/site-editor-routes/pages-view-quick-edit.js +53 -0
  319. package/build-module/components/site-editor-routes/pages-view-quick-edit.js.map +1 -0
  320. package/build-module/components/site-editor-routes/pages-view.js +34 -0
  321. package/build-module/components/site-editor-routes/pages-view.js.map +1 -0
  322. package/build-module/components/site-editor-routes/patterns-edit.js +23 -0
  323. package/build-module/components/site-editor-routes/patterns-edit.js.map +1 -0
  324. package/build-module/components/site-editor-routes/patterns-view.js +21 -0
  325. package/build-module/components/site-editor-routes/patterns-view.js.map +1 -0
  326. package/build-module/components/site-editor-routes/styles-edit.js +25 -0
  327. package/build-module/components/site-editor-routes/styles-edit.js.map +1 -0
  328. package/build-module/components/site-editor-routes/styles-view.js +25 -0
  329. package/build-module/components/site-editor-routes/styles-view.js.map +1 -0
  330. package/build-module/components/site-editor-routes/templates-edit.js +23 -0
  331. package/build-module/components/site-editor-routes/templates-edit.js.map +1 -0
  332. package/build-module/components/site-editor-routes/templates-list-view.js +26 -0
  333. package/build-module/components/site-editor-routes/templates-list-view.js.map +1 -0
  334. package/build-module/components/site-editor-routes/templates-view.js +21 -0
  335. package/build-module/components/site-editor-routes/templates-view.js.map +1 -0
  336. package/build-module/components/site-hub/index.js +22 -8
  337. package/build-module/components/site-hub/index.js.map +1 -1
  338. package/build-module/components/style-book/color-examples.js +38 -0
  339. package/build-module/components/style-book/color-examples.js.map +1 -0
  340. package/build-module/components/style-book/constants.js +84 -12
  341. package/build-module/components/style-book/constants.js.map +1 -1
  342. package/build-module/components/style-book/duotone-examples.js +48 -0
  343. package/build-module/components/style-book/duotone-examples.js.map +1 -0
  344. package/build-module/components/style-book/examples.js +117 -3
  345. package/build-module/components/style-book/examples.js.map +1 -1
  346. package/build-module/components/style-book/index.js +164 -49
  347. package/build-module/components/style-book/index.js.map +1 -1
  348. package/build-module/components/style-book/types.js.map +1 -1
  349. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +38 -33
  350. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  351. package/build-module/components/welcome-guide/index.js +4 -2
  352. package/build-module/components/welcome-guide/index.js.map +1 -1
  353. package/build-module/components/welcome-guide/page.js +1 -9
  354. package/build-module/components/welcome-guide/page.js.map +1 -1
  355. package/build-module/components/welcome-guide/template.js +1 -11
  356. package/build-module/components/welcome-guide/template.js.map +1 -1
  357. package/build-module/hooks/commands/use-common-commands.js +61 -45
  358. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  359. package/build-module/hooks/commands/use-set-command-context.js +12 -15
  360. package/build-module/hooks/commands/use-set-command-context.js.map +1 -1
  361. package/build-module/index.js +1 -0
  362. package/build-module/index.js.map +1 -1
  363. package/build-module/posts.js +1 -0
  364. package/build-module/posts.js.map +1 -1
  365. package/build-module/store/private-actions.js +6 -58
  366. package/build-module/store/private-actions.js.map +1 -1
  367. package/build-module/store/private-selectors.js +3 -11
  368. package/build-module/store/private-selectors.js.map +1 -1
  369. package/build-module/store/reducer.js +9 -18
  370. package/build-module/store/reducer.js.map +1 -1
  371. package/build-style/posts-rtl.css +60 -14
  372. package/build-style/posts.css +60 -14
  373. package/build-style/style-rtl.css +232 -50
  374. package/build-style/style.css +232 -50
  375. package/package.json +42 -41
  376. package/src/components/add-new-post/index.js +1 -1
  377. package/src/components/add-new-template/index.js +1 -1
  378. package/src/components/add-new-template/utils.js +12 -9
  379. package/src/components/app/index.js +4 -4
  380. package/src/components/block-editor/use-editor-iframe-props.js +23 -20
  381. package/src/components/block-editor/use-site-editor-settings.js +12 -10
  382. package/src/components/editor/index.js +50 -17
  383. package/src/components/editor/use-adapt-editor-to-canvas.js +53 -0
  384. package/src/components/editor/use-editor-title.js +40 -16
  385. package/src/components/editor-canvas-container/style.scss +0 -1
  386. package/src/components/global-styles/font-sizes/font-size.js +11 -15
  387. package/src/components/global-styles/font-sizes/font-sizes-count.js +1 -4
  388. package/src/components/global-styles/font-sizes/font-sizes.js +7 -9
  389. package/src/components/global-styles/palette.js +21 -18
  390. package/src/components/global-styles/root-menu.js +3 -16
  391. package/src/components/global-styles/screen-block-list.js +0 -7
  392. package/src/components/global-styles/screen-css.js +1 -0
  393. package/src/components/global-styles/screen-revisions/revisions-buttons.js +30 -33
  394. package/src/components/global-styles/screen-revisions/style.scss +11 -17
  395. package/src/components/global-styles/screen-root.js +3 -12
  396. package/src/components/global-styles/screen-style-variations.js +4 -1
  397. package/src/components/global-styles/shadows-edit-panel.js +16 -15
  398. package/src/components/global-styles/shadows-panel.js +0 -4
  399. package/src/components/global-styles/typography-elements.js +3 -11
  400. package/src/components/global-styles/ui.js +53 -2
  401. package/src/components/global-styles/variations/variation.js +3 -3
  402. package/src/components/global-styles/variations/variations-panel.js +0 -1
  403. package/src/components/global-styles-renderer/index.js +4 -10
  404. package/src/components/global-styles-sidebar/default-sidebar.js +0 -1
  405. package/src/components/global-styles-sidebar/index.js +86 -65
  406. package/src/components/global-styles-sidebar/style.scss +6 -0
  407. package/src/components/layout/animation.js +0 -1
  408. package/src/components/layout/hooks.js +1 -7
  409. package/src/components/layout/index.js +22 -35
  410. package/src/components/layout/router.js +18 -133
  411. package/src/components/layout/style.scss +2 -2
  412. package/src/components/page-patterns/delete-category-menu-item.js +4 -4
  413. package/src/components/page-patterns/fields.js +6 -12
  414. package/src/components/page-patterns/style.scss +0 -5
  415. package/src/components/page-patterns/use-pattern-settings.js +1 -1
  416. package/src/components/page-templates/fields.js +2 -3
  417. package/src/components/page-templates/index.js +0 -1
  418. package/src/components/pagination/index.js +1 -1
  419. package/src/components/post-edit/index.js +45 -6
  420. package/src/components/post-edit/style.scss +7 -0
  421. package/src/components/post-fields/index.js +22 -323
  422. package/src/components/post-fields/style.scss +3 -0
  423. package/src/components/post-list/index.js +10 -4
  424. package/src/components/post-list/style.scss +30 -4
  425. package/src/components/posts-app/index.js +2 -2
  426. package/src/components/posts-app/router.js +3 -3
  427. package/src/components/resizable-frame/index.js +19 -10
  428. package/src/components/revisions/index.js +4 -1
  429. package/src/components/save-keyboard-shortcut/index.js +69 -0
  430. package/src/components/save-panel/index.js +30 -32
  431. package/src/components/sidebar/index.js +23 -7
  432. package/src/components/sidebar-dataviews/default-views.js +2 -5
  433. package/src/components/sidebar-global-styles-wrapper/index.js +150 -0
  434. package/src/components/sidebar-global-styles-wrapper/style.scss +35 -0
  435. package/src/components/sidebar-navigation-item/style.scss +2 -2
  436. package/src/components/sidebar-navigation-screen/index.js +2 -1
  437. package/src/components/sidebar-navigation-screen-global-styles/index.js +42 -99
  438. package/src/components/sidebar-navigation-screen-main/index.js +46 -45
  439. package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +2 -2
  440. package/src/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js +4 -4
  441. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +11 -13
  442. package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +1 -1
  443. package/src/components/site-editor-routes/README.md +20 -0
  444. package/src/components/site-editor-routes/home-edit.js +17 -0
  445. package/src/components/site-editor-routes/home-view.js +16 -0
  446. package/src/components/site-editor-routes/index.js +60 -0
  447. package/src/components/site-editor-routes/navigation-edit.js +22 -0
  448. package/src/components/site-editor-routes/navigation-item-edit.js +26 -0
  449. package/src/components/site-editor-routes/navigation-item-view.js +25 -0
  450. package/src/components/site-editor-routes/navigation-view.js +21 -0
  451. package/src/components/site-editor-routes/pages-edit.js +35 -0
  452. package/src/components/site-editor-routes/pages-list-view-quick-edit.js +56 -0
  453. package/src/components/site-editor-routes/pages-list-view.js +44 -0
  454. package/src/components/site-editor-routes/pages-view-quick-edit.js +53 -0
  455. package/src/components/site-editor-routes/pages-view.js +39 -0
  456. package/src/components/site-editor-routes/patterns-edit.js +24 -0
  457. package/src/components/site-editor-routes/patterns-view.js +22 -0
  458. package/src/components/site-editor-routes/styles-edit.js +26 -0
  459. package/src/components/site-editor-routes/styles-view.js +26 -0
  460. package/src/components/site-editor-routes/templates-edit.js +22 -0
  461. package/src/components/site-editor-routes/templates-list-view.js +28 -0
  462. package/src/components/site-editor-routes/templates-view.js +22 -0
  463. package/src/components/site-hub/index.js +35 -18
  464. package/src/components/site-hub/style.scss +4 -0
  465. package/src/components/site-icon/style.scss +16 -0
  466. package/src/components/style-book/color-examples.tsx +44 -0
  467. package/src/components/style-book/constants.ts +94 -13
  468. package/src/components/style-book/duotone-examples.tsx +53 -0
  469. package/src/components/style-book/examples.tsx +217 -0
  470. package/src/components/style-book/index.js +235 -60
  471. package/src/components/style-book/style.scss +12 -14
  472. package/src/components/style-book/test/categories.js +0 -5
  473. package/src/components/style-book/types.ts +34 -1
  474. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +65 -65
  475. package/src/components/welcome-guide/index.js +3 -3
  476. package/src/components/welcome-guide/page.js +1 -7
  477. package/src/components/welcome-guide/template.js +1 -8
  478. package/src/hooks/commands/use-common-commands.js +257 -230
  479. package/src/hooks/commands/use-set-command-context.js +7 -9
  480. package/src/index.js +1 -0
  481. package/src/posts.js +1 -0
  482. package/src/store/private-actions.js +7 -79
  483. package/src/store/private-selectors.js +4 -11
  484. package/src/store/reducer.js +10 -18
  485. package/src/style.scss +3 -1
  486. package/build/components/async/index.js +0 -51
  487. package/build/components/async/index.js.map +0 -1
  488. package/build/components/keyboard-shortcuts/global.js +0 -53
  489. package/build/components/keyboard-shortcuts/global.js.map +0 -1
  490. package/build/components/keyboard-shortcuts/register.js +0 -34
  491. package/build/components/keyboard-shortcuts/register.js.map +0 -1
  492. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +0 -69
  493. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +0 -1
  494. package/build/components/use-edited-entity-record/index.js +0 -60
  495. package/build/components/use-edited-entity-record/index.js.map +0 -1
  496. package/build/hooks/commands/use-edit-mode-commands.js +0 -175
  497. package/build/hooks/commands/use-edit-mode-commands.js.map +0 -1
  498. package/build-module/components/async/index.js +0 -44
  499. package/build-module/components/async/index.js.map +0 -1
  500. package/build-module/components/keyboard-shortcuts/global.js +0 -46
  501. package/build-module/components/keyboard-shortcuts/global.js.map +0 -1
  502. package/build-module/components/keyboard-shortcuts/register.js +0 -27
  503. package/build-module/components/keyboard-shortcuts/register.js.map +0 -1
  504. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +0 -62
  505. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +0 -1
  506. package/build-module/components/use-edited-entity-record/index.js +0 -53
  507. package/build-module/components/use-edited-entity-record/index.js.map +0 -1
  508. package/build-module/hooks/commands/use-edit-mode-commands.js +0 -167
  509. package/build-module/hooks/commands/use-edit-mode-commands.js.map +0 -1
  510. package/src/components/async/index.js +0 -43
  511. package/src/components/keyboard-shortcuts/global.js +0 -47
  512. package/src/components/keyboard-shortcuts/register.js +0 -27
  513. package/src/components/style-book/examples.ts +0 -63
  514. package/src/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +0 -73
  515. package/src/components/use-edited-entity-record/index.js +0 -58
  516. package/src/hooks/commands/use-edit-mode-commands.js +0 -172
@@ -11,18 +11,27 @@ import {
11
11
  Composite,
12
12
  privateApis as componentsPrivateApis,
13
13
  } from '@wordpress/components';
14
- import { __, sprintf } from '@wordpress/i18n';
14
+ import { __, _x, sprintf } from '@wordpress/i18n';
15
15
  import {
16
16
  BlockList,
17
17
  privateApis as blockEditorPrivateApis,
18
18
  store as blockEditorStore,
19
+ useSettings,
19
20
  __unstableEditorStyles as EditorStyles,
20
21
  __unstableIframe as Iframe,
22
+ __experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,
21
23
  } from '@wordpress/block-editor';
22
24
  import { privateApis as editorPrivateApis } from '@wordpress/editor';
23
25
  import { useSelect } from '@wordpress/data';
24
26
  import { useResizeObserver } from '@wordpress/compose';
25
- import { useMemo, useState, memo, useContext } from '@wordpress/element';
27
+ import {
28
+ useMemo,
29
+ useState,
30
+ memo,
31
+ useContext,
32
+ useRef,
33
+ useLayoutEffect,
34
+ } from '@wordpress/element';
26
35
  import { ENTER, SPACE } from '@wordpress/keycodes';
27
36
 
28
37
  /**
@@ -51,6 +60,123 @@ function isObjectEmpty( object ) {
51
60
  return ! object || Object.keys( object ).length === 0;
52
61
  }
53
62
 
63
+ /**
64
+ * Scrolls to a section within an iframe.
65
+ *
66
+ * @param {string} anchorId The id of the element to scroll to.
67
+ * @param {HTMLIFrameElement} iframe The target iframe.
68
+ */
69
+ const scrollToSection = ( anchorId, iframe ) => {
70
+ if ( ! iframe || ! iframe?.contentDocument ) {
71
+ return;
72
+ }
73
+
74
+ const element = iframe.contentDocument.getElementById( anchorId );
75
+ if ( element ) {
76
+ element.scrollIntoView( {
77
+ behavior: 'smooth',
78
+ } );
79
+ }
80
+ };
81
+
82
+ /**
83
+ * Parses a Block Editor navigation path to extract the block name and
84
+ * build a style book navigation path. The object can be extended to include a category,
85
+ * representing a style book tab/section.
86
+ *
87
+ * @param {string} path An internal Block Editor navigation path.
88
+ * @return {null|{block: string}} An object containing the example to navigate to.
89
+ */
90
+ const getStyleBookNavigationFromPath = ( path ) => {
91
+ if ( path && typeof path === 'string' ) {
92
+ let block = path.includes( '/blocks/' )
93
+ ? decodeURIComponent( path.split( '/blocks/' )[ 1 ] )
94
+ : null;
95
+ // Default to theme-colors if the path ends with /colors.
96
+ block = path.endsWith( '/colors' ) ? 'theme-colors' : block;
97
+
98
+ return {
99
+ block,
100
+ };
101
+ }
102
+ return null;
103
+ };
104
+
105
+ /**
106
+ * Retrieves colors, gradients, and duotone filters from Global Styles.
107
+ * The inclusion of default (Core) palettes is controlled by the relevant
108
+ * theme.json property e.g. defaultPalette, defaultGradients, defaultDuotone.
109
+ *
110
+ * @return {Object} Object containing properties for each type of palette.
111
+ */
112
+ function useMultiOriginPalettes() {
113
+ const { colors, gradients } = useMultipleOriginColorsAndGradients();
114
+
115
+ // Add duotone filters to the palettes data.
116
+ const [
117
+ shouldDisplayDefaultDuotones,
118
+ customDuotones,
119
+ themeDuotones,
120
+ defaultDuotones,
121
+ ] = useSettings(
122
+ 'color.defaultDuotone',
123
+ 'color.duotone.custom',
124
+ 'color.duotone.theme',
125
+ 'color.duotone.default'
126
+ );
127
+
128
+ const palettes = useMemo( () => {
129
+ const result = { colors, gradients, duotones: [] };
130
+
131
+ if ( themeDuotones && themeDuotones.length ) {
132
+ result.duotones.push( {
133
+ name: _x(
134
+ 'Theme',
135
+ 'Indicates these duotone filters come from the theme.'
136
+ ),
137
+ slug: 'theme',
138
+ duotones: themeDuotones,
139
+ } );
140
+ }
141
+
142
+ if (
143
+ shouldDisplayDefaultDuotones &&
144
+ defaultDuotones &&
145
+ defaultDuotones.length
146
+ ) {
147
+ result.duotones.push( {
148
+ name: _x(
149
+ 'Default',
150
+ 'Indicates these duotone filters come from WordPress.'
151
+ ),
152
+ slug: 'default',
153
+ duotones: defaultDuotones,
154
+ } );
155
+ }
156
+ if ( customDuotones && customDuotones.length ) {
157
+ result.duotones.push( {
158
+ name: _x(
159
+ 'Custom',
160
+ 'Indicates these doutone filters are created by the user.'
161
+ ),
162
+ slug: 'custom',
163
+ duotones: customDuotones,
164
+ } );
165
+ }
166
+
167
+ return result;
168
+ }, [
169
+ colors,
170
+ gradients,
171
+ customDuotones,
172
+ themeDuotones,
173
+ defaultDuotones,
174
+ shouldDisplayDefaultDuotones,
175
+ ] );
176
+
177
+ return palettes;
178
+ }
179
+
54
180
  function StyleBook( {
55
181
  enableResizing = true,
56
182
  isSelected,
@@ -60,11 +186,13 @@ function StyleBook( {
60
186
  onClose,
61
187
  showTabs = true,
62
188
  userConfig = {},
189
+ path = '',
63
190
  } ) {
64
191
  const [ resizeObserver, sizes ] = useResizeObserver();
65
192
  const [ textColor ] = useGlobalStyle( 'color.text' );
66
193
  const [ backgroundColor ] = useGlobalStyle( 'color.background' );
67
- const [ examples ] = useState( getExamples );
194
+ const colors = useMultiOriginPalettes();
195
+ const examples = useMemo( () => getExamples( colors ), [ colors ] );
68
196
  const tabs = useMemo(
69
197
  () =>
70
198
  getTopLevelStyleBookCategories().filter( ( category ) =>
@@ -74,7 +202,25 @@ function StyleBook( {
74
202
  ),
75
203
  [ examples ]
76
204
  );
205
+
206
+ const examplesForSinglePageUse = [];
207
+ const overviewCategoryExamples = getExamplesByCategory(
208
+ { slug: 'overview' },
209
+ examples
210
+ );
211
+ examplesForSinglePageUse.push( ...overviewCategoryExamples.examples );
212
+ const otherExamples = examples.filter( ( example ) => {
213
+ return (
214
+ example.category !== 'overview' &&
215
+ ! overviewCategoryExamples.examples.find(
216
+ ( overviewExample ) => overviewExample.name === example.name
217
+ )
218
+ );
219
+ } );
220
+ examplesForSinglePageUse.push( ...otherExamples );
221
+
77
222
  const { base: baseConfig } = useContext( GlobalStylesContext );
223
+ const goTo = getStyleBookNavigationFromPath( path );
78
224
 
79
225
  const mergedConfig = useMemo( () => {
80
226
  if ( ! isObjectEmpty( userConfig ) && ! isObjectEmpty( baseConfig ) ) {
@@ -89,19 +235,20 @@ function StyleBook( {
89
235
  ( select ) => select( blockEditorStore ).getSettings(),
90
236
  []
91
237
  );
238
+ const [ globalStyles ] = useGlobalStylesOutputWithConfig( mergedConfig );
92
239
 
93
240
  const settings = useMemo(
94
- () => ( { ...originalSettings, __unstableIsPreviewMode: true } ),
95
- [ originalSettings ]
241
+ () => ( {
242
+ ...originalSettings,
243
+ styles:
244
+ ! isObjectEmpty( globalStyles ) && ! isObjectEmpty( userConfig )
245
+ ? globalStyles
246
+ : originalSettings.styles,
247
+ isPreviewMode: true,
248
+ } ),
249
+ [ globalStyles, originalSettings, userConfig ]
96
250
  );
97
251
 
98
- const [ globalStyles ] = useGlobalStylesOutputWithConfig( mergedConfig );
99
-
100
- settings.styles =
101
- ! isObjectEmpty( globalStyles ) && ! isObjectEmpty( userConfig )
102
- ? globalStyles
103
- : settings.styles;
104
-
105
252
  return (
106
253
  <EditorCanvasContainer
107
254
  onClose={ onClose }
@@ -120,47 +267,48 @@ function StyleBook( {
120
267
  >
121
268
  { resizeObserver }
122
269
  { showTabs ? (
123
- <div className="edit-site-style-book__tabs">
124
- <Tabs>
125
- <div className="edit-site-style-book__tablist-container">
126
- <Tabs.TabList>
127
- { tabs.map( ( tab ) => (
128
- <Tabs.Tab
129
- tabId={ tab.slug }
130
- key={ tab.slug }
131
- >
132
- { tab.title }
133
- </Tabs.Tab>
134
- ) ) }
135
- </Tabs.TabList>
136
- </div>
137
- { tabs.map( ( tab ) => (
138
- <Tabs.TabPanel
139
- key={ tab.slug }
140
- tabId={ tab.slug }
141
- focusable={ false }
142
- >
143
- <StyleBookBody
144
- category={ tab.slug }
145
- examples={ examples }
146
- isSelected={ isSelected }
147
- onSelect={ onSelect }
148
- settings={ settings }
149
- sizes={ sizes }
150
- title={ tab.title }
151
- />
152
- </Tabs.TabPanel>
153
- ) ) }
154
- </Tabs>
155
- </div>
270
+ <Tabs>
271
+ <div className="edit-site-style-book__tablist-container">
272
+ <Tabs.TabList>
273
+ { tabs.map( ( tab ) => (
274
+ <Tabs.Tab
275
+ tabId={ tab.slug }
276
+ key={ tab.slug }
277
+ >
278
+ { tab.title }
279
+ </Tabs.Tab>
280
+ ) ) }
281
+ </Tabs.TabList>
282
+ </div>
283
+ { tabs.map( ( tab ) => (
284
+ <Tabs.TabPanel
285
+ key={ tab.slug }
286
+ tabId={ tab.slug }
287
+ focusable={ false }
288
+ className="edit-site-style-book__tabpanel"
289
+ >
290
+ <StyleBookBody
291
+ category={ tab.slug }
292
+ examples={ examples }
293
+ isSelected={ isSelected }
294
+ onSelect={ onSelect }
295
+ settings={ settings }
296
+ sizes={ sizes }
297
+ title={ tab.title }
298
+ goTo={ goTo }
299
+ />
300
+ </Tabs.TabPanel>
301
+ ) ) }
302
+ </Tabs>
156
303
  ) : (
157
304
  <StyleBookBody
158
- examples={ examples }
305
+ examples={ examplesForSinglePageUse }
159
306
  isSelected={ isSelected }
160
307
  onClick={ onClick }
161
308
  onSelect={ onSelect }
162
309
  settings={ settings }
163
310
  sizes={ sizes }
311
+ goTo={ goTo }
164
312
  />
165
313
  ) }
166
314
  </div>
@@ -177,9 +325,11 @@ const StyleBookBody = ( {
177
325
  settings,
178
326
  sizes,
179
327
  title,
328
+ goTo,
180
329
  } ) => {
181
330
  const [ isFocused, setIsFocused ] = useState( false );
182
-
331
+ const [ hasIframeLoaded, setHasIframeLoaded ] = useState( false );
332
+ const iframeRef = useRef( null );
183
333
  // The presence of an `onClick` prop indicates that the Style Book is being used as a button.
184
334
  // In this case, add additional props to the iframe to make it behave like a button.
185
335
  const buttonModeProps = {
@@ -208,8 +358,17 @@ const StyleBookBody = ( {
208
358
  readonly: true,
209
359
  };
210
360
 
361
+ const handleLoad = () => setHasIframeLoaded( true );
362
+ useLayoutEffect( () => {
363
+ if ( goTo?.block && hasIframeLoaded && iframeRef?.current ) {
364
+ scrollToSection( `example-${ goTo?.block }`, iframeRef?.current );
365
+ }
366
+ }, [ iframeRef?.current, goTo?.block, scrollToSection, hasIframeLoaded ] );
367
+
211
368
  return (
212
369
  <Iframe
370
+ onLoad={ handleLoad }
371
+ ref={ iframeRef }
213
372
  className={ clsx( 'edit-site-style-book__iframe', {
214
373
  'is-focused': isFocused && !! onClick,
215
374
  'is-button': !! onClick,
@@ -272,11 +431,10 @@ const Examples = memo(
272
431
  key={ example.name }
273
432
  id={ `example-${ example.name }` }
274
433
  title={ example.title }
434
+ content={ example.content }
275
435
  blocks={ example.blocks }
276
- isSelected={ isSelected( example.name ) }
277
- onClick={ () => {
278
- onSelect?.( example.name );
279
- } }
436
+ isSelected={ isSelected?.( example.name ) }
437
+ onClick={ () => onSelect?.( example.name ) }
280
438
  />
281
439
  ) ) }
282
440
  { !! filteredExamples?.subcategories?.length &&
@@ -310,8 +468,9 @@ const Subcategory = ( { examples, isSelected, onSelect } ) => {
310
468
  key={ example.name }
311
469
  id={ `example-${ example.name }` }
312
470
  title={ example.title }
471
+ content={ example.content }
313
472
  blocks={ example.blocks }
314
- isSelected={ isSelected( example.name ) }
473
+ isSelected={ isSelected?.( example.name ) }
315
474
  onClick={ () => {
316
475
  onSelect?.( example.name );
317
476
  } }
@@ -320,7 +479,9 @@ const Subcategory = ( { examples, isSelected, onSelect } ) => {
320
479
  );
321
480
  };
322
481
 
323
- const Example = ( { id, title, blocks, isSelected, onClick } ) => {
482
+ const disabledExamples = [ 'example-duotones' ];
483
+
484
+ const Example = ( { id, title, blocks, isSelected, onClick, content } ) => {
324
485
  const originalSettings = useSelect(
325
486
  ( select ) => select( blockEditorStore ).getSettings(),
326
487
  []
@@ -329,7 +490,7 @@ const Example = ( { id, title, blocks, isSelected, onClick } ) => {
329
490
  () => ( {
330
491
  ...originalSettings,
331
492
  focusMode: false, // Disable "Spotlight mode".
332
- __unstableIsPreviewMode: true,
493
+ isPreviewMode: true,
333
494
  } ),
334
495
  [ originalSettings ]
335
496
  );
@@ -340,12 +501,20 @@ const Example = ( { id, title, blocks, isSelected, onClick } ) => {
340
501
  [ blocks ]
341
502
  );
342
503
 
504
+ const disabledProps = disabledExamples.includes( id )
505
+ ? {
506
+ disabled: true,
507
+ accessibleWhenDisabled: true,
508
+ }
509
+ : {};
510
+
343
511
  return (
344
512
  <div role="row">
345
513
  <div role="gridcell">
346
514
  <Composite.Item
347
515
  className={ clsx( 'edit-site-style-book__example', {
348
516
  'is-selected': isSelected,
517
+ 'is-disabled-example': !! disabledProps?.disabled,
349
518
  } ) }
350
519
  id={ id }
351
520
  aria-label={ sprintf(
@@ -356,6 +525,7 @@ const Example = ( { id, title, blocks, isSelected, onClick } ) => {
356
525
  render={ <div /> }
357
526
  role="button"
358
527
  onClick={ onClick }
528
+ { ...disabledProps }
359
529
  >
360
530
  <span className="edit-site-style-book__example-title">
361
531
  { title }
@@ -365,12 +535,17 @@ const Example = ( { id, title, blocks, isSelected, onClick } ) => {
365
535
  aria-hidden
366
536
  >
367
537
  <Disabled className="edit-site-style-book__example-preview__content">
368
- <ExperimentalBlockEditorProvider
369
- value={ renderedBlocks }
370
- settings={ settings }
371
- >
372
- <BlockList renderAppender={ false } />
373
- </ExperimentalBlockEditorProvider>
538
+ { content ? (
539
+ content
540
+ ) : (
541
+ <ExperimentalBlockEditorProvider
542
+ value={ renderedBlocks }
543
+ settings={ settings }
544
+ >
545
+ <EditorStyles />
546
+ <BlockList renderAppender={ false } />
547
+ </ExperimentalBlockEditorProvider>
548
+ ) }
374
549
  </Disabled>
375
550
  </div>
376
551
  </Composite.Item>
@@ -5,6 +5,10 @@
5
5
  &.is-button {
6
6
  border-radius: $radius-large;
7
7
  }
8
+
9
+ display: flex;
10
+ flex-direction: column;
11
+ align-items: stretch;
8
12
  }
9
13
 
10
14
  .edit-site-style-book__iframe {
@@ -18,22 +22,16 @@
18
22
  }
19
23
 
20
24
  .edit-site-style-book__tablist-container {
21
- background: $white;
25
+ flex: none;
26
+
27
+ display: flex;
22
28
  width: 100%;
23
29
  padding-right: 56px;
24
- display: flex;
25
- position: absolute;
26
- z-index: 1;
30
+ background: $white;
27
31
  }
28
32
 
29
- .edit-site-style-book__tabs {
30
- [role="tabpanel"] {
31
- bottom: 0;
32
- left: 0;
33
- overflow: auto;
34
- padding: 0;
35
- position: absolute;
36
- right: 0;
37
- top: $grid-unit-60; // Height of tabs.
38
- }
33
+ .edit-site-style-book__tabpanel {
34
+ flex: 1 0 auto;
35
+
36
+ overflow: auto;
39
37
  }
@@ -48,11 +48,6 @@ const exampleThemeBlocks = [
48
48
  title: 'Home Link',
49
49
  category: 'design',
50
50
  },
51
- {
52
- name: 'custom/colors',
53
- title: 'Colors',
54
- category: 'colors',
55
- },
56
51
  {
57
52
  name: 'core/site-logo',
58
53
  title: 'Site Logo',
@@ -9,6 +9,7 @@ export type StyleBookCategory = {
9
9
  slug: string;
10
10
  blocks?: string[];
11
11
  exclude?: string[];
12
+ include?: string[];
12
13
  subcategories?: StyleBookCategory[];
13
14
  };
14
15
 
@@ -16,7 +17,8 @@ export type BlockExample = {
16
17
  name: string;
17
18
  title: string;
18
19
  category: string;
19
- blocks: Block | Block[];
20
+ content?: JSX.Element;
21
+ blocks?: Block | Block[];
20
22
  };
21
23
 
22
24
  export type CategoryExamples = {
@@ -25,3 +27,34 @@ export type CategoryExamples = {
25
27
  examples?: BlockExample[];
26
28
  subcategories?: CategoryExamples[];
27
29
  };
30
+
31
+ export type StyleBookColorGroup = {
32
+ origin: string;
33
+ slug: string;
34
+ title: string;
35
+ type: string;
36
+ };
37
+
38
+ export type Color = { slug: string };
39
+ export type Gradient = { slug: string };
40
+ export type Duotone = {
41
+ colors: string[];
42
+ slug: string;
43
+ };
44
+
45
+ export type ColorOrigin = {
46
+ name: string;
47
+ slug: string;
48
+ colors?: Color[];
49
+ gradients?: Gradient[];
50
+ duotones?: Duotone[];
51
+ };
52
+
53
+ export type MultiOriginPalettes = {
54
+ disableCustomColors: boolean;
55
+ disableCustomGradients: boolean;
56
+ hasColorsOrGradients: boolean;
57
+ colors: Omit< ColorOrigin, 'gradients' | 'duotones' >;
58
+ duotones: Omit< ColorOrigin, 'colors' | 'gradients' >;
59
+ gradients: Omit< ColorOrigin, 'colors' | 'duotones' >;
60
+ };