@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,30 +1,16 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import {
5
- PreferencesModal,
6
- PreferencesModalTabs,
7
- PreferencesModalSection,
8
- store as interfaceStore,
9
- } from '@wordpress/interface';
10
- import { __ } from '@wordpress/i18n';
11
- import { useSelect, useDispatch, useRegistry } from '@wordpress/data';
12
- import { store as preferencesStore } from '@wordpress/preferences';
13
- import {
14
- PostTaxonomies,
15
- PostExcerptCheck,
16
- PageAttributesCheck,
17
- PostFeaturedImageCheck,
18
- PostTypeSupportCheck,
19
- store as editorStore,
20
- } from '@wordpress/editor';
4
+ import { store as interfaceStore } from '@wordpress/interface';
5
+ import { useSelect, useDispatch } from '@wordpress/data';
6
+ import { privateApis as editorPrivateApis } from '@wordpress/editor';
21
7
 
22
8
  /**
23
9
  * Internal dependencies
24
10
  */
25
- import EnableFeature from './enable-feature';
26
- import EnablePanelOption from './enable-panel-option';
27
- import { store as editSiteStore } from '../../store';
11
+ import { unlock } from '../../lock-unlock';
12
+
13
+ const { PreferencesModal } = unlock( editorPrivateApis );
28
14
 
29
15
  export const PREFERENCES_MODAL_NAME = 'edit-site/preferences';
30
16
 
