@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
@@ -7,12 +7,12 @@ import clsx from 'clsx';
7
7
  * WordPress dependencies
8
8
  */
9
9
  import { Disabled, Composite, privateApis as componentsPrivateApis } from '@wordpress/components';
10
- import { __, sprintf } from '@wordpress/i18n';
11
- import { BlockList, privateApis as blockEditorPrivateApis, store as blockEditorStore, __unstableEditorStyles as EditorStyles, __unstableIframe as Iframe } from '@wordpress/block-editor';
10
+ import { __, _x, sprintf } from '@wordpress/i18n';
11
+ import { BlockList, privateApis as blockEditorPrivateApis, store as blockEditorStore, useSettings, __unstableEditorStyles as EditorStyles, __unstableIframe as Iframe, __experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients } from '@wordpress/block-editor';
12
12
  import { privateApis as editorPrivateApis } from '@wordpress/editor';
13
13
  import { useSelect } from '@wordpress/data';
14
14
  import { useResizeObserver } from '@wordpress/compose';
15
- import { useMemo, useState, memo, useContext } from '@wordpress/element';
15
+ import { useMemo, useState, memo, useContext, useRef, useLayoutEffect } from '@wordpress/element';
16
16
  import { ENTER, SPACE } from '@wordpress/keycodes';
17
17
 
