@wordpress/edit-site 5.25.1-next.79a6196f.0 → 5.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (324) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/actions/index.js +139 -36
  3. package/build/components/actions/index.js.map +1 -1
  4. package/build/components/editor-canvas-container/index.js +1 -1
  5. package/build/components/editor-canvas-container/index.js.map +1 -1
  6. package/build/components/global-styles/font-families.js +3 -2
  7. package/build/components/global-styles/font-families.js.map +1 -1
  8. package/build/components/global-styles/font-family-item.js +3 -4
  9. package/build/components/global-styles/font-family-item.js.map +1 -1
  10. package/build/components/global-styles/font-library-modal/context.js +80 -41
  11. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  12. package/build/components/global-styles/font-library-modal/font-collection.js +49 -22
  13. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  14. package/build/components/global-styles/font-library-modal/fonts-grid.js +4 -1
  15. package/build/components/global-styles/font-library-modal/fonts-grid.js.map +1 -1
  16. package/build/components/global-styles/font-library-modal/index.js +4 -4
  17. package/build/components/global-styles/font-library-modal/index.js.map +1 -1
  18. package/build/components/global-styles/font-library-modal/installed-fonts.js +16 -8
  19. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  20. package/build/components/global-styles/font-library-modal/library-font-card.js +1 -1
  21. package/build/components/global-styles/font-library-modal/library-font-card.js.map +1 -1
  22. package/build/components/global-styles/font-library-modal/library-font-variant.js +2 -2
  23. package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  24. package/build/components/global-styles/font-library-modal/local-fonts.js +13 -4
  25. package/build/components/global-styles/font-library-modal/local-fonts.js.map +1 -1
  26. package/build/components/global-styles/font-library-modal/resolvers.js +49 -20
  27. package/build/components/global-styles/font-library-modal/resolvers.js.map +1 -1
  28. package/build/components/global-styles/font-library-modal/utils/filter-fonts.js +17 -2
  29. package/build/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -1
  30. package/build/components/global-styles/font-library-modal/utils/index.js +103 -17
  31. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  32. package/build/components/global-styles/font-library-modal/utils/preview-styles.js +4 -3
  33. package/build/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
  34. package/build/components/global-styles/screen-typography.js +4 -1
  35. package/build/components/global-styles/screen-typography.js.map +1 -1
  36. package/build/components/layout/hooks.js +6 -5
  37. package/build/components/layout/hooks.js.map +1 -1
  38. package/build/components/layout/index.js +19 -28
  39. package/build/components/layout/index.js.map +1 -1
  40. package/build/components/layout/router.js +135 -0
  41. package/build/components/layout/router.js.map +1 -0
  42. package/build/components/page-pages/index.js +92 -69
  43. package/build/components/page-pages/index.js.map +1 -1
  44. package/build/components/page-patterns/dataviews-pattern-actions.js +11 -6
  45. package/build/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
  46. package/build/components/page-patterns/index.js +295 -15
  47. package/build/components/page-patterns/index.js.map +1 -1
  48. package/build/components/{page-templates/template-actions.js → page-templates-template-parts/actions.js} +51 -23
  49. package/build/components/page-templates-template-parts/actions.js.map +1 -0
  50. package/build/components/page-templates-template-parts/add-new-template-part.js.map +1 -0
  51. package/build/components/page-templates-template-parts/index.js +395 -0
  52. package/build/components/page-templates-template-parts/index.js.map +1 -0
  53. package/build/components/preferences-modal/index.js +9 -134
  54. package/build/components/preferences-modal/index.js.map +1 -1
  55. package/build/components/revisions/index.js +1 -1
  56. package/build/components/revisions/index.js.map +1 -1
  57. package/build/components/save-button/index.js +4 -2
  58. package/build/components/save-button/index.js.map +1 -1
  59. package/build/components/save-panel/index.js +6 -5
  60. package/build/components/save-panel/index.js.map +1 -1
  61. package/build/components/sidebar/index.js +3 -1
  62. package/build/components/sidebar/index.js.map +1 -1
  63. package/build/components/sidebar-dataviews/dataview-item.js +3 -1
  64. package/build/components/sidebar-dataviews/dataview-item.js.map +1 -1
  65. package/build/components/sidebar-dataviews/default-views.js +4 -2
  66. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  67. package/build/components/sidebar-dataviews/index.js +2 -2
  68. package/build/components/sidebar-dataviews/index.js.map +1 -1
  69. package/build/components/sidebar-navigation-screen/index.js +8 -7
  70. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  71. package/build/components/sidebar-navigation-screen-pages/index.js +2 -10
  72. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  73. package/build/components/sidebar-navigation-screen-pages-dataviews/index.js +26 -3
  74. package/build/components/sidebar-navigation-screen-pages-dataviews/index.js.map +1 -1
  75. package/build/components/sidebar-navigation-screen-templates-browse/content.js +76 -0
  76. package/build/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -0
  77. package/build/components/sidebar-navigation-screen-templates-browse/index.js +9 -2
  78. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  79. package/build/components/site-hub/index.js +3 -1
  80. package/build/components/site-hub/index.js.map +1 -1
  81. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +47 -12
  82. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  83. package/build/components/sync-state-with-url/use-sync-path-with-url.js +25 -2
  84. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  85. package/build/hooks/commands/use-edit-mode-commands.js +33 -5
  86. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  87. package/build/hooks/push-changes-to-global-styles/index.js +13 -6
  88. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  89. package/build/hooks/template-part-edit.js +7 -6
  90. package/build/hooks/template-part-edit.js.map +1 -1
  91. package/build/index.js +1 -1
  92. package/build/index.js.map +1 -1
  93. package/build/store/actions.js +11 -29
  94. package/build/store/actions.js.map +1 -1
  95. package/build/store/private-actions.js +85 -1
  96. package/build/store/private-actions.js.map +1 -1
  97. package/build/store/selectors.js +2 -2
  98. package/build/store/selectors.js.map +1 -1
  99. package/build/utils/get-is-list-page.js +1 -1
  100. package/build/utils/get-is-list-page.js.map +1 -1
  101. package/build/utils/use-actual-current-theme.js +32 -0
  102. package/build/utils/use-actual-current-theme.js.map +1 -0
  103. package/build-module/components/actions/index.js +139 -36
  104. package/build-module/components/actions/index.js.map +1 -1
  105. package/build-module/components/editor-canvas-container/index.js +1 -1
  106. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  107. package/build-module/components/global-styles/font-families.js +3 -2
  108. package/build-module/components/global-styles/font-families.js.map +1 -1
  109. package/build-module/components/global-styles/font-family-item.js +4 -5
  110. package/build-module/components/global-styles/font-family-item.js.map +1 -1
  111. package/build-module/components/global-styles/font-library-modal/context.js +82 -42
  112. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  113. package/build-module/components/global-styles/font-library-modal/font-collection.js +49 -22
  114. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  115. package/build-module/components/global-styles/font-library-modal/fonts-grid.js +4 -1
  116. package/build-module/components/global-styles/font-library-modal/fonts-grid.js.map +1 -1
  117. package/build-module/components/global-styles/font-library-modal/index.js +4 -4
  118. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
  119. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +16 -8
  120. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  121. package/build-module/components/global-styles/font-library-modal/library-font-card.js +1 -1
  122. package/build-module/components/global-styles/font-library-modal/library-font-card.js.map +1 -1
  123. package/build-module/components/global-styles/font-library-modal/library-font-variant.js +2 -2
  124. package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  125. package/build-module/components/global-styles/font-library-modal/local-fonts.js +13 -4
  126. package/build-module/components/global-styles/font-library-modal/local-fonts.js.map +1 -1
  127. package/build-module/components/global-styles/font-library-modal/resolvers.js +45 -18
  128. package/build-module/components/global-styles/font-library-modal/resolvers.js.map +1 -1
  129. package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js +17 -2
  130. package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -1
  131. package/build-module/components/global-styles/font-library-modal/utils/index.js +99 -16
  132. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  133. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js +4 -3
  134. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
  135. package/build-module/components/global-styles/screen-typography.js +4 -1
  136. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  137. package/build-module/components/layout/hooks.js +6 -5
  138. package/build-module/components/layout/hooks.js.map +1 -1
  139. package/build-module/components/layout/index.js +19 -28
  140. package/build-module/components/layout/index.js.map +1 -1
  141. package/build-module/components/layout/router.js +127 -0
  142. package/build-module/components/layout/router.js.map +1 -0
  143. package/build-module/components/page-pages/index.js +91 -70
  144. package/build-module/components/page-pages/index.js.map +1 -1
  145. package/build-module/components/page-patterns/dataviews-pattern-actions.js +11 -6
  146. package/build-module/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
  147. package/build-module/components/page-patterns/index.js +296 -16
  148. package/build-module/components/page-patterns/index.js.map +1 -1
  149. package/build-module/components/{page-templates/template-actions.js → page-templates-template-parts/actions.js} +52 -24
  150. package/build-module/components/page-templates-template-parts/actions.js.map +1 -0
  151. package/build-module/components/page-templates-template-parts/add-new-template-part.js.map +1 -0
  152. package/build-module/components/page-templates-template-parts/index.js +385 -0
  153. package/build-module/components/page-templates-template-parts/index.js.map +1 -0
  154. package/build-module/components/preferences-modal/index.js +12 -136
  155. package/build-module/components/preferences-modal/index.js.map +1 -1
  156. package/build-module/components/revisions/index.js +1 -1
  157. package/build-module/components/revisions/index.js.map +1 -1
  158. package/build-module/components/save-button/index.js +4 -2
  159. package/build-module/components/save-button/index.js.map +1 -1
  160. package/build-module/components/save-panel/index.js +7 -6
  161. package/build-module/components/save-panel/index.js.map +1 -1
  162. package/build-module/components/sidebar/index.js +3 -1
  163. package/build-module/components/sidebar/index.js.map +1 -1
  164. package/build-module/components/sidebar-dataviews/dataview-item.js +3 -1
  165. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
  166. package/build-module/components/sidebar-dataviews/default-views.js +4 -2
  167. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  168. package/build-module/components/sidebar-dataviews/index.js +2 -2
  169. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  170. package/build-module/components/sidebar-navigation-screen/index.js +8 -7
  171. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  172. package/build-module/components/sidebar-navigation-screen-pages/index.js +2 -10
  173. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  174. package/build-module/components/sidebar-navigation-screen-pages-dataviews/index.js +27 -4
  175. package/build-module/components/sidebar-navigation-screen-pages-dataviews/index.js.map +1 -1
  176. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +68 -0
  177. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -0
  178. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +9 -2
  179. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  180. package/build-module/components/site-hub/index.js +3 -1
  181. package/build-module/components/site-hub/index.js.map +1 -1
  182. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +47 -11
  183. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  184. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +25 -2
  185. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  186. package/build-module/hooks/commands/use-edit-mode-commands.js +33 -5
  187. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  188. package/build-module/hooks/push-changes-to-global-styles/index.js +13 -6
  189. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  190. package/build-module/hooks/template-part-edit.js +7 -6
  191. package/build-module/hooks/template-part-edit.js.map +1 -1
  192. package/build-module/index.js +1 -1
  193. package/build-module/index.js.map +1 -1
  194. package/build-module/store/actions.js +13 -30
  195. package/build-module/store/actions.js.map +1 -1
  196. package/build-module/store/private-actions.js +83 -0
  197. package/build-module/store/private-actions.js.map +1 -1
  198. package/build-module/store/selectors.js +2 -2
  199. package/build-module/store/selectors.js.map +1 -1
  200. package/build-module/utils/get-is-list-page.js +1 -1
  201. package/build-module/utils/get-is-list-page.js.map +1 -1
  202. package/build-module/utils/use-actual-current-theme.js +24 -0
  203. package/build-module/utils/use-actual-current-theme.js.map +1 -0
  204. package/build-style/style-rtl.css +293 -188
  205. package/build-style/style.css +293 -188
  206. package/package.json +42 -42
  207. package/src/components/actions/index.js +236 -84
  208. package/src/components/editor-canvas-container/index.js +1 -1
  209. package/src/components/global-styles/font-families.js +14 -8
  210. package/src/components/global-styles/font-family-item.js +7 -4
  211. package/src/components/global-styles/font-library-modal/context.js +156 -50
  212. package/src/components/global-styles/font-library-modal/font-collection.js +56 -21
  213. package/src/components/global-styles/font-library-modal/fonts-grid.js +6 -2
  214. package/src/components/global-styles/font-library-modal/index.js +4 -4
  215. package/src/components/global-styles/font-library-modal/installed-fonts.js +18 -8
  216. package/src/components/global-styles/font-library-modal/library-font-card.js +2 -1
  217. package/src/components/global-styles/font-library-modal/library-font-variant.js +10 -9
  218. package/src/components/global-styles/font-library-modal/local-fonts.js +14 -4
  219. package/src/components/global-styles/font-library-modal/resolvers.js +50 -17
  220. package/src/components/global-styles/font-library-modal/style.scss +1 -0
  221. package/src/components/global-styles/font-library-modal/utils/filter-fonts.js +19 -2
  222. package/src/components/global-styles/font-library-modal/utils/index.js +136 -29
  223. package/src/components/global-styles/font-library-modal/utils/preview-styles.js +7 -3
  224. package/src/components/global-styles/font-library-modal/utils/test/filter-fonts.spec.js +40 -10
  225. package/src/components/global-styles/font-library-modal/utils/test/preview-styles.spec.js +5 -5
  226. package/src/components/global-styles/screen-typography.js +9 -3
  227. package/src/components/global-styles/style.scss +4 -0
  228. package/src/components/header-edit-mode/style.scss +15 -5
  229. package/src/components/layout/hooks.js +6 -5
  230. package/src/components/layout/index.js +80 -96
  231. package/src/components/layout/router.js +121 -0
  232. package/src/components/layout/style.scss +13 -16
  233. package/src/components/page/style.scss +1 -8
  234. package/src/components/page-pages/index.js +142 -148
  235. package/src/components/page-pages/style.scss +41 -2
  236. package/src/components/page-patterns/dataviews-pattern-actions.js +11 -6
  237. package/src/components/page-patterns/index.js +392 -14
  238. package/src/components/page-patterns/style.scss +36 -2
  239. package/src/components/{page-templates/template-actions.js → page-templates-template-parts/actions.js} +90 -37
  240. package/src/components/{page-templates → page-templates-template-parts}/index.js +198 -169
  241. package/src/components/page-templates-template-parts/style.scss +44 -0
  242. package/src/components/preferences-modal/index.js +8 -211
  243. package/src/components/revisions/index.js +1 -1
  244. package/src/components/save-button/index.js +7 -4
  245. package/src/components/save-panel/index.js +13 -12
  246. package/src/components/sidebar/index.js +4 -5
  247. package/src/components/sidebar-dataviews/dataview-item.js +2 -1
  248. package/src/components/sidebar-dataviews/default-views.js +4 -2
  249. package/src/components/sidebar-dataviews/index.js +8 -6
  250. package/src/components/sidebar-navigation-item/style.scss +1 -1
  251. package/src/components/sidebar-navigation-screen/index.js +19 -10
  252. package/src/components/sidebar-navigation-screen-pages/index.js +2 -10
  253. package/src/components/sidebar-navigation-screen-pages-dataviews/index.js +32 -6
  254. package/src/components/sidebar-navigation-screen-templates-browse/content.js +73 -0
  255. package/src/components/sidebar-navigation-screen-templates-browse/index.js +10 -1
  256. package/src/components/site-hub/index.js +4 -1
  257. package/src/components/site-hub/style.scss +1 -12
  258. package/src/components/site-icon/style.scss +1 -1
  259. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +40 -10
  260. package/src/components/sync-state-with-url/use-sync-path-with-url.js +32 -0
  261. package/src/hooks/commands/use-edit-mode-commands.js +50 -3
  262. package/src/hooks/push-changes-to-global-styles/index.js +29 -23
  263. package/src/hooks/template-part-edit.js +12 -12
  264. package/src/index.js +1 -1
  265. package/src/store/actions.js +17 -51
  266. package/src/store/private-actions.js +133 -0
  267. package/src/store/selectors.js +2 -4
  268. package/src/style.scss +1 -1
  269. package/src/utils/get-is-list-page.js +3 -2
  270. package/src/utils/use-actual-current-theme.js +27 -0
  271. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +0 -58
  272. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +0 -1
  273. package/build/components/global-styles/font-library-modal/utils/get-notice-from-response.js +0 -71
  274. package/build/components/global-styles/font-library-modal/utils/get-notice-from-response.js.map +0 -1
  275. package/build/components/page-main/index.js +0 -44
  276. package/build/components/page-main/index.js.map +0 -1
  277. package/build/components/page-patterns/dataviews-patterns.js +0 -307
  278. package/build/components/page-patterns/dataviews-patterns.js.map +0 -1
  279. package/build/components/page-template-parts/add-new-template-part.js.map +0 -1
  280. package/build/components/page-template-parts/index.js +0 -81
  281. package/build/components/page-template-parts/index.js.map +0 -1
  282. package/build/components/page-templates/index.js +0 -352
  283. package/build/components/page-templates/index.js.map +0 -1
  284. package/build/components/page-templates/template-actions.js.map +0 -1
  285. package/build/components/post-preview/index.js +0 -29
  286. package/build/components/post-preview/index.js.map +0 -1
  287. package/build/components/preferences-modal/enable-feature.js +0 -36
  288. package/build/components/preferences-modal/enable-feature.js.map +0 -1
  289. package/build/components/preferences-modal/enable-panel-option.js +0 -33
  290. package/build/components/preferences-modal/enable-panel-option.js.map +0 -1
  291. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +0 -52
  292. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +0 -1
  293. package/build-module/components/global-styles/font-library-modal/utils/get-notice-from-response.js +0 -63
  294. package/build-module/components/global-styles/font-library-modal/utils/get-notice-from-response.js.map +0 -1
  295. package/build-module/components/page-main/index.js +0 -36
  296. package/build-module/components/page-main/index.js.map +0 -1
  297. package/build-module/components/page-patterns/dataviews-patterns.js +0 -299
  298. package/build-module/components/page-patterns/dataviews-patterns.js.map +0 -1
  299. package/build-module/components/page-template-parts/add-new-template-part.js.map +0 -1
  300. package/build-module/components/page-template-parts/index.js +0 -73
  301. package/build-module/components/page-template-parts/index.js.map +0 -1
  302. package/build-module/components/page-templates/index.js +0 -344
  303. package/build-module/components/page-templates/index.js.map +0 -1
  304. package/build-module/components/page-templates/template-actions.js.map +0 -1
  305. package/build-module/components/post-preview/index.js +0 -21
  306. package/build-module/components/post-preview/index.js.map +0 -1
  307. package/build-module/components/preferences-modal/enable-feature.js +0 -29
  308. package/build-module/components/preferences-modal/enable-feature.js.map +0 -1
  309. package/build-module/components/preferences-modal/enable-panel-option.js +0 -26
  310. package/build-module/components/preferences-modal/enable-panel-option.js.map +0 -1
  311. package/src/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +0 -58
  312. package/src/components/global-styles/font-library-modal/utils/get-notice-from-response.js +0 -62
  313. package/src/components/global-styles/font-library-modal/utils/test/getIntersectingFontFaces.spec.js +0 -271
  314. package/src/components/global-styles/font-library-modal/utils/test/makeFormDataFromFontFamily.spec.js +0 -58
  315. package/src/components/page-main/index.js +0 -38
  316. package/src/components/page-patterns/dataviews-patterns.js +0 -380
  317. package/src/components/page-template-parts/index.js +0 -99
  318. package/src/components/page-templates/style.scss +0 -13
  319. package/src/components/post-preview/index.js +0 -16
  320. package/src/components/preferences-modal/enable-feature.js +0 -31
  321. package/src/components/preferences-modal/enable-panel-option.js +0 -23
  322. /package/build/components/{page-template-parts → page-templates-template-parts}/add-new-template-part.js +0 -0
  323. /package/build-module/components/{page-template-parts → page-templates-template-parts}/add-new-template-part.js +0 -0
  324. /package/src/components/{page-template-parts → page-templates-template-parts}/add-new-template-part.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_element","_i18n","_coreData","_htmlEntities","_router","_icons","_data","_sidebarNavigationScreen","_interopRequireDefault","_link","_sidebarNavigationItem","_sidebarButton","_addNewPage","_lockUnlock","_constants","useHistory","unlock","routerPrivateApis","PageItem","postType","postId","props","linkInfo","useLink","backPath","_react","createElement","default","SidebarNavigationScreenPages","records","pages","isResolving","isLoadingPages","useEntityRecords","status","per_page","templates","isLoadingTemplates","TEMPLATE_POST_TYPE","dynamicPageTemplates","filter","slug","includes","homeTemplate","find","template","getPostsPageTemplate","pagesAndTemplates","concat","frontPage","postsPage","useSelect","select","getEntityRecord","coreStore","siteSettings","page_on_front","page_for_posts","isHomePageBlog","reorderedPages","length","homePageIndex","findIndex","item","id","homePage","splice","postsPageIndex","blogPage","showAddPage","setShowAddPage","useState","history","handleNewPage","type","push","canvas","getPageProps","itemIcon","page","postsPageTemplateId","home","verse","icon","pagesLink","path","manageAllPagesProps","window","__experimentalAdminViews","href","onClick","document","location","Fragment","onSave","onClose","title","__","description","actions","plus","label","content","__experimentalItemGroup","__experimentalItem","key","withChevron","__experimentalTruncate","numberOfLines","decodeEntities","rendered","map","footer","__experimentalVStack","spacing","layout","className"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-pages/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalTruncate as Truncate,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityRecords, store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { layout, page, home, verse, plus } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport { useLink } from '../routes/link';\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport SidebarButton from '../sidebar-button';\nimport AddNewPageModal from '../add-new-page';\nimport { unlock } from '../../lock-unlock';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst PageItem = ( { postType = 'page', postId, ...props } ) => {\n\tconst linkInfo = useLink(\n\t\t{\n\t\t\tpostType,\n\t\t\tpostId,\n\t\t},\n\t\t{\n\t\t\tbackPath: '/page',\n\t\t}\n\t);\n\treturn <SidebarNavigationItem { ...linkInfo } { ...props } />;\n};\n\nexport default function SidebarNavigationScreenPages() {\n\tconst { records: pages, isResolving: isLoadingPages } = useEntityRecords(\n\t\t'postType',\n\t\t'page',\n\t\t{\n\t\t\tstatus: 'any',\n\t\t\tper_page: -1,\n\t\t}\n\t);\n\tconst { records: templates, isResolving: isLoadingTemplates } =\n\t\tuseEntityRecords( 'postType', TEMPLATE_POST_TYPE, {\n\t\t\tper_page: -1,\n\t\t} );\n\n\tconst dynamicPageTemplates = templates?.filter( ( { slug } ) =>\n\t\t[ '404', 'search' ].includes( slug )\n\t);\n\n\tconst homeTemplate =\n\t\ttemplates?.find( ( template ) => template.slug === 'front-page' ) ||\n\t\ttemplates?.find( ( template ) => template.slug === 'home' ) ||\n\t\ttemplates?.find( ( template ) => template.slug === 'index' );\n\n\tconst getPostsPageTemplate = () =>\n\t\ttemplates?.find( ( template ) => template.slug === 'home' ) ||\n\t\ttemplates?.find( ( template ) => template.slug === 'index' );\n\n\tconst pagesAndTemplates = pages?.concat( dynamicPageTemplates, [\n\t\thomeTemplate,\n\t] );\n\n\tconst { frontPage, postsPage } = useSelect( ( select ) => {\n\t\tconst { getEntityRecord } = select( coreStore );\n\t\tconst siteSettings = getEntityRecord( 'root', 'site' );\n\t\treturn {\n\t\t\tfrontPage: siteSettings?.page_on_front,\n\t\t\tpostsPage: siteSettings?.page_for_posts,\n\t\t};\n\t}, [] );\n\n\tconst isHomePageBlog = frontPage === postsPage;\n\n\tconst reorderedPages = pages && [ ...pages ];\n\n\tif ( ! isHomePageBlog && reorderedPages?.length ) {\n\t\tconst homePageIndex = reorderedPages.findIndex(\n\t\t\t( item ) => item.id === frontPage\n\t\t);\n\t\tconst homePage = reorderedPages.splice( homePageIndex, 1 );\n\t\treorderedPages?.splice( 0, 0, ...homePage );\n\n\t\tconst postsPageIndex = reorderedPages.findIndex(\n\t\t\t( item ) => item.id === postsPage\n\t\t);\n\n\t\tconst blogPage = reorderedPages.splice( postsPageIndex, 1 );\n\n\t\treorderedPages.splice( 1, 0, ...blogPage );\n\t}\n\n\tconst [ showAddPage, setShowAddPage ] = useState( false );\n\n\tconst history = useHistory();\n\n\tconst handleNewPage = ( { type, id } ) => {\n\t\t// Navigate to the created template editor.\n\t\thistory.push( {\n\t\t\tpostId: id,\n\t\t\tpostType: type,\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t\tsetShowAddPage( false );\n\t};\n\n\tconst getPageProps = ( id ) => {\n\t\tlet itemIcon = page;\n\t\tconst postsPageTemplateId =\n\t\t\tpostsPage && postsPage === id ? getPostsPageTemplate()?.id : null;\n\n\t\tswitch ( id ) {\n\t\t\tcase frontPage:\n\t\t\t\titemIcon = home;\n\t\t\t\tbreak;\n\t\t\tcase postsPage:\n\t\t\t\titemIcon = verse;\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn {\n\t\t\ticon: itemIcon,\n\t\t\tpostType: postsPageTemplateId ? TEMPLATE_POST_TYPE : 'page',\n\t\t\tpostId: postsPageTemplateId || id,\n\t\t};\n\t};\n\n\tconst pagesLink = useLink( { path: '/pages' } );\n\tconst manageAllPagesProps = window?.__experimentalAdminViews\n\t\t? { ...pagesLink }\n\t\t: {\n\t\t\t\thref: 'edit.php?post_type=page',\n\t\t\t\tonClick: () => {\n\t\t\t\t\tdocument.location = 'edit.php?post_type=page';\n\t\t\t\t},\n\t\t };\n\n\treturn (\n\t\t<>\n\t\t\t{ showAddPage && (\n\t\t\t\t<AddNewPageModal\n\t\t\t\t\tonSave={ handleNewPage }\n\t\t\t\t\tonClose={ () => setShowAddPage( false ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<SidebarNavigationScreen\n\t\t\t\ttitle={ __( 'Pages' ) }\n\t\t\t\tdescription={ __( 'Browse and edit pages on your site.' ) }\n\t\t\t\tactions={\n\t\t\t\t\t<SidebarButton\n\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\tlabel={ __( 'Draft a new page' ) }\n\t\t\t\t\t\tonClick={ () => setShowAddPage( true ) }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tcontent={\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ ( isLoadingPages || isLoadingTemplates ) && (\n\t\t\t\t\t\t\t<ItemGroup>\n\t\t\t\t\t\t\t\t<Item>{ __( 'Loading pages…' ) }</Item>\n\t\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! ( isLoadingPages || isLoadingTemplates ) && (\n\t\t\t\t\t\t\t<ItemGroup>\n\t\t\t\t\t\t\t\t{ ! pagesAndTemplates?.length && (\n\t\t\t\t\t\t\t\t\t<Item>{ __( 'No page found' ) }</Item>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ isHomePageBlog && homeTemplate && (\n\t\t\t\t\t\t\t\t\t<PageItem\n\t\t\t\t\t\t\t\t\t\tpostType={ TEMPLATE_POST_TYPE }\n\t\t\t\t\t\t\t\t\t\tpostId={ homeTemplate.id }\n\t\t\t\t\t\t\t\t\t\tkey={ homeTemplate.id }\n\t\t\t\t\t\t\t\t\t\ticon={ home }\n\t\t\t\t\t\t\t\t\t\twithChevron\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Truncate numberOfLines={ 1 }>\n\t\t\t\t\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\t\t\t\t\thomeTemplate.title?.rendered ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t__( '(no title)' )\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t\t\t\t</PageItem>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ reorderedPages?.map( ( { id, title } ) => (\n\t\t\t\t\t\t\t\t\t<PageItem\n\t\t\t\t\t\t\t\t\t\t{ ...getPageProps( id ) }\n\t\t\t\t\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\t\t\t\t\twithChevron\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Truncate numberOfLines={ 1 }>\n\t\t\t\t\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\t\t\t\t\ttitle?.rendered ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t__( '(no title)' )\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t\t\t\t</PageItem>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t\tfooter={\n\t\t\t\t\t<VStack spacing={ 0 }>\n\t\t\t\t\t\t{ dynamicPageTemplates?.map( ( item ) => (\n\t\t\t\t\t\t\t<PageItem\n\t\t\t\t\t\t\t\tpostType={ TEMPLATE_POST_TYPE }\n\t\t\t\t\t\t\t\tpostId={ item.id }\n\t\t\t\t\t\t\t\tkey={ item.id }\n\t\t\t\t\t\t\t\ticon={ layout }\n\t\t\t\t\t\t\t\twithChevron\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Truncate numberOfLines={ 1 }>\n\t\t\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\t\t\titem.title?.rendered ||\n\t\t\t\t\t\t\t\t\t\t\t__( '(no title)' )\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t\t</PageItem>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t<SidebarNavigationItem\n\t\t\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen-pages__see-all\"\n\t\t\t\t\t\t\t{ ...manageAllPagesProps }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Manage all pages' ) }\n\t\t\t\t\t\t</SidebarNavigationItem>\n\t\t\t\t\t</VStack>\n\t\t\t\t}\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_components","require","_element","_i18n","_coreData","_htmlEntities","_router","_icons","_data","_sidebarNavigationScreen","_interopRequireDefault","_link","_sidebarNavigationItem","_sidebarButton","_addNewPage","_lockUnlock","_constants","useHistory","unlock","routerPrivateApis","PageItem","postType","postId","props","linkInfo","useLink","backPath","_react","createElement","default","SidebarNavigationScreenPages","records","pages","isResolving","isLoadingPages","useEntityRecords","status","per_page","templates","isLoadingTemplates","TEMPLATE_POST_TYPE","dynamicPageTemplates","filter","slug","includes","homeTemplate","find","template","getPostsPageTemplate","pagesAndTemplates","concat","frontPage","postsPage","useSelect","select","getEntityRecord","coreStore","siteSettings","page_on_front","page_for_posts","isHomePageBlog","reorderedPages","length","homePageIndex","findIndex","item","id","homePage","splice","postsPageIndex","blogPage","showAddPage","setShowAddPage","useState","history","handleNewPage","type","push","canvas","getPageProps","itemIcon","page","postsPageTemplateId","home","verse","icon","pagesLink","path","Fragment","onSave","onClose","title","__","description","actions","plus","label","onClick","content","__experimentalItemGroup","__experimentalItem","key","withChevron","__experimentalTruncate","numberOfLines","decodeEntities","rendered","map","footer","__experimentalVStack","spacing","layout","className"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-pages/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalTruncate as Truncate,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityRecords, store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { layout, page, home, verse, plus } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport { useLink } from '../routes/link';\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport SidebarButton from '../sidebar-button';\nimport AddNewPageModal from '../add-new-page';\nimport { unlock } from '../../lock-unlock';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst PageItem = ( { postType = 'page', postId, ...props } ) => {\n\tconst linkInfo = useLink(\n\t\t{\n\t\t\tpostType,\n\t\t\tpostId,\n\t\t},\n\t\t{\n\t\t\tbackPath: '/page',\n\t\t}\n\t);\n\treturn <SidebarNavigationItem { ...linkInfo } { ...props } />;\n};\n\nexport default function SidebarNavigationScreenPages() {\n\tconst { records: pages, isResolving: isLoadingPages } = useEntityRecords(\n\t\t'postType',\n\t\t'page',\n\t\t{\n\t\t\tstatus: 'any',\n\t\t\tper_page: -1,\n\t\t}\n\t);\n\tconst { records: templates, isResolving: isLoadingTemplates } =\n\t\tuseEntityRecords( 'postType', TEMPLATE_POST_TYPE, {\n\t\t\tper_page: -1,\n\t\t} );\n\n\tconst dynamicPageTemplates = templates?.filter( ( { slug } ) =>\n\t\t[ '404', 'search' ].includes( slug )\n\t);\n\n\tconst homeTemplate =\n\t\ttemplates?.find( ( template ) => template.slug === 'front-page' ) ||\n\t\ttemplates?.find( ( template ) => template.slug === 'home' ) ||\n\t\ttemplates?.find( ( template ) => template.slug === 'index' );\n\n\tconst getPostsPageTemplate = () =>\n\t\ttemplates?.find( ( template ) => template.slug === 'home' ) ||\n\t\ttemplates?.find( ( template ) => template.slug === 'index' );\n\n\tconst pagesAndTemplates = pages?.concat( dynamicPageTemplates, [\n\t\thomeTemplate,\n\t] );\n\n\tconst { frontPage, postsPage } = useSelect( ( select ) => {\n\t\tconst { getEntityRecord } = select( coreStore );\n\t\tconst siteSettings = getEntityRecord( 'root', 'site' );\n\t\treturn {\n\t\t\tfrontPage: siteSettings?.page_on_front,\n\t\t\tpostsPage: siteSettings?.page_for_posts,\n\t\t};\n\t}, [] );\n\n\tconst isHomePageBlog = frontPage === postsPage;\n\n\tconst reorderedPages = pages && [ ...pages ];\n\n\tif ( ! isHomePageBlog && reorderedPages?.length ) {\n\t\tconst homePageIndex = reorderedPages.findIndex(\n\t\t\t( item ) => item.id === frontPage\n\t\t);\n\t\tconst homePage = reorderedPages.splice( homePageIndex, 1 );\n\t\treorderedPages?.splice( 0, 0, ...homePage );\n\n\t\tconst postsPageIndex = reorderedPages.findIndex(\n\t\t\t( item ) => item.id === postsPage\n\t\t);\n\n\t\tconst blogPage = reorderedPages.splice( postsPageIndex, 1 );\n\n\t\treorderedPages.splice( 1, 0, ...blogPage );\n\t}\n\n\tconst [ showAddPage, setShowAddPage ] = useState( false );\n\n\tconst history = useHistory();\n\n\tconst handleNewPage = ( { type, id } ) => {\n\t\t// Navigate to the created template editor.\n\t\thistory.push( {\n\t\t\tpostId: id,\n\t\t\tpostType: type,\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t\tsetShowAddPage( false );\n\t};\n\n\tconst getPageProps = ( id ) => {\n\t\tlet itemIcon = page;\n\t\tconst postsPageTemplateId =\n\t\t\tpostsPage && postsPage === id ? getPostsPageTemplate()?.id : null;\n\n\t\tswitch ( id ) {\n\t\t\tcase frontPage:\n\t\t\t\titemIcon = home;\n\t\t\t\tbreak;\n\t\t\tcase postsPage:\n\t\t\t\titemIcon = verse;\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn {\n\t\t\ticon: itemIcon,\n\t\t\tpostType: postsPageTemplateId ? TEMPLATE_POST_TYPE : 'page',\n\t\t\tpostId: postsPageTemplateId || id,\n\t\t};\n\t};\n\n\tconst pagesLink = useLink( { path: '/pages' } );\n\n\treturn (\n\t\t<>\n\t\t\t{ showAddPage && (\n\t\t\t\t<AddNewPageModal\n\t\t\t\t\tonSave={ handleNewPage }\n\t\t\t\t\tonClose={ () => setShowAddPage( false ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<SidebarNavigationScreen\n\t\t\t\ttitle={ __( 'Pages' ) }\n\t\t\t\tdescription={ __( 'Browse and manage pages.' ) }\n\t\t\t\tactions={\n\t\t\t\t\t<SidebarButton\n\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\tlabel={ __( 'Draft a new page' ) }\n\t\t\t\t\t\tonClick={ () => setShowAddPage( true ) }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tcontent={\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ ( isLoadingPages || isLoadingTemplates ) && (\n\t\t\t\t\t\t\t<ItemGroup>\n\t\t\t\t\t\t\t\t<Item>{ __( 'Loading pages…' ) }</Item>\n\t\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! ( isLoadingPages || isLoadingTemplates ) && (\n\t\t\t\t\t\t\t<ItemGroup>\n\t\t\t\t\t\t\t\t{ ! pagesAndTemplates?.length && (\n\t\t\t\t\t\t\t\t\t<Item>{ __( 'No page found' ) }</Item>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ isHomePageBlog && homeTemplate && (\n\t\t\t\t\t\t\t\t\t<PageItem\n\t\t\t\t\t\t\t\t\t\tpostType={ TEMPLATE_POST_TYPE }\n\t\t\t\t\t\t\t\t\t\tpostId={ homeTemplate.id }\n\t\t\t\t\t\t\t\t\t\tkey={ homeTemplate.id }\n\t\t\t\t\t\t\t\t\t\ticon={ home }\n\t\t\t\t\t\t\t\t\t\twithChevron\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Truncate numberOfLines={ 1 }>\n\t\t\t\t\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\t\t\t\t\thomeTemplate.title?.rendered ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t__( '(no title)' )\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t\t\t\t</PageItem>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ reorderedPages?.map( ( { id, title } ) => (\n\t\t\t\t\t\t\t\t\t<PageItem\n\t\t\t\t\t\t\t\t\t\t{ ...getPageProps( id ) }\n\t\t\t\t\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\t\t\t\t\twithChevron\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Truncate numberOfLines={ 1 }>\n\t\t\t\t\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\t\t\t\t\ttitle?.rendered ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t__( '(no title)' )\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t\t\t\t</PageItem>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t\tfooter={\n\t\t\t\t\t<VStack spacing={ 0 }>\n\t\t\t\t\t\t{ dynamicPageTemplates?.map( ( item ) => (\n\t\t\t\t\t\t\t<PageItem\n\t\t\t\t\t\t\t\tpostType={ TEMPLATE_POST_TYPE }\n\t\t\t\t\t\t\t\tpostId={ item.id }\n\t\t\t\t\t\t\t\tkey={ item.id }\n\t\t\t\t\t\t\t\ticon={ layout }\n\t\t\t\t\t\t\t\twithChevron\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Truncate numberOfLines={ 1 }>\n\t\t\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\t\t\titem.title?.rendered ||\n\t\t\t\t\t\t\t\t\t\t\t__( '(no title)' )\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t\t</PageItem>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t<SidebarNavigationItem\n\t\t\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen-pages__see-all\"\n\t\t\t\t\t\t\t{ ...pagesLink }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Manage all pages' ) }\n\t\t\t\t\t\t</SidebarNavigationItem>\n\t\t\t\t\t</VStack>\n\t\t\t\t}\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -12,6 +12,7 @@ var _element = require("@wordpress/element");
12
12
  var _coreData = require("@wordpress/core-data");
13
13
  var _htmlEntities = require("@wordpress/html-entities");
14
14
  var _i18n = require("@wordpress/i18n");
15
+ var _data = require("@wordpress/data");
15
16
  var _link = require("../routes/link");
16
17
  var _constants = require("../../utils/constants");
17
18
  var _sidebarNavigationItem = _interopRequireDefault(require("../sidebar-navigation-item"));
@@ -47,12 +48,34 @@ function SidebarNavigationScreenPagesDataViews() {
47
48
  } = (0, _coreData.useEntityRecords)('postType', _constants.TEMPLATE_POST_TYPE, {
48
49
  per_page: -1
49
50
  });
50
- const templates = (0, _element.useMemo)(() => templateRecords?.filter(({
51
- slug
52
- }) => ['404', 'search'].includes(slug)), [templateRecords]);
51
+ const {
52
+ frontPage,
53
+ postsPage
54
+ } = (0, _data.useSelect)(select => {
55
+ const {
56
+ getEntityRecord
57
+ } = select(_coreData.store);
58
+ const siteSettings = getEntityRecord('root', 'site');
59
+ return {
60
+ frontPage: siteSettings?.page_on_front,
61
+ postsPage: siteSettings?.page_for_posts
62
+ };
63
+ }, []);
64
+ const templates = (0, _element.useMemo)(() => {
65
+ if (!templateRecords) {
66
+ return [];
67
+ }
68
+ const isHomePageBlog = frontPage === postsPage;
69
+ const homeTemplate = templateRecords?.find(template => template.slug === 'front-page') || templateRecords?.find(template => template.slug === 'home') || templateRecords?.find(template => template.slug === 'index');
70
+ return [isHomePageBlog ? homeTemplate : null, ...templateRecords?.filter(({
71
+ slug
72
+ }) => ['404', 'search'].includes(slug))].filter(Boolean);
73
+ }, [templateRecords, frontPage, postsPage]);
53
74
  return (0, _react.createElement)(_sidebarNavigationScreen.default, {
54
75
  title: (0, _i18n.__)('Pages'),
76
+ description: (0, _i18n.__)('Browse and manage pages.'),
55
77
  content: (0, _react.createElement)(_sidebarDataviews.default, null),
78
+ backPath: "/page",
56
79
  footer: (0, _react.createElement)(_components.__experimentalVStack, {
57
80
  spacing: 0
58
81
  }, templates?.map(item => (0, _react.createElement)(PageItem, {
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_icons","_element","_coreData","_htmlEntities","_i18n","_link","_constants","_sidebarNavigationItem","_interopRequireDefault","_sidebarNavigationScreen","_sidebarDataviews","PageItem","postType","postId","props","linkInfo","useLink","backPath","_react","createElement","default","SidebarNavigationScreenPagesDataViews","records","templateRecords","useEntityRecords","TEMPLATE_POST_TYPE","per_page","templates","useMemo","filter","slug","includes","title","__","content","footer","__experimentalVStack","spacing","map","item","id","key","icon","layout","withChevron","__experimentalTruncate","numberOfLines","decodeEntities","rendered"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-pages-dataviews/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalTruncate as Truncate,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { layout } from '@wordpress/icons';\nimport { useMemo } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useLink } from '../routes/link';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport DataViewsSidebarContent from '../sidebar-dataviews';\n\nconst PageItem = ( { postType = 'page', postId, ...props } ) => {\n\tconst linkInfo = useLink(\n\t\t{\n\t\t\tpostType,\n\t\t\tpostId,\n\t\t},\n\t\t{\n\t\t\tbackPath: '/page',\n\t\t}\n\t);\n\treturn <SidebarNavigationItem { ...linkInfo } { ...props } />;\n};\n\nexport default function SidebarNavigationScreenPagesDataViews() {\n\tconst { records: templateRecords } = useEntityRecords(\n\t\t'postType',\n\t\tTEMPLATE_POST_TYPE,\n\t\t{\n\t\t\tper_page: -1,\n\t\t}\n\t);\n\tconst templates = useMemo(\n\t\t() =>\n\t\t\ttemplateRecords?.filter( ( { slug } ) =>\n\t\t\t\t[ '404', 'search' ].includes( slug )\n\t\t\t),\n\t\t[ templateRecords ]\n\t);\n\n\treturn (\n\t\t<SidebarNavigationScreen\n\t\t\ttitle={ __( 'Pages' ) }\n\t\t\tcontent={ <DataViewsSidebarContent /> }\n\t\t\tfooter={\n\t\t\t\t<VStack spacing={ 0 }>\n\t\t\t\t\t{ templates?.map( ( item ) => (\n\t\t\t\t\t\t<PageItem\n\t\t\t\t\t\t\tpostType={ TEMPLATE_POST_TYPE }\n\t\t\t\t\t\t\tpostId={ item.id }\n\t\t\t\t\t\t\tkey={ item.id }\n\t\t\t\t\t\t\ticon={ layout }\n\t\t\t\t\t\t\twithChevron\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Truncate numberOfLines={ 1 }>\n\t\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\t\titem.title?.rendered || __( '(no title)' )\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t</PageItem>\n\t\t\t\t\t) ) }\n\t\t\t\t</VStack>\n\t\t\t}\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AAKA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,UAAA,GAAAP,OAAA;AACA,IAAAQ,sBAAA,GAAAC,sBAAA,CAAAT,OAAA;AACA,IAAAU,wBAAA,GAAAD,sBAAA,CAAAT,OAAA;AACA,IAAAW,iBAAA,GAAAF,sBAAA,CAAAT,OAAA;AApBA;AACA;AACA;;AAWA;AACA;AACA;;AAOA,MAAMY,QAAQ,GAAGA,CAAE;EAAEC,QAAQ,GAAG,MAAM;EAAEC,MAAM;EAAE,GAAGC;AAAM,CAAC,KAAM;EAC/D,MAAMC,QAAQ,GAAG,IAAAC,aAAO,EACvB;IACCJ,QAAQ;IACRC;EACD,CAAC,EACD;IACCI,QAAQ,EAAE;EACX,CACD,CAAC;EACD,OAAO,IAAAC,MAAA,CAAAC,aAAA,EAACZ,sBAAA,CAAAa,OAAqB;IAAA,GAAML,QAAQ;IAAA,GAAQD;EAAK,CAAI,CAAC;AAC9D,CAAC;AAEc,SAASO,qCAAqCA,CAAA,EAAG;EAC/D,MAAM;IAAEC,OAAO,EAAEC;EAAgB,CAAC,GAAG,IAAAC,0BAAgB,EACpD,UAAU,EACVC,6BAAkB,EAClB;IACCC,QAAQ,EAAE,CAAC;EACZ,CACD,CAAC;EACD,MAAMC,SAAS,GAAG,IAAAC,gBAAO,EACxB,MACCL,eAAe,EAAEM,MAAM,CAAE,CAAE;IAAEC;EAAK,CAAC,KAClC,CAAE,KAAK,EAAE,QAAQ,CAAE,CAACC,QAAQ,CAAED,IAAK,CACpC,CAAC,EACF,CAAEP,eAAe,CAClB,CAAC;EAED,OACC,IAAAL,MAAA,CAAAC,aAAA,EAACV,wBAAA,CAAAW,OAAuB;IACvBY,KAAK,EAAG,IAAAC,QAAE,EAAE,OAAQ,CAAG;IACvBC,OAAO,EAAG,IAAAhB,MAAA,CAAAC,aAAA,EAACT,iBAAA,CAAAU,OAAuB,MAAE,CAAG;IACvCe,MAAM,EACL,IAAAjB,MAAA,CAAAC,aAAA,EAACrB,WAAA,CAAAsC,oBAAM;MAACC,OAAO,EAAG;IAAG,GAClBV,SAAS,EAAEW,GAAG,CAAIC,IAAI,IACvB,IAAArB,MAAA,CAAAC,aAAA,EAACR,QAAQ;MACRC,QAAQ,EAAGa,6BAAoB;MAC/BZ,MAAM,EAAG0B,IAAI,CAACC,EAAI;MAClBC,GAAG,EAAGF,IAAI,CAACC,EAAI;MACfE,IAAI,EAAGC,aAAQ;MACfC,WAAW;IAAA,GAEX,IAAA1B,MAAA,CAAAC,aAAA,EAACrB,WAAA,CAAA+C,sBAAQ;MAACC,aAAa,EAAG;IAAG,GAC1B,IAAAC,4BAAc,EACfR,IAAI,CAACP,KAAK,EAAEgB,QAAQ,IAAI,IAAAf,QAAE,EAAE,YAAa,CAC1C,CACS,CACD,CACT,CACK;EACR,CACD,CAAC;AAEJ"}
1
+ {"version":3,"names":["_components","require","_icons","_element","_coreData","_htmlEntities","_i18n","_data","_link","_constants","_sidebarNavigationItem","_interopRequireDefault","_sidebarNavigationScreen","_sidebarDataviews","PageItem","postType","postId","props","linkInfo","useLink","backPath","_react","createElement","default","SidebarNavigationScreenPagesDataViews","records","templateRecords","useEntityRecords","TEMPLATE_POST_TYPE","per_page","frontPage","postsPage","useSelect","select","getEntityRecord","coreStore","siteSettings","page_on_front","page_for_posts","templates","useMemo","isHomePageBlog","homeTemplate","find","template","slug","filter","includes","Boolean","title","__","description","content","footer","__experimentalVStack","spacing","map","item","id","key","icon","layout","withChevron","__experimentalTruncate","numberOfLines","decodeEntities","rendered"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-pages-dataviews/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalTruncate as Truncate,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { layout } from '@wordpress/icons';\nimport { useMemo } from '@wordpress/element';\nimport { useEntityRecords, store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useLink } from '../routes/link';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport DataViewsSidebarContent from '../sidebar-dataviews';\n\nconst PageItem = ( { postType = 'page', postId, ...props } ) => {\n\tconst linkInfo = useLink(\n\t\t{\n\t\t\tpostType,\n\t\t\tpostId,\n\t\t},\n\t\t{\n\t\t\tbackPath: '/page',\n\t\t}\n\t);\n\treturn <SidebarNavigationItem { ...linkInfo } { ...props } />;\n};\n\nexport default function SidebarNavigationScreenPagesDataViews() {\n\tconst { records: templateRecords } = useEntityRecords(\n\t\t'postType',\n\t\tTEMPLATE_POST_TYPE,\n\t\t{\n\t\t\tper_page: -1,\n\t\t}\n\t);\n\n\tconst { frontPage, postsPage } = useSelect( ( select ) => {\n\t\tconst { getEntityRecord } = select( coreStore );\n\t\tconst siteSettings = getEntityRecord( 'root', 'site' );\n\t\treturn {\n\t\t\tfrontPage: siteSettings?.page_on_front,\n\t\t\tpostsPage: siteSettings?.page_for_posts,\n\t\t};\n\t}, [] );\n\n\tconst templates = useMemo( () => {\n\t\tif ( ! templateRecords ) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst isHomePageBlog = frontPage === postsPage;\n\t\tconst homeTemplate =\n\t\t\ttemplateRecords?.find(\n\t\t\t\t( template ) => template.slug === 'front-page'\n\t\t\t) ||\n\t\t\ttemplateRecords?.find( ( template ) => template.slug === 'home' ) ||\n\t\t\ttemplateRecords?.find( ( template ) => template.slug === 'index' );\n\n\t\treturn [\n\t\t\tisHomePageBlog ? homeTemplate : null,\n\t\t\t...templateRecords?.filter( ( { slug } ) =>\n\t\t\t\t[ '404', 'search' ].includes( slug )\n\t\t\t),\n\t\t].filter( Boolean );\n\t}, [ templateRecords, frontPage, postsPage ] );\n\n\treturn (\n\t\t<SidebarNavigationScreen\n\t\t\ttitle={ __( 'Pages' ) }\n\t\t\tdescription={ __( 'Browse and manage pages.' ) }\n\t\t\tcontent={ <DataViewsSidebarContent /> }\n\t\t\tbackPath=\"/page\"\n\t\t\tfooter={\n\t\t\t\t<VStack spacing={ 0 }>\n\t\t\t\t\t{ templates?.map( ( item ) => (\n\t\t\t\t\t\t<PageItem\n\t\t\t\t\t\t\tpostType={ TEMPLATE_POST_TYPE }\n\t\t\t\t\t\t\tpostId={ item.id }\n\t\t\t\t\t\t\tkey={ item.id }\n\t\t\t\t\t\t\ticon={ layout }\n\t\t\t\t\t\t\twithChevron\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Truncate numberOfLines={ 1 }>\n\t\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\t\titem.title?.rendered || __( '(no title)' )\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t</PageItem>\n\t\t\t\t\t) ) }\n\t\t\t\t</VStack>\n\t\t\t}\n\t\t/>\n\t);\n}\n"],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = DataviewsTemplatesSidebarContent;
8
+ var _react = require("react");
9
+ var _coreData = require("@wordpress/core-data");
10
+ var _element = require("@wordpress/element");
11
+ var _components = require("@wordpress/components");
12
+ var _dataviewItem = _interopRequireDefault(require("../sidebar-dataviews/dataview-item"));
13
+ var _addedBy = require("../list/added-by");
14
+ var _icons = require("@wordpress/icons");
15
+ /**
16
+ * WordPress dependencies
17
+ */
18
+
19
+ /**
20
+ * Internal dependencies
21
+ */
22
+
23
+ const EMPTY_ARRAY = [];
24
+ function TemplateDataviewItem({
25
+ template,
26
+ isActive
27
+ }) {
28
+ const {
29
+ text,
30
+ icon
31
+ } = (0, _addedBy.useAddedBy)(template.type, template.id);
32
+ return (0, _react.createElement)(_dataviewItem.default, {
33
+ key: text,
34
+ slug: text,
35
+ title: text,
36
+ icon: icon,
37
+ isActive: isActive,
38
+ isCustom: "false"
39
+ });
40
+ }
41
+ function DataviewsTemplatesSidebarContent({
42
+ activeView,
43
+ postType,
44
+ config
45
+ }) {
46
+ const {
47
+ records
48
+ } = (0, _coreData.useEntityRecords)('postType', postType, {
49
+ per_page: -1
50
+ });
51
+ const firstItemPerAuthorText = (0, _element.useMemo)(() => {
52
+ var _ref;
53
+ const firstItemPerAuthor = records?.reduce((acc, template) => {
54
+ const author = template.author_text;
55
+ if (author && !acc[author]) {
56
+ acc[author] = template;
57
+ }
58
+ return acc;
59
+ }, {});
60
+ return (_ref = firstItemPerAuthor && Object.values(firstItemPerAuthor)) !== null && _ref !== void 0 ? _ref : EMPTY_ARRAY;
61
+ }, [records]);
62
+ return (0, _react.createElement)(_components.__experimentalItemGroup, null, (0, _react.createElement)(_dataviewItem.default, {
63
+ slug: 'all',
64
+ title: config[postType].title,
65
+ icon: _icons.layout,
66
+ isActive: activeView === 'all',
67
+ isCustom: "false"
68
+ }), firstItemPerAuthorText.map(template => {
69
+ return (0, _react.createElement)(TemplateDataviewItem, {
70
+ key: template.author_text,
71
+ template: template,
72
+ isActive: activeView === template.author_text
73
+ });
74
+ }));
75
+ }
76
+ //# sourceMappingURL=content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_coreData","require","_element","_components","_dataviewItem","_interopRequireDefault","_addedBy","_icons","EMPTY_ARRAY","TemplateDataviewItem","template","isActive","text","icon","useAddedBy","type","id","_react","createElement","default","key","slug","title","isCustom","DataviewsTemplatesSidebarContent","activeView","postType","config","records","useEntityRecords","per_page","firstItemPerAuthorText","useMemo","_ref","firstItemPerAuthor","reduce","acc","author","author_text","Object","values","__experimentalItemGroup","layout","map"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-templates-browse/content.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { useMemo } from '@wordpress/element';\nimport { __experimentalItemGroup as ItemGroup } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport DataViewItem from '../sidebar-dataviews/dataview-item';\nimport { useAddedBy } from '../list/added-by';\nimport { layout } from '@wordpress/icons';\n\nconst EMPTY_ARRAY = [];\n\nfunction TemplateDataviewItem( { template, isActive } ) {\n\tconst { text, icon } = useAddedBy( template.type, template.id );\n\treturn (\n\t\t<DataViewItem\n\t\t\tkey={ text }\n\t\t\tslug={ text }\n\t\t\ttitle={ text }\n\t\t\ticon={ icon }\n\t\t\tisActive={ isActive }\n\t\t\tisCustom=\"false\"\n\t\t/>\n\t);\n}\n\nexport default function DataviewsTemplatesSidebarContent( {\n\tactiveView,\n\tpostType,\n\tconfig,\n} ) {\n\tconst { records } = useEntityRecords( 'postType', postType, {\n\t\tper_page: -1,\n\t} );\n\tconst firstItemPerAuthorText = useMemo( () => {\n\t\tconst firstItemPerAuthor = records?.reduce( ( acc, template ) => {\n\t\t\tconst author = template.author_text;\n\t\t\tif ( author && ! acc[ author ] ) {\n\t\t\t\tacc[ author ] = template;\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, {} );\n\t\treturn (\n\t\t\t( firstItemPerAuthor && Object.values( firstItemPerAuthor ) ) ??\n\t\t\tEMPTY_ARRAY\n\t\t);\n\t}, [ records ] );\n\n\treturn (\n\t\t<ItemGroup>\n\t\t\t<DataViewItem\n\t\t\t\tslug={ 'all' }\n\t\t\t\ttitle={ config[ postType ].title }\n\t\t\t\ticon={ layout }\n\t\t\t\tisActive={ activeView === 'all' }\n\t\t\t\tisCustom=\"false\"\n\t\t\t/>\n\t\t\t{ firstItemPerAuthorText.map( ( template ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<TemplateDataviewItem\n\t\t\t\t\t\tkey={ template.author_text }\n\t\t\t\t\t\ttemplate={ template }\n\t\t\t\t\t\tisActive={ activeView === template.author_text }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ItemGroup>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAKA,IAAAG,aAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAZA;AACA;AACA;;AAKA;AACA;AACA;;AAKA,MAAMO,WAAW,GAAG,EAAE;AAEtB,SAASC,oBAAoBA,CAAE;EAAEC,QAAQ;EAAEC;AAAS,CAAC,EAAG;EACvD,MAAM;IAAEC,IAAI;IAAEC;EAAK,CAAC,GAAG,IAAAC,mBAAU,EAAEJ,QAAQ,CAACK,IAAI,EAAEL,QAAQ,CAACM,EAAG,CAAC;EAC/D,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACd,aAAA,CAAAe,OAAY;IACZC,GAAG,EAAGR,IAAM;IACZS,IAAI,EAAGT,IAAM;IACbU,KAAK,EAAGV,IAAM;IACdC,IAAI,EAAGA,IAAM;IACbF,QAAQ,EAAGA,QAAU;IACrBY,QAAQ,EAAC;EAAO,CAChB,CAAC;AAEJ;AAEe,SAASC,gCAAgCA,CAAE;EACzDC,UAAU;EACVC,QAAQ;EACRC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,0BAAgB,EAAE,UAAU,EAAEH,QAAQ,EAAE;IAC3DI,QAAQ,EAAE,CAAC;EACZ,CAAE,CAAC;EACH,MAAMC,sBAAsB,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAAA,IAAAC,IAAA;IAC7C,MAAMC,kBAAkB,GAAGN,OAAO,EAAEO,MAAM,CAAE,CAAEC,GAAG,EAAE1B,QAAQ,KAAM;MAChE,MAAM2B,MAAM,GAAG3B,QAAQ,CAAC4B,WAAW;MACnC,IAAKD,MAAM,IAAI,CAAED,GAAG,CAAEC,MAAM,CAAE,EAAG;QAChCD,GAAG,CAAEC,MAAM,CAAE,GAAG3B,QAAQ;MACzB;MACA,OAAO0B,GAAG;IACX,CAAC,EAAE,CAAC,CAAE,CAAC;IACP,QAAAH,IAAA,GACGC,kBAAkB,IAAIK,MAAM,CAACC,MAAM,CAAEN,kBAAmB,CAAC,cAAAD,IAAA,cAAAA,IAAA,GAC3DzB,WAAW;EAEb,CAAC,EAAE,CAAEoB,OAAO,CAAG,CAAC;EAEhB,OACC,IAAAX,MAAA,CAAAC,aAAA,EAACf,WAAA,CAAAsC,uBAAS,QACT,IAAAxB,MAAA,CAAAC,aAAA,EAACd,aAAA,CAAAe,OAAY;IACZE,IAAI,EAAG,KAAO;IACdC,KAAK,EAAGK,MAAM,CAAED,QAAQ,CAAE,CAACJ,KAAO;IAClCT,IAAI,EAAG6B,aAAQ;IACf/B,QAAQ,EAAGc,UAAU,KAAK,KAAO;IACjCF,QAAQ,EAAC;EAAO,CAChB,CAAC,EACAQ,sBAAsB,CAACY,GAAG,CAAIjC,QAAQ,IAAM;IAC7C,OACC,IAAAO,MAAA,CAAAC,aAAA,EAACT,oBAAoB;MACpBW,GAAG,EAAGV,QAAQ,CAAC4B,WAAa;MAC5B5B,QAAQ,EAAGA,QAAU;MACrBC,QAAQ,EAAGc,UAAU,KAAKf,QAAQ,CAAC4B;IAAa,CAChD,CAAC;EAEJ,CAAE,CACQ,CAAC;AAEd"}
@@ -14,6 +14,7 @@ var _sidebarNavigationScreen = _interopRequireDefault(require("../sidebar-naviga
14
14
  var _store = require("../../store");
15
15
  var _constants = require("../../utils/constants");
16
16
  var _lockUnlock = require("../../lock-unlock");
17
+ var _content = _interopRequireDefault(require("./content"));
17
18
  /**
18
19
  * WordPress dependencies
19
20
  */
@@ -44,7 +45,8 @@ function SidebarNavigationScreenTemplatesBrowse() {
44
45
  } = (0, _components.__experimentalUseNavigator)();
45
46
  const {
46
47
  params: {
47
- didAccessPatternsPage
48
+ didAccessPatternsPage,
49
+ activeView = 'all'
48
50
  }
49
51
  } = useLocation();
50
52
  const isTemplatePartsMode = (0, _data.useSelect)(select => {
@@ -57,7 +59,12 @@ function SidebarNavigationScreenTemplatesBrowse() {
57
59
  isRoot: isTemplatePartsMode && !didAccessPatternsPage,
58
60
  title: config[postType].title,
59
61
  description: config[postType].description,
60
- backPath: config[postType].backPath
62
+ backPath: config[postType].backPath,
63
+ content: (0, _react.createElement)(_content.default, {
64
+ activeView: activeView,
65
+ postType: postType,
66
+ config: config
67
+ })
61
68
  });
62
69
  }
63
70
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_data","_components","_router","_sidebarNavigationScreen","_interopRequireDefault","_store","_constants","_lockUnlock","config","TEMPLATE_POST_TYPE","title","__","description","TEMPLATE_PART_POST_TYPE","backPath","useLocation","unlock","routerPrivateApis","SidebarNavigationScreenTemplatesBrowse","params","postType","useNavigator","didAccessPatternsPage","isTemplatePartsMode","useSelect","select","editSiteStore","getSettings","supportsTemplatePartsMode","_react","createElement","default","isRoot"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-templates-browse/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { __experimentalUseNavigator as useNavigator } from '@wordpress/components';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport { store as editSiteStore } from '../../store';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\n\nconst config = {\n\t[ TEMPLATE_POST_TYPE ]: {\n\t\ttitle: __( 'All templates' ),\n\t\tdescription: __(\n\t\t\t'Create new templates, or reset any customizations made to the templates supplied by your theme.'\n\t\t),\n\t},\n\t[ TEMPLATE_PART_POST_TYPE ]: {\n\t\ttitle: __( 'All template parts' ),\n\t\tdescription: __(\n\t\t\t'Create new template parts, or reset any customizations made to the template parts supplied by your theme.'\n\t\t),\n\t\tbackPath: '/patterns',\n\t},\n};\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nexport default function SidebarNavigationScreenTemplatesBrowse() {\n\tconst {\n\t\tparams: { postType },\n\t} = useNavigator();\n\tconst {\n\t\tparams: { didAccessPatternsPage },\n\t} = useLocation();\n\n\tconst isTemplatePartsMode = useSelect( ( select ) => {\n\t\treturn !! select( editSiteStore ).getSettings()\n\t\t\t.supportsTemplatePartsMode;\n\t}, [] );\n\n\treturn (\n\t\t<SidebarNavigationScreen\n\t\t\t// If a classic theme that supports template parts has never\n\t\t\t// accessed the Patterns page, return to the dashboard.\n\t\t\tisRoot={ isTemplatePartsMode && ! didAccessPatternsPage }\n\t\t\ttitle={ config[ postType ].title }\n\t\t\tdescription={ config[ postType ].description }\n\t\t\tbackPath={ config[ postType ].backPath }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAKA,IAAAI,wBAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,UAAA,GAAAP,OAAA;AAIA,IAAAQ,WAAA,GAAAR,OAAA;AAjBA;AACA;AACA;;AAMA;AACA;AACA;;AASA,MAAMS,MAAM,GAAG;EACd,CAAEC,6BAAkB,GAAI;IACvBC,KAAK,EAAE,IAAAC,QAAE,EAAE,eAAgB,CAAC;IAC5BC,WAAW,EAAE,IAAAD,QAAE,EACd,iGACD;EACD,CAAC;EACD,CAAEE,kCAAuB,GAAI;IAC5BH,KAAK,EAAE,IAAAC,QAAE,EAAE,oBAAqB,CAAC;IACjCC,WAAW,EAAE,IAAAD,QAAE,EACd,2GACD,CAAC;IACDG,QAAQ,EAAE;EACX;AACD,CAAC;AAED,MAAM;EAAEC;AAAY,CAAC,GAAG,IAAAC,kBAAM,EAAEC,mBAAkB,CAAC;AAEpC,SAASC,sCAAsCA,CAAA,EAAG;EAChE,MAAM;IACLC,MAAM,EAAE;MAAEC;IAAS;EACpB,CAAC,GAAG,IAAAC,sCAAY,EAAC,CAAC;EAClB,MAAM;IACLF,MAAM,EAAE;MAAEG;IAAsB;EACjC,CAAC,GAAGP,WAAW,CAAC,CAAC;EAEjB,MAAMQ,mBAAmB,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACpD,OAAO,CAAC,CAAEA,MAAM,CAAEC,YAAc,CAAC,CAACC,WAAW,CAAC,CAAC,CAC7CC,yBAAyB;EAC5B,CAAC,EAAE,EAAG,CAAC;EAEP,OACC,IAAAC,MAAA,CAAAC,aAAA,EAAC3B,wBAAA,CAAA4B;EACA;EACA;EAAA;IACAC,MAAM,EAAGT,mBAAmB,IAAI,CAAED,qBAAuB;IACzDZ,KAAK,EAAGF,MAAM,CAAEY,QAAQ,CAAE,CAACV,KAAO;IAClCE,WAAW,EAAGJ,MAAM,CAAEY,QAAQ,CAAE,CAACR,WAAa;IAC9CE,QAAQ,EAAGN,MAAM,CAAEY,QAAQ,CAAE,CAACN;EAAU,CACxC,CAAC;AAEJ"}
1
+ {"version":3,"names":["_i18n","require","_data","_components","_router","_sidebarNavigationScreen","_interopRequireDefault","_store","_constants","_lockUnlock","_content","config","TEMPLATE_POST_TYPE","title","__","description","TEMPLATE_PART_POST_TYPE","backPath","useLocation","unlock","routerPrivateApis","SidebarNavigationScreenTemplatesBrowse","params","postType","useNavigator","didAccessPatternsPage","activeView","isTemplatePartsMode","useSelect","select","editSiteStore","getSettings","supportsTemplatePartsMode","_react","createElement","default","isRoot","content"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-templates-browse/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\nimport { __experimentalUseNavigator as useNavigator } from '@wordpress/components';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport { store as editSiteStore } from '../../store';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport DataviewsTemplatesSidebarContent from './content';\n\nconst config = {\n\t[ TEMPLATE_POST_TYPE ]: {\n\t\ttitle: __( 'All templates' ),\n\t\tdescription: __(\n\t\t\t'Create new templates, or reset any customizations made to the templates supplied by your theme.'\n\t\t),\n\t},\n\t[ TEMPLATE_PART_POST_TYPE ]: {\n\t\ttitle: __( 'All template parts' ),\n\t\tdescription: __(\n\t\t\t'Create new template parts, or reset any customizations made to the template parts supplied by your theme.'\n\t\t),\n\t\tbackPath: '/patterns',\n\t},\n};\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nexport default function SidebarNavigationScreenTemplatesBrowse() {\n\tconst {\n\t\tparams: { postType },\n\t} = useNavigator();\n\tconst {\n\t\tparams: { didAccessPatternsPage, activeView = 'all' },\n\t} = useLocation();\n\n\tconst isTemplatePartsMode = useSelect( ( select ) => {\n\t\treturn !! select( editSiteStore ).getSettings()\n\t\t\t.supportsTemplatePartsMode;\n\t}, [] );\n\n\treturn (\n\t\t<SidebarNavigationScreen\n\t\t\t// If a classic theme that supports template parts has never\n\t\t\t// accessed the Patterns page, return to the dashboard.\n\t\t\tisRoot={ isTemplatePartsMode && ! didAccessPatternsPage }\n\t\t\ttitle={ config[ postType ].title }\n\t\t\tdescription={ config[ postType ].description }\n\t\t\tbackPath={ config[ postType ].backPath }\n\t\t\tcontent={\n\t\t\t\t<DataviewsTemplatesSidebarContent\n\t\t\t\t\tactiveView={ activeView }\n\t\t\t\t\tpostType={ postType }\n\t\t\t\t\tconfig={ config }\n\t\t\t\t/>\n\t\t\t}\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAKA,IAAAI,wBAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,UAAA,GAAAP,OAAA;AAIA,IAAAQ,WAAA,GAAAR,OAAA;AACA,IAAAS,QAAA,GAAAJ,sBAAA,CAAAL,OAAA;AAnBA;AACA;AACA;;AAOA;AACA;AACA;;AAUA,MAAMU,MAAM,GAAG;EACd,CAAEC,6BAAkB,GAAI;IACvBC,KAAK,EAAE,IAAAC,QAAE,EAAE,eAAgB,CAAC;IAC5BC,WAAW,EAAE,IAAAD,QAAE,EACd,iGACD;EACD,CAAC;EACD,CAAEE,kCAAuB,GAAI;IAC5BH,KAAK,EAAE,IAAAC,QAAE,EAAE,oBAAqB,CAAC;IACjCC,WAAW,EAAE,IAAAD,QAAE,EACd,2GACD,CAAC;IACDG,QAAQ,EAAE;EACX;AACD,CAAC;AAED,MAAM;EAAEC;AAAY,CAAC,GAAG,IAAAC,kBAAM,EAAEC,mBAAkB,CAAC;AAEpC,SAASC,sCAAsCA,CAAA,EAAG;EAChE,MAAM;IACLC,MAAM,EAAE;MAAEC;IAAS;EACpB,CAAC,GAAG,IAAAC,sCAAY,EAAC,CAAC;EAClB,MAAM;IACLF,MAAM,EAAE;MAAEG,qBAAqB;MAAEC,UAAU,GAAG;IAAM;EACrD,CAAC,GAAGR,WAAW,CAAC,CAAC;EAEjB,MAAMS,mBAAmB,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACpD,OAAO,CAAC,CAAEA,MAAM,CAAEC,YAAc,CAAC,CAACC,WAAW,CAAC,CAAC,CAC7CC,yBAAyB;EAC5B,CAAC,EAAE,EAAG,CAAC;EAEP,OACC,IAAAC,MAAA,CAAAC,aAAA,EAAC7B,wBAAA,CAAA8B;EACA;EACA;EAAA;IACAC,MAAM,EAAGT,mBAAmB,IAAI,CAAEF,qBAAuB;IACzDZ,KAAK,EAAGF,MAAM,CAAEY,QAAQ,CAAE,CAACV,KAAO;IAClCE,WAAW,EAAGJ,MAAM,CAAEY,QAAQ,CAAE,CAACR,WAAa;IAC9CE,QAAQ,EAAGN,MAAM,CAAEY,QAAQ,CAAE,CAACN,QAAU;IACxCoB,OAAO,EACN,IAAAJ,MAAA,CAAAC,aAAA,EAACxB,QAAA,CAAAyB,OAAgC;MAChCT,UAAU,EAAGA,UAAY;MACzBH,QAAQ,EAAGA,QAAU;MACrBZ,MAAM,EAAGA;IAAQ,CACjB;EACD,CACD,CAAC;AAEJ"}
@@ -172,7 +172,9 @@ const SiteHub = (0, _element.memo)(({
172
172
  label: (0, _i18n.__)('View site (opens in a new tab)'),
173
173
  "aria-label": (0, _i18n.__)('View site (opens in a new tab)'),
174
174
  icon: _icons.external,
175
- className: "edit-site-site-hub__site-view-link"
175
+ className: (0, _classnames.default)('edit-site-site-hub__site-view-link', {
176
+ 'is-transparent': isTransparent
177
+ })
176
178
  })), canvasMode === 'view' && (0, _react.createElement)(_components.Button, {
177
179
  className: (0, _classnames.default)('edit-site-site-hub_toggle-command-center', {
178
180
  'is-transparent': isTransparent
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_data","_components","_compose","_i18n","_blockEditor","_coreData","_editor","_htmlEntities","_element","_icons","_commands","_keycodes","_store","_siteIcon","_lockUnlock","HUB_ANIMATION_DURATION","SiteHub","memo","isTransparent","className","canvasMode","dashboardLink","homeUrl","siteTitle","useSelect","select","getCanvasMode","getSettings","unlock","editSiteStore","getSite","getUnstableBase","coreStore","__experimentalDashboardLink","home","title","open","openCommandCenter","useDispatch","commandsStore","disableMotion","useReducedMotion","setCanvasMode","clearSelectedBlock","blockEditorStore","setDeviceType","editorStore","isBackToDashboardButton","siteIconButtonProps","href","label","__","role","onClick","event","preventDefault","_react","createElement","__unstableMotion","div","classnames","variants","isDistractionFree","x","isDistractionFreeHovering","view","edit","initial","transition","type","duration","ease","__experimentalHStack","justify","alignment","spacing","layout","Button","animate","scale","whileHover","default","__unstableAnimatePresence","opacity","exit","delay","decodeEntities","target","icon","external","search","shortcut","displayShortcut","primary","_default","exports"],"sources":["@wordpress/edit-site/src/components/site-hub/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { useReducedMotion } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { memo } from '@wordpress/element';\nimport { search, external } from '@wordpress/icons';\nimport { store as commandsStore } from '@wordpress/commands';\nimport { displayShortcut } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport SiteIcon from '../site-icon';\nimport { unlock } from '../../lock-unlock';\n\nconst HUB_ANIMATION_DURATION = 0.3;\n\nconst SiteHub = memo( ( { isTransparent, className } ) => {\n\tconst { canvasMode, dashboardLink, homeUrl, siteTitle } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getCanvasMode, getSettings } = unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t);\n\n\t\t\tconst {\n\t\t\t\tgetSite,\n\t\t\t\tgetUnstableBase, // Site index.\n\t\t\t} = select( coreStore );\n\n\t\t\treturn {\n\t\t\t\tcanvasMode: getCanvasMode(),\n\t\t\t\tdashboardLink:\n\t\t\t\t\tgetSettings().__experimentalDashboardLink || 'index.php',\n\t\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t\t\tsiteTitle: getSite()?.title,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst { open: openCommandCenter } = useDispatch( commandsStore );\n\n\tconst disableMotion = useReducedMotion();\n\tconst { setCanvasMode } = unlock( useDispatch( editSiteStore ) );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\tconst { setDeviceType } = useDispatch( editorStore );\n\tconst isBackToDashboardButton = canvasMode === 'view';\n\tconst siteIconButtonProps = isBackToDashboardButton\n\t\t? {\n\t\t\t\thref: dashboardLink,\n\t\t\t\tlabel: __( 'Go to the Dashboard' ),\n\t\t }\n\t\t: {\n\t\t\t\thref: dashboardLink, // We need to keep the `href` here so the component doesn't remount as a `<button>` and break the animation.\n\t\t\t\trole: 'button',\n\t\t\t\tlabel: __( 'Open Navigation' ),\n\t\t\t\tonClick: ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif ( canvasMode === 'edit' ) {\n\t\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t\tsetDeviceType( 'Desktop' );\n\t\t\t\t\t\tsetCanvasMode( 'view' );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t };\n\n\treturn (\n\t\t<motion.div\n\t\t\tclassName={ classnames( 'edit-site-site-hub', className ) }\n\t\t\tvariants={ {\n\t\t\t\tisDistractionFree: { x: '-100%' },\n\t\t\t\tisDistractionFreeHovering: { x: 0 },\n\t\t\t\tview: { x: 0 },\n\t\t\t\tedit: { x: 0 },\n\t\t\t} }\n\t\t\tinitial={ false }\n\t\t\ttransition={ {\n\t\t\t\ttype: 'tween',\n\t\t\t\tduration: disableMotion ? 0 : HUB_ANIMATION_DURATION,\n\t\t\t\tease: 'easeOut',\n\t\t\t} }\n\t\t>\n\t\t\t<HStack\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\talignment=\"center\"\n\t\t\t\tclassName=\"edit-site-site-hub__container\"\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\tclassName=\"edit-site-site-hub__text-content\"\n\t\t\t\t\tspacing=\"0\"\n\t\t\t\t>\n\t\t\t\t\t<motion.div\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'edit-site-site-hub__view-mode-toggle-container',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'has-transparent-background': isTransparent,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlayout\n\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\tduration: disableMotion\n\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t: HUB_ANIMATION_DURATION,\n\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t{ ...siteIconButtonProps }\n\t\t\t\t\t\t\tclassName=\"edit-site-layout__view-mode-toggle\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\tinitial={ false }\n\t\t\t\t\t\t\t\tanimate={ {\n\t\t\t\t\t\t\t\t\tscale: canvasMode === 'view' ? 0.5 : 1,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\twhileHover={ {\n\t\t\t\t\t\t\t\t\tscale: canvasMode === 'view' ? 0.5 : 0.96,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\tduration: disableMotion\n\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t: HUB_ANIMATION_DURATION,\n\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<SiteIcon className=\"edit-site-layout__view-mode-toggle-icon\" />\n\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</motion.div>\n\n\t\t\t\t\t<AnimatePresence>\n\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\tlayout={ canvasMode === 'edit' }\n\t\t\t\t\t\t\tanimate={ {\n\t\t\t\t\t\t\t\topacity: canvasMode === 'view' ? 1 : 0,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\texit={ {\n\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'edit-site-site-hub__site-title',\n\t\t\t\t\t\t\t\t{ 'is-transparent': isTransparent }\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\tduration: disableMotion ? 0 : 0.2,\n\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\tdelay: canvasMode === 'view' ? 0.1 : 0,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ decodeEntities( siteTitle ) }\n\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t</AnimatePresence>\n\t\t\t\t\t{ canvasMode === 'view' && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\thref={ homeUrl }\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\tlabel={ __( 'View site (opens in a new tab)' ) }\n\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t'View site (opens in a new tab)'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\t\tclassName=\"edit-site-site-hub__site-view-link\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</HStack>\n\t\t\t\t{ canvasMode === 'view' && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'edit-site-site-hub_toggle-command-center',\n\t\t\t\t\t\t\t{ 'is-transparent': isTransparent }\n\t\t\t\t\t\t) }\n\t\t\t\t\t\ticon={ search }\n\t\t\t\t\t\tonClick={ () => openCommandCenter() }\n\t\t\t\t\t\tlabel={ __( 'Open command palette' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</motion.div>\n\t);\n} );\n\nexport default SiteHub;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_data","_components","_compose","_i18n","_blockEditor","_coreData","_editor","_htmlEntities","_element","_icons","_commands","_keycodes","_store","_siteIcon","_lockUnlock","HUB_ANIMATION_DURATION","SiteHub","memo","isTransparent","className","canvasMode","dashboardLink","homeUrl","siteTitle","useSelect","select","getCanvasMode","getSettings","unlock","editSiteStore","getSite","getUnstableBase","coreStore","__experimentalDashboardLink","home","title","open","openCommandCenter","useDispatch","commandsStore","disableMotion","useReducedMotion","setCanvasMode","clearSelectedBlock","blockEditorStore","setDeviceType","editorStore","isBackToDashboardButton","siteIconButtonProps","href","label","__","role","onClick","event","preventDefault","_react","createElement","__unstableMotion","div","classnames","variants","isDistractionFree","x","isDistractionFreeHovering","view","edit","initial","transition","type","duration","ease","__experimentalHStack","justify","alignment","spacing","layout","Button","animate","scale","whileHover","default","__unstableAnimatePresence","opacity","exit","delay","decodeEntities","target","icon","external","search","shortcut","displayShortcut","primary","_default","exports"],"sources":["@wordpress/edit-site/src/components/site-hub/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { useReducedMotion } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { memo } from '@wordpress/element';\nimport { search, external } from '@wordpress/icons';\nimport { store as commandsStore } from '@wordpress/commands';\nimport { displayShortcut } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport SiteIcon from '../site-icon';\nimport { unlock } from '../../lock-unlock';\n\nconst HUB_ANIMATION_DURATION = 0.3;\n\nconst SiteHub = memo( ( { isTransparent, className } ) => {\n\tconst { canvasMode, dashboardLink, homeUrl, siteTitle } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getCanvasMode, getSettings } = unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t);\n\n\t\t\tconst {\n\t\t\t\tgetSite,\n\t\t\t\tgetUnstableBase, // Site index.\n\t\t\t} = select( coreStore );\n\n\t\t\treturn {\n\t\t\t\tcanvasMode: getCanvasMode(),\n\t\t\t\tdashboardLink:\n\t\t\t\t\tgetSettings().__experimentalDashboardLink || 'index.php',\n\t\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t\t\tsiteTitle: getSite()?.title,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst { open: openCommandCenter } = useDispatch( commandsStore );\n\n\tconst disableMotion = useReducedMotion();\n\tconst { setCanvasMode } = unlock( useDispatch( editSiteStore ) );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\tconst { setDeviceType } = useDispatch( editorStore );\n\tconst isBackToDashboardButton = canvasMode === 'view';\n\tconst siteIconButtonProps = isBackToDashboardButton\n\t\t? {\n\t\t\t\thref: dashboardLink,\n\t\t\t\tlabel: __( 'Go to the Dashboard' ),\n\t\t }\n\t\t: {\n\t\t\t\thref: dashboardLink, // We need to keep the `href` here so the component doesn't remount as a `<button>` and break the animation.\n\t\t\t\trole: 'button',\n\t\t\t\tlabel: __( 'Open Navigation' ),\n\t\t\t\tonClick: ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif ( canvasMode === 'edit' ) {\n\t\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t\tsetDeviceType( 'Desktop' );\n\t\t\t\t\t\tsetCanvasMode( 'view' );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t };\n\n\treturn (\n\t\t<motion.div\n\t\t\tclassName={ classnames( 'edit-site-site-hub', className ) }\n\t\t\tvariants={ {\n\t\t\t\tisDistractionFree: { x: '-100%' },\n\t\t\t\tisDistractionFreeHovering: { x: 0 },\n\t\t\t\tview: { x: 0 },\n\t\t\t\tedit: { x: 0 },\n\t\t\t} }\n\t\t\tinitial={ false }\n\t\t\ttransition={ {\n\t\t\t\ttype: 'tween',\n\t\t\t\tduration: disableMotion ? 0 : HUB_ANIMATION_DURATION,\n\t\t\t\tease: 'easeOut',\n\t\t\t} }\n\t\t>\n\t\t\t<HStack\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\talignment=\"center\"\n\t\t\t\tclassName=\"edit-site-site-hub__container\"\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\tclassName=\"edit-site-site-hub__text-content\"\n\t\t\t\t\tspacing=\"0\"\n\t\t\t\t>\n\t\t\t\t\t<motion.div\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'edit-site-site-hub__view-mode-toggle-container',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'has-transparent-background': isTransparent,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlayout\n\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\tduration: disableMotion\n\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t: HUB_ANIMATION_DURATION,\n\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t{ ...siteIconButtonProps }\n\t\t\t\t\t\t\tclassName=\"edit-site-layout__view-mode-toggle\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\tinitial={ false }\n\t\t\t\t\t\t\t\tanimate={ {\n\t\t\t\t\t\t\t\t\tscale: canvasMode === 'view' ? 0.5 : 1,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\twhileHover={ {\n\t\t\t\t\t\t\t\t\tscale: canvasMode === 'view' ? 0.5 : 0.96,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\tduration: disableMotion\n\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t: HUB_ANIMATION_DURATION,\n\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<SiteIcon className=\"edit-site-layout__view-mode-toggle-icon\" />\n\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</motion.div>\n\n\t\t\t\t\t<AnimatePresence>\n\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\tlayout={ canvasMode === 'edit' }\n\t\t\t\t\t\t\tanimate={ {\n\t\t\t\t\t\t\t\topacity: canvasMode === 'view' ? 1 : 0,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\texit={ {\n\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'edit-site-site-hub__site-title',\n\t\t\t\t\t\t\t\t{ 'is-transparent': isTransparent }\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\tduration: disableMotion ? 0 : 0.2,\n\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\tdelay: canvasMode === 'view' ? 0.1 : 0,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ decodeEntities( siteTitle ) }\n\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t</AnimatePresence>\n\t\t\t\t\t{ canvasMode === 'view' && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\thref={ homeUrl }\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\tlabel={ __( 'View site (opens in a new tab)' ) }\n\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t'View site (opens in a new tab)'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'edit-site-site-hub__site-view-link',\n\t\t\t\t\t\t\t\t{ 'is-transparent': isTransparent }\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</HStack>\n\t\t\t\t{ canvasMode === 'view' && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'edit-site-site-hub_toggle-command-center',\n\t\t\t\t\t\t\t{ 'is-transparent': isTransparent }\n\t\t\t\t\t\t) }\n\t\t\t\t\t\ticon={ search }\n\t\t\t\t\t\tonClick={ () => openCommandCenter() }\n\t\t\t\t\t\tlabel={ __( 'Open command palette' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</motion.div>\n\t);\n} );\n\nexport default SiteHub;\n"],"mappings":"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"}
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = useInitEditedEntityFromURL;
7
- exports.useInitEditedEntity = useInitEditedEntity;
8
7
  var _element = require("@wordpress/element");
9
8
  var _data = require("@wordpress/data");
10
9
  var _coreData = require("@wordpress/core-data");
@@ -25,6 +24,7 @@ const {
25
24
  } = (0, _lockUnlock.unlock)(_router.privateApis);
26
25
  const postTypesWithoutParentTemplate = [_constants.TEMPLATE_POST_TYPE, _constants.TEMPLATE_PART_POST_TYPE, _constants.NAVIGATION_POST_TYPE, _constants.PATTERN_TYPES.user];
27
26
  function useResolveEditedEntityAndContext({
27
+ path,
28
28
  postId,
29
29
  postType
30
30
  }) {
@@ -103,10 +103,19 @@ function useResolveEditedEntityAndContext({
103
103
  return currentTemplate.id;
104
104
  }
105
105
  }
106
-
107
106
  // If no template is assigned, use the default template.
107
+ let slugToCheck;
108
+ // In `draft` status we might not have a slug available, so we use the `single`
109
+ // post type templates slug(ex page, single-post, single-product etc..).
110
+ // Pages do not need the `single` prefix in the slug to be prioritized
111
+ // through template hierarchy.
112
+ if (editedEntity.slug) {
113
+ slugToCheck = postTypeToResolve === 'page' ? `${postTypeToResolve}-${editedEntity.slug}` : `single-${postTypeToResolve}-${editedEntity.slug}`;
114
+ } else {
115
+ slugToCheck = postTypeToResolve === 'page' ? 'page' : `single-${postTypeToResolve}`;
116
+ }
108
117
  return getDefaultTemplateId({
109
- slug: `${postTypeToResolve}-${editedEntity?.slug}`
118
+ slug: slugToCheck
110
119
  });
111
120
  }
112
121
  if (!hasLoadedAllDependencies) {
@@ -118,6 +127,11 @@ function useResolveEditedEntityAndContext({
118
127
  return resolveTemplateForPostTypeAndId(postType, postId);
119
128
  }
120
129
 
130
+ // Some URLs in list views are different
131
+ if (path === '/pages' && postId) {
132
+ return resolveTemplateForPostTypeAndId('page', postId);
133
+ }
134
+
121
135
  // If we're rendering the home page, and we have a static home page, resolve its template.
122
136
  if (homepageId) {
123
137
  return resolveTemplateForPostTypeAndId('page', homepageId);
@@ -128,7 +142,7 @@ function useResolveEditedEntityAndContext({
128
142
  const template = __experimentalGetTemplateForLink(url);
129
143
  return template?.id;
130
144
  }
131
- }, [homepageId, hasLoadedAllDependencies, url, postId, postType, frontPageTemplateId]);
145
+ }, [homepageId, hasLoadedAllDependencies, url, postId, postType, path, frontPageTemplateId]);
132
146
  const context = (0, _element.useMemo)(() => {
133
147
  if (postTypesWithoutParentTemplate.includes(postType)) {
134
148
  return {};
@@ -139,6 +153,14 @@ function useResolveEditedEntityAndContext({
139
153
  postId
140
154
  };
141
155
  }
156
+
157
+ // Some URLs in list views are different
158
+ if (path === '/pages' && postId) {
159
+ return {
160
+ postType: 'page',
161
+ postId
162
+ };
163
+ }
142
164
  if (homepageId) {
143
165
  return {
144
166
  postType: 'page',
@@ -146,7 +168,23 @@ function useResolveEditedEntityAndContext({
146
168
  };
147
169
  }
148
170
  return {};
149
- }, [homepageId, postType, postId]);
171
+ }, [homepageId, postType, postId, path]);
172
+ if (path === '/wp_template/all' && postId) {
173
+ return {
174
+ isReady: true,
175
+ postType: 'wp_template',
176
+ postId,
177
+ context
178
+ };
179
+ }
180
+ if (path === '/wp_template_part/all' && postId) {
181
+ return {
182
+ isReady: true,
183
+ postType: 'wp_template_part',
184
+ postId,
185
+ context
186
+ };
187
+ }
150
188
  if (postTypesWithoutParentTemplate.includes(postType)) {
151
189
  return {
152
190
  isReady: true,
@@ -167,7 +205,10 @@ function useResolveEditedEntityAndContext({
167
205
  isReady: false
168
206
  };
169
207
  }
170
- function useInitEditedEntity(params) {
208
+ function useInitEditedEntityFromURL() {
209
+ const {
210
+ params = {}
211
+ } = useLocation();
171
212
  const {
172
213
  postType,
173
214
  postId,
@@ -183,10 +224,4 @@ function useInitEditedEntity(params) {
183
224
  }
184
225
  }, [isReady, postType, postId, context, setEditedEntity]);
185
226
  }
186
- function useInitEditedEntityFromURL() {
187
- const {
188
- params = {}
189
- } = useLocation();
190
- return useInitEditedEntity(params);
191
- }
192
227
  //# sourceMappingURL=use-init-edited-entity-from-url.js.map
@@ -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","hasLoadedAllDependencies","homepageId","url","frontPageTemplateId","useSelect","select","getSite","getUnstableBase","getEntityRecords","coreDataStore","siteData","base","templates","per_page","_frontPateTemplateId","frontPageTemplate","find","t","slug","id","show_on_front","includes","page_on_front","toString","home","resolvedTemplateId","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[ 'number', 'string' ].includes(\n\t\t\t\t\t\ttypeof siteData.page_on_front\n\t\t\t\t\t)\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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"}
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","path","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","includes","page_on_front","toString","home","resolvedTemplateId","undefined","getEditedEntityRecord","getDefaultTemplateId","__experimentalGetTemplateForLink","resolveTemplateForPostTypeAndId","postTypeToResolve","postIdToResolve","editedEntity","currentTemplateSlug","template","currentTemplate","slugToCheck","context","useMemo","isReady","useInitEditedEntityFromURL","params","setEditedEntity","useDispatch","editSiteStore","useEffect"],"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( { path, 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[ 'number', 'string' ].includes(\n\t\t\t\t\t\ttypeof siteData.page_on_front\n\t\t\t\t\t)\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\t\t\t\t// If no template is assigned, use the default template.\n\t\t\t\tlet slugToCheck;\n\t\t\t\t// In `draft` status we might not have a slug available, so we use the `single`\n\t\t\t\t// post type templates slug(ex page, single-post, single-product etc..).\n\t\t\t\t// Pages do not need the `single` prefix in the slug to be prioritized\n\t\t\t\t// through template hierarchy.\n\t\t\t\tif ( editedEntity.slug ) {\n\t\t\t\t\tslugToCheck =\n\t\t\t\t\t\tpostTypeToResolve === 'page'\n\t\t\t\t\t\t\t? `${ postTypeToResolve }-${ editedEntity.slug }`\n\t\t\t\t\t\t\t: `single-${ postTypeToResolve }-${ editedEntity.slug }`;\n\t\t\t\t} else {\n\t\t\t\t\tslugToCheck =\n\t\t\t\t\t\tpostTypeToResolve === 'page'\n\t\t\t\t\t\t\t? 'page'\n\t\t\t\t\t\t\t: `single-${ postTypeToResolve }`;\n\t\t\t\t}\n\t\t\t\treturn getDefaultTemplateId( {\n\t\t\t\t\tslug: slugToCheck,\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// Some URLs in list views are different\n\t\t\tif ( path === '/pages' && postId ) {\n\t\t\t\treturn resolveTemplateForPostTypeAndId( 'page', 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\tpath,\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\t// Some URLs in list views are different\n\t\tif ( path === '/pages' && postId ) {\n\t\t\treturn { postType: 'page', 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, path ] );\n\n\tif ( path === '/wp_template/all' && postId ) {\n\t\treturn { isReady: true, postType: 'wp_template', postId, context };\n\t}\n\n\tif ( path === '/wp_template_part/all' && postId ) {\n\t\treturn { isReady: true, postType: 'wp_template_part', postId, context };\n\t}\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 default function useInitEditedEntityFromURL() {\n\tconst { params = {} } = useLocation();\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"],"mappings":"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"}
@@ -78,13 +78,15 @@ function useSyncPathWithURL() {
78
78
  updateUrlParams({
79
79
  postType: navigatorParams?.postType,
80
80
  postId: navigatorParams?.postId,
81
- path: undefined
81
+ path: undefined,
82
+ layout: undefined
82
83
  });
83
84
  } else if (navigatorLocation.path.startsWith('/page/') && navigatorParams?.postId) {
84
85
  updateUrlParams({
85
86
  postType: 'page',
86
87
  postId: navigatorParams?.postId,
87
- path: undefined
88
+ path: undefined,
89
+ layout: undefined
88
90
  });
89
91
  } else if (navigatorLocation.path === '/patterns') {
90
92
  updateUrlParams({
@@ -93,12 +95,33 @@ function useSyncPathWithURL() {
93
95
  canvas: undefined,
94
96
  path: navigatorLocation.path
95
97
  });
98
+ } else if (navigatorLocation.path === '/wp_template/all' && !window?.__experimentalAdminViews) {
99
+ // When the experiment is disabled, we only support table layout.
100
+ // Clear it out from the URL, so layouts other than table cannot be accessed.
101
+ updateUrlParams({
102
+ postType: undefined,
103
+ categoryType: undefined,
104
+ categoryId: undefined,
105
+ path: navigatorLocation.path,
106
+ layout: undefined
107
+ });
108
+ } else if (
109
+ // These sidebar paths are special in the sense that the url in these pages may or may not have a postId and we need to retain it if it has.
110
+ // The "type" property should be kept as well.
111
+ navigatorLocation.path === '/pages' && window?.__experimentalAdminViews || navigatorLocation.path === '/wp_template/all' && window?.__experimentalAdminViews || navigatorLocation.path === '/wp_template_part/all' && window?.__experimentalAdminViews) {
112
+ updateUrlParams({
113
+ postType: undefined,
114
+ categoryType: undefined,
115
+ categoryId: undefined,
116
+ path: navigatorLocation.path
117
+ });
96
118
  } else {
97
119
  updateUrlParams({
98
120
  postType: undefined,
99
121
  postId: undefined,
100
122
  categoryType: undefined,
101
123
  categoryId: undefined,
124
+ layout: undefined,
102
125
  path: navigatorLocation.path === '/' ? undefined : navigatorLocation.path
103
126
  });
104
127
  }