@@ -32,201 +18,12 @@ export default function EditSitePreferencesModal() {
32
18
  const isModalActive = useSelect( ( select ) =>
33
19
  select( interfaceStore ).isModalActive( PREFERENCES_MODAL_NAME )
34
20
  );
35
- const { closeModal, openModal } = useDispatch( interfaceStore );
36
- const toggleModal = () =>
37
- isModalActive ? closeModal() : openModal( PREFERENCES_MODAL_NAME );
38
- const registry = useRegistry();
39
- const { closeGeneralSidebar } = useDispatch( editSiteStore );
40
- const { setIsListViewOpened, setIsInserterOpened } =
41
- useDispatch( editorStore );
42
-
43
- const { set: setPreference } = useDispatch( preferencesStore );
44
- const toggleDistractionFree = () => {
45
- registry.batch( () => {
46
- setPreference( 'core', 'fixedToolbar', true );
47
- setIsInserterOpened( false );
48
- setIsListViewOpened( false );
49
- closeGeneralSidebar();
50
- } );
51
- };
52
-
53
- const turnOffDistractionFree = () => {
54
- setPreference( 'core', 'distractionFree', false );
55
- };
21
+ const { closeModal } = useDispatch( interfaceStore );
56
22
 
57
- const sections = [
58
- {
59
- name: 'general',
60
- tabLabel: __( 'General' ),
61
- content: (
62
- <>
63
- <PreferencesModalSection title={ __( 'Interface' ) }>
64
- <EnableFeature
65
- scope="core"
66
- featureName="showListViewByDefault"
67
- help={ __(
68
- 'Opens the block list view sidebar by default.'
69
- ) }
70
- label={ __( 'Always open list view' ) }
71
- />
72
- <EnableFeature
73
- scope="core"
74
- featureName="showBlockBreadcrumbs"
75
- help={ __(
76
- 'Shows block breadcrumbs at the bottom of the editor.'
77
- ) }
78
- label={ __( 'Display block breadcrumbs' ) }
79
- />
80
- <EnableFeature
81
- scope="core"
82
- featureName="allowRightClickOverrides"
83
- help={ __(
84
- 'Allows contextual list view menus via right-click, overriding browser defaults.'
85
- ) }
86
- label={ __( 'Allow right-click contextual menus' ) }
87
- />
88
- </PreferencesModalSection>
89
- <PreferencesModalSection
90
- title={ __( 'Document settings' ) }
91
- description={ __(
92
- 'Select what settings are shown in the document panel.'
93
- ) }
94
- >
95
- <PostTaxonomies
96
- taxonomyWrapper={ ( content, taxonomy ) => (
97
- <EnablePanelOption
98
- label={ taxonomy.labels.menu_name }
99
- panelName={ `taxonomy-panel-${ taxonomy.slug }` }
100
- />
101
- ) }
102
- />
103
- <PostFeaturedImageCheck>
104
- <EnablePanelOption
105
- label={ __( 'Featured image' ) }
106
- panelName="featured-image"
107
- />
108
- </PostFeaturedImageCheck>
109
- <PostExcerptCheck>
110
- <EnablePanelOption
111
- label={ __( 'Excerpt' ) }
112
- panelName="post-excerpt"
113
- />
114
- </PostExcerptCheck>
115
- <PostTypeSupportCheck
116
- supportKeys={ [ 'comments', 'trackbacks' ] }
117
- >
118
- <EnablePanelOption
119
- label={ __( 'Discussion' ) }
120
- panelName="discussion-panel"
121
- />
122
- </PostTypeSupportCheck>
123
- <PageAttributesCheck>
124
- <EnablePanelOption
125
- label={ __( 'Page attributes' ) }
126
- panelName="page-attributes"
127
- />
128
- </PageAttributesCheck>
129
- </PreferencesModalSection>
130
- </>
131
- ),
132
- },
133
- {
134
- name: 'appearance',
135
- tabLabel: __( 'Appearance' ),
136
- content: (
137
- <PreferencesModalSection
138
- title={ __( 'Appearance' ) }
139
- description={ __(
140
- 'Customize the editor interface to suit your needs.'
141
- ) }
142
- >
143
- <EnableFeature
144
- scope="core"
145
- featureName="fixedToolbar"
146
- onToggle={ turnOffDistractionFree }
147
- help={ __(
148
- 'Access all block and document tools in a single place.'
149
- ) }
150
- label={ __( 'Top toolbar' ) }
151
- />
152
- <EnableFeature
153
- scope="core"
154
- featureName="distractionFree"
155
- onToggle={ toggleDistractionFree }
156
- help={ __(
157
- 'Reduce visual distractions by hiding the toolbar and other elements to focus on writing.'
158
- ) }
159
- label={ __( 'Distraction free' ) }
160
- />
161
- <EnableFeature
162
- scope="core"
163
- featureName="focusMode"
164
- help={ __(
165
- 'Highlights the current block and fades other content.'
166
- ) }
167
- label={ __( 'Spotlight mode' ) }
168
- />
169
- </PreferencesModalSection>
170
- ),
171
- },
172
- {
173
- name: 'accessibility',
174
- tabLabel: __( 'Accessibility' ),
175
- content: (
176
- <>
177
- <PreferencesModalSection
178
- title={ __( 'Navigation' ) }
179
- description={ __(
180
- 'Optimize the editing experience for enhanced control.'
181
- ) }
182
- >
183
- <EnableFeature
184
- scope="core"
185
- featureName="keepCaretInsideBlock"
186
- help={ __(
187
- 'Keeps the text cursor within the block boundaries, aiding users with screen readers by preventing unintentional cursor movement outside the block.'
188
- ) }
189
- label={ __( 'Contain text cursor inside block' ) }
190
- />
191
- </PreferencesModalSection>
192
- <PreferencesModalSection title={ __( 'Interface' ) }>
193
- <EnableFeature
194
- scope="core"
195
- featureName="showIconLabels"
196
- label={ __( 'Show button text labels' ) }
197
- help={ __(
198
- 'Show text instead of icons on buttons across the interface.'
199
- ) }
200
- />
201
- </PreferencesModalSection>
202
- </>
203
- ),
204
- },
205
- {
206
- name: 'blocks',
207
- tabLabel: __( 'Blocks' ),
208
- content: (
209
- <>
210
- <PreferencesModalSection title={ __( 'Inserter' ) }>
211
- <EnableFeature
212
- scope="core"
213
- featureName="mostUsedBlocks"
214
- help={ __(
215
- 'Adds a category with the most frequently used blocks in the inserter.'
216
- ) }
217
- label={ __( 'Show most used blocks' ) }
218
- />
219
- </PreferencesModalSection>
220
- </>
221
- ),
222
- },
223
- ];
224
23
  if ( ! isModalActive ) {
225
24
  return null;
226
25
  }
227
26
  return (
228
- <PreferencesModal closeModal={ toggleModal }>
229
- <PreferencesModalTabs sections={ sections } />
230
- </PreferencesModal>
27
+ <PreferencesModal isActive={ isModalActive } onClose={ closeModal } />
231
28
  );
232
29
  }