18
18
  /**
@@ -39,6 +39,91 @@ const {
39
39
  function isObjectEmpty(object) {
40
40
  return !object || Object.keys(object).length === 0;
41
41
  }
42
+
43
+ /**
44
+ * Scrolls to a section within an iframe.
45
+ *
46
+ * @param {string} anchorId The id of the element to scroll to.
47
+ * @param {HTMLIFrameElement} iframe The target iframe.
48
+ */
49
+ const scrollToSection = (anchorId, iframe) => {
50
+ if (!iframe || !iframe?.contentDocument) {
51
+ return;
52
+ }
53
+ const element = iframe.contentDocument.getElementById(anchorId);
54
+ if (element) {
55
+ element.scrollIntoView({
56
+ behavior: 'smooth'
57
+ });
58
+ }
59
+ };
60
+
61
+ /**
62
+ * Parses a Block Editor navigation path to extract the block name and
63
+ * build a style book navigation path. The object can be extended to include a category,
64
+ * representing a style book tab/section.
65
+ *
66
+ * @param {string} path An internal Block Editor navigation path.
67
+ * @return {null|{block: string}} An object containing the example to navigate to.
68
+ */
69
+ const getStyleBookNavigationFromPath = path => {
70
+ if (path && typeof path === 'string') {
71
+ let block = path.includes('/blocks/') ? decodeURIComponent(path.split('/blocks/')[1]) : null;
72
+ // Default to theme-colors if the path ends with /colors.
73
+ block = path.endsWith('/colors') ? 'theme-colors' : block;
74
+ return {
75
+ block
76
+ };
77
+ }
78
+ return null;
79
+ };
80
+
81
+ /**
82
+ * Retrieves colors, gradients, and duotone filters from Global Styles.
83
+ * The inclusion of default (Core) palettes is controlled by the relevant
84
+ * theme.json property e.g. defaultPalette, defaultGradients, defaultDuotone.
85
+ *
86
+ * @return {Object} Object containing properties for each type of palette.
87
+ */
88
+ function useMultiOriginPalettes() {
89
+ const {
90
+ colors,
91
+ gradients
92
+ } = useMultipleOriginColorsAndGradients();
93
+
94
+ // Add duotone filters to the palettes data.
95
+ const [shouldDisplayDefaultDuotones, customDuotones, themeDuotones, defaultDuotones] = useSettings('color.defaultDuotone', 'color.duotone.custom', 'color.duotone.theme', 'color.duotone.default');
96
+ const palettes = useMemo(() => {
97
+ const result = {
98
+ colors,
99
+ gradients,
100
+ duotones: []
101
+ };
102
+ if (themeDuotones && themeDuotones.length) {
103
+ result.duotones.push({
104
+ name: _x('Theme', 'Indicates these duotone filters come from the theme.'),
105
+ slug: 'theme',
106
+ duotones: themeDuotones
107
+ });
108
+ }
109
+ if (shouldDisplayDefaultDuotones && defaultDuotones && defaultDuotones.length) {
110
+ result.duotones.push({
111
+ name: _x('Default', 'Indicates these duotone filters come from WordPress.'),
112
+ slug: 'default',
113
+ duotones: defaultDuotones
114
+ });
115
+ }
116
+ if (customDuotones && customDuotones.length) {
117
+ result.duotones.push({
118
+ name: _x('Custom', 'Indicates these doutone filters are created by the user.'),
119
+ slug: 'custom',
120
+ duotones: customDuotones
121
+ });
122
+ }
123
+ return result;
124
+ }, [colors, gradients, customDuotones, themeDuotones, defaultDuotones, shouldDisplayDefaultDuotones]);
125
+ return palettes;
126
+ }
42
127
  function StyleBook({
43
128
  enableResizing = true,
44
129
  isSelected,
@@ -47,16 +132,28 @@ function StyleBook({
47
132
  showCloseButton = true,
48
133
  onClose,
49
134
  showTabs = true,
50
- userConfig = {}
135
+ userConfig = {},
136
+ path = ''
51
137
  }) {
52
138
  const [resizeObserver, sizes] = useResizeObserver();
53
139
  const [textColor] = useGlobalStyle('color.text');
54
140
  const [backgroundColor] = useGlobalStyle('color.background');
55
- const [examples] = useState(getExamples);
141
+ const colors = useMultiOriginPalettes();
142
+ const examples = useMemo(() => getExamples(colors), [colors]);
56
143
  const tabs = useMemo(() => getTopLevelStyleBookCategories().filter(category => examples.some(example => example.category === category.slug)), [examples]);
144
+ const examplesForSinglePageUse = [];
145
+ const overviewCategoryExamples = getExamplesByCategory({
146
+ slug: 'overview'
147
+ }, examples);
148
+ examplesForSinglePageUse.push(...overviewCategoryExamples.examples);
149
+ const otherExamples = examples.filter(example => {
150
+ return example.category !== 'overview' && !overviewCategoryExamples.examples.find(overviewExample => overviewExample.name === example.name);
151
+ });
152
+ examplesForSinglePageUse.push(...otherExamples);
57
153
  const {
58
154
  base: baseConfig
59
155
  } = useContext(GlobalStylesContext);
156
+ const goTo = getStyleBookNavigationFromPath(path);
60
157
  const mergedConfig = useMemo(() => {
61
158
  if (!isObjectEmpty(userConfig) && !isObjectEmpty(baseConfig)) {
62
159
  return mergeBaseAndUserConfigs(baseConfig, userConfig);
@@ -67,12 +164,12 @@ function StyleBook({
67
164
  // Copied from packages/edit-site/src/components/revisions/index.js
68
165
  // could we create a shared hook?
69
166
  const originalSettings = useSelect(select => select(blockEditorStore).getSettings(), []);
167
+ const [globalStyles] = useGlobalStylesOutputWithConfig(mergedConfig);
70
168
  const settings = useMemo(() => ({
71
169
  ...originalSettings,
72
- __unstableIsPreviewMode: true
73
- }), [originalSettings]);
74
- const [globalStyles] = useGlobalStylesOutputWithConfig(mergedConfig);
75
- settings.styles = !isObjectEmpty(globalStyles) && !isObjectEmpty(userConfig) ? globalStyles : settings.styles;
170
+ styles: !isObjectEmpty(globalStyles) && !isObjectEmpty(userConfig) ? globalStyles : originalSettings.styles,
171
+ isPreviewMode: true
172
+ }), [globalStyles, originalSettings, userConfig]);
76
173
  return /*#__PURE__*/_jsx(EditorCanvasContainer, {
77
174
  onClose: onClose,
78
175
  enableResizing: enableResizing,
@@ -86,38 +183,38 @@ function StyleBook({
86
183
  color: textColor,
87
184
  background: backgroundColor
88
185
  },
89
- children: [resizeObserver, showTabs ? /*#__PURE__*/_jsx("div", {
90
- className: "edit-site-style-book__tabs",
91
- children: /*#__PURE__*/_jsxs(Tabs, {
92
- children: [/*#__PURE__*/_jsx("div", {
93
- className: "edit-site-style-book__tablist-container",
94
- children: /*#__PURE__*/_jsx(Tabs.TabList, {
95
- children: tabs.map(tab => /*#__PURE__*/_jsx(Tabs.Tab, {
96
- tabId: tab.slug,
97
- children: tab.title
98
- }, tab.slug))
99
- })
100
- }), tabs.map(tab => /*#__PURE__*/_jsx(Tabs.TabPanel, {
101
- tabId: tab.slug,
102
- focusable: false,
103
- children: /*#__PURE__*/_jsx(StyleBookBody, {
104
- category: tab.slug,
105
- examples: examples,
106
- isSelected: isSelected,
107
- onSelect: onSelect,
108
- settings: settings,
109
- sizes: sizes,
110
- title: tab.title
111
- })
112
- }, tab.slug))]
113
- })
186
+ children: [resizeObserver, showTabs ? /*#__PURE__*/_jsxs(Tabs, {
187
+ children: [/*#__PURE__*/_jsx("div", {
188
+ className: "edit-site-style-book__tablist-container",
189
+ children: /*#__PURE__*/_jsx(Tabs.TabList, {
190
+ children: tabs.map(tab => /*#__PURE__*/_jsx(Tabs.Tab, {
191
+ tabId: tab.slug,
192
+ children: tab.title
193
+ }, tab.slug))
194
+ })
195
+ }), tabs.map(tab => /*#__PURE__*/_jsx(Tabs.TabPanel, {
196
+ tabId: tab.slug,
197
+ focusable: false,
198
+ className: "edit-site-style-book__tabpanel",
199
+ children: /*#__PURE__*/_jsx(StyleBookBody, {
200
+ category: tab.slug,
201
+ examples: examples,
202
+ isSelected: isSelected,
203
+ onSelect: onSelect,
204
+ settings: settings,
205
+ sizes: sizes,
206
+ title: tab.title,
207
+ goTo: goTo
208
+ })
209
+ }, tab.slug))]
114
210
  }) : /*#__PURE__*/_jsx(StyleBookBody, {
115
- examples: examples,
211
+ examples: examplesForSinglePageUse,
116
212
  isSelected: isSelected,
117
213
  onClick: onClick,
118
214
  onSelect: onSelect,
119
215
  settings: settings,
120
- sizes: sizes
216
+ sizes: sizes,
217
+ goTo: goTo
121
218
  })]
122
219
  })
123
220
  });
@@ -130,10 +227,12 @@ const StyleBookBody = ({
130
227
  onSelect,
131
228
  settings,
132
229
  sizes,
133
- title
230
+ title,
231
+ goTo
134
232
  }) => {
135
233
  const [isFocused, setIsFocused] = useState(false);
136
-
234
+ const [hasIframeLoaded, setHasIframeLoaded] = useState(false);
235
+ const iframeRef = useRef(null);
137
236
  // The presence of an `onClick` prop indicates that the Style Book is being used as a button.
138
237
  // In this case, add additional props to the iframe to make it behave like a button.
139
238
  const buttonModeProps = {
@@ -163,7 +262,15 @@ const StyleBookBody = ({
163
262
  },
164
263
  readonly: true
165
264
  };
265
+ const handleLoad = () => setHasIframeLoaded(true);
266
+ useLayoutEffect(() => {
267
+ if (goTo?.block && hasIframeLoaded && iframeRef?.current) {
268
+ scrollToSection(`example-${goTo?.block}`, iframeRef?.current);
269
+ }
270
+ }, [iframeRef?.current, goTo?.block, scrollToSection, hasIframeLoaded]);
166
271
  return /*#__PURE__*/_jsxs(Iframe, {
272
+ onLoad: handleLoad,
273
+ ref: iframeRef,
167
274
  className: clsx('edit-site-style-book__iframe', {
168
275
  'is-focused': isFocused && !!onClick,
169
276
  'is-button': !!onClick
@@ -209,11 +316,10 @@ const Examples = memo(({
209
316
  children: [!!filteredExamples?.examples?.length && filteredExamples.examples.map(example => /*#__PURE__*/_jsx(Example, {
210
317
  id: `example-${example.name}`,
211
318
  title: example.title,
319
+ content: example.content,
212
320
  blocks: example.blocks,
213
- isSelected: isSelected(example.name),
214
- onClick: () => {
215
- onSelect?.(example.name);
216
- }
321
+ isSelected: isSelected?.(example.name),
322
+ onClick: () => onSelect?.(example.name)
217
323
  }, example.name)), !!filteredExamples?.subcategories?.length && filteredExamples.subcategories.map(subcategory => /*#__PURE__*/_jsxs(Composite.Group, {
218
324
  className: "edit-site-style-book__subcategory",
219
325
  children: [/*#__PURE__*/_jsx(Composite.GroupLabel, {
@@ -237,37 +343,45 @@ const Subcategory = ({
237
343
  return !!examples?.length && examples.map(example => /*#__PURE__*/_jsx(Example, {
238
344
  id: `example-${example.name}`,
239
345
  title: example.title,
346
+ content: example.content,
240
347
  blocks: example.blocks,
241
- isSelected: isSelected(example.name),
348
+ isSelected: isSelected?.(example.name),
242
349
  onClick: () => {
243
350
  onSelect?.(example.name);
244
351
  }
245
352
  }, example.name));
246
353
  };
354
+ const disabledExamples = ['example-duotones'];
247
355
  const Example = ({
248
356
  id,
249
357
  title,
250
358
  blocks,
251
359
  isSelected,
252
- onClick
360
+ onClick,
361
+ content
253
362
  }) => {
254
363
  const originalSettings = useSelect(select => select(blockEditorStore).getSettings(), []);
255
364
  const settings = useMemo(() => ({
256
365
  ...originalSettings,
257
366
  focusMode: false,
258
367
  // Disable "Spotlight mode".
259
- __unstableIsPreviewMode: true
368
+ isPreviewMode: true
260
369
  }), [originalSettings]);
261
370
 
262
371
  // Cache the list of blocks to avoid additional processing when the component is re-rendered.
263
372
  const renderedBlocks = useMemo(() => Array.isArray(blocks) ? blocks : [blocks], [blocks]);
373
+ const disabledProps = disabledExamples.includes(id) ? {
374
+ disabled: true,
375
+ accessibleWhenDisabled: true
376
+ } : {};
264
377
  return /*#__PURE__*/_jsx("div", {
265
378
  role: "row",
266
379
  children: /*#__PURE__*/_jsx("div", {
267
380
  role: "gridcell",
268
381
  children: /*#__PURE__*/_jsxs(Composite.Item, {
269
382
  className: clsx('edit-site-style-book__example', {
270
- 'is-selected': isSelected
383
+ 'is-selected': isSelected,
384
+ 'is-disabled-example': !!disabledProps?.disabled
271
385
  }),
272
386
  id: id,
273
387
  "aria-label": sprintf(
@@ -276,6 +390,7 @@ const Example = ({
276
390
  render: /*#__PURE__*/_jsx("div", {}),
277
391
  role: "button",
278
392
  onClick: onClick,
393
+ ...disabledProps,
279
394
  children: [/*#__PURE__*/_jsx("span", {
280
395
  className: "edit-site-style-book__example-title",
281
396
  children: title
@@ -284,12 +399,12 @@ const Example = ({
284
399
  "aria-hidden": true,
285
400
  children: /*#__PURE__*/_jsx(Disabled, {
286
401
  className: "edit-site-style-book__example-preview__content",
287
- children: /*#__PURE__*/_jsx(ExperimentalBlockEditorProvider, {
402
+ children: content ? content : /*#__PURE__*/_jsxs(ExperimentalBlockEditorProvider, {
288
403
  value: renderedBlocks,
289
404
  settings: settings,
290
- children: /*#__PURE__*/_jsx(BlockList, {
405
+ children: [/*#__PURE__*/_jsx(EditorStyles, {}), /*#__PURE__*/_jsx(BlockList, {
291
406
  renderAppender: false
292
- })
407
+ })]
293
408
  })
294
409
  })
295
410
  })]
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","Disabled","Composite","privateApis","componentsPrivateApis","__","sprintf","BlockList","blockEditorPrivateApis","store","blockEditorStore","__unstableEditorStyles","EditorStyles","__unstableIframe","Iframe","editorPrivateApis","useSelect","useResizeObserver","useMemo","useState","memo","useContext","ENTER","SPACE","unlock","EditorCanvasContainer","STYLE_BOOK_IFRAME_STYLES","getExamplesByCategory","getTopLevelStyleBookCategories","getExamples","jsx","_jsx","jsxs","_jsxs","ExperimentalBlockEditorProvider","useGlobalStyle","GlobalStylesContext","useGlobalStylesOutputWithConfig","mergeBaseAndUserConfigs","Tabs","isObjectEmpty","object","Object","keys","length","StyleBook","enableResizing","isSelected","onClick","onSelect","showCloseButton","onClose","showTabs","userConfig","resizeObserver","sizes","textColor","backgroundColor","examples","tabs","filter","category","some","example","slug","base","baseConfig","mergedConfig","originalSettings","select","getSettings","settings","__unstableIsPreviewMode","globalStyles","styles","closeButtonLabel","children","className","width","style","color","background","TabList","map","tab","Tab","tabId","title","TabPanel","focusable","StyleBookBody","isFocused","setIsFocused","buttonModeProps","role","onFocus","onBlur","onKeyDown","event","defaultPrevented","keyCode","preventDefault","readonly","name","tabIndex","Examples","label","categoryDefinition","find","_category","filteredExamples","orientation","Example","id","blocks","subcategories","subcategory","Group","GroupLabel","Subcategory","focusMode","renderedBlocks","Array","isArray","Item","render","value","renderAppender"],"sources":["@wordpress/edit-site/src/components/style-book/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tDisabled,\n\tComposite,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tBlockList,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\t__unstableEditorStyles as EditorStyles,\n\t__unstableIframe as Iframe,\n} from '@wordpress/block-editor';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { useSelect } from '@wordpress/data';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { useMemo, useState, memo, useContext } from '@wordpress/element';\nimport { ENTER, SPACE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport EditorCanvasContainer from '../editor-canvas-container';\nimport { STYLE_BOOK_IFRAME_STYLES } from './constants';\nimport {\n\tgetExamplesByCategory,\n\tgetTopLevelStyleBookCategories,\n} from './categories';\nimport { getExamples } from './examples';\n\nconst {\n\tExperimentalBlockEditorProvider,\n\tuseGlobalStyle,\n\tGlobalStylesContext,\n\tuseGlobalStylesOutputWithConfig,\n} = unlock( blockEditorPrivateApis );\nconst { mergeBaseAndUserConfigs } = unlock( editorPrivateApis );\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nfunction isObjectEmpty( object ) {\n\treturn ! object || Object.keys( object ).length === 0;\n}\n\nfunction StyleBook( {\n\tenableResizing = true,\n\tisSelected,\n\tonClick,\n\tonSelect,\n\tshowCloseButton = true,\n\tonClose,\n\tshowTabs = true,\n\tuserConfig = {},\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst [ textColor ] = useGlobalStyle( 'color.text' );\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst [ examples ] = useState( getExamples );\n\tconst tabs = useMemo(\n\t\t() =>\n\t\t\tgetTopLevelStyleBookCategories().filter( ( category ) =>\n\t\t\t\texamples.some(\n\t\t\t\t\t( example ) => example.category === category.slug\n\t\t\t\t)\n\t\t\t),\n\t\t[ examples ]\n\t);\n\tconst { base: baseConfig } = useContext( GlobalStylesContext );\n\n\tconst mergedConfig = useMemo( () => {\n\t\tif ( ! isObjectEmpty( userConfig ) && ! isObjectEmpty( baseConfig ) ) {\n\t\t\treturn mergeBaseAndUserConfigs( baseConfig, userConfig );\n\t\t}\n\t\treturn {};\n\t}, [ baseConfig, userConfig ] );\n\n\t// Copied from packages/edit-site/src/components/revisions/index.js\n\t// could we create a shared hook?\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\n\tconst settings = useMemo(\n\t\t() => ( { ...originalSettings, __unstableIsPreviewMode: true } ),\n\t\t[ originalSettings ]\n\t);\n\n\tconst [ globalStyles ] = useGlobalStylesOutputWithConfig( mergedConfig );\n\n\tsettings.styles =\n\t\t! isObjectEmpty( globalStyles ) && ! isObjectEmpty( userConfig )\n\t\t\t? globalStyles\n\t\t\t: settings.styles;\n\n\treturn (\n\t\t<EditorCanvasContainer\n\t\t\tonClose={ onClose }\n\t\t\tenableResizing={ enableResizing }\n\t\t\tcloseButtonLabel={ showCloseButton ? __( 'Close' ) : null }\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={ clsx( 'edit-site-style-book', {\n\t\t\t\t\t'is-wide': sizes.width > 600,\n\t\t\t\t\t'is-button': !! onClick,\n\t\t\t\t} ) }\n\t\t\t\tstyle={ {\n\t\t\t\t\tcolor: textColor,\n\t\t\t\t\tbackground: backgroundColor,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ resizeObserver }\n\t\t\t\t{ showTabs ? (\n\t\t\t\t\t<div className=\"edit-site-style-book__tabs\">\n\t\t\t\t\t\t<Tabs>\n\t\t\t\t\t\t\t<div className=\"edit-site-style-book__tablist-container\">\n\t\t\t\t\t\t\t\t<Tabs.TabList>\n\t\t\t\t\t\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t\t\t\t\t\t<Tabs.Tab\n\t\t\t\t\t\t\t\t\t\t\ttabId={ tab.slug }\n\t\t\t\t\t\t\t\t\t\t\tkey={ tab.slug }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ tab.title }\n\t\t\t\t\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t</Tabs.TabList>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\t\t\t\tkey={ tab.slug }\n\t\t\t\t\t\t\t\t\ttabId={ tab.slug }\n\t\t\t\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<StyleBookBody\n\t\t\t\t\t\t\t\t\t\tcategory={ tab.slug }\n\t\t\t\t\t\t\t\t\t\texamples={ examples }\n\t\t\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t\t\t\tsizes={ sizes }\n\t\t\t\t\t\t\t\t\t\ttitle={ tab.title }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</Tabs>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<StyleBookBody\n\t\t\t\t\t\texamples={ examples }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\tsizes={ sizes }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</EditorCanvasContainer>\n\t);\n}\n\nconst StyleBookBody = ( {\n\tcategory,\n\texamples,\n\tisSelected,\n\tonClick,\n\tonSelect,\n\tsettings,\n\tsizes,\n\ttitle,\n} ) => {\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\n\t// The presence of an `onClick` prop indicates that the Style Book is being used as a button.\n\t// In this case, add additional props to the iframe to make it behave like a button.\n\tconst buttonModeProps = {\n\t\trole: 'button',\n\t\tonFocus: () => setIsFocused( true ),\n\t\tonBlur: () => setIsFocused( false ),\n\t\tonKeyDown: ( event ) => {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { keyCode } = event;\n\t\t\tif ( onClick && ( keyCode === ENTER || keyCode === SPACE ) ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonClick( event );\n\t\t\t}\n\t\t},\n\t\tonClick: ( event ) => {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( onClick ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonClick( event );\n\t\t\t}\n\t\t},\n\t\treadonly: true,\n\t};\n\n\treturn (\n\t\t<Iframe\n\t\t\tclassName={ clsx( 'edit-site-style-book__iframe', {\n\t\t\t\t'is-focused': isFocused && !! onClick,\n\t\t\t\t'is-button': !! onClick,\n\t\t\t} ) }\n\t\t\tname=\"style-book-canvas\"\n\t\t\ttabIndex={ 0 }\n\t\t\t{ ...( onClick ? buttonModeProps : {} ) }\n\t\t>\n\t\t\t<EditorStyles styles={ settings.styles } />\n\t\t\t<style>\n\t\t\t\t{ STYLE_BOOK_IFRAME_STYLES }\n\t\t\t\t{ !! onClick &&\n\t\t\t\t\t'body { cursor: pointer; } body * { pointer-events: none; }' }\n\t\t\t</style>\n\t\t\t<Examples\n\t\t\t\tclassName={ clsx( 'edit-site-style-book__examples', {\n\t\t\t\t\t'is-wide': sizes.width > 600,\n\t\t\t\t} ) }\n\t\t\t\texamples={ examples }\n\t\t\t\tcategory={ category }\n\t\t\t\tlabel={\n\t\t\t\t\ttitle\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Category of blocks, e.g. Text.\n\t\t\t\t\t\t\t\t__( 'Examples of blocks in the %s category' ),\n\t\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Examples of blocks' )\n\t\t\t\t}\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tkey={ category }\n\t\t\t/>\n\t\t</Iframe>\n\t);\n};\n\nconst Examples = memo(\n\t( { className, examples, category, label, isSelected, onSelect } ) => {\n\t\tconst categoryDefinition = category\n\t\t\t? getTopLevelStyleBookCategories().find(\n\t\t\t\t\t( _category ) => _category.slug === category\n\t\t\t )\n\t\t\t: null;\n\n\t\tconst filteredExamples = categoryDefinition\n\t\t\t? getExamplesByCategory( categoryDefinition, examples )\n\t\t\t: { examples };\n\n\t\treturn (\n\t\t\t<Composite\n\t\t\t\torientation=\"vertical\"\n\t\t\t\tclassName={ className }\n\t\t\t\taria-label={ label }\n\t\t\t\trole=\"grid\"\n\t\t\t>\n\t\t\t\t{ !! filteredExamples?.examples?.length &&\n\t\t\t\t\tfilteredExamples.examples.map( ( example ) => (\n\t\t\t\t\t\t<Example\n\t\t\t\t\t\t\tkey={ example.name }\n\t\t\t\t\t\t\tid={ `example-${ example.name }` }\n\t\t\t\t\t\t\ttitle={ example.title }\n\t\t\t\t\t\t\tblocks={ example.blocks }\n\t\t\t\t\t\t\tisSelected={ isSelected( example.name ) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonSelect?.( example.name );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ !! filteredExamples?.subcategories?.length &&\n\t\t\t\t\tfilteredExamples.subcategories.map( ( subcategory ) => (\n\t\t\t\t\t\t<Composite.Group\n\t\t\t\t\t\t\tclassName=\"edit-site-style-book__subcategory\"\n\t\t\t\t\t\t\tkey={ `subcategory-${ subcategory.slug }` }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Composite.GroupLabel>\n\t\t\t\t\t\t\t\t<h2 className=\"edit-site-style-book__subcategory-title\">\n\t\t\t\t\t\t\t\t\t{ subcategory.title }\n\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t</Composite.GroupLabel>\n\t\t\t\t\t\t\t<Subcategory\n\t\t\t\t\t\t\t\texamples={ subcategory.examples }\n\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Composite.Group>\n\t\t\t\t\t) ) }\n\t\t\t</Composite>\n\t\t);\n\t}\n);\n\nconst Subcategory = ( { examples, isSelected, onSelect } ) => {\n\treturn (\n\t\t!! examples?.length &&\n\t\texamples.map( ( example ) => (\n\t\t\t<Example\n\t\t\t\tkey={ example.name }\n\t\t\t\tid={ `example-${ example.name }` }\n\t\t\t\ttitle={ example.title }\n\t\t\t\tblocks={ example.blocks }\n\t\t\t\tisSelected={ isSelected( example.name ) }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tonSelect?.( example.name );\n\t\t\t\t} }\n\t\t\t/>\n\t\t) )\n\t);\n};\n\nconst Example = ( { id, title, blocks, isSelected, onClick } ) => {\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( {\n\t\t\t...originalSettings,\n\t\t\tfocusMode: false, // Disable \"Spotlight mode\".\n\t\t\t__unstableIsPreviewMode: true,\n\t\t} ),\n\t\t[ originalSettings ]\n\t);\n\n\t// Cache the list of blocks to avoid additional processing when the component is re-rendered.\n\tconst renderedBlocks = useMemo(\n\t\t() => ( Array.isArray( blocks ) ? blocks : [ blocks ] ),\n\t\t[ blocks ]\n\t);\n\n\treturn (\n\t\t<div role=\"row\">\n\t\t\t<div role=\"gridcell\">\n\t\t\t\t<Composite.Item\n\t\t\t\t\tclassName={ clsx( 'edit-site-style-book__example', {\n\t\t\t\t\t\t'is-selected': isSelected,\n\t\t\t\t\t} ) }\n\t\t\t\t\tid={ id }\n\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t// translators: %s: Title of a block, e.g. Heading.\n\t\t\t\t\t\t__( 'Open %s styles in Styles panel' ),\n\t\t\t\t\t\ttitle\n\t\t\t\t\t) }\n\t\t\t\t\trender={ <div /> }\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t>\n\t\t\t\t\t<span className=\"edit-site-style-book__example-title\">\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</span>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"edit-site-style-book__example-preview\"\n\t\t\t\t\t\taria-hidden\n\t\t\t\t\t>\n\t\t\t\t\t\t<Disabled className=\"edit-site-style-book__example-preview__content\">\n\t\t\t\t\t\t\t<ExperimentalBlockEditorProvider\n\t\t\t\t\t\t\t\tvalue={ renderedBlocks }\n\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<BlockList renderAppender={ false } />\n\t\t\t\t\t\t\t</ExperimentalBlockEditorProvider>\n\t\t\t\t\t\t</Disabled>\n\t\t\t\t\t</div>\n\t\t\t\t</Composite.Item>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default StyleBook;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","Disabled","Composite","privateApis","componentsPrivateApis","__","_x","sprintf","BlockList","blockEditorPrivateApis","store","blockEditorStore","useSettings","__unstableEditorStyles","EditorStyles","__unstableIframe","Iframe","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","editorPrivateApis","useSelect","useResizeObserver","useMemo","useState","memo","useContext","useRef","useLayoutEffect","ENTER","SPACE","unlock","EditorCanvasContainer","STYLE_BOOK_IFRAME_STYLES","getExamplesByCategory","getTopLevelStyleBookCategories","getExamples","jsx","_jsx","jsxs","_jsxs","ExperimentalBlockEditorProvider","useGlobalStyle","GlobalStylesContext","useGlobalStylesOutputWithConfig","mergeBaseAndUserConfigs","Tabs","isObjectEmpty","object","Object","keys","length","scrollToSection","anchorId","iframe","contentDocument","element","getElementById","scrollIntoView","behavior","getStyleBookNavigationFromPath","path","block","includes","decodeURIComponent","split","endsWith","useMultiOriginPalettes","colors","gradients","shouldDisplayDefaultDuotones","customDuotones","themeDuotones","defaultDuotones","palettes","result","duotones","push","name","slug","StyleBook","enableResizing","isSelected","onClick","onSelect","showCloseButton","onClose","showTabs","userConfig","resizeObserver","sizes","textColor","backgroundColor","examples","tabs","filter","category","some","example","examplesForSinglePageUse","overviewCategoryExamples","otherExamples","find","overviewExample","base","baseConfig","goTo","mergedConfig","originalSettings","select","getSettings","globalStyles","settings","styles","isPreviewMode","closeButtonLabel","children","className","width","style","color","background","TabList","map","tab","Tab","tabId","title","TabPanel","focusable","StyleBookBody","isFocused","setIsFocused","hasIframeLoaded","setHasIframeLoaded","iframeRef","buttonModeProps","role","onFocus","onBlur","onKeyDown","event","defaultPrevented","keyCode","preventDefault","readonly","handleLoad","current","onLoad","ref","tabIndex","Examples","label","categoryDefinition","_category","filteredExamples","orientation","Example","id","content","blocks","subcategories","subcategory","Group","GroupLabel","Subcategory","disabledExamples","focusMode","renderedBlocks","Array","isArray","disabledProps","disabled","accessibleWhenDisabled","Item","render","value","renderAppender"],"sources":["@wordpress/edit-site/src/components/style-book/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tDisabled,\n\tComposite,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tBlockList,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\tuseSettings,\n\t__unstableEditorStyles as EditorStyles,\n\t__unstableIframe as Iframe,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { useSelect } from '@wordpress/data';\nimport { useResizeObserver } from '@wordpress/compose';\nimport {\n\tuseMemo,\n\tuseState,\n\tmemo,\n\tuseContext,\n\tuseRef,\n\tuseLayoutEffect,\n} from '@wordpress/element';\nimport { ENTER, SPACE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport EditorCanvasContainer from '../editor-canvas-container';\nimport { STYLE_BOOK_IFRAME_STYLES } from './constants';\nimport {\n\tgetExamplesByCategory,\n\tgetTopLevelStyleBookCategories,\n} from './categories';\nimport { getExamples } from './examples';\n\nconst {\n\tExperimentalBlockEditorProvider,\n\tuseGlobalStyle,\n\tGlobalStylesContext,\n\tuseGlobalStylesOutputWithConfig,\n} = unlock( blockEditorPrivateApis );\nconst { mergeBaseAndUserConfigs } = unlock( editorPrivateApis );\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nfunction isObjectEmpty( object ) {\n\treturn ! object || Object.keys( object ).length === 0;\n}\n\n/**\n * Scrolls to a section within an iframe.\n *\n * @param {string} anchorId The id of the element to scroll to.\n * @param {HTMLIFrameElement} iframe The target iframe.\n */\nconst scrollToSection = ( anchorId, iframe ) => {\n\tif ( ! iframe || ! iframe?.contentDocument ) {\n\t\treturn;\n\t}\n\n\tconst element = iframe.contentDocument.getElementById( anchorId );\n\tif ( element ) {\n\t\telement.scrollIntoView( {\n\t\t\tbehavior: 'smooth',\n\t\t} );\n\t}\n};\n\n/**\n * Parses a Block Editor navigation path to extract the block name and\n * build a style book navigation path. The object can be extended to include a category,\n * representing a style book tab/section.\n *\n * @param {string} path An internal Block Editor navigation path.\n * @return {null|{block: string}} An object containing the example to navigate to.\n */\nconst getStyleBookNavigationFromPath = ( path ) => {\n\tif ( path && typeof path === 'string' ) {\n\t\tlet block = path.includes( '/blocks/' )\n\t\t\t? decodeURIComponent( path.split( '/blocks/' )[ 1 ] )\n\t\t\t: null;\n\t\t// Default to theme-colors if the path ends with /colors.\n\t\tblock = path.endsWith( '/colors' ) ? 'theme-colors' : block;\n\n\t\treturn {\n\t\t\tblock,\n\t\t};\n\t}\n\treturn null;\n};\n\n/**\n * Retrieves colors, gradients, and duotone filters from Global Styles.\n * The inclusion of default (Core) palettes is controlled by the relevant\n * theme.json property e.g. defaultPalette, defaultGradients, defaultDuotone.\n *\n * @return {Object} Object containing properties for each type of palette.\n */\nfunction useMultiOriginPalettes() {\n\tconst { colors, gradients } = useMultipleOriginColorsAndGradients();\n\n\t// Add duotone filters to the palettes data.\n\tconst [\n\t\tshouldDisplayDefaultDuotones,\n\t\tcustomDuotones,\n\t\tthemeDuotones,\n\t\tdefaultDuotones,\n\t] = useSettings(\n\t\t'color.defaultDuotone',\n\t\t'color.duotone.custom',\n\t\t'color.duotone.theme',\n\t\t'color.duotone.default'\n\t);\n\n\tconst palettes = useMemo( () => {\n\t\tconst result = { colors, gradients, duotones: [] };\n\n\t\tif ( themeDuotones && themeDuotones.length ) {\n\t\t\tresult.duotones.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates these duotone filters come from the theme.'\n\t\t\t\t),\n\t\t\t\tslug: 'theme',\n\t\t\t\tduotones: themeDuotones,\n\t\t\t} );\n\t\t}\n\n\t\tif (\n\t\t\tshouldDisplayDefaultDuotones &&\n\t\t\tdefaultDuotones &&\n\t\t\tdefaultDuotones.length\n\t\t) {\n\t\t\tresult.duotones.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates these duotone filters come from WordPress.'\n\t\t\t\t),\n\t\t\t\tslug: 'default',\n\t\t\t\tduotones: defaultDuotones,\n\t\t\t} );\n\t\t}\n\t\tif ( customDuotones && customDuotones.length ) {\n\t\t\tresult.duotones.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates these doutone filters are created by the user.'\n\t\t\t\t),\n\t\t\t\tslug: 'custom',\n\t\t\t\tduotones: customDuotones,\n\t\t\t} );\n\t\t}\n\n\t\treturn result;\n\t}, [\n\t\tcolors,\n\t\tgradients,\n\t\tcustomDuotones,\n\t\tthemeDuotones,\n\t\tdefaultDuotones,\n\t\tshouldDisplayDefaultDuotones,\n\t] );\n\n\treturn palettes;\n}\n\nfunction StyleBook( {\n\tenableResizing = true,\n\tisSelected,\n\tonClick,\n\tonSelect,\n\tshowCloseButton = true,\n\tonClose,\n\tshowTabs = true,\n\tuserConfig = {},\n\tpath = '',\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst [ textColor ] = useGlobalStyle( 'color.text' );\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst colors = useMultiOriginPalettes();\n\tconst examples = useMemo( () => getExamples( colors ), [ colors ] );\n\tconst tabs = useMemo(\n\t\t() =>\n\t\t\tgetTopLevelStyleBookCategories().filter( ( category ) =>\n\t\t\t\texamples.some(\n\t\t\t\t\t( example ) => example.category === category.slug\n\t\t\t\t)\n\t\t\t),\n\t\t[ examples ]\n\t);\n\n\tconst examplesForSinglePageUse = [];\n\tconst overviewCategoryExamples = getExamplesByCategory(\n\t\t{ slug: 'overview' },\n\t\texamples\n\t);\n\texamplesForSinglePageUse.push( ...overviewCategoryExamples.examples );\n\tconst otherExamples = examples.filter( ( example ) => {\n\t\treturn (\n\t\t\texample.category !== 'overview' &&\n\t\t\t! overviewCategoryExamples.examples.find(\n\t\t\t\t( overviewExample ) => overviewExample.name === example.name\n\t\t\t)\n\t\t);\n\t} );\n\texamplesForSinglePageUse.push( ...otherExamples );\n\n\tconst { base: baseConfig } = useContext( GlobalStylesContext );\n\tconst goTo = getStyleBookNavigationFromPath( path );\n\n\tconst mergedConfig = useMemo( () => {\n\t\tif ( ! isObjectEmpty( userConfig ) && ! isObjectEmpty( baseConfig ) ) {\n\t\t\treturn mergeBaseAndUserConfigs( baseConfig, userConfig );\n\t\t}\n\t\treturn {};\n\t}, [ baseConfig, userConfig ] );\n\n\t// Copied from packages/edit-site/src/components/revisions/index.js\n\t// could we create a shared hook?\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst [ globalStyles ] = useGlobalStylesOutputWithConfig( mergedConfig );\n\n\tconst settings = useMemo(\n\t\t() => ( {\n\t\t\t...originalSettings,\n\t\t\tstyles:\n\t\t\t\t! isObjectEmpty( globalStyles ) && ! isObjectEmpty( userConfig )\n\t\t\t\t\t? globalStyles\n\t\t\t\t\t: originalSettings.styles,\n\t\t\tisPreviewMode: true,\n\t\t} ),\n\t\t[ globalStyles, originalSettings, userConfig ]\n\t);\n\n\treturn (\n\t\t<EditorCanvasContainer\n\t\t\tonClose={ onClose }\n\t\t\tenableResizing={ enableResizing }\n\t\t\tcloseButtonLabel={ showCloseButton ? __( 'Close' ) : null }\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={ clsx( 'edit-site-style-book', {\n\t\t\t\t\t'is-wide': sizes.width > 600,\n\t\t\t\t\t'is-button': !! onClick,\n\t\t\t\t} ) }\n\t\t\t\tstyle={ {\n\t\t\t\t\tcolor: textColor,\n\t\t\t\t\tbackground: backgroundColor,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ resizeObserver }\n\t\t\t\t{ showTabs ? (\n\t\t\t\t\t<Tabs>\n\t\t\t\t\t\t<div className=\"edit-site-style-book__tablist-container\">\n\t\t\t\t\t\t\t<Tabs.TabList>\n\t\t\t\t\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t\t\t\t\t<Tabs.Tab\n\t\t\t\t\t\t\t\t\t\ttabId={ tab.slug }\n\t\t\t\t\t\t\t\t\t\tkey={ tab.slug }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ tab.title }\n\t\t\t\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t</Tabs.TabList>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\t\t\tkey={ tab.slug }\n\t\t\t\t\t\t\t\ttabId={ tab.slug }\n\t\t\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\t\t\tclassName=\"edit-site-style-book__tabpanel\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<StyleBookBody\n\t\t\t\t\t\t\t\t\tcategory={ tab.slug }\n\t\t\t\t\t\t\t\t\texamples={ examples }\n\t\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t\t\tsizes={ sizes }\n\t\t\t\t\t\t\t\t\ttitle={ tab.title }\n\t\t\t\t\t\t\t\t\tgoTo={ goTo }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</Tabs>\n\t\t\t\t) : (\n\t\t\t\t\t<StyleBookBody\n\t\t\t\t\t\texamples={ examplesForSinglePageUse }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\tsizes={ sizes }\n\t\t\t\t\t\tgoTo={ goTo }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</EditorCanvasContainer>\n\t);\n}\n\nconst StyleBookBody = ( {\n\tcategory,\n\texamples,\n\tisSelected,\n\tonClick,\n\tonSelect,\n\tsettings,\n\tsizes,\n\ttitle,\n\tgoTo,\n} ) => {\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\tconst [ hasIframeLoaded, setHasIframeLoaded ] = useState( false );\n\tconst iframeRef = useRef( null );\n\t// The presence of an `onClick` prop indicates that the Style Book is being used as a button.\n\t// In this case, add additional props to the iframe to make it behave like a button.\n\tconst buttonModeProps = {\n\t\trole: 'button',\n\t\tonFocus: () => setIsFocused( true ),\n\t\tonBlur: () => setIsFocused( false ),\n\t\tonKeyDown: ( event ) => {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { keyCode } = event;\n\t\t\tif ( onClick && ( keyCode === ENTER || keyCode === SPACE ) ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonClick( event );\n\t\t\t}\n\t\t},\n\t\tonClick: ( event ) => {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( onClick ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonClick( event );\n\t\t\t}\n\t\t},\n\t\treadonly: true,\n\t};\n\n\tconst handleLoad = () => setHasIframeLoaded( true );\n\tuseLayoutEffect( () => {\n\t\tif ( goTo?.block && hasIframeLoaded && iframeRef?.current ) {\n\t\t\tscrollToSection( `example-${ goTo?.block }`, iframeRef?.current );\n\t\t}\n\t}, [ iframeRef?.current, goTo?.block, scrollToSection, hasIframeLoaded ] );\n\n\treturn (\n\t\t<Iframe\n\t\t\tonLoad={ handleLoad }\n\t\t\tref={ iframeRef }\n\t\t\tclassName={ clsx( 'edit-site-style-book__iframe', {\n\t\t\t\t'is-focused': isFocused && !! onClick,\n\t\t\t\t'is-button': !! onClick,\n\t\t\t} ) }\n\t\t\tname=\"style-book-canvas\"\n\t\t\ttabIndex={ 0 }\n\t\t\t{ ...( onClick ? buttonModeProps : {} ) }\n\t\t>\n\t\t\t<EditorStyles styles={ settings.styles } />\n\t\t\t<style>\n\t\t\t\t{ STYLE_BOOK_IFRAME_STYLES }\n\t\t\t\t{ !! onClick &&\n\t\t\t\t\t'body { cursor: pointer; } body * { pointer-events: none; }' }\n\t\t\t</style>\n\t\t\t<Examples\n\t\t\t\tclassName={ clsx( 'edit-site-style-book__examples', {\n\t\t\t\t\t'is-wide': sizes.width > 600,\n\t\t\t\t} ) }\n\t\t\t\texamples={ examples }\n\t\t\t\tcategory={ category }\n\t\t\t\tlabel={\n\t\t\t\t\ttitle\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Category of blocks, e.g. Text.\n\t\t\t\t\t\t\t\t__( 'Examples of blocks in the %s category' ),\n\t\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Examples of blocks' )\n\t\t\t\t}\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tkey={ category }\n\t\t\t/>\n\t\t</Iframe>\n\t);\n};\n\nconst Examples = memo(\n\t( { className, examples, category, label, isSelected, onSelect } ) => {\n\t\tconst categoryDefinition = category\n\t\t\t? getTopLevelStyleBookCategories().find(\n\t\t\t\t\t( _category ) => _category.slug === category\n\t\t\t )\n\t\t\t: null;\n\n\t\tconst filteredExamples = categoryDefinition\n\t\t\t? getExamplesByCategory( categoryDefinition, examples )\n\t\t\t: { examples };\n\n\t\treturn (\n\t\t\t<Composite\n\t\t\t\torientation=\"vertical\"\n\t\t\t\tclassName={ className }\n\t\t\t\taria-label={ label }\n\t\t\t\trole=\"grid\"\n\t\t\t>\n\t\t\t\t{ !! filteredExamples?.examples?.length &&\n\t\t\t\t\tfilteredExamples.examples.map( ( example ) => (\n\t\t\t\t\t\t<Example\n\t\t\t\t\t\t\tkey={ example.name }\n\t\t\t\t\t\t\tid={ `example-${ example.name }` }\n\t\t\t\t\t\t\ttitle={ example.title }\n\t\t\t\t\t\t\tcontent={ example.content }\n\t\t\t\t\t\t\tblocks={ example.blocks }\n\t\t\t\t\t\t\tisSelected={ isSelected?.( example.name ) }\n\t\t\t\t\t\t\tonClick={ () => onSelect?.( example.name ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ !! filteredExamples?.subcategories?.length &&\n\t\t\t\t\tfilteredExamples.subcategories.map( ( subcategory ) => (\n\t\t\t\t\t\t<Composite.Group\n\t\t\t\t\t\t\tclassName=\"edit-site-style-book__subcategory\"\n\t\t\t\t\t\t\tkey={ `subcategory-${ subcategory.slug }` }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Composite.GroupLabel>\n\t\t\t\t\t\t\t\t<h2 className=\"edit-site-style-book__subcategory-title\">\n\t\t\t\t\t\t\t\t\t{ subcategory.title }\n\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t</Composite.GroupLabel>\n\t\t\t\t\t\t\t<Subcategory\n\t\t\t\t\t\t\t\texamples={ subcategory.examples }\n\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Composite.Group>\n\t\t\t\t\t) ) }\n\t\t\t</Composite>\n\t\t);\n\t}\n);\n\nconst Subcategory = ( { examples, isSelected, onSelect } ) => {\n\treturn (\n\t\t!! examples?.length &&\n\t\texamples.map( ( example ) => (\n\t\t\t<Example\n\t\t\t\tkey={ example.name }\n\t\t\t\tid={ `example-${ example.name }` }\n\t\t\t\ttitle={ example.title }\n\t\t\t\tcontent={ example.content }\n\t\t\t\tblocks={ example.blocks }\n\t\t\t\tisSelected={ isSelected?.( example.name ) }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tonSelect?.( example.name );\n\t\t\t\t} }\n\t\t\t/>\n\t\t) )\n\t);\n};\n\nconst disabledExamples = [ 'example-duotones' ];\n\nconst Example = ( { id, title, blocks, isSelected, onClick, content } ) => {\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( {\n\t\t\t...originalSettings,\n\t\t\tfocusMode: false, // Disable \"Spotlight mode\".\n\t\t\tisPreviewMode: true,\n\t\t} ),\n\t\t[ originalSettings ]\n\t);\n\n\t// Cache the list of blocks to avoid additional processing when the component is re-rendered.\n\tconst renderedBlocks = useMemo(\n\t\t() => ( Array.isArray( blocks ) ? blocks : [ blocks ] ),\n\t\t[ blocks ]\n\t);\n\n\tconst disabledProps = disabledExamples.includes( id )\n\t\t? {\n\t\t\t\tdisabled: true,\n\t\t\t\taccessibleWhenDisabled: true,\n\t\t }\n\t\t: {};\n\n\treturn (\n\t\t<div role=\"row\">\n\t\t\t<div role=\"gridcell\">\n\t\t\t\t<Composite.Item\n\t\t\t\t\tclassName={ clsx( 'edit-site-style-book__example', {\n\t\t\t\t\t\t'is-selected': isSelected,\n\t\t\t\t\t\t'is-disabled-example': !! disabledProps?.disabled,\n\t\t\t\t\t} ) }\n\t\t\t\t\tid={ id }\n\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t// translators: %s: Title of a block, e.g. Heading.\n\t\t\t\t\t\t__( 'Open %s styles in Styles panel' ),\n\t\t\t\t\t\ttitle\n\t\t\t\t\t) }\n\t\t\t\t\trender={ <div /> }\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t{ ...disabledProps }\n\t\t\t\t>\n\t\t\t\t\t<span className=\"edit-site-style-book__example-title\">\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</span>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"edit-site-style-book__example-preview\"\n\t\t\t\t\t\taria-hidden\n\t\t\t\t\t>\n\t\t\t\t\t\t<Disabled className=\"edit-site-style-book__example-preview__content\">\n\t\t\t\t\t\t\t{ content ? (\n\t\t\t\t\t\t\t\tcontent\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<ExperimentalBlockEditorProvider\n\t\t\t\t\t\t\t\t\tvalue={ renderedBlocks }\n\t\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<EditorStyles />\n\t\t\t\t\t\t\t\t\t<BlockList renderAppender={ false } />\n\t\t\t\t\t\t\t\t</ExperimentalBlockEditorProvider>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Disabled>\n\t\t\t\t\t</div>\n\t\t\t\t</Composite.Item>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default StyleBook;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["@wordpress/edit-site/src/components/style-book/types.ts"],"sourcesContent":["type Block = {\n\tname: string;\n\tattributes: Record< string, unknown >;\n\tinnerBlocks?: Block[];\n};\n\nexport type StyleBookCategory = {\n\ttitle: string;\n\tslug: string;\n\tblocks?: string[];\n\texclude?: string[];\n\tsubcategories?: StyleBookCategory[];\n};\n\nexport type BlockExample = {\n\tname: string;\n\ttitle: string;\n\tcategory: string;\n\tblocks: Block | Block[];\n};\n\nexport type CategoryExamples = {\n\ttitle: string;\n\tslug: string;\n\texamples?: BlockExample[];\n\tsubcategories?: CategoryExamples[];\n};\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["@wordpress/edit-site/src/components/style-book/types.ts"],"sourcesContent":["type Block = {\n\tname: string;\n\tattributes: Record< string, unknown >;\n\tinnerBlocks?: Block[];\n};\n\nexport type StyleBookCategory = {\n\ttitle: string;\n\tslug: string;\n\tblocks?: string[];\n\texclude?: string[];\n\tinclude?: string[];\n\tsubcategories?: StyleBookCategory[];\n};\n\nexport type BlockExample = {\n\tname: string;\n\ttitle: string;\n\tcategory: string;\n\tcontent?: JSX.Element;\n\tblocks?: Block | Block[];\n};\n\nexport type CategoryExamples = {\n\ttitle: string;\n\tslug: string;\n\texamples?: BlockExample[];\n\tsubcategories?: CategoryExamples[];\n};\n\nexport type StyleBookColorGroup = {\n\torigin: string;\n\tslug: string;\n\ttitle: string;\n\ttype: string;\n};\n\nexport type Color = { slug: string };\nexport type Gradient = { slug: string };\nexport type Duotone = {\n\tcolors: string[];\n\tslug: string;\n};\n\nexport type ColorOrigin = {\n\tname: string;\n\tslug: string;\n\tcolors?: Color[];\n\tgradients?: Gradient[];\n\tduotones?: Duotone[];\n};\n\nexport type MultiOriginPalettes = {\n\tdisableCustomColors: boolean;\n\tdisableCustomGradients: boolean;\n\thasColorsOrGradients: boolean;\n\tcolors: Omit< ColorOrigin, 'gradients' | 'duotones' >;\n\tduotones: Omit< ColorOrigin, 'colors' | 'gradients' >;\n\tgradients: Omit< ColorOrigin, 'colors' | 'duotones' >;\n};\n"],"mappings":"","ignoreList":[]}
@@ -5,6 +5,7 @@ import { useEffect, useMemo } from '@wordpress/element';
5
5
  import { useSelect, useDispatch } from '@wordpress/data';
6
6
  import { store as coreDataStore } from '@wordpress/core-data';
7
7
  import { privateApis as routerPrivateApis } from '@wordpress/router';
8
+ import { store as blockEditorStore } from '@wordpress/block-editor';
8
9
 
9
10
  /**
10
11
  * Internal dependencies
@@ -24,33 +25,19 @@ function useResolveEditedEntityAndContext({
24
25
  const {
25
26
  hasLoadedAllDependencies,
26
27
  homepageId,
27
- postsPageId,
28
- url,
29
- frontPageTemplateId
28
+ postsPageId
30
29
  } = useSelect(select => {
31
30
  const {
32
- getEntityRecord,
33
- getEntityRecords
31
+ getEntityRecord
34
32
  } = select(coreDataStore);
35
33
  const siteData = getEntityRecord('root', 'site');
36
- const base = getEntityRecord('root', '__unstableBase');
37
- const templates = getEntityRecords('postType', TEMPLATE_POST_TYPE, {
38
- per_page: -1
39
- });
40
34
  const _homepageId = siteData?.show_on_front === 'page' && ['number', 'string'].includes(typeof siteData.page_on_front) && !!+siteData.page_on_front // We also need to check if it's not zero(`0`).
41
35
  ? siteData.page_on_front.toString() : null;
42
36
  const _postsPageId = siteData?.show_on_front === 'page' && ['number', 'string'].includes(typeof siteData.page_for_posts) ? siteData.page_for_posts.toString() : null;
43
- let _frontPageTemplateId;
44
- if (templates) {
45
- const frontPageTemplate = templates.find(t => t.slug === 'front-page');
46
- _frontPageTemplateId = frontPageTemplate ? frontPageTemplate.id : false;
47
- }
48
37
  return {
49
- hasLoadedAllDependencies: !!base && !!siteData,
38
+ hasLoadedAllDependencies: !!siteData,
50
39
  homepageId: _homepageId,
51
- postsPageId: _postsPageId,
52
- url: base?.home,
53
- frontPageTemplateId: _frontPageTemplateId
40
+ postsPageId: _postsPageId
54
41
  };
55
42
  }, []);
56
43
 
@@ -74,20 +61,33 @@ function useResolveEditedEntityAndContext({
74
61
  const {
75
62
  getEditedEntityRecord,
76
63
  getEntityRecords,
77
- getDefaultTemplateId,
78
- __experimentalGetTemplateForLink
64
+ getDefaultTemplateId
79
65
  } = select(coreDataStore);
80
66
  function resolveTemplateForPostTypeAndId(postTypeToResolve, postIdToResolve) {
81
67
  // For the front page, we always use the front page template if existing.
82
68
  if (postTypeToResolve === 'page' && homepageId === postIdToResolve) {
83
- // We're still checking whether the front page template exists.
84
- // Don't resolve the template yet.
85
- if (frontPageTemplateId === undefined) {
69
+ // The /lookup endpoint cannot currently handle a lookup
70
+ // when a page is set as the front page, so specifically in
71
+ // that case, we want to check if there is a front page
72
+ // template, and instead of falling back to the home
73
+ // template, we want to fall back to the page template.
74
+ const templates = getEntityRecords('postType', TEMPLATE_POST_TYPE, {
75
+ per_page: -1
76
+ });
77
+ if (templates) {
78
+ const id = templates?.find(({
79
+ slug
80
+ }) => slug === 'front-page')?.id;
81
+ if (id) {
82
+ return id;
83
+ }
84
+
85
+ // If no front page template is found, continue with the
86
+ // logic below (fetching the page template).
87
+ } else {
88
+ // Still resolving `templates`.
86
89
  return undefined;
87
90
  }
88
- if (!!frontPageTemplateId) {
89
- return frontPageTemplateId;
90
- }
91
91
  }
92
92
  const editedEntity = getEditedEntityRecord('postType', postTypeToResolve, postIdToResolve);
93
93
  if (!editedEntity) {
@@ -95,7 +95,9 @@ function useResolveEditedEntityAndContext({
95
95
  }
96
96
  // Check if the current page is the posts page.
97
97
  if (postTypeToResolve === 'page' && postsPageId === postIdToResolve) {
98
- return __experimentalGetTemplateForLink(editedEntity.link)?.id;
98
+ return getDefaultTemplateId({
99
+ slug: 'home'
100
+ });
99
101
  }
100
102
  // First see if the post/page has an assigned template and fetch it.
101
103
  const currentTemplateSlug = editedEntity.template;
@@ -140,11 +142,10 @@ function useResolveEditedEntityAndContext({
140
142
  }
141
143
 
142
144
  // If we're not rendering a specific page, use the front page template.
143
- if (url) {
144
- const template = __experimentalGetTemplateForLink(url);
145
- return template?.id;
146
- }
147
- }, [homepageId, postsPageId, hasLoadedAllDependencies, url, postId, postType, frontPageTemplateId]);
145
+ return getDefaultTemplateId({
146
+ slug: 'front-page'
147
+ });
148
+ }, [homepageId, postsPageId, hasLoadedAllDependencies, postId, postType]);
148
149
  const context = useMemo(() => {
149
150
  if (postTypesWithoutParentTemplate.includes(postType) && postId) {
150
151
  return {};
@@ -198,10 +199,14 @@ export default function useInitEditedEntityFromURL() {
198
199
  const {
199
200
  setEditedEntity
200
201
  } = useDispatch(editSiteStore);
202
+ const {
203
+ resetZoomLevel
204
+ } = unlock(useDispatch(blockEditorStore));
201
205
  useEffect(() => {
202
206
  if (isReady) {
207
+ resetZoomLevel();
203
208
  setEditedEntity(postType, postId, context);
204
209
  }
205
- }, [isReady, postType, postId, context, setEditedEntity]);
210
+ }, [isReady, postType, postId, context, setEditedEntity, resetZoomLevel]);
206
211
  }
207
212
  //# sourceMappingURL=use-init-edited-entity-from-url.js.map