@wordpress/edit-site 5.23.0 → 5.24.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/actions/index.js +56 -38
  3. package/build/components/actions/index.js.map +1 -1
  4. package/build/components/block-editor/site-editor-canvas.js +7 -2
  5. package/build/components/block-editor/site-editor-canvas.js.map +1 -1
  6. package/build/components/dataviews/add-filter.js +21 -20
  7. package/build/components/dataviews/add-filter.js.map +1 -1
  8. package/build/components/dataviews/constants.js +14 -0
  9. package/build/components/dataviews/constants.js.map +1 -0
  10. package/build/components/dataviews/dataviews.js +9 -7
  11. package/build/components/dataviews/dataviews.js.map +1 -1
  12. package/build/components/dataviews/filter-summary.js +62 -0
  13. package/build/components/dataviews/filter-summary.js.map +1 -0
  14. package/build/components/dataviews/filters.js +15 -30
  15. package/build/components/dataviews/filters.js.map +1 -1
  16. package/build/components/dataviews/item-actions.js +84 -30
  17. package/build/components/dataviews/item-actions.js.map +1 -1
  18. package/build/components/dataviews/pagination.js +4 -0
  19. package/build/components/dataviews/pagination.js.map +1 -1
  20. package/build/components/dataviews/view-actions.js +24 -24
  21. package/build/components/dataviews/view-actions.js.map +1 -1
  22. package/build/components/dataviews/view-grid.js +48 -25
  23. package/build/components/dataviews/view-grid.js.map +1 -1
  24. package/build/components/dataviews/view-list.js +28 -33
  25. package/build/components/dataviews/view-list.js.map +1 -1
  26. package/build/components/editor/index.js +23 -27
  27. package/build/components/editor/index.js.map +1 -1
  28. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
  29. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -1
  30. package/build/components/global-styles/font-library-modal/utils/index.js +15 -2
  31. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  32. package/build/components/global-styles/header.js +4 -2
  33. package/build/components/global-styles/header.js.map +1 -1
  34. package/build/components/global-styles/screen-block-list.js +22 -16
  35. package/build/components/global-styles/screen-block-list.js.map +1 -1
  36. package/build/components/global-styles/screen-revisions/index.js +26 -5
  37. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  38. package/build/components/global-styles/screen-revisions/revisions-buttons.js +52 -24
  39. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  40. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +9 -3
  41. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  42. package/build/components/global-styles/ui.js +28 -36
  43. package/build/components/global-styles/ui.js.map +1 -1
  44. package/build/components/header-edit-mode/document-actions/index.js +21 -16
  45. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  46. package/build/components/header-edit-mode/index.js +2 -1
  47. package/build/components/header-edit-mode/index.js.map +1 -1
  48. package/build/components/header-edit-mode/more-menu/index.js +1 -1
  49. package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
  50. package/build/components/list/added-by.js +43 -54
  51. package/build/components/list/added-by.js.map +1 -1
  52. package/build/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +9 -8
  53. package/build/components/page-content-focus-notifications/back-to-page-notification.js.map +1 -0
  54. package/build/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
  55. package/build/components/page-content-focus-notifications/edit-template-notification.js.map +1 -0
  56. package/build/components/page-content-focus-notifications/index.js +22 -0
  57. package/build/components/page-content-focus-notifications/index.js.map +1 -0
  58. package/build/components/page-pages/index.js +9 -15
  59. package/build/components/page-pages/index.js.map +1 -1
  60. package/build/components/page-patterns/use-patterns.js +1 -1
  61. package/build/components/page-patterns/use-patterns.js.map +1 -1
  62. package/build/components/page-templates/dataviews-templates.js +166 -51
  63. package/build/components/page-templates/dataviews-templates.js.map +1 -1
  64. package/build/components/preferences-modal/index.js +1 -1
  65. package/build/components/preferences-modal/index.js.map +1 -1
  66. package/build/components/save-button/index.js +9 -6
  67. package/build/components/save-button/index.js.map +1 -1
  68. package/build/components/save-hub/index.js +14 -0
  69. package/build/components/save-hub/index.js.map +1 -1
  70. package/build/components/sidebar-dataviews/custom-dataviews-list.js +3 -1
  71. package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
  72. package/build/components/sidebar-dataviews/default-views.js +7 -2
  73. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  74. package/build/components/sidebar-edit-mode/index.js +6 -5
  75. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  76. package/build/components/sidebar-edit-mode/page-panels/edit-template.js +15 -26
  77. package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  78. package/build/components/sidebar-edit-mode/page-panels/hooks.js +22 -8
  79. package/build/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
  80. package/build/components/sidebar-edit-mode/page-panels/page-status.js +8 -5
  81. package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  82. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +4 -8
  83. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  84. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +2 -2
  85. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
  86. package/build/components/sidebar-edit-mode/settings-header/index.js +10 -6
  87. package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  88. package/build/components/sidebar-navigation-screen-page/index.js +23 -4
  89. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
  90. package/build/components/style-book/index.js +22 -12
  91. package/build/components/style-book/index.js.map +1 -1
  92. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +41 -9
  93. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  94. package/build/components/welcome-guide/page.js +2 -2
  95. package/build/components/welcome-guide/page.js.map +1 -1
  96. package/build/components/welcome-guide/template.js +6 -3
  97. package/build/components/welcome-guide/template.js.map +1 -1
  98. package/build/hooks/commands/use-edit-mode-commands.js +24 -14
  99. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  100. package/build/store/actions.js +4 -1
  101. package/build/store/actions.js.map +1 -1
  102. package/build/store/private-actions.js +2 -27
  103. package/build/store/private-actions.js.map +1 -1
  104. package/build/store/private-selectors.js +0 -23
  105. package/build/store/private-selectors.js.map +1 -1
  106. package/build/store/reducer.js +1 -40
  107. package/build/store/reducer.js.map +1 -1
  108. package/build/store/selectors.js +8 -4
  109. package/build/store/selectors.js.map +1 -1
  110. package/build/utils/constants.js +1 -12
  111. package/build/utils/constants.js.map +1 -1
  112. package/build-module/components/actions/index.js +55 -36
  113. package/build-module/components/actions/index.js.map +1 -1
  114. package/build-module/components/block-editor/site-editor-canvas.js +7 -2
  115. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
  116. package/build-module/components/dataviews/add-filter.js +21 -20
  117. package/build-module/components/dataviews/add-filter.js.map +1 -1
  118. package/build-module/components/dataviews/constants.js +6 -0
  119. package/build-module/components/dataviews/constants.js.map +1 -0
  120. package/build-module/components/dataviews/dataviews.js +9 -7
  121. package/build-module/components/dataviews/dataviews.js.map +1 -1
  122. package/build-module/components/dataviews/filter-summary.js +55 -0
  123. package/build-module/components/dataviews/filter-summary.js.map +1 -0
  124. package/build-module/components/dataviews/filters.js +15 -28
  125. package/build-module/components/dataviews/filters.js.map +1 -1
  126. package/build-module/components/dataviews/item-actions.js +84 -30
  127. package/build-module/components/dataviews/item-actions.js.map +1 -1
  128. package/build-module/components/dataviews/pagination.js +4 -0
  129. package/build-module/components/dataviews/pagination.js.map +1 -1
  130. package/build-module/components/dataviews/view-actions.js +24 -24
  131. package/build-module/components/dataviews/view-actions.js.map +1 -1
  132. package/build-module/components/dataviews/view-grid.js +49 -26
  133. package/build-module/components/dataviews/view-grid.js.map +1 -1
  134. package/build-module/components/dataviews/view-list.js +28 -33
  135. package/build-module/components/dataviews/view-list.js.map +1 -1
  136. package/build-module/components/editor/index.js +26 -30
  137. package/build-module/components/editor/index.js.map +1 -1
  138. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
  139. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -1
  140. package/build-module/components/global-styles/font-library-modal/utils/index.js +14 -2
  141. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  142. package/build-module/components/global-styles/header.js +4 -2
  143. package/build-module/components/global-styles/header.js.map +1 -1
  144. package/build-module/components/global-styles/screen-block-list.js +23 -17
  145. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  146. package/build-module/components/global-styles/screen-revisions/index.js +27 -6
  147. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  148. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +51 -24
  149. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  150. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +9 -3
  151. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  152. package/build-module/components/global-styles/ui.js +28 -36
  153. package/build-module/components/global-styles/ui.js.map +1 -1
  154. package/build-module/components/header-edit-mode/document-actions/index.js +21 -16
  155. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  156. package/build-module/components/header-edit-mode/index.js +2 -1
  157. package/build-module/components/header-edit-mode/index.js.map +1 -1
  158. package/build-module/components/header-edit-mode/more-menu/index.js +1 -1
  159. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
  160. package/build-module/components/list/added-by.js +44 -55
  161. package/build-module/components/list/added-by.js.map +1 -1
  162. package/build-module/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +9 -8
  163. package/build-module/components/page-content-focus-notifications/back-to-page-notification.js.map +1 -0
  164. package/build-module/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
  165. package/build-module/components/page-content-focus-notifications/edit-template-notification.js.map +1 -0
  166. package/build-module/components/page-content-focus-notifications/index.js +14 -0
  167. package/build-module/components/page-content-focus-notifications/index.js.map +1 -0
  168. package/build-module/components/page-pages/index.js +10 -16
  169. package/build-module/components/page-pages/index.js.map +1 -1
  170. package/build-module/components/page-patterns/use-patterns.js +1 -1
  171. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  172. package/build-module/components/page-templates/dataviews-templates.js +168 -53
  173. package/build-module/components/page-templates/dataviews-templates.js.map +1 -1
  174. package/build-module/components/preferences-modal/index.js +1 -1
  175. package/build-module/components/preferences-modal/index.js.map +1 -1
  176. package/build-module/components/save-button/index.js +11 -8
  177. package/build-module/components/save-button/index.js.map +1 -1
  178. package/build-module/components/save-hub/index.js +14 -0
  179. package/build-module/components/save-hub/index.js.map +1 -1
  180. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +3 -1
  181. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
  182. package/build-module/components/sidebar-dataviews/default-views.js +7 -2
  183. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  184. package/build-module/components/sidebar-edit-mode/index.js +6 -5
  185. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  186. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +16 -27
  187. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  188. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js +21 -7
  189. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
  190. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js +9 -6
  191. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  192. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +5 -9
  193. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  194. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +3 -3
  195. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
  196. package/build-module/components/sidebar-edit-mode/settings-header/index.js +10 -6
  197. package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  198. package/build-module/components/sidebar-navigation-screen-page/index.js +23 -4
  199. package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
  200. package/build-module/components/style-book/index.js +22 -12
  201. package/build-module/components/style-book/index.js.map +1 -1
  202. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +41 -9
  203. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  204. package/build-module/components/welcome-guide/page.js +2 -2
  205. package/build-module/components/welcome-guide/page.js.map +1 -1
  206. package/build-module/components/welcome-guide/template.js +6 -3
  207. package/build-module/components/welcome-guide/template.js.map +1 -1
  208. package/build-module/hooks/commands/use-edit-mode-commands.js +24 -14
  209. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  210. package/build-module/store/actions.js +4 -1
  211. package/build-module/store/actions.js.map +1 -1
  212. package/build-module/store/private-actions.js +1 -25
  213. package/build-module/store/private-actions.js.map +1 -1
  214. package/build-module/store/private-selectors.js +0 -22
  215. package/build-module/store/private-selectors.js.map +1 -1
  216. package/build-module/store/reducer.js +1 -38
  217. package/build-module/store/reducer.js.map +1 -1
  218. package/build-module/store/selectors.js +8 -4
  219. package/build-module/store/selectors.js.map +1 -1
  220. package/build-module/utils/constants.js +0 -10
  221. package/build-module/utils/constants.js.map +1 -1
  222. package/build-style/style-rtl.css +152 -62
  223. package/build-style/style.css +152 -62
  224. package/package.json +41 -41
  225. package/src/components/actions/index.js +76 -48
  226. package/src/components/block-editor/site-editor-canvas.js +8 -2
  227. package/src/components/dataviews/README.md +14 -11
  228. package/src/components/dataviews/add-filter.js +21 -24
  229. package/src/components/dataviews/constants.js +5 -0
  230. package/src/components/dataviews/dataviews.js +10 -10
  231. package/src/components/dataviews/filter-summary.js +79 -0
  232. package/src/components/dataviews/filters.js +18 -35
  233. package/src/components/dataviews/item-actions.js +106 -42
  234. package/src/components/dataviews/pagination.js +4 -0
  235. package/src/components/dataviews/style.scss +84 -8
  236. package/src/components/dataviews/view-actions.js +39 -41
  237. package/src/components/dataviews/view-grid.js +63 -38
  238. package/src/components/dataviews/view-list.js +50 -57
  239. package/src/components/editor/index.js +18 -34
  240. package/src/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
  241. package/src/components/global-styles/font-library-modal/utils/index.js +20 -9
  242. package/src/components/global-styles/font-library-modal/utils/test/getIntersectingFontFaces.spec.js +46 -15
  243. package/src/components/global-styles/font-library-modal/utils/test/wpKebabCase.spec.js +28 -0
  244. package/src/components/global-styles/header.js +2 -1
  245. package/src/components/global-styles/screen-block-list.js +37 -26
  246. package/src/components/global-styles/screen-revisions/index.js +39 -10
  247. package/src/components/global-styles/screen-revisions/revisions-buttons.js +65 -45
  248. package/src/components/global-styles/screen-revisions/style.scss +52 -28
  249. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +15 -6
  250. package/src/components/global-styles/style.scss +0 -11
  251. package/src/components/global-styles/ui.js +59 -74
  252. package/src/components/header-edit-mode/document-actions/index.js +20 -18
  253. package/src/components/header-edit-mode/index.js +1 -0
  254. package/src/components/header-edit-mode/more-menu/index.js +1 -1
  255. package/src/components/list/added-by.js +23 -63
  256. package/src/components/list/style.scss +11 -13
  257. package/src/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +12 -13
  258. package/src/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
  259. package/src/components/page-content-focus-notifications/index.js +14 -0
  260. package/src/components/page-pages/index.js +15 -20
  261. package/src/components/page-patterns/use-patterns.js +1 -1
  262. package/src/components/page-templates/dataviews-templates.js +169 -48
  263. package/src/components/page-templates/style.scss +13 -0
  264. package/src/components/preferences-modal/index.js +1 -1
  265. package/src/components/save-button/index.js +37 -24
  266. package/src/components/save-hub/index.js +15 -0
  267. package/src/components/save-hub/style.scss +7 -0
  268. package/src/components/sidebar-dataviews/custom-dataviews-list.js +2 -0
  269. package/src/components/sidebar-dataviews/default-views.js +7 -2
  270. package/src/components/sidebar-dataviews/style.scss +7 -0
  271. package/src/components/sidebar-edit-mode/index.js +13 -9
  272. package/src/components/sidebar-edit-mode/page-panels/edit-template.js +33 -52
  273. package/src/components/sidebar-edit-mode/page-panels/hooks.js +20 -9
  274. package/src/components/sidebar-edit-mode/page-panels/page-status.js +6 -6
  275. package/src/components/sidebar-edit-mode/page-panels/page-summary.js +8 -9
  276. package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +3 -3
  277. package/src/components/sidebar-edit-mode/page-panels/style.scss +9 -19
  278. package/src/components/sidebar-edit-mode/settings-header/index.js +8 -9
  279. package/src/components/sidebar-navigation-screen/style.scss +1 -0
  280. package/src/components/sidebar-navigation-screen-page/index.js +24 -3
  281. package/src/components/sidebar-navigation-screen-template/style.scss +6 -1
  282. package/src/components/style-book/index.js +48 -35
  283. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +69 -17
  284. package/src/components/welcome-guide/page.js +2 -2
  285. package/src/components/welcome-guide/template.js +4 -2
  286. package/src/hooks/commands/use-edit-mode-commands.js +22 -16
  287. package/src/store/actions.js +5 -1
  288. package/src/store/private-actions.js +1 -24
  289. package/src/store/private-selectors.js +0 -22
  290. package/src/store/reducer.js +0 -39
  291. package/src/store/selectors.js +12 -4
  292. package/src/store/test/actions.js +3 -32
  293. package/src/store/test/reducer.js +0 -62
  294. package/src/store/test/selectors.js +0 -35
  295. package/src/style.scss +1 -0
  296. package/src/utils/constants.js +0 -10
  297. package/build/components/dataviews/in-filter.js +0 -51
  298. package/build/components/dataviews/in-filter.js.map +0 -1
  299. package/build/components/page-content-focus-manager/back-to-page-notification.js.map +0 -1
  300. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -63
  301. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +0 -1
  302. package/build/components/page-content-focus-manager/edit-template-notification.js.map +0 -1
  303. package/build/components/page-content-focus-manager/index.js +0 -61
  304. package/build/components/page-content-focus-manager/index.js.map +0 -1
  305. package/build/components/sidebar-edit-mode/page-panels/publish-date.js +0 -87
  306. package/build/components/sidebar-edit-mode/page-panels/publish-date.js.map +0 -1
  307. package/build-module/components/dataviews/in-filter.js +0 -42
  308. package/build-module/components/dataviews/in-filter.js.map +0 -1
  309. package/build-module/components/page-content-focus-manager/back-to-page-notification.js.map +0 -1
  310. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -56
  311. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +0 -1
  312. package/build-module/components/page-content-focus-manager/edit-template-notification.js.map +0 -1
  313. package/build-module/components/page-content-focus-manager/index.js +0 -52
  314. package/build-module/components/page-content-focus-manager/index.js.map +0 -1
  315. package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js +0 -80
  316. package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js.map +0 -1
  317. package/src/components/dataviews/in-filter.js +0 -63
  318. package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -57
  319. package/src/components/page-content-focus-manager/index.js +0 -51
  320. package/src/components/sidebar-edit-mode/page-panels/publish-date.js +0 -94
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_data","_components","_coreData","_htmlEntities","_icons","_dom","_escapeHtml","_url","_sidebarNavigationScreen","_interopRequireDefault","_lockUnlock","_store","_sidebarButton","_pageDetails","_pageActions","_sidebarNavigationScreenDetailsFooter","SidebarNavigationScreenPage","navigator","useNavigator","setCanvasMode","unlock","useDispatch","editSiteStore","params","postId","record","useEntityRecord","featuredMediaAltText","featuredMediaSourceUrl","useSelect","select","getEntityRecord","coreStore","attachedMedia","featured_media","media_details","sizes","medium","source_url","escapeAttribute","alt_text","description","raw","featureImageAltText","decodeEntities","title","rendered","__","_react","createElement","default","actions","Fragment","toggleProps","as","SidebarButton","onRemove","goTo","onClick","label","icon","pencil","meta","ExternalLink","className","href","link","filterURLForDisplay","safeDecodeURIComponent","content","__experimentalVStack","alignment","spacing","alt","src","excerpt","__experimentalTruncate","numberOfLines","stripHTML","id","footer","modified"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-page/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\t__experimentalUseNavigator as useNavigator,\n\t__experimentalVStack as VStack,\n\tExternalLink,\n\t__experimentalTruncate as Truncate,\n} from '@wordpress/components';\nimport { store as coreStore, useEntityRecord } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { pencil } from '@wordpress/icons';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { escapeAttribute } from '@wordpress/escape-html';\nimport { safeDecodeURIComponent, filterURLForDisplay } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport SidebarButton from '../sidebar-button';\nimport PageDetails from './page-details';\nimport PageActions from '../page-actions';\nimport SidebarNavigationScreenDetailsFooter from '../sidebar-navigation-screen-details-footer';\n\nexport default function SidebarNavigationScreenPage() {\n\tconst navigator = useNavigator();\n\tconst { setCanvasMode } = unlock( useDispatch( editSiteStore ) );\n\tconst {\n\t\tparams: { postId },\n\t} = useNavigator();\n\tconst { record } = useEntityRecord( 'postType', 'page', postId );\n\n\tconst { featuredMediaAltText, featuredMediaSourceUrl } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\t\t\t// Featured image.\n\t\t\tconst attachedMedia = record?.featured_media\n\t\t\t\t? getEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t'attachment',\n\t\t\t\t\t\trecord?.featured_media\n\t\t\t\t )\n\t\t\t\t: null;\n\n\t\t\treturn {\n\t\t\t\tfeaturedMediaSourceUrl:\n\t\t\t\t\tattachedMedia?.media_details.sizes?.medium?.source_url ||\n\t\t\t\t\tattachedMedia?.source_url,\n\t\t\t\tfeaturedMediaAltText: escapeAttribute(\n\t\t\t\t\tattachedMedia?.alt_text ||\n\t\t\t\t\t\tattachedMedia?.description?.raw ||\n\t\t\t\t\t\t''\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ record ]\n\t);\n\n\tconst featureImageAltText = featuredMediaAltText\n\t\t? decodeEntities( featuredMediaAltText )\n\t\t: decodeEntities( record?.title?.rendered || __( 'Featured image' ) );\n\n\treturn record ? (\n\t\t<SidebarNavigationScreen\n\t\t\ttitle={ decodeEntities(\n\t\t\t\trecord?.title?.rendered || __( '(no title)' )\n\t\t\t) }\n\t\t\tactions={\n\t\t\t\t<>\n\t\t\t\t\t<PageActions\n\t\t\t\t\t\tpostId={ postId }\n\t\t\t\t\t\ttoggleProps={ { as: SidebarButton } }\n\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\tnavigator.goTo( '/page' );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<SidebarButton\n\t\t\t\t\t\tonClick={ () => setCanvasMode( 'edit' ) }\n\t\t\t\t\t\tlabel={ __( 'Edit' ) }\n\t\t\t\t\t\ticon={ pencil }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t}\n\t\t\tmeta={\n\t\t\t\t<ExternalLink\n\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen__page-link\"\n\t\t\t\t\thref={ record.link }\n\t\t\t\t>\n\t\t\t\t\t{ filterURLForDisplay(\n\t\t\t\t\t\tsafeDecodeURIComponent( record.link )\n\t\t\t\t\t) }\n\t\t\t\t</ExternalLink>\n\t\t\t}\n\t\t\tcontent={\n\t\t\t\t<>\n\t\t\t\t\t{ !! featuredMediaSourceUrl && (\n\t\t\t\t\t\t<VStack\n\t\t\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen-page__featured-image-wrapper\"\n\t\t\t\t\t\t\talignment=\"left\"\n\t\t\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"edit-site-sidebar-navigation-screen-page__featured-image has-image\">\n\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\talt={ featureImageAltText }\n\t\t\t\t\t\t\t\t\tsrc={ featuredMediaSourceUrl }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t) }\n\t\t\t\t\t{ !! record?.excerpt?.rendered && (\n\t\t\t\t\t\t<Truncate\n\t\t\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen-page__excerpt\"\n\t\t\t\t\t\t\tnumberOfLines={ 3 }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ stripHTML( record.excerpt.rendered ) }\n\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t) }\n\t\t\t\t\t<PageDetails id={ postId } />\n\t\t\t\t</>\n\t\t\t}\n\t\t\tfooter={\n\t\t\t\trecord?.modified ? (\n\t\t\t\t\t<SidebarNavigationScreenDetailsFooter record={ record } />\n\t\t\t\t) : null\n\t\t\t}\n\t\t/>\n\t) : null;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_i18n","require","_data","_components","_coreData","_htmlEntities","_icons","_dom","_escapeHtml","_url","_element","_router","_sidebarNavigationScreen","_interopRequireDefault","_lockUnlock","_store","_sidebarButton","_pageDetails","_pageActions","_sidebarNavigationScreenDetailsFooter","useHistory","unlock","routerPrivateApis","SidebarNavigationScreenPage","setCanvasMode","useDispatch","editSiteStore","history","params","postId","goTo","useNavigator","record","hasResolved","useEntityRecord","featuredMediaAltText","featuredMediaSourceUrl","useSelect","select","getEntityRecord","coreStore","attachedMedia","featured_media","media_details","sizes","medium","source_url","escapeAttribute","alt_text","description","raw","useEffect","push","path","undefined","postType","canvas","featureImageAltText","decodeEntities","title","rendered","__","_react","createElement","default","actions","Fragment","toggleProps","as","SidebarButton","onRemove","onClick","label","icon","pencil","meta","ExternalLink","className","href","link","filterURLForDisplay","safeDecodeURIComponent","content","__experimentalVStack","alignment","spacing","alt","src","excerpt","__experimentalTruncate","numberOfLines","stripHTML","id","footer","modified"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-page/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\t__experimentalUseNavigator as useNavigator,\n\t__experimentalVStack as VStack,\n\tExternalLink,\n\t__experimentalTruncate as Truncate,\n} from '@wordpress/components';\nimport { store as coreStore, useEntityRecord } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { pencil } from '@wordpress/icons';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { escapeAttribute } from '@wordpress/escape-html';\nimport { safeDecodeURIComponent, filterURLForDisplay } from '@wordpress/url';\nimport { useEffect } from '@wordpress/element';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport SidebarButton from '../sidebar-button';\nimport PageDetails from './page-details';\nimport PageActions from '../page-actions';\nimport SidebarNavigationScreenDetailsFooter from '../sidebar-navigation-screen-details-footer';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nexport default function SidebarNavigationScreenPage() {\n\tconst { setCanvasMode } = unlock( useDispatch( editSiteStore ) );\n\tconst history = useHistory();\n\tconst {\n\t\tparams: { postId },\n\t\tgoTo,\n\t} = useNavigator();\n\tconst { record, hasResolved } = useEntityRecord(\n\t\t'postType',\n\t\t'page',\n\t\tpostId\n\t);\n\n\tconst { featuredMediaAltText, featuredMediaSourceUrl } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\t\t\t// Featured image.\n\t\t\tconst attachedMedia = record?.featured_media\n\t\t\t\t? getEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t'attachment',\n\t\t\t\t\t\trecord?.featured_media\n\t\t\t\t )\n\t\t\t\t: null;\n\n\t\t\treturn {\n\t\t\t\tfeaturedMediaSourceUrl:\n\t\t\t\t\tattachedMedia?.media_details.sizes?.medium?.source_url ||\n\t\t\t\t\tattachedMedia?.source_url,\n\t\t\t\tfeaturedMediaAltText: escapeAttribute(\n\t\t\t\t\tattachedMedia?.alt_text ||\n\t\t\t\t\t\tattachedMedia?.description?.raw ||\n\t\t\t\t\t\t''\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ record ]\n\t);\n\n\t// Redirect to the main pages navigation screen if the page is not found or has been deleted.\n\tuseEffect( () => {\n\t\tif ( hasResolved && ! record ) {\n\t\t\thistory.push( {\n\t\t\t\tpath: '/page',\n\t\t\t\tpostId: undefined,\n\t\t\t\tpostType: undefined,\n\t\t\t\tcanvas: 'view',\n\t\t\t} );\n\t\t}\n\t}, [ hasResolved, history ] );\n\n\tconst featureImageAltText = featuredMediaAltText\n\t\t? decodeEntities( featuredMediaAltText )\n\t\t: decodeEntities( record?.title?.rendered || __( 'Featured image' ) );\n\n\treturn record ? (\n\t\t<SidebarNavigationScreen\n\t\t\ttitle={ decodeEntities(\n\t\t\t\trecord?.title?.rendered || __( '(no title)' )\n\t\t\t) }\n\t\t\tactions={\n\t\t\t\t<>\n\t\t\t\t\t<PageActions\n\t\t\t\t\t\tpostId={ postId }\n\t\t\t\t\t\ttoggleProps={ { as: SidebarButton } }\n\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\tgoTo( '/page' );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<SidebarButton\n\t\t\t\t\t\tonClick={ () => setCanvasMode( 'edit' ) }\n\t\t\t\t\t\tlabel={ __( 'Edit' ) }\n\t\t\t\t\t\ticon={ pencil }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t}\n\t\t\tmeta={\n\t\t\t\t<ExternalLink\n\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen__page-link\"\n\t\t\t\t\thref={ record.link }\n\t\t\t\t>\n\t\t\t\t\t{ filterURLForDisplay(\n\t\t\t\t\t\tsafeDecodeURIComponent( record.link )\n\t\t\t\t\t) }\n\t\t\t\t</ExternalLink>\n\t\t\t}\n\t\t\tcontent={\n\t\t\t\t<>\n\t\t\t\t\t{ !! featuredMediaSourceUrl && (\n\t\t\t\t\t\t<VStack\n\t\t\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen-page__featured-image-wrapper\"\n\t\t\t\t\t\t\talignment=\"left\"\n\t\t\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"edit-site-sidebar-navigation-screen-page__featured-image has-image\">\n\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\talt={ featureImageAltText }\n\t\t\t\t\t\t\t\t\tsrc={ featuredMediaSourceUrl }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t) }\n\t\t\t\t\t{ !! record?.excerpt?.rendered && (\n\t\t\t\t\t\t<Truncate\n\t\t\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen-page__excerpt\"\n\t\t\t\t\t\t\tnumberOfLines={ 3 }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ stripHTML( record.excerpt.rendered ) }\n\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t) }\n\t\t\t\t\t<PageDetails id={ postId } />\n\t\t\t\t</>\n\t\t\t}\n\t\t\tfooter={\n\t\t\t\trecord?.modified ? (\n\t\t\t\t\t<SidebarNavigationScreenDetailsFooter record={ record } />\n\t\t\t\t) : null\n\t\t\t}\n\t\t/>\n\t) : null;\n}\n"],"mappings":"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"}
@@ -33,6 +33,11 @@ const {
33
33
  ExperimentalBlockEditorProvider,
34
34
  useGlobalStyle
35
35
  } = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
36
+ const {
37
+ CompositeV2: Composite,
38
+ CompositeItemV2: CompositeItem,
39
+ useCompositeStoreV2: useCompositeStore
40
+ } = (0, _lockUnlock.unlock)(_components.privateApis);
36
41
 
37
42
  // The content area of the Style Book is rendered within an iframe so that global styles
38
43
  // are applied to elements within the entire content area. To support elements that are
@@ -57,6 +62,8 @@ const STYLE_BOOK_IFRAME_STYLES = `
57
62
  padding: 16px;
58
63
  width: 100%;
59
64
  box-sizing: border-box;
65
+ scroll-margin-top: 32px;
66
+ scroll-margin-bottom: 32px;
60
67
  }
61
68
 
62
69
  .edit-site-style-book__example.is-selected {
@@ -262,7 +269,8 @@ const StyleBookBody = ({
262
269
  // translators: %s: Category of blocks, e.g. Text.
263
270
  (0, _i18n.__)('Examples of blocks in the %s category'), title) : (0, _i18n.__)('Examples of blocks'),
264
271
  isSelected: isSelected,
265
- onSelect: onSelect
272
+ onSelect: onSelect,
273
+ key: category
266
274
  }));
267
275
  };
268
276
  const Examples = (0, _element.memo)(({
@@ -273,17 +281,17 @@ const Examples = (0, _element.memo)(({
273
281
  isSelected,
274
282
  onSelect
275
283
  }) => {
276
- const composite = (0, _components.__unstableUseCompositeState)({
284
+ const compositeStore = useCompositeStore({
277
285
  orientation: 'vertical'
278
286
  });
279
- return (0, _react.createElement)(_components.__unstableComposite, {
280
- ...composite,
287
+ return (0, _react.createElement)(Composite, {
288
+ store: compositeStore,
281
289
  className: className,
282
- "aria-label": label
290
+ "aria-label": label,
291
+ role: "grid"
283
292
  }, examples.filter(example => category ? example.category === category : true).map(example => (0, _react.createElement)(Example, {
284
293
  key: example.name,
285
294
  id: `example-${example.name}`,
286
- composite: composite,
287
295
  title: example.title,
288
296
  blocks: example.blocks,
289
297
  isSelected: isSelected(example.name),
@@ -293,7 +301,6 @@ const Examples = (0, _element.memo)(({
293
301
  })));
294
302
  });
295
303
  const Example = ({
296
- composite,
297
304
  id,
298
305
  title,
299
306
  blocks,
@@ -308,8 +315,11 @@ const Example = ({
308
315
 
309
316
  // Cache the list of blocks to avoid additional processing when the component is re-rendered.
310
317
  const renderedBlocks = (0, _element.useMemo)(() => Array.isArray(blocks) ? blocks : [blocks], [blocks]);
311
- return (0, _react.createElement)(_components.__unstableCompositeItem, {
312
- ...composite,
318
+ return (0, _react.createElement)("div", {
319
+ role: "row"
320
+ }, (0, _react.createElement)("div", {
321
+ role: "gridcell"
322
+ }, (0, _react.createElement)(CompositeItem, {
313
323
  className: (0, _classnames.default)('edit-site-style-book__example', {
314
324
  'is-selected': isSelected
315
325
  }),
@@ -317,9 +327,9 @@ const Example = ({
317
327
  "aria-label": (0, _i18n.sprintf)(
318
328
  // translators: %s: Title of a block, e.g. Heading.
319
329
  (0, _i18n.__)('Open %s styles in Styles panel'), title),
320
- onClick: onClick,
330
+ render: (0, _react.createElement)("div", null),
321
331
  role: "button",
322
- as: "div"
332
+ onClick: onClick
323
333
  }, (0, _react.createElement)("span", {
324
334
  className: "edit-site-style-book__example-title"
325
335
  }, title), (0, _react.createElement)("div", {
@@ -332,7 +342,7 @@ const Example = ({
332
342
  settings: settings
333
343
  }, (0, _react.createElement)(_blockEditor.BlockList, {
334
344
  renderAppender: false
335
- })))));
345
+ })))))));
336
346
  };
337
347
  var _default = StyleBook;
338
348
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_components","_i18n","_blocks","_blockEditor","_data","_compose","_element","_keycodes","_lockUnlock","_editorCanvasContainer","ExperimentalBlockEditorProvider","useGlobalStyle","unlock","blockEditorPrivateApis","STYLE_BOOK_IFRAME_STYLES","getExamples","headingsExample","name","title","__","category","blocks","createBlock","content","level","otherExamples","getBlockTypes","filter","blockType","example","supports","inserter","map","getBlockFromExample","StyleBook","enableResizing","isSelected","onClick","onSelect","showCloseButton","showTabs","resizeObserver","sizes","useResizeObserver","textColor","backgroundColor","examples","useMemo","tabs","getCategories","some","slug","icon","originalSettings","useSelect","select","blockEditorStore","getSettings","settings","__unstableIsPreviewMode","_react","createElement","default","closeButtonLabel","className","classnames","width","style","color","background","TabPanel","tab","StyleBookBody","isFocused","setIsFocused","useState","buttonModeProps","role","onFocus","onBlur","onKeyDown","event","defaultPrevented","keyCode","ENTER","SPACE","preventDefault","readonly","buttonModeStyles","__unstableIframe","tabIndex","__unstableEditorStyles","styles","Examples","label","sprintf","memo","composite","useCompositeState","orientation","__unstableComposite","Example","key","id","renderedBlocks","Array","isArray","__unstableCompositeItem","as","Disabled","value","BlockList","renderAppender","_default","exports"],"sources":["@wordpress/edit-site/src/components/style-book/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__unstableComposite as Composite,\n\t__unstableUseCompositeState as useCompositeState,\n\t__unstableCompositeItem as CompositeItem,\n\tDisabled,\n\tTabPanel,\n} from '@wordpress/components';\n\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tgetCategories,\n\tgetBlockTypes,\n\tgetBlockFromExample,\n\tcreateBlock,\n} from '@wordpress/blocks';\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 { useSelect } from '@wordpress/data';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { useMemo, useState, memo } 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';\n\nconst { ExperimentalBlockEditorProvider, useGlobalStyle } = unlock(\n\tblockEditorPrivateApis\n);\n\n// The content area of the Style Book is rendered within an iframe so that global styles\n// are applied to elements within the entire content area. To support elements that are\n// not part of the block previews, such as headings and layout for the block previews,\n// additional CSS rules need to be passed into the iframe. These are hard-coded below.\n// Note that button styles are unset, and then focus rules from the `Button` component are\n// applied to the `button` element, targeted via `.edit-site-style-book__example`.\n// This is to ensure that browser default styles for buttons are not applied to the previews.\nconst STYLE_BOOK_IFRAME_STYLES = `\n\t.edit-site-style-book__examples {\n\t\tmax-width: 900px;\n\t\tmargin: 0 auto;\n\t}\n\n\t.edit-site-style-book__example {\n\t\tborder-radius: 2px;\n\t\tcursor: pointer;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: 40px;\n\t\tmargin-bottom: 40px;\n\t\tpadding: 16px;\n\t\twidth: 100%;\n\t\tbox-sizing: border-box;\n\t}\n\n\t.edit-site-style-book__example.is-selected {\n\t\tbox-shadow: 0 0 0 1px var(--wp-components-color-accent, var(--wp-admin-theme-color, #007cba));\n\t}\n\n\t.edit-site-style-book__example:focus:not(:disabled) {\n\t\tbox-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent, var(--wp-admin-theme-color, #007cba));\n\t\toutline: 3px solid transparent;\n\t}\n\n\t.edit-site-style-book__examples.is-wide .edit-site-style-book__example {\n\t\tflex-direction: row;\n\t}\n\n\t.edit-site-style-book__example-title {\n\t\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;\n\t\tfont-size: 11px;\n\t\tfont-weight: 500;\n\t\tline-height: normal;\n\t\tmargin: 0;\n\t\ttext-align: left;\n\t\ttext-transform: uppercase;\n\t}\n\n\t.edit-site-style-book__examples.is-wide .edit-site-style-book__example-title {\n\t\ttext-align: right;\n\t\twidth: 120px;\n\t}\n\n\t.edit-site-style-book__example-preview {\n\t\twidth: 100%;\n\t}\n\n\t.edit-site-style-book__example-preview .block-editor-block-list__insertion-point,\n\t.edit-site-style-book__example-preview .block-list-appender {\n\t\tdisplay: none;\n\t}\n\n\t.edit-site-style-book__example-preview .is-root-container > .wp-block:first-child {\n\t\tmargin-top: 0;\n\t}\n\t.edit-site-style-book__example-preview .is-root-container > .wp-block:last-child {\n\t\tmargin-bottom: 0;\n\t}\n`;\n\nfunction getExamples() {\n\t// Use our own example for the Heading block so that we can show multiple\n\t// heading levels.\n\tconst headingsExample = {\n\t\tname: 'core/heading',\n\t\ttitle: __( 'Headings' ),\n\t\tcategory: 'text',\n\t\tblocks: [\n\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\tcontent: __( 'Code Is Poetry' ),\n\t\t\t\tlevel: 1,\n\t\t\t} ),\n\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\tcontent: __( 'Code Is Poetry' ),\n\t\t\t\tlevel: 2,\n\t\t\t} ),\n\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\tcontent: __( 'Code Is Poetry' ),\n\t\t\t\tlevel: 3,\n\t\t\t} ),\n\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\tcontent: __( 'Code Is Poetry' ),\n\t\t\t\tlevel: 4,\n\t\t\t} ),\n\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\tcontent: __( 'Code Is Poetry' ),\n\t\t\t\tlevel: 5,\n\t\t\t} ),\n\t\t],\n\t};\n\n\tconst otherExamples = getBlockTypes()\n\t\t.filter( ( blockType ) => {\n\t\t\tconst { name, example, supports } = blockType;\n\t\t\treturn (\n\t\t\t\tname !== 'core/heading' &&\n\t\t\t\t!! example &&\n\t\t\t\tsupports.inserter !== false\n\t\t\t);\n\t\t} )\n\t\t.map( ( blockType ) => ( {\n\t\t\tname: blockType.name,\n\t\t\ttitle: blockType.title,\n\t\t\tcategory: blockType.category,\n\t\t\tblocks: getBlockFromExample( blockType.name, blockType.example ),\n\t\t} ) );\n\n\treturn [ headingsExample, ...otherExamples ];\n}\n\nfunction StyleBook( {\n\tenableResizing = true,\n\tisSelected,\n\tonClick,\n\tonSelect,\n\tshowCloseButton = true,\n\tshowTabs = true,\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst [ textColor ] = useGlobalStyle( 'color.text' );\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst examples = useMemo( getExamples, [] );\n\tconst tabs = useMemo(\n\t\t() =>\n\t\t\tgetCategories()\n\t\t\t\t.filter( ( category ) =>\n\t\t\t\t\texamples.some(\n\t\t\t\t\t\t( example ) => example.category === category.slug\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t.map( ( category ) => ( {\n\t\t\t\t\tname: category.slug,\n\t\t\t\t\ttitle: category.title,\n\t\t\t\t\ticon: category.icon,\n\t\t\t\t} ) ),\n\t\t[ examples ]\n\t);\n\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( { ...originalSettings, __unstableIsPreviewMode: true } ),\n\t\t[ originalSettings ]\n\t);\n\n\treturn (\n\t\t<EditorCanvasContainer\n\t\t\tenableResizing={ enableResizing }\n\t\t\tcloseButtonLabel={\n\t\t\t\tshowCloseButton ? __( 'Close Style Book' ) : null\n\t\t\t}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={ classnames( '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<TabPanel\n\t\t\t\t\t\tclassName=\"edit-site-style-book__tab-panel\"\n\t\t\t\t\t\ttabs={ tabs }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( tab ) => (\n\t\t\t\t\t\t\t<StyleBookBody\n\t\t\t\t\t\t\t\tcategory={ tab.name }\n\t\t\t\t\t\t\t\texamples={ 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\tsettings={ settings }\n\t\t\t\t\t\t\t\tsizes={ sizes }\n\t\t\t\t\t\t\t\ttitle={ tab.title }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</TabPanel>\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\tconst buttonModeStyles = onClick\n\t\t? 'body { cursor: pointer; } body * { pointer-events: none; }'\n\t\t: '';\n\n\treturn (\n\t\t<Iframe\n\t\t\tclassName={ classnames( '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{\n\t\t\t\t\t// Forming a \"block formatting context\" to prevent margin collapsing.\n\t\t\t\t\t// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\n\t\t\t\t\t`.is-root-container { display: flow-root; }\n\t\t\t\t\t\tbody { position: relative; padding: 32px !important; }` +\n\t\t\t\t\t\tSTYLE_BOOK_IFRAME_STYLES +\n\t\t\t\t\t\tbuttonModeStyles\n\t\t\t\t}\n\t\t\t</style>\n\t\t\t<Examples\n\t\t\t\tclassName={ classnames( '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/>\n\t\t</Iframe>\n\t);\n};\n\nconst Examples = memo(\n\t( { className, examples, category, label, isSelected, onSelect } ) => {\n\t\tconst composite = useCompositeState( { orientation: 'vertical' } );\n\t\treturn (\n\t\t\t<Composite\n\t\t\t\t{ ...composite }\n\t\t\t\tclassName={ className }\n\t\t\t\taria-label={ label }\n\t\t\t>\n\t\t\t\t{ examples\n\t\t\t\t\t.filter( ( example ) =>\n\t\t\t\t\t\tcategory ? example.category === category : true\n\t\t\t\t\t)\n\t\t\t\t\t.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\tcomposite={ composite }\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</Composite>\n\t\t);\n\t}\n);\n\nconst Example = ( { composite, 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() => ( { ...originalSettings, __unstableIsPreviewMode: true } ),\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<CompositeItem\n\t\t\t{ ...composite }\n\t\t\tclassName={ classnames( 'edit-site-style-book__example', {\n\t\t\t\t'is-selected': isSelected,\n\t\t\t} ) }\n\t\t\tid={ id }\n\t\t\taria-label={ sprintf(\n\t\t\t\t// translators: %s: Title of a block, e.g. Heading.\n\t\t\t\t__( 'Open %s styles in Styles panel' ),\n\t\t\t\ttitle\n\t\t\t) }\n\t\t\tonClick={ onClick }\n\t\t\trole=\"button\"\n\t\t\tas=\"div\"\n\t\t>\n\t\t\t<span className=\"edit-site-style-book__example-title\">\n\t\t\t\t{ title }\n\t\t\t</span>\n\t\t\t<div className=\"edit-site-style-book__example-preview\" aria-hidden>\n\t\t\t\t<Disabled className=\"edit-site-style-book__example-preview__content\">\n\t\t\t\t\t<ExperimentalBlockEditorProvider\n\t\t\t\t\t\tvalue={ renderedBlocks }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockList renderAppender={ false } />\n\t\t\t\t\t</ExperimentalBlockEditorProvider>\n\t\t\t\t</Disabled>\n\t\t\t</div>\n\t\t</CompositeItem>\n\t);\n};\n\nexport default StyleBook;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_components","_i18n","_blocks","_blockEditor","_data","_compose","_element","_keycodes","_lockUnlock","_editorCanvasContainer","ExperimentalBlockEditorProvider","useGlobalStyle","unlock","blockEditorPrivateApis","CompositeV2","Composite","CompositeItemV2","CompositeItem","useCompositeStoreV2","useCompositeStore","componentsPrivateApis","STYLE_BOOK_IFRAME_STYLES","getExamples","headingsExample","name","title","__","category","blocks","createBlock","content","level","otherExamples","getBlockTypes","filter","blockType","example","supports","inserter","map","getBlockFromExample","StyleBook","enableResizing","isSelected","onClick","onSelect","showCloseButton","showTabs","resizeObserver","sizes","useResizeObserver","textColor","backgroundColor","examples","useMemo","tabs","getCategories","some","slug","icon","originalSettings","useSelect","select","blockEditorStore","getSettings","settings","__unstableIsPreviewMode","_react","createElement","default","closeButtonLabel","className","classnames","width","style","color","background","TabPanel","tab","StyleBookBody","isFocused","setIsFocused","useState","buttonModeProps","role","onFocus","onBlur","onKeyDown","event","defaultPrevented","keyCode","ENTER","SPACE","preventDefault","readonly","buttonModeStyles","__unstableIframe","tabIndex","__unstableEditorStyles","styles","Examples","label","sprintf","key","memo","compositeStore","orientation","store","Example","id","renderedBlocks","Array","isArray","render","Disabled","value","BlockList","renderAppender","_default","exports"],"sources":["@wordpress/edit-site/src/components/style-book/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tDisabled,\n\tTabPanel,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tgetCategories,\n\tgetBlockTypes,\n\tgetBlockFromExample,\n\tcreateBlock,\n} from '@wordpress/blocks';\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 { useSelect } from '@wordpress/data';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { useMemo, useState, memo } 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';\n\nconst { ExperimentalBlockEditorProvider, useGlobalStyle } = unlock(\n\tblockEditorPrivateApis\n);\n\nconst {\n\tCompositeV2: Composite,\n\tCompositeItemV2: CompositeItem,\n\tuseCompositeStoreV2: useCompositeStore,\n} = unlock( componentsPrivateApis );\n\n// The content area of the Style Book is rendered within an iframe so that global styles\n// are applied to elements within the entire content area. To support elements that are\n// not part of the block previews, such as headings and layout for the block previews,\n// additional CSS rules need to be passed into the iframe. These are hard-coded below.\n// Note that button styles are unset, and then focus rules from the `Button` component are\n// applied to the `button` element, targeted via `.edit-site-style-book__example`.\n// This is to ensure that browser default styles for buttons are not applied to the previews.\nconst STYLE_BOOK_IFRAME_STYLES = `\n\t.edit-site-style-book__examples {\n\t\tmax-width: 900px;\n\t\tmargin: 0 auto;\n\t}\n\n\t.edit-site-style-book__example {\n\t\tborder-radius: 2px;\n\t\tcursor: pointer;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: 40px;\n\t\tmargin-bottom: 40px;\n\t\tpadding: 16px;\n\t\twidth: 100%;\n\t\tbox-sizing: border-box;\n\t\tscroll-margin-top: 32px;\n\t\tscroll-margin-bottom: 32px;\n\t}\n\n\t.edit-site-style-book__example.is-selected {\n\t\tbox-shadow: 0 0 0 1px var(--wp-components-color-accent, var(--wp-admin-theme-color, #007cba));\n\t}\n\n\t.edit-site-style-book__example:focus:not(:disabled) {\n\t\tbox-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent, var(--wp-admin-theme-color, #007cba));\n\t\toutline: 3px solid transparent;\n\t}\n\n\t.edit-site-style-book__examples.is-wide .edit-site-style-book__example {\n\t\tflex-direction: row;\n\t}\n\n\t.edit-site-style-book__example-title {\n\t\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;\n\t\tfont-size: 11px;\n\t\tfont-weight: 500;\n\t\tline-height: normal;\n\t\tmargin: 0;\n\t\ttext-align: left;\n\t\ttext-transform: uppercase;\n\t}\n\n\t.edit-site-style-book__examples.is-wide .edit-site-style-book__example-title {\n\t\ttext-align: right;\n\t\twidth: 120px;\n\t}\n\n\t.edit-site-style-book__example-preview {\n\t\twidth: 100%;\n\t}\n\n\t.edit-site-style-book__example-preview .block-editor-block-list__insertion-point,\n\t.edit-site-style-book__example-preview .block-list-appender {\n\t\tdisplay: none;\n\t}\n\n\t.edit-site-style-book__example-preview .is-root-container > .wp-block:first-child {\n\t\tmargin-top: 0;\n\t}\n\t.edit-site-style-book__example-preview .is-root-container > .wp-block:last-child {\n\t\tmargin-bottom: 0;\n\t}\n`;\n\nfunction getExamples() {\n\t// Use our own example for the Heading block so that we can show multiple\n\t// heading levels.\n\tconst headingsExample = {\n\t\tname: 'core/heading',\n\t\ttitle: __( 'Headings' ),\n\t\tcategory: 'text',\n\t\tblocks: [\n\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\tcontent: __( 'Code Is Poetry' ),\n\t\t\t\tlevel: 1,\n\t\t\t} ),\n\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\tcontent: __( 'Code Is Poetry' ),\n\t\t\t\tlevel: 2,\n\t\t\t} ),\n\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\tcontent: __( 'Code Is Poetry' ),\n\t\t\t\tlevel: 3,\n\t\t\t} ),\n\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\tcontent: __( 'Code Is Poetry' ),\n\t\t\t\tlevel: 4,\n\t\t\t} ),\n\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\tcontent: __( 'Code Is Poetry' ),\n\t\t\t\tlevel: 5,\n\t\t\t} ),\n\t\t],\n\t};\n\n\tconst otherExamples = getBlockTypes()\n\t\t.filter( ( blockType ) => {\n\t\t\tconst { name, example, supports } = blockType;\n\t\t\treturn (\n\t\t\t\tname !== 'core/heading' &&\n\t\t\t\t!! example &&\n\t\t\t\tsupports.inserter !== false\n\t\t\t);\n\t\t} )\n\t\t.map( ( blockType ) => ( {\n\t\t\tname: blockType.name,\n\t\t\ttitle: blockType.title,\n\t\t\tcategory: blockType.category,\n\t\t\tblocks: getBlockFromExample( blockType.name, blockType.example ),\n\t\t} ) );\n\n\treturn [ headingsExample, ...otherExamples ];\n}\n\nfunction StyleBook( {\n\tenableResizing = true,\n\tisSelected,\n\tonClick,\n\tonSelect,\n\tshowCloseButton = true,\n\tshowTabs = true,\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst [ textColor ] = useGlobalStyle( 'color.text' );\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst examples = useMemo( getExamples, [] );\n\tconst tabs = useMemo(\n\t\t() =>\n\t\t\tgetCategories()\n\t\t\t\t.filter( ( category ) =>\n\t\t\t\t\texamples.some(\n\t\t\t\t\t\t( example ) => example.category === category.slug\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t.map( ( category ) => ( {\n\t\t\t\t\tname: category.slug,\n\t\t\t\t\ttitle: category.title,\n\t\t\t\t\ticon: category.icon,\n\t\t\t\t} ) ),\n\t\t[ examples ]\n\t);\n\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( { ...originalSettings, __unstableIsPreviewMode: true } ),\n\t\t[ originalSettings ]\n\t);\n\n\treturn (\n\t\t<EditorCanvasContainer\n\t\t\tenableResizing={ enableResizing }\n\t\t\tcloseButtonLabel={\n\t\t\t\tshowCloseButton ? __( 'Close Style Book' ) : null\n\t\t\t}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={ classnames( '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<TabPanel\n\t\t\t\t\t\tclassName=\"edit-site-style-book__tab-panel\"\n\t\t\t\t\t\ttabs={ tabs }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( tab ) => (\n\t\t\t\t\t\t\t<StyleBookBody\n\t\t\t\t\t\t\t\tcategory={ tab.name }\n\t\t\t\t\t\t\t\texamples={ 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\tsettings={ settings }\n\t\t\t\t\t\t\t\tsizes={ sizes }\n\t\t\t\t\t\t\t\ttitle={ tab.title }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</TabPanel>\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\tconst buttonModeStyles = onClick\n\t\t? 'body { cursor: pointer; } body * { pointer-events: none; }'\n\t\t: '';\n\n\treturn (\n\t\t<Iframe\n\t\t\tclassName={ classnames( '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{\n\t\t\t\t\t// Forming a \"block formatting context\" to prevent margin collapsing.\n\t\t\t\t\t// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\n\t\t\t\t\t`.is-root-container { display: flow-root; }\n\t\t\t\t\t\tbody { position: relative; padding: 32px !important; }` +\n\t\t\t\t\t\tSTYLE_BOOK_IFRAME_STYLES +\n\t\t\t\t\t\tbuttonModeStyles\n\t\t\t\t}\n\t\t\t</style>\n\t\t\t<Examples\n\t\t\t\tclassName={ classnames( '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 compositeStore = useCompositeStore( { orientation: 'vertical' } );\n\n\t\treturn (\n\t\t\t<Composite\n\t\t\t\tstore={ compositeStore }\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{ examples\n\t\t\t\t\t.filter( ( example ) =>\n\t\t\t\t\t\tcategory ? example.category === category : true\n\t\t\t\t\t)\n\t\t\t\t\t.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</Composite>\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() => ( { ...originalSettings, __unstableIsPreviewMode: true } ),\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<CompositeItem\n\t\t\t\t\tclassName={ classnames( '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</CompositeItem>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default StyleBook;\n"],"mappings":"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"}
@@ -29,22 +29,40 @@ function useResolveEditedEntityAndContext({
29
29
  postType
30
30
  }) {
31
31
  const {
32
- isRequestingSite,
32
+ hasLoadedAllDependencies,
33
33
  homepageId,
34
- url
34
+ url,
35
+ frontPageTemplateId
35
36
  } = (0, _data.useSelect)(select => {
36
37
  const {
37
38
  getSite,
38
- getUnstableBase
39
+ getUnstableBase,
40
+ getEntityRecords
39
41
  } = select(_coreData.store);
40
42
  const siteData = getSite();
41
43
  const base = getUnstableBase();
44
+ const templates = getEntityRecords('postType', _constants.TEMPLATE_POST_TYPE, {
45
+ per_page: -1
46
+ });
47
+ let _frontPateTemplateId;
48
+ if (templates) {
49
+ const frontPageTemplate = templates.find(t => t.slug === 'front-page');
50
+ _frontPateTemplateId = frontPageTemplate ? frontPageTemplate.id : false;
51
+ }
42
52
  return {
43
- isRequestingSite: !base,
44
- homepageId: siteData?.show_on_front === 'page' ? siteData.page_on_front : null,
45
- url: base?.home
53
+ hasLoadedAllDependencies: !!base && !!siteData,
54
+ homepageId: siteData?.show_on_front === 'page' ? siteData.page_on_front.toString() : null,
55
+ url: base?.home,
56
+ frontPageTemplateId: _frontPateTemplateId
46
57
  };
47
58
  }, []);
59
+
60
+ /**
61
+ * This is a hook that recreates the logic to resolve a template for a given WordPress postID postTypeId
62
+ * in order to match the frontend as closely as possible in the site editor.
63
+ *
64
+ * It is not possible to rely on the server logic because there maybe unsaved changes that impact the template resolution.
65
+ */
48
66
  const resolvedTemplateId = (0, _data.useSelect)(select => {
49
67
  // If we're rendering a post type that doesn't have a template
50
68
  // no need to resolve its template.
@@ -58,6 +76,17 @@ function useResolveEditedEntityAndContext({
58
76
  __experimentalGetTemplateForLink
59
77
  } = select(_coreData.store);
60
78
  function resolveTemplateForPostTypeAndId(postTypeToResolve, postIdToResolve) {
79
+ // For the front page, we always use the front page template if existing.
80
+ if (postTypeToResolve === 'page' && homepageId === postIdToResolve) {
81
+ // We're still checking whether the front page template exists.
82
+ // Don't resolve the template yet.
83
+ if (frontPageTemplateId === undefined) {
84
+ return undefined;
85
+ }
86
+ if (!!frontPageTemplateId) {
87
+ return frontPageTemplateId;
88
+ }
89
+ }
61
90
  const editedEntity = getEditedEntityRecord('postType', postTypeToResolve, postIdToResolve);
62
91
  if (!editedEntity) {
63
92
  return undefined;
@@ -80,6 +109,9 @@ function useResolveEditedEntityAndContext({
80
109
  slug: `${postTypeToResolve}-${editedEntity?.slug}`
81
110
  });
82
111
  }
112
+ if (!hasLoadedAllDependencies) {
113
+ return undefined;
114
+ }
83
115
 
84
116
  // If we're rendering a specific page, post... we need to resolve its template.
85
117
  if (postType && postId) {
@@ -92,11 +124,11 @@ function useResolveEditedEntityAndContext({
92
124
  }
93
125
 
94
126
  // If we're not rendering a specific page, use the front page template.
95
- if (!isRequestingSite && url) {
127
+ if (url) {
96
128
  const template = __experimentalGetTemplateForLink(url);
97
129
  return template?.id;
98
130
  }
99
- }, [homepageId, isRequestingSite, url, postId, postType]);
131
+ }, [homepageId, hasLoadedAllDependencies, url, postId, postType, frontPageTemplateId]);
100
132
  const context = (0, _element.useMemo)(() => {
101
133
  if (postTypesWithoutParentTemplate.includes(postType)) {
102
134
  return {};
@@ -123,7 +155,7 @@ function useResolveEditedEntityAndContext({
123
155
  context
124
156
  };
125
157
  }
126
- if (postType && postId || homepageId || !isRequestingSite) {
158
+ if (hasLoadedAllDependencies) {
127
159
  return {
128
160
  isReady: resolvedTemplateId !== undefined,
129
161
  postType: _constants.TEMPLATE_POST_TYPE,
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_data","_coreData","_router","_store","_lockUnlock","_constants","useLocation","unlock","routerPrivateApis","postTypesWithoutParentTemplate","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","NAVIGATION_POST_TYPE","PATTERN_TYPES","user","useResolveEditedEntityAndContext","postId","postType","isRequestingSite","homepageId","url","useSelect","select","getSite","getUnstableBase","coreDataStore","siteData","base","show_on_front","page_on_front","home","resolvedTemplateId","includes","undefined","getEditedEntityRecord","getEntityRecords","getDefaultTemplateId","__experimentalGetTemplateForLink","resolveTemplateForPostTypeAndId","postTypeToResolve","postIdToResolve","editedEntity","currentTemplateSlug","template","currentTemplate","per_page","find","slug","id","context","useMemo","isReady","useInitEditedEntity","params","setEditedEntity","useDispatch","editSiteStore","useEffect","useInitEditedEntityFromURL"],"sources":["@wordpress/edit-site/src/components/sync-state-with-url/use-init-edited-entity-from-url.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_TYPES,\n} from '../../utils/constants';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nconst postTypesWithoutParentTemplate = [\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_TYPES.user,\n];\n\nfunction useResolveEditedEntityAndContext( { postId, postType } ) {\n\tconst { isRequestingSite, homepageId, url } = useSelect( ( select ) => {\n\t\tconst { getSite, getUnstableBase } = select( coreDataStore );\n\t\tconst siteData = getSite();\n\t\tconst base = getUnstableBase();\n\n\t\treturn {\n\t\t\tisRequestingSite: ! base,\n\t\t\thomepageId:\n\t\t\t\tsiteData?.show_on_front === 'page'\n\t\t\t\t\t? siteData.page_on_front\n\t\t\t\t\t: null,\n\t\t\turl: base?.home,\n\t\t};\n\t}, [] );\n\n\tconst resolvedTemplateId = useSelect(\n\t\t( select ) => {\n\t\t\t// If we're rendering a post type that doesn't have a template\n\t\t\t// no need to resolve its template.\n\t\t\tif ( postTypesWithoutParentTemplate.includes( postType ) ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\tgetEditedEntityRecord,\n\t\t\t\tgetEntityRecords,\n\t\t\t\tgetDefaultTemplateId,\n\t\t\t\t__experimentalGetTemplateForLink,\n\t\t\t} = select( coreDataStore );\n\n\t\t\tfunction resolveTemplateForPostTypeAndId(\n\t\t\t\tpostTypeToResolve,\n\t\t\t\tpostIdToResolve\n\t\t\t) {\n\t\t\t\tconst editedEntity = getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostTypeToResolve,\n\t\t\t\t\tpostIdToResolve\n\t\t\t\t);\n\t\t\t\tif ( ! editedEntity ) {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t\t// First see if the post/page has an assigned template and fetch it.\n\t\t\t\tconst currentTemplateSlug = editedEntity.template;\n\t\t\t\tif ( currentTemplateSlug ) {\n\t\t\t\t\tconst currentTemplate = getEntityRecords(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tper_page: -1,\n\t\t\t\t\t\t}\n\t\t\t\t\t)?.find( ( { slug } ) => slug === currentTemplateSlug );\n\t\t\t\t\tif ( currentTemplate ) {\n\t\t\t\t\t\treturn currentTemplate.id;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// If no template is assigned, use the default template.\n\t\t\t\treturn getDefaultTemplateId( {\n\t\t\t\t\tslug: `${ postTypeToResolve }-${ editedEntity?.slug }`,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// If we're rendering a specific page, post... we need to resolve its template.\n\t\t\tif ( postType && postId ) {\n\t\t\t\treturn resolveTemplateForPostTypeAndId( postType, postId );\n\t\t\t}\n\n\t\t\t// If we're rendering the home page, and we have a static home page, resolve its template.\n\t\t\tif ( homepageId ) {\n\t\t\t\treturn resolveTemplateForPostTypeAndId( 'page', homepageId );\n\t\t\t}\n\n\t\t\t// If we're not rendering a specific page, use the front page template.\n\t\t\tif ( ! isRequestingSite && url ) {\n\t\t\t\tconst template = __experimentalGetTemplateForLink( url );\n\t\t\t\treturn template?.id;\n\t\t\t}\n\t\t},\n\t\t[ homepageId, isRequestingSite, url, postId, postType ]\n\t);\n\n\tconst context = useMemo( () => {\n\t\tif ( postTypesWithoutParentTemplate.includes( postType ) ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tif ( postType && postId ) {\n\t\t\treturn { postType, postId };\n\t\t}\n\n\t\tif ( homepageId ) {\n\t\t\treturn { postType: 'page', postId: homepageId };\n\t\t}\n\n\t\treturn {};\n\t}, [ homepageId, postType, postId ] );\n\n\tif ( postTypesWithoutParentTemplate.includes( postType ) ) {\n\t\treturn { isReady: true, postType, postId, context };\n\t}\n\n\tif ( ( postType && postId ) || homepageId || ! isRequestingSite ) {\n\t\treturn {\n\t\t\tisReady: resolvedTemplateId !== undefined,\n\t\t\tpostType: TEMPLATE_POST_TYPE,\n\t\t\tpostId: resolvedTemplateId,\n\t\t\tcontext,\n\t\t};\n\t}\n\n\treturn { isReady: false };\n}\n\nexport function useInitEditedEntity( params ) {\n\tconst { postType, postId, context, isReady } =\n\t\tuseResolveEditedEntityAndContext( params );\n\n\tconst { setEditedEntity } = useDispatch( editSiteStore );\n\n\tuseEffect( () => {\n\t\tif ( isReady ) {\n\t\t\tsetEditedEntity( postType, postId, context );\n\t\t}\n\t}, [ isReady, postType, postId, context, setEditedEntity ] );\n}\n\nexport default function useInitEditedEntityFromURL() {\n\tconst { params = {} } = useLocation();\n\treturn useInitEditedEntity( params );\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_data","_coreData","_router","_store","_lockUnlock","_constants","useLocation","unlock","routerPrivateApis","postTypesWithoutParentTemplate","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","NAVIGATION_POST_TYPE","PATTERN_TYPES","user","useResolveEditedEntityAndContext","postId","postType","hasLoadedAllDependencies","homepageId","url","frontPageTemplateId","useSelect","select","getSite","getUnstableBase","getEntityRecords","coreDataStore","siteData","base","templates","per_page","_frontPateTemplateId","frontPageTemplate","find","t","slug","id","show_on_front","page_on_front","toString","home","resolvedTemplateId","includes","undefined","getEditedEntityRecord","getDefaultTemplateId","__experimentalGetTemplateForLink","resolveTemplateForPostTypeAndId","postTypeToResolve","postIdToResolve","editedEntity","currentTemplateSlug","template","currentTemplate","context","useMemo","isReady","useInitEditedEntity","params","setEditedEntity","useDispatch","editSiteStore","useEffect","useInitEditedEntityFromURL"],"sources":["@wordpress/edit-site/src/components/sync-state-with-url/use-init-edited-entity-from-url.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_TYPES,\n} from '../../utils/constants';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nconst postTypesWithoutParentTemplate = [\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_TYPES.user,\n];\n\nfunction useResolveEditedEntityAndContext( { postId, postType } ) {\n\tconst { hasLoadedAllDependencies, homepageId, url, frontPageTemplateId } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst { getSite, getUnstableBase, getEntityRecords } =\n\t\t\t\tselect( coreDataStore );\n\t\t\tconst siteData = getSite();\n\t\t\tconst base = getUnstableBase();\n\t\t\tconst templates = getEntityRecords(\n\t\t\t\t'postType',\n\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t{\n\t\t\t\t\tper_page: -1,\n\t\t\t\t}\n\t\t\t);\n\t\t\tlet _frontPateTemplateId;\n\t\t\tif ( templates ) {\n\t\t\t\tconst frontPageTemplate = templates.find(\n\t\t\t\t\t( t ) => t.slug === 'front-page'\n\t\t\t\t);\n\t\t\t\t_frontPateTemplateId = frontPageTemplate\n\t\t\t\t\t? frontPageTemplate.id\n\t\t\t\t\t: false;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\thasLoadedAllDependencies: !! base && !! siteData,\n\t\t\t\thomepageId:\n\t\t\t\t\tsiteData?.show_on_front === 'page'\n\t\t\t\t\t\t? siteData.page_on_front.toString()\n\t\t\t\t\t\t: null,\n\t\t\t\turl: base?.home,\n\t\t\t\tfrontPageTemplateId: _frontPateTemplateId,\n\t\t\t};\n\t\t}, [] );\n\n\t/**\n\t * This is a hook that recreates the logic to resolve a template for a given WordPress postID postTypeId\n\t * in order to match the frontend as closely as possible in the site editor.\n\t *\n\t * It is not possible to rely on the server logic because there maybe unsaved changes that impact the template resolution.\n\t */\n\tconst resolvedTemplateId = useSelect(\n\t\t( select ) => {\n\t\t\t// If we're rendering a post type that doesn't have a template\n\t\t\t// no need to resolve its template.\n\t\t\tif ( postTypesWithoutParentTemplate.includes( postType ) ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\tgetEditedEntityRecord,\n\t\t\t\tgetEntityRecords,\n\t\t\t\tgetDefaultTemplateId,\n\t\t\t\t__experimentalGetTemplateForLink,\n\t\t\t} = select( coreDataStore );\n\n\t\t\tfunction resolveTemplateForPostTypeAndId(\n\t\t\t\tpostTypeToResolve,\n\t\t\t\tpostIdToResolve\n\t\t\t) {\n\t\t\t\t// For the front page, we always use the front page template if existing.\n\t\t\t\tif (\n\t\t\t\t\tpostTypeToResolve === 'page' &&\n\t\t\t\t\thomepageId === postIdToResolve\n\t\t\t\t) {\n\t\t\t\t\t// We're still checking whether the front page template exists.\n\t\t\t\t\t// Don't resolve the template yet.\n\t\t\t\t\tif ( frontPageTemplateId === undefined ) {\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( !! frontPageTemplateId ) {\n\t\t\t\t\t\treturn frontPageTemplateId;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst editedEntity = getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostTypeToResolve,\n\t\t\t\t\tpostIdToResolve\n\t\t\t\t);\n\t\t\t\tif ( ! editedEntity ) {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t\t// First see if the post/page has an assigned template and fetch it.\n\t\t\t\tconst currentTemplateSlug = editedEntity.template;\n\t\t\t\tif ( currentTemplateSlug ) {\n\t\t\t\t\tconst currentTemplate = getEntityRecords(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tper_page: -1,\n\t\t\t\t\t\t}\n\t\t\t\t\t)?.find( ( { slug } ) => slug === currentTemplateSlug );\n\t\t\t\t\tif ( currentTemplate ) {\n\t\t\t\t\t\treturn currentTemplate.id;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// If no template is assigned, use the default template.\n\t\t\t\treturn getDefaultTemplateId( {\n\t\t\t\t\tslug: `${ postTypeToResolve }-${ editedEntity?.slug }`,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( ! hasLoadedAllDependencies ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\t// If we're rendering a specific page, post... we need to resolve its template.\n\t\t\tif ( postType && postId ) {\n\t\t\t\treturn resolveTemplateForPostTypeAndId( postType, postId );\n\t\t\t}\n\n\t\t\t// If we're rendering the home page, and we have a static home page, resolve its template.\n\t\t\tif ( homepageId ) {\n\t\t\t\treturn resolveTemplateForPostTypeAndId( 'page', homepageId );\n\t\t\t}\n\n\t\t\t// If we're not rendering a specific page, use the front page template.\n\t\t\tif ( url ) {\n\t\t\t\tconst template = __experimentalGetTemplateForLink( url );\n\t\t\t\treturn template?.id;\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\thomepageId,\n\t\t\thasLoadedAllDependencies,\n\t\t\turl,\n\t\t\tpostId,\n\t\t\tpostType,\n\t\t\tfrontPageTemplateId,\n\t\t]\n\t);\n\n\tconst context = useMemo( () => {\n\t\tif ( postTypesWithoutParentTemplate.includes( postType ) ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tif ( postType && postId ) {\n\t\t\treturn { postType, postId };\n\t\t}\n\n\t\tif ( homepageId ) {\n\t\t\treturn { postType: 'page', postId: homepageId };\n\t\t}\n\n\t\treturn {};\n\t}, [ homepageId, postType, postId ] );\n\n\tif ( postTypesWithoutParentTemplate.includes( postType ) ) {\n\t\treturn { isReady: true, postType, postId, context };\n\t}\n\n\tif ( hasLoadedAllDependencies ) {\n\t\treturn {\n\t\t\tisReady: resolvedTemplateId !== undefined,\n\t\t\tpostType: TEMPLATE_POST_TYPE,\n\t\t\tpostId: resolvedTemplateId,\n\t\t\tcontext,\n\t\t};\n\t}\n\n\treturn { isReady: false };\n}\n\nexport function useInitEditedEntity( params ) {\n\tconst { postType, postId, context, isReady } =\n\t\tuseResolveEditedEntityAndContext( params );\n\n\tconst { setEditedEntity } = useDispatch( editSiteStore );\n\n\tuseEffect( () => {\n\t\tif ( isReady ) {\n\t\t\tsetEditedEntity( postType, postId, context );\n\t\t}\n\t}, [ isReady, postType, postId, context, setEditedEntity ] );\n}\n\nexport default function useInitEditedEntityFromURL() {\n\tconst { params = {} } = useLocation();\n\treturn useInitEditedEntity( params );\n}\n"],"mappings":"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"}
@@ -26,9 +26,9 @@ function WelcomeGuidePage() {
26
26
  const isPageActive = !!select(_preferences.store).get('core/edit-site', 'welcomeGuidePage');
27
27
  const isEditorActive = !!select(_preferences.store).get('core/edit-site', 'welcomeGuide');
28
28
  const {
29
- hasPageContentFocus
29
+ isPage
30
30
  } = select(_store.store);
31
- return isPageActive && !isEditorActive && hasPageContentFocus();
31
+ return isPageActive && !isEditorActive && isPage();
32
32
  }, []);
33
33
  if (!isVisible) {
34
34
  return null;
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_components","_i18n","_preferences","_store","WelcomeGuidePage","toggle","useDispatch","preferencesStore","isVisible","useSelect","select","isPageActive","get","isEditorActive","hasPageContentFocus","editSiteStore","heading","__","_react","createElement","Guide","className","contentLabel","finishButtonText","onFinish","pages","image","autoPlay","loop","muted","width","height","src","type","content","Fragment"],"sources":["@wordpress/edit-site/src/components/welcome-guide/page.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { Guide } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\n\nexport default function WelcomeGuidePage() {\n\tconst { toggle } = useDispatch( preferencesStore );\n\n\tconst isVisible = useSelect( ( select ) => {\n\t\tconst isPageActive = !! select( preferencesStore ).get(\n\t\t\t'core/edit-site',\n\t\t\t'welcomeGuidePage'\n\t\t);\n\t\tconst isEditorActive = !! select( preferencesStore ).get(\n\t\t\t'core/edit-site',\n\t\t\t'welcomeGuide'\n\t\t);\n\t\tconst { hasPageContentFocus } = select( editSiteStore );\n\t\treturn isPageActive && ! isEditorActive && hasPageContentFocus();\n\t}, [] );\n\n\tif ( ! isVisible ) {\n\t\treturn null;\n\t}\n\n\tconst heading = __( 'Editing a page' );\n\n\treturn (\n\t\t<Guide\n\t\t\tclassName=\"edit-site-welcome-guide guide-page\"\n\t\t\tcontentLabel={ heading }\n\t\t\tfinishButtonText={ __( 'Continue' ) }\n\t\t\tonFinish={ () => toggle( 'core/edit-site', 'welcomeGuidePage' ) }\n\t\t\tpages={ [\n\t\t\t\t{\n\t\t\t\t\timage: (\n\t\t\t\t\t\t<video\n\t\t\t\t\t\t\tclassName=\"edit-site-welcome-guide__video\"\n\t\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\t\tloop\n\t\t\t\t\t\t\tmuted\n\t\t\t\t\t\t\twidth=\"312\"\n\t\t\t\t\t\t\theight=\"240\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<source\n\t\t\t\t\t\t\t\tsrc=\"https://s.w.org/images/block-editor/editing-your-page.mp4\"\n\t\t\t\t\t\t\t\ttype=\"video/mp4\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</video>\n\t\t\t\t\t),\n\t\t\t\t\tcontent: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<h1 className=\"edit-site-welcome-guide__heading\">\n\t\t\t\t\t\t\t\t{ heading }\n\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t\t<p className=\"edit-site-welcome-guide__text\">\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'It’s now possible to edit page content in the site editor. To customise other parts of the page like the header and footer switch to editing the template using the settings sidebar.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t] }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AAXA;AACA;AACA;;AAMA;AACA;AACA;;AAGe,SAASK,gBAAgBA,CAAA,EAAG;EAC1C,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,iBAAW,EAAEC,kBAAiB,CAAC;EAElD,MAAMC,SAAS,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC1C,MAAMC,YAAY,GAAG,CAAC,CAAED,MAAM,CAAEH,kBAAiB,CAAC,CAACK,GAAG,CACrD,gBAAgB,EAChB,kBACD,CAAC;IACD,MAAMC,cAAc,GAAG,CAAC,CAAEH,MAAM,CAAEH,kBAAiB,CAAC,CAACK,GAAG,CACvD,gBAAgB,EAChB,cACD,CAAC;IACD,MAAM;MAAEE;IAAoB,CAAC,GAAGJ,MAAM,CAAEK,YAAc,CAAC;IACvD,OAAOJ,YAAY,IAAI,CAAEE,cAAc,IAAIC,mBAAmB,CAAC,CAAC;EACjE,CAAC,EAAE,EAAG,CAAC;EAEP,IAAK,CAAEN,SAAS,EAAG;IAClB,OAAO,IAAI;EACZ;EAEA,MAAMQ,OAAO,GAAG,IAAAC,QAAE,EAAE,gBAAiB,CAAC;EAEtC,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAAoB,KAAK;IACLC,SAAS,EAAC,oCAAoC;IAC9CC,YAAY,EAAGN,OAAS;IACxBO,gBAAgB,EAAG,IAAAN,QAAE,EAAE,UAAW,CAAG;IACrCO,QAAQ,EAAGA,CAAA,KAAMnB,MAAM,CAAE,gBAAgB,EAAE,kBAAmB,CAAG;IACjEoB,KAAK,EAAG,CACP;MACCC,KAAK,EACJ,IAAAR,MAAA,CAAAC,aAAA;QACCE,SAAS,EAAC,gCAAgC;QAC1CM,QAAQ;QACRC,IAAI;QACJC,KAAK;QACLC,KAAK,EAAC,KAAK;QACXC,MAAM,EAAC;MAAK,GAEZ,IAAAb,MAAA,CAAAC,aAAA;QACCa,GAAG,EAAC,2DAA2D;QAC/DC,IAAI,EAAC;MAAW,CAChB,CACK,CACP;MACDC,OAAO,EACN,IAAAhB,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAiB,QAAA,QACC,IAAAjB,MAAA,CAAAC,aAAA;QAAIE,SAAS,EAAC;MAAkC,GAC7CL,OACC,CAAC,EACL,IAAAE,MAAA,CAAAC,aAAA;QAAGE,SAAS,EAAC;MAA+B,GACzC,IAAAJ,QAAE,EACH,uLACD,CACE,CACF;IAEJ,CAAC;EACC,CACH,CAAC;AAEJ"}
1
+ {"version":3,"names":["_data","require","_components","_i18n","_preferences","_store","WelcomeGuidePage","toggle","useDispatch","preferencesStore","isVisible","useSelect","select","isPageActive","get","isEditorActive","isPage","editSiteStore","heading","__","_react","createElement","Guide","className","contentLabel","finishButtonText","onFinish","pages","image","autoPlay","loop","muted","width","height","src","type","content","Fragment"],"sources":["@wordpress/edit-site/src/components/welcome-guide/page.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { Guide } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\n\nexport default function WelcomeGuidePage() {\n\tconst { toggle } = useDispatch( preferencesStore );\n\n\tconst isVisible = useSelect( ( select ) => {\n\t\tconst isPageActive = !! select( preferencesStore ).get(\n\t\t\t'core/edit-site',\n\t\t\t'welcomeGuidePage'\n\t\t);\n\t\tconst isEditorActive = !! select( preferencesStore ).get(\n\t\t\t'core/edit-site',\n\t\t\t'welcomeGuide'\n\t\t);\n\t\tconst { isPage } = select( editSiteStore );\n\t\treturn isPageActive && ! isEditorActive && isPage();\n\t}, [] );\n\n\tif ( ! isVisible ) {\n\t\treturn null;\n\t}\n\n\tconst heading = __( 'Editing a page' );\n\n\treturn (\n\t\t<Guide\n\t\t\tclassName=\"edit-site-welcome-guide guide-page\"\n\t\t\tcontentLabel={ heading }\n\t\t\tfinishButtonText={ __( 'Continue' ) }\n\t\t\tonFinish={ () => toggle( 'core/edit-site', 'welcomeGuidePage' ) }\n\t\t\tpages={ [\n\t\t\t\t{\n\t\t\t\t\timage: (\n\t\t\t\t\t\t<video\n\t\t\t\t\t\t\tclassName=\"edit-site-welcome-guide__video\"\n\t\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\t\tloop\n\t\t\t\t\t\t\tmuted\n\t\t\t\t\t\t\twidth=\"312\"\n\t\t\t\t\t\t\theight=\"240\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<source\n\t\t\t\t\t\t\t\tsrc=\"https://s.w.org/images/block-editor/editing-your-page.mp4\"\n\t\t\t\t\t\t\t\ttype=\"video/mp4\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</video>\n\t\t\t\t\t),\n\t\t\t\t\tcontent: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<h1 className=\"edit-site-welcome-guide__heading\">\n\t\t\t\t\t\t\t\t{ heading }\n\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t\t<p className=\"edit-site-welcome-guide__text\">\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'It’s now possible to edit page content in the site editor. To customise other parts of the page like the header and footer switch to editing the template using the settings sidebar.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t] }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AAXA;AACA;AACA;;AAMA;AACA;AACA;;AAGe,SAASK,gBAAgBA,CAAA,EAAG;EAC1C,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,iBAAW,EAAEC,kBAAiB,CAAC;EAElD,MAAMC,SAAS,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC1C,MAAMC,YAAY,GAAG,CAAC,CAAED,MAAM,CAAEH,kBAAiB,CAAC,CAACK,GAAG,CACrD,gBAAgB,EAChB,kBACD,CAAC;IACD,MAAMC,cAAc,GAAG,CAAC,CAAEH,MAAM,CAAEH,kBAAiB,CAAC,CAACK,GAAG,CACvD,gBAAgB,EAChB,cACD,CAAC;IACD,MAAM;MAAEE;IAAO,CAAC,GAAGJ,MAAM,CAAEK,YAAc,CAAC;IAC1C,OAAOJ,YAAY,IAAI,CAAEE,cAAc,IAAIC,MAAM,CAAC,CAAC;EACpD,CAAC,EAAE,EAAG,CAAC;EAEP,IAAK,CAAEN,SAAS,EAAG;IAClB,OAAO,IAAI;EACZ;EAEA,MAAMQ,OAAO,GAAG,IAAAC,QAAE,EAAE,gBAAiB,CAAC;EAEtC,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAAoB,KAAK;IACLC,SAAS,EAAC,oCAAoC;IAC9CC,YAAY,EAAGN,OAAS;IACxBO,gBAAgB,EAAG,IAAAN,QAAE,EAAE,UAAW,CAAG;IACrCO,QAAQ,EAAGA,CAAA,KAAMnB,MAAM,CAAE,gBAAgB,EAAE,kBAAmB,CAAG;IACjEoB,KAAK,EAAG,CACP;MACCC,KAAK,EACJ,IAAAR,MAAA,CAAAC,aAAA;QACCE,SAAS,EAAC,gCAAgC;QAC1CM,QAAQ;QACRC,IAAI;QACJC,KAAK;QACLC,KAAK,EAAC,KAAK;QACXC,MAAM,EAAC;MAAK,GAEZ,IAAAb,MAAA,CAAAC,aAAA;QACCa,GAAG,EAAC,2DAA2D;QAC/DC,IAAI,EAAC;MAAW,CAChB,CACK,CACP;MACDC,OAAO,EACN,IAAAhB,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAiB,QAAA,QACC,IAAAjB,MAAA,CAAAC,aAAA;QAAIE,SAAS,EAAC;MAAkC,GAC7CL,OACC,CAAC,EACL,IAAAE,MAAA,CAAAC,aAAA;QAAGE,SAAS,EAAC;MAA+B,GACzC,IAAAJ,QAAE,EACH,uLACD,CACE,CACF;IAEJ,CAAC;EACC,CACH,CAAC;AAEJ"}
@@ -9,6 +9,7 @@ var _data = require("@wordpress/data");
9
9
  var _components = require("@wordpress/components");
10
10
  var _i18n = require("@wordpress/i18n");
11
11
  var _preferences = require("@wordpress/preferences");
12
+ var _editor = require("@wordpress/editor");
12
13
  var _store = require("../../store");
13
14
  /**
14
15
  * WordPress dependencies
@@ -26,10 +27,12 @@ function WelcomeGuideTemplate() {
26
27
  const isTemplateActive = !!select(_preferences.store).get('core/edit-site', 'welcomeGuideTemplate');
27
28
  const isEditorActive = !!select(_preferences.store).get('core/edit-site', 'welcomeGuide');
28
29
  const {
29
- isPage,
30
- hasPageContentFocus
30
+ isPage
31
31
  } = select(_store.store);
32
- return isTemplateActive && !isEditorActive && isPage() && !hasPageContentFocus();
32
+ const {
33
+ getRenderingMode
34
+ } = select(_editor.store);
35
+ return isTemplateActive && !isEditorActive && isPage() && getRenderingMode() === 'template-only';
33
36
  }, []);
34
37
  if (!isVisible) {
35
38
  return null;
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_components","_i18n","_preferences","_store","WelcomeGuideTemplate","toggle","useDispatch","preferencesStore","isVisible","useSelect","select","isTemplateActive","get","isEditorActive","isPage","hasPageContentFocus","editSiteStore","heading","__","_react","createElement","Guide","className","contentLabel","finishButtonText","onFinish","pages","image","autoPlay","loop","muted","width","height","src","type","content","Fragment"],"sources":["@wordpress/edit-site/src/components/welcome-guide/template.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { Guide } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\n\nexport default function WelcomeGuideTemplate() {\n\tconst { toggle } = useDispatch( preferencesStore );\n\n\tconst isVisible = useSelect( ( select ) => {\n\t\tconst isTemplateActive = !! select( preferencesStore ).get(\n\t\t\t'core/edit-site',\n\t\t\t'welcomeGuideTemplate'\n\t\t);\n\t\tconst isEditorActive = !! select( preferencesStore ).get(\n\t\t\t'core/edit-site',\n\t\t\t'welcomeGuide'\n\t\t);\n\t\tconst { isPage, hasPageContentFocus } = select( editSiteStore );\n\t\treturn (\n\t\t\tisTemplateActive &&\n\t\t\t! isEditorActive &&\n\t\t\tisPage() &&\n\t\t\t! hasPageContentFocus()\n\t\t);\n\t}, [] );\n\n\tif ( ! isVisible ) {\n\t\treturn null;\n\t}\n\n\tconst heading = __( 'Editing a template' );\n\n\treturn (\n\t\t<Guide\n\t\t\tclassName=\"edit-site-welcome-guide guide-template\"\n\t\t\tcontentLabel={ heading }\n\t\t\tfinishButtonText={ __( 'Continue' ) }\n\t\t\tonFinish={ () =>\n\t\t\t\ttoggle( 'core/edit-site', 'welcomeGuideTemplate' )\n\t\t\t}\n\t\t\tpages={ [\n\t\t\t\t{\n\t\t\t\t\timage: (\n\t\t\t\t\t\t<video\n\t\t\t\t\t\t\tclassName=\"edit-site-welcome-guide__video\"\n\t\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\t\tloop\n\t\t\t\t\t\t\tmuted\n\t\t\t\t\t\t\twidth=\"312\"\n\t\t\t\t\t\t\theight=\"240\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<source\n\t\t\t\t\t\t\t\tsrc=\"https://s.w.org/images/block-editor/editing-your-template.mp4\"\n\t\t\t\t\t\t\t\ttype=\"video/mp4\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</video>\n\t\t\t\t\t),\n\t\t\t\t\tcontent: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<h1 className=\"edit-site-welcome-guide__heading\">\n\t\t\t\t\t\t\t\t{ heading }\n\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t\t<p className=\"edit-site-welcome-guide__text\">\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'Note that the same template can be used by multiple pages, so any changes made here may affect other pages on the site. To switch back to editing the page content click the ‘Back’ button in the toolbar.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t] }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AAXA;AACA;AACA;;AAMA;AACA;AACA;;AAGe,SAASK,oBAAoBA,CAAA,EAAG;EAC9C,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,iBAAW,EAAEC,kBAAiB,CAAC;EAElD,MAAMC,SAAS,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC1C,MAAMC,gBAAgB,GAAG,CAAC,CAAED,MAAM,CAAEH,kBAAiB,CAAC,CAACK,GAAG,CACzD,gBAAgB,EAChB,sBACD,CAAC;IACD,MAAMC,cAAc,GAAG,CAAC,CAAEH,MAAM,CAAEH,kBAAiB,CAAC,CAACK,GAAG,CACvD,gBAAgB,EAChB,cACD,CAAC;IACD,MAAM;MAAEE,MAAM;MAAEC;IAAoB,CAAC,GAAGL,MAAM,CAAEM,YAAc,CAAC;IAC/D,OACCL,gBAAgB,IAChB,CAAEE,cAAc,IAChBC,MAAM,CAAC,CAAC,IACR,CAAEC,mBAAmB,CAAC,CAAC;EAEzB,CAAC,EAAE,EAAG,CAAC;EAEP,IAAK,CAAEP,SAAS,EAAG;IAClB,OAAO,IAAI;EACZ;EAEA,MAAMS,OAAO,GAAG,IAAAC,QAAE,EAAE,oBAAqB,CAAC;EAE1C,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACpB,WAAA,CAAAqB,KAAK;IACLC,SAAS,EAAC,wCAAwC;IAClDC,YAAY,EAAGN,OAAS;IACxBO,gBAAgB,EAAG,IAAAN,QAAE,EAAE,UAAW,CAAG;IACrCO,QAAQ,EAAGA,CAAA,KACVpB,MAAM,CAAE,gBAAgB,EAAE,sBAAuB,CACjD;IACDqB,KAAK,EAAG,CACP;MACCC,KAAK,EACJ,IAAAR,MAAA,CAAAC,aAAA;QACCE,SAAS,EAAC,gCAAgC;QAC1CM,QAAQ;QACRC,IAAI;QACJC,KAAK;QACLC,KAAK,EAAC,KAAK;QACXC,MAAM,EAAC;MAAK,GAEZ,IAAAb,MAAA,CAAAC,aAAA;QACCa,GAAG,EAAC,+DAA+D;QACnEC,IAAI,EAAC;MAAW,CAChB,CACK,CACP;MACDC,OAAO,EACN,IAAAhB,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAiB,QAAA,QACC,IAAAjB,MAAA,CAAAC,aAAA;QAAIE,SAAS,EAAC;MAAkC,GAC7CL,OACC,CAAC,EACL,IAAAE,MAAA,CAAAC,aAAA;QAAGE,SAAS,EAAC;MAA+B,GACzC,IAAAJ,QAAE,EACH,4MACD,CACE,CACF;IAEJ,CAAC;EACC,CACH,CAAC;AAEJ"}
1
+ {"version":3,"names":["_data","require","_components","_i18n","_preferences","_editor","_store","WelcomeGuideTemplate","toggle","useDispatch","preferencesStore","isVisible","useSelect","select","isTemplateActive","get","isEditorActive","isPage","editSiteStore","getRenderingMode","editorStore","heading","__","_react","createElement","Guide","className","contentLabel","finishButtonText","onFinish","pages","image","autoPlay","loop","muted","width","height","src","type","content","Fragment"],"sources":["@wordpress/edit-site/src/components/welcome-guide/template.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { Guide } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\n\nexport default function WelcomeGuideTemplate() {\n\tconst { toggle } = useDispatch( preferencesStore );\n\n\tconst isVisible = useSelect( ( select ) => {\n\t\tconst isTemplateActive = !! select( preferencesStore ).get(\n\t\t\t'core/edit-site',\n\t\t\t'welcomeGuideTemplate'\n\t\t);\n\t\tconst isEditorActive = !! select( preferencesStore ).get(\n\t\t\t'core/edit-site',\n\t\t\t'welcomeGuide'\n\t\t);\n\t\tconst { isPage } = select( editSiteStore );\n\t\tconst { getRenderingMode } = select( editorStore );\n\t\treturn (\n\t\t\tisTemplateActive &&\n\t\t\t! isEditorActive &&\n\t\t\tisPage() &&\n\t\t\tgetRenderingMode() === 'template-only'\n\t\t);\n\t}, [] );\n\n\tif ( ! isVisible ) {\n\t\treturn null;\n\t}\n\n\tconst heading = __( 'Editing a template' );\n\n\treturn (\n\t\t<Guide\n\t\t\tclassName=\"edit-site-welcome-guide guide-template\"\n\t\t\tcontentLabel={ heading }\n\t\t\tfinishButtonText={ __( 'Continue' ) }\n\t\t\tonFinish={ () =>\n\t\t\t\ttoggle( 'core/edit-site', 'welcomeGuideTemplate' )\n\t\t\t}\n\t\t\tpages={ [\n\t\t\t\t{\n\t\t\t\t\timage: (\n\t\t\t\t\t\t<video\n\t\t\t\t\t\t\tclassName=\"edit-site-welcome-guide__video\"\n\t\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\t\tloop\n\t\t\t\t\t\t\tmuted\n\t\t\t\t\t\t\twidth=\"312\"\n\t\t\t\t\t\t\theight=\"240\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<source\n\t\t\t\t\t\t\t\tsrc=\"https://s.w.org/images/block-editor/editing-your-template.mp4\"\n\t\t\t\t\t\t\t\ttype=\"video/mp4\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</video>\n\t\t\t\t\t),\n\t\t\t\t\tcontent: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<h1 className=\"edit-site-welcome-guide__heading\">\n\t\t\t\t\t\t\t\t{ heading }\n\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t\t<p className=\"edit-site-welcome-guide__text\">\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'Note that the same template can be used by multiple pages, so any changes made here may affect other pages on the site. To switch back to editing the page content click the ‘Back’ button in the toolbar.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t] }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAKA,IAAAK,MAAA,GAAAL,OAAA;AAZA;AACA;AACA;;AAOA;AACA;AACA;;AAGe,SAASM,oBAAoBA,CAAA,EAAG;EAC9C,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,iBAAW,EAAEC,kBAAiB,CAAC;EAElD,MAAMC,SAAS,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC1C,MAAMC,gBAAgB,GAAG,CAAC,CAAED,MAAM,CAAEH,kBAAiB,CAAC,CAACK,GAAG,CACzD,gBAAgB,EAChB,sBACD,CAAC;IACD,MAAMC,cAAc,GAAG,CAAC,CAAEH,MAAM,CAAEH,kBAAiB,CAAC,CAACK,GAAG,CACvD,gBAAgB,EAChB,cACD,CAAC;IACD,MAAM;MAAEE;IAAO,CAAC,GAAGJ,MAAM,CAAEK,YAAc,CAAC;IAC1C,MAAM;MAAEC;IAAiB,CAAC,GAAGN,MAAM,CAAEO,aAAY,CAAC;IAClD,OACCN,gBAAgB,IAChB,CAAEE,cAAc,IAChBC,MAAM,CAAC,CAAC,IACRE,gBAAgB,CAAC,CAAC,KAAK,eAAe;EAExC,CAAC,EAAE,EAAG,CAAC;EAEP,IAAK,CAAER,SAAS,EAAG;IAClB,OAAO,IAAI;EACZ;EAEA,MAAMU,OAAO,GAAG,IAAAC,QAAE,EAAE,oBAAqB,CAAC;EAE1C,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACtB,WAAA,CAAAuB,KAAK;IACLC,SAAS,EAAC,wCAAwC;IAClDC,YAAY,EAAGN,OAAS;IACxBO,gBAAgB,EAAG,IAAAN,QAAE,EAAE,UAAW,CAAG;IACrCO,QAAQ,EAAGA,CAAA,KACVrB,MAAM,CAAE,gBAAgB,EAAE,sBAAuB,CACjD;IACDsB,KAAK,EAAG,CACP;MACCC,KAAK,EACJ,IAAAR,MAAA,CAAAC,aAAA;QACCE,SAAS,EAAC,gCAAgC;QAC1CM,QAAQ;QACRC,IAAI;QACJC,KAAK;QACLC,KAAK,EAAC,KAAK;QACXC,MAAM,EAAC;MAAK,GAEZ,IAAAb,MAAA,CAAAC,aAAA;QACCa,GAAG,EAAC,+DAA+D;QACnEC,IAAI,EAAC;MAAW,CAChB,CACK,CACP;MACDC,OAAO,EACN,IAAAhB,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAiB,QAAA,QACC,IAAAjB,MAAA,CAAAC,aAAA;QAAIE,SAAS,EAAC;MAAkC,GAC7CL,OACC,CAAC,EACL,IAAAE,MAAA,CAAAC,aAAA;QAAGE,SAAS,EAAC;MAA+B,GACzC,IAAAJ,QAAE,EACH,4MACD,CACE,CACF;IAEJ,CAAC;EACC,CACH,CAAC;AAEJ"}
@@ -14,6 +14,7 @@ var _router = require("@wordpress/router");
14
14
  var _preferences = require("@wordpress/preferences");
15
15
  var _interface = require("@wordpress/interface");
16
16
  var _notices = require("@wordpress/notices");
17
+ var _editor = require("@wordpress/editor");
17
18
  var _store = require("../../store");
18
19
  var _useEditedEntityRecord = _interopRequireDefault(require("../../components/use-edited-entity-record"));
19
20
  var _isTemplateRemovable = _interopRequireDefault(require("../../utils/is-template-removable"));
@@ -41,15 +42,24 @@ function usePageContentFocusCommands() {
41
42
  const {
42
43
  isPage,
43
44
  canvasMode,
44
- hasPageContentFocus
45
- } = (0, _data.useSelect)(select => ({
46
- isPage: select(_store.store).isPage(),
47
- canvasMode: (0, _lockUnlock.unlock)(select(_store.store)).getCanvasMode(),
48
- hasPageContentFocus: select(_store.store).hasPageContentFocus()
49
- }), []);
45
+ renderingMode
46
+ } = (0, _data.useSelect)(select => {
47
+ const {
48
+ isPage: _isPage,
49
+ getCanvasMode
50
+ } = (0, _lockUnlock.unlock)(select(_store.store));
51
+ const {
52
+ getRenderingMode
53
+ } = select(_editor.store);
54
+ return {
55
+ isPage: _isPage(),
56
+ canvasMode: getCanvasMode(),
57
+ renderingMode: getRenderingMode()
58
+ };
59
+ }, []);
50
60
  const {
51
- setHasPageContentFocus
52
- } = (0, _data.useDispatch)(_store.store);
61
+ setRenderingMode
62
+ } = (0, _data.useDispatch)(_editor.store);
53
63
  if (!isPage || canvasMode !== 'edit') {
54
64
  return {
55
65
  isLoading: false,
@@ -57,7 +67,7 @@ function usePageContentFocusCommands() {
57
67
  };
58
68
  }
59
69
  const commands = [];
60
- if (hasPageContentFocus) {
70
+ if (renderingMode !== 'template-only') {
61
71
  commands.push({
62
72
  name: 'core/switch-to-template-focus',
63
73
  /* translators: %1$s: template title */
@@ -66,7 +76,7 @@ function usePageContentFocusCommands() {
66
76
  callback: ({
67
77
  close
68
78
  }) => {
69
- setHasPageContentFocus(false);
79
+ setRenderingMode('template-only');
70
80
  close();
71
81
  }
72
82
  });
@@ -78,7 +88,7 @@ function usePageContentFocusCommands() {
78
88
  callback: ({
79
89
  close
80
90
  }) => {
81
- setHasPageContentFocus(true);
91
+ setRenderingMode('template-locked');
82
92
  close();
83
93
  }
84
94
  });
@@ -134,7 +144,7 @@ function useManipulateDocumentCommands() {
134
144
  revertTemplate
135
145
  } = (0, _data.useDispatch)(_store.store);
136
146
  const history = useHistory();
137
- const hasPageContentFocus = (0, _data.useSelect)(select => select(_store.store).hasPageContentFocus(), []);
147
+ const isEditingPage = (0, _data.useSelect)(select => select(_store.store).isPage() && select(_editor.store).getRenderingMode() !== 'template-only', []);
138
148
  if (!isLoaded) {
139
149
  return {
140
150
  isLoading: true,
@@ -142,7 +152,7 @@ function useManipulateDocumentCommands() {
142
152
  };
143
153
  }
144
154
  const commands = [];
145
- if ((0, _isTemplateRevertable.default)(template) && !hasPageContentFocus) {
155
+ if ((0, _isTemplateRevertable.default)(template) && !isEditingPage) {
146
156
  const label = template.type === _constants.TEMPLATE_POST_TYPE ? /* translators: %1$s: template title */
147
157
  (0, _i18n.sprintf)('Reset template: %s', (0, _htmlEntities.decodeEntities)(template.title)) : /* translators: %1$s: template part title */
148
158
  (0, _i18n.sprintf)('Reset template part: %s', (0, _htmlEntities.decodeEntities)(template.title));
@@ -158,7 +168,7 @@ function useManipulateDocumentCommands() {
158
168
  }
159
169
  });
160
170
  }
161
- if ((0, _isTemplateRemovable.default)(template) && !hasPageContentFocus) {
171
+ if ((0, _isTemplateRemovable.default)(template) && !isEditingPage) {
162
172
  const label = template.type === _constants.TEMPLATE_POST_TYPE ? /* translators: %1$s: template title */
163
173
  (0, _i18n.sprintf)('Delete template: %s', (0, _htmlEntities.decodeEntities)(template.title)) : /* translators: %1$s: template part title */
164
174
  (0, _i18n.sprintf)('Delete template part: %s', (0, _htmlEntities.decodeEntities)(template.title));