@@ -78,7 +78,7 @@ function Revisions( { userConfig, blocks } ) {
78
78
  {
79
79
  // Forming a "block formatting context" to prevent margin collapsing.
80
80
  // @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context
81
- `.is-root-container { display: flow-root; } body { position: relative; padding: 32px; }`
81
+ `.is-root-container { display: flow-root; }`
82
82
  }
83
83
  </style>
84
84
  <Disabled className="edit-site-revisions__example-preview__content">
@@ -34,9 +34,7 @@ export default function SaveButton( {
34
34
  const dirtyEntityRecords = __experimentalGetDirtyEntityRecords();
35
35
  const { isSaveViewOpened } = select( editSiteStore );
36
36
  const isActivatingTheme = isResolving( 'activateTheme' );
37
- const previewingTheme = select( coreStore ).getTheme(
38
- currentlyPreviewingTheme()
39
- );
37
+ const currentlyPreviewingThemeId = currentlyPreviewingTheme();
40
38
 
41
39
  return {
42
40
  isDirty: dirtyEntityRecords.length > 0,
@@ -49,7 +47,12 @@ export default function SaveButton( {
49
47
  )
50
48
  ) || isActivatingTheme,
51
49
  isSaveViewOpen: isSaveViewOpened(),
52
- previewingThemeName: previewingTheme?.name?.rendered,
50
+ // Do not call `getTheme` with null, it will cause a request to
51
+ // the server.
52
+ previewingThemeName: currentlyPreviewingThemeId
53
+ ? select( coreStore ).getTheme( currentlyPreviewingThemeId )
54
+ ?.name?.rendered
55
+ : undefined,
53
56
  };
54
57
  }, [] );
55
58
  const { setIsSaveViewOpened } = useDispatch( editSiteStore );
@@ -23,10 +23,8 @@ import { store as coreStore } from '@wordpress/core-data';
23
23
  import { store as editSiteStore } from '../../store';
24
24
  import { unlock } from '../../lock-unlock';
25
25
  import { useActivateTheme } from '../../utils/use-activate-theme';
26
- import {
27
- currentlyPreviewingTheme,
28
- isPreviewingTheme,
29
- } from '../../utils/is-previewing-theme';
26
+ import { useActualCurrentTheme } from '../../utils/use-actual-current-theme';
27
+ import { isPreviewingTheme } from '../../utils/is-previewing-theme';
30
28
 
31
29
  const { EntitiesSavedStatesExtensible } = unlock( privateApis );
32
30
 
@@ -39,19 +37,22 @@ const EntitiesSavedStatesForPreview = ( { onClose } ) => {
39
37
  activateSaveLabel = __( 'Activate' );
40
38
  }
41
39
 
42
- const themeName = useSelect( ( select ) => {
43
- const theme = select( coreStore ).getTheme(
44
- currentlyPreviewingTheme()
45
- );
40
+ const currentTheme = useActualCurrentTheme();
46
41
 
47
- return theme?.name?.rendered;
48
- }, [] );
42
+ const previewingTheme = useSelect(
43
+ ( select ) => select( coreStore ).getCurrentTheme(),
44
+ []
45
+ );
49
46
 
50
47
  const additionalPrompt = (
51
48
  <p>
52
49
  { sprintf(
53
- 'Saving your changes will change your active theme to %s.',
54
- themeName
50
+ /* translators: %1$s: The name of active theme, %2$s: The name of theme to be activated. */
51
+ __(
52
+ 'Saving your changes will change your active theme from %1$s to %2$s.'
53
+ ),
54
+ currentTheme?.name?.rendered ?? '...',
55
+ previewingTheme?.name?.rendered ?? '...'
55
56
  ) }
56
57
  </p>
57
58
  );
@@ -66,11 +66,10 @@ function SidebarScreens() {
66
66
  <SidebarNavigationScreenGlobalStyles />
67
67
  </SidebarScreenWrapper>
68
68
  <SidebarScreenWrapper path="/page">
69
- { window?.__experimentalAdminViews ? (
70
- <SidebarNavigationScreenPagesDataViews />
71
- ) : (
72
- <SidebarNavigationScreenPages />
73
- ) }
69
+ <SidebarNavigationScreenPages />
70
+ </SidebarScreenWrapper>
71
+ <SidebarScreenWrapper path="/pages">
72
+ <SidebarNavigationScreenPagesDataViews />
74
73
  </SidebarScreenWrapper>
75
74
  <SidebarScreenWrapper path="/page/:postId">
76
75
  <SidebarNavigationScreenPage />
@@ -29,7 +29,7 @@ export default function DataViewItem( {
29
29
  suffix,
30
30
  } ) {
31
31
  const {
32
- params: { path },
32
+ params: { path, layout },
33
33
  } = useLocation();
34
34
 
35
35
  const iconToUse =
@@ -37,6 +37,7 @@ export default function DataViewItem( {
37
37
 
38
38
  const linkInfo = useLink( {
39
39
  path,
40
+ layout,
40
41
  activeView: isCustom === 'true' ? customViewId : slug,
41
42
  isCustom,
42
43
  } );
@@ -15,7 +15,9 @@ import {
15
15
  } from '../../utils/constants';
16
16
 
17
17
  export const DEFAULT_CONFIG_PER_VIEW_TYPE = {
18
- [ LAYOUT_TABLE ]: {},
18
+ [ LAYOUT_TABLE ]: {
19
+ primaryField: 'title',
20
+ },
19
21
  [ LAYOUT_GRID ]: {
20
22
  mediaField: 'featured-image',
21
23
  primaryField: 'title',
@@ -27,7 +29,7 @@ export const DEFAULT_CONFIG_PER_VIEW_TYPE = {
27
29
  };
28
30
 
29
31
  const DEFAULT_PAGE_BASE = {
30
- type: LAYOUT_LIST,
32
+ type: LAYOUT_TABLE,
31
33
  search: '',
32
34
  filters: [],
33
35
  page: 1,
@@ -15,7 +15,7 @@ import DataViewItem from './dataview-item';
15
15
  import CustomDataViewsList from './custom-dataviews-list';
16
16
 
17
17
  const PATH_TO_TYPE = {
18
- '/page': 'page',
18
+ '/pages': 'page',
19
19
  };
20
20
 
21
21
  export default function DataViewsSidebarContent() {
@@ -47,11 +47,13 @@ export default function DataViewsSidebarContent() {
47
47
  );
48
48
  } ) }
49
49
  </ItemGroup>
50
- <CustomDataViewsList
51
- activeView={ activeView }
52
- type={ type }
53
- isCustom="true"
54
- />
50
+ { window?.__experimentalAdminViews && (
51
+ <CustomDataViewsList
52
+ activeView={ activeView }
53
+ type={ type }
54
+ isCustom="true"
55
+ />
56
+ ) }
55
57
  </>
56
58
  );
57
59
  }
@@ -33,5 +33,5 @@
33
33
 
34
34
  .edit-site-sidebar-navigation-screen__content .block-editor-list-view-block-select-button {
35
35
  cursor: grab;
36
- padding: $grid-unit-10;
36
+ padding: $grid-unit-10 $grid-unit-10 $grid-unit-10 0;
37
37
  }
@@ -41,17 +41,26 @@ export default function SidebarNavigationScreen( {
41
41
  description,
42
42
  backPath: backPathProp,
43
43
  } ) {
44
- const { dashboardLink, dashboardLinkText } = useSelect( ( select ) => {
45
- const { getSettings } = unlock( select( editSiteStore ) );
46
- return {
47
- dashboardLink: getSettings().__experimentalDashboardLink,
48
- dashboardLinkText: getSettings().__experimentalDashboardLinkText,
49
- };
50
- }, [] );
51
- const { getTheme } = useSelect( coreStore );
44
+ const { dashboardLink, dashboardLinkText, previewingThemeName } = useSelect(
45
+ ( select ) => {
46
+ const { getSettings } = unlock( select( editSiteStore ) );
47
+ const currentlyPreviewingThemeId = currentlyPreviewingTheme();
48
+ return {
49
+ dashboardLink: getSettings().__experimentalDashboardLink,
50
+ dashboardLinkText:
51
+ getSettings().__experimentalDashboardLinkText,
52
+ // Do not call `getTheme` with null, it will cause a request to
53
+ // the server.
54
+ previewingThemeName: currentlyPreviewingThemeId
55
+ ? select( coreStore ).getTheme( currentlyPreviewingThemeId )
56
+ ?.name?.rendered
57
+ : undefined,
58
+ };
59
+ },
60
+ []
61
+ );
52
62
  const location = useLocation();
53
63
  const navigator = useNavigator();
54
- const theme = getTheme( currentlyPreviewingTheme() );
55
64
  const icon = isRTL() ? chevronRight : chevronLeft;
56
65
 
57
66
  return (
@@ -108,7 +117,7 @@ export default function SidebarNavigationScreen( {
108
117
  ? title
109
118
  : sprintf(
110
119
  'Previewing %1$s: %2$s',
111
- theme?.name?.rendered,
120
+ previewingThemeName,
112
121
  title
113
122
  ) }
114
123
  </Heading>
@@ -137,14 +137,6 @@ export default function SidebarNavigationScreenPages() {
137
137
  };
138
138
 
139
139
  const pagesLink = useLink( { path: '/pages' } );
140
- const manageAllPagesProps = window?.__experimentalAdminViews
141
- ? { ...pagesLink }
142
- : {
143
- href: 'edit.php?post_type=page',
144
- onClick: () => {
145
- document.location = 'edit.php?post_type=page';
146
- },
147
- };
148
140
 
149
141
  return (
150
142
  <>
@@ -156,7 +148,7 @@ export default function SidebarNavigationScreenPages() {
156
148
  ) }
157
149
  <SidebarNavigationScreen
158
150
  title={ __( 'Pages' ) }
159
- description={ __( 'Browse and edit pages on your site.' ) }
151
+ description={ __( 'Browse and manage pages.' ) }
160
152
  actions={
161
153
  <SidebarButton
162
154
  icon={ plus }
@@ -230,7 +222,7 @@ export default function SidebarNavigationScreenPages() {
230
222
  ) ) }
231
223
  <SidebarNavigationItem
232
224
  className="edit-site-sidebar-navigation-screen-pages__see-all"
233
- { ...manageAllPagesProps }
225
+ { ...pagesLink }
234
226
  >
235
227
  { __( 'Manage all pages' ) }
236
228
  </SidebarNavigationItem>
@@ -7,9 +7,10 @@ import {
7
7
  } from '@wordpress/components';
8
8
  import { layout } from '@wordpress/icons';
9
9
  import { useMemo } from '@wordpress/element';
10
- import { useEntityRecords } from '@wordpress/core-data';
10
+ import { useEntityRecords, store as coreStore } from '@wordpress/core-data';
11
11
  import { decodeEntities } from '@wordpress/html-entities';
12
12
  import { __ } from '@wordpress/i18n';
13
+ import { useSelect } from '@wordpress/data';
13
14
 
14
15
  /**
15
16
  * Internal dependencies
@@ -41,18 +42,43 @@ export default function SidebarNavigationScreenPagesDataViews() {
41
42
  per_page: -1,
42
43
  }
43
44
  );
44
- const templates = useMemo(
45
- () =>
46
- templateRecords?.filter( ( { slug } ) =>
45
+
46
+ const { frontPage, postsPage } = useSelect( ( select ) => {
47
+ const { getEntityRecord } = select( coreStore );
48
+ const siteSettings = getEntityRecord( 'root', 'site' );
49
+ return {
50
+ frontPage: siteSettings?.page_on_front,
51
+ postsPage: siteSettings?.page_for_posts,
52
+ };
53
+ }, [] );
54
+
55
+ const templates = useMemo( () => {
56
+ if ( ! templateRecords ) {
57
+ return [];
58
+ }
59
+
60
+ const isHomePageBlog = frontPage === postsPage;
61
+ const homeTemplate =
62
+ templateRecords?.find(
63
+ ( template ) => template.slug === 'front-page'
64
+ ) ||
65
+ templateRecords?.find( ( template ) => template.slug === 'home' ) ||
66
+ templateRecords?.find( ( template ) => template.slug === 'index' );
67
+
68
+ return [
69
+ isHomePageBlog ? homeTemplate : null,
70
+ ...templateRecords?.filter( ( { slug } ) =>
47
71
  [ '404', 'search' ].includes( slug )
48
72
  ),
49
- [ templateRecords ]
50
- );
73
+ ].filter( Boolean );
74
+ }, [ templateRecords, frontPage, postsPage ] );
51
75
 
52
76
  return (
53
77
  <SidebarNavigationScreen
54
78
  title={ __( 'Pages' ) }
79
+ description={ __( 'Browse and manage pages.' ) }
55
80
  content={ <DataViewsSidebarContent /> }
81
+ backPath="/page"
56
82
  footer={
57
83
  <VStack spacing={ 0 }>
58
84
  { templates?.map( ( item ) => (
@@ -0,0 +1,73 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { useEntityRecords } from '@wordpress/core-data';
5
+ import { useMemo } from '@wordpress/element';
6
+ import { __experimentalItemGroup as ItemGroup } from '@wordpress/components';
7
+
8
+ /**
9
+ * Internal dependencies
10
+ */
11
+ import DataViewItem from '../sidebar-dataviews/dataview-item';
12
+ import { useAddedBy } from '../list/added-by';
13
+ import { layout } from '@wordpress/icons';
14
+
15
+ const EMPTY_ARRAY = [];
16
+
17
+ function TemplateDataviewItem( { template, isActive } ) {
18
+ const { text, icon } = useAddedBy( template.type, template.id );
19
+ return (
20
+ <DataViewItem
21
+ key={ text }
22
+ slug={ text }
23
+ title={ text }
24
+ icon={ icon }
25
+ isActive={ isActive }
26
+ isCustom="false"
27
+ />
28
+ );
29
+ }
30
+
31
+ export default function DataviewsTemplatesSidebarContent( {
32
+ activeView,
33
+ postType,
34
+ config,
35
+ } ) {
36
+ const { records } = useEntityRecords( 'postType', postType, {
37
+ per_page: -1,
38
+ } );
39
+ const firstItemPerAuthorText = useMemo( () => {
40
+ const firstItemPerAuthor = records?.reduce( ( acc, template ) => {
41
+ const author = template.author_text;
42
+ if ( author && ! acc[ author ] ) {
43
+ acc[ author ] = template;
44
+ }
45
+ return acc;
46
+ }, {} );
47
+ return (
48
+ ( firstItemPerAuthor && Object.values( firstItemPerAuthor ) ) ??
49
+ EMPTY_ARRAY
50
+ );
51
+ }, [ records ] );
52
+
53
+ return (
54
+ <ItemGroup>
55
+ <DataViewItem
56
+ slug={ 'all' }
57
+ title={ config[ postType ].title }
58
+ icon={ layout }
59
+ isActive={ activeView === 'all' }
60
+ isCustom="false"
61
+ />
62
+ { firstItemPerAuthorText.map( ( template ) => {
63
+ return (
64
+ <TemplateDataviewItem
65
+ key={ template.author_text }
66
+ template={ template }
67
+ isActive={ activeView === template.author_text }
68
+ />
69
+ );
70
+ } ) }
71
+ </ItemGroup>
72
+ );
73
+ }
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import { __ } from '@wordpress/i18n';
5
5
  import { useSelect } from '@wordpress/data';
6
+
6
7
  import { __experimentalUseNavigator as useNavigator } from '@wordpress/components';
7
8
  import { privateApis as routerPrivateApis } from '@wordpress/router';
8
9
 
@@ -16,6 +17,7 @@ import {
16
17
  TEMPLATE_PART_POST_TYPE,
17
18
  } from '../../utils/constants';
18
19
  import { unlock } from '../../lock-unlock';
20
+ import DataviewsTemplatesSidebarContent from './content';
19
21
 
20
22
  const config = {
21
23
  [ TEMPLATE_POST_TYPE ]: {
@@ -40,7 +42,7 @@ export default function SidebarNavigationScreenTemplatesBrowse() {
40
42
  params: { postType },
41
43
  } = useNavigator();
42
44
  const {
43
- params: { didAccessPatternsPage },
45
+ params: { didAccessPatternsPage, activeView = 'all' },
44
46
  } = useLocation();
45
47
 
46
48
  const isTemplatePartsMode = useSelect( ( select ) => {
@@ -56,6 +58,13 @@ export default function SidebarNavigationScreenTemplatesBrowse() {
56
58
  title={ config[ postType ].title }
57
59
  description={ config[ postType ].description }
58
60
  backPath={ config[ postType ].backPath }
61
+ content={
62
+ <DataviewsTemplatesSidebarContent
63
+ activeView={ activeView }
64
+ postType={ postType }
65
+ config={ config }
66
+ />
67
+ }
59
68
  />
60
69
  );
61
70
  }
@@ -180,7 +180,10 @@ const SiteHub = memo( ( { isTransparent, className } ) => {
180
180
  'View site (opens in a new tab)'
181
181
  ) }
182
182
  icon={ external }
183
- className="edit-site-site-hub__site-view-link"
183
+ className={ classnames(
184
+ 'edit-site-site-hub__site-view-link',
185
+ { 'is-transparent': isTransparent }
186
+ ) }
184
187
  />
185
188
  ) }
186
189
  </HStack>