@wordpress/edit-site 5.26.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 (330) hide show
  1. package/CHANGELOG.md +2 -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/index.js +63 -8
  76. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  77. package/build/components/sidebar-navigation-screen-templates-browse/content.js +76 -0
  78. package/build/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -0
  79. package/build/components/sidebar-navigation-screen-templates-browse/index.js +9 -2
  80. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  81. package/build/components/site-hub/index.js +3 -1
  82. package/build/components/site-hub/index.js.map +1 -1
  83. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +47 -12
  84. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  85. package/build/components/sync-state-with-url/use-sync-path-with-url.js +25 -2
  86. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  87. package/build/hooks/commands/use-edit-mode-commands.js +33 -5
  88. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  89. package/build/hooks/push-changes-to-global-styles/index.js +13 -6
  90. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  91. package/build/hooks/template-part-edit.js +7 -6
  92. package/build/hooks/template-part-edit.js.map +1 -1
  93. package/build/index.js +1 -1
  94. package/build/index.js.map +1 -1
  95. package/build/store/actions.js +11 -29
  96. package/build/store/actions.js.map +1 -1
  97. package/build/store/private-actions.js +85 -1
  98. package/build/store/private-actions.js.map +1 -1
  99. package/build/store/selectors.js +2 -2
  100. package/build/store/selectors.js.map +1 -1
  101. package/build/utils/get-is-list-page.js +1 -1
  102. package/build/utils/get-is-list-page.js.map +1 -1
  103. package/build/utils/use-actual-current-theme.js +32 -0
  104. package/build/utils/use-actual-current-theme.js.map +1 -0
  105. package/build-module/components/actions/index.js +139 -36
  106. package/build-module/components/actions/index.js.map +1 -1
  107. package/build-module/components/editor-canvas-container/index.js +1 -1
  108. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  109. package/build-module/components/global-styles/font-families.js +3 -2
  110. package/build-module/components/global-styles/font-families.js.map +1 -1
  111. package/build-module/components/global-styles/font-family-item.js +4 -5
  112. package/build-module/components/global-styles/font-family-item.js.map +1 -1
  113. package/build-module/components/global-styles/font-library-modal/context.js +82 -42
  114. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  115. package/build-module/components/global-styles/font-library-modal/font-collection.js +49 -22
  116. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  117. package/build-module/components/global-styles/font-library-modal/fonts-grid.js +4 -1
  118. package/build-module/components/global-styles/font-library-modal/fonts-grid.js.map +1 -1
  119. package/build-module/components/global-styles/font-library-modal/index.js +4 -4
  120. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
  121. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +16 -8
  122. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  123. package/build-module/components/global-styles/font-library-modal/library-font-card.js +1 -1
  124. package/build-module/components/global-styles/font-library-modal/library-font-card.js.map +1 -1
  125. package/build-module/components/global-styles/font-library-modal/library-font-variant.js +2 -2
  126. package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  127. package/build-module/components/global-styles/font-library-modal/local-fonts.js +13 -4
  128. package/build-module/components/global-styles/font-library-modal/local-fonts.js.map +1 -1
  129. package/build-module/components/global-styles/font-library-modal/resolvers.js +45 -18
  130. package/build-module/components/global-styles/font-library-modal/resolvers.js.map +1 -1
  131. package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js +17 -2
  132. package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -1
  133. package/build-module/components/global-styles/font-library-modal/utils/index.js +99 -16
  134. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  135. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js +4 -3
  136. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
  137. package/build-module/components/global-styles/screen-typography.js +4 -1
  138. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  139. package/build-module/components/layout/hooks.js +6 -5
  140. package/build-module/components/layout/hooks.js.map +1 -1
  141. package/build-module/components/layout/index.js +19 -28
  142. package/build-module/components/layout/index.js.map +1 -1
  143. package/build-module/components/layout/router.js +127 -0
  144. package/build-module/components/layout/router.js.map +1 -0
  145. package/build-module/components/page-pages/index.js +91 -70
  146. package/build-module/components/page-pages/index.js.map +1 -1
  147. package/build-module/components/page-patterns/dataviews-pattern-actions.js +11 -6
  148. package/build-module/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
  149. package/build-module/components/page-patterns/index.js +296 -16
  150. package/build-module/components/page-patterns/index.js.map +1 -1
  151. package/build-module/components/{page-templates/template-actions.js → page-templates-template-parts/actions.js} +52 -24
  152. package/build-module/components/page-templates-template-parts/actions.js.map +1 -0
  153. package/build-module/components/page-templates-template-parts/add-new-template-part.js.map +1 -0
  154. package/build-module/components/page-templates-template-parts/index.js +385 -0
  155. package/build-module/components/page-templates-template-parts/index.js.map +1 -0
  156. package/build-module/components/preferences-modal/index.js +12 -136
  157. package/build-module/components/preferences-modal/index.js.map +1 -1
  158. package/build-module/components/revisions/index.js +1 -1
  159. package/build-module/components/revisions/index.js.map +1 -1
  160. package/build-module/components/save-button/index.js +4 -2
  161. package/build-module/components/save-button/index.js.map +1 -1
  162. package/build-module/components/save-panel/index.js +7 -6
  163. package/build-module/components/save-panel/index.js.map +1 -1
  164. package/build-module/components/sidebar/index.js +3 -1
  165. package/build-module/components/sidebar/index.js.map +1 -1
  166. package/build-module/components/sidebar-dataviews/dataview-item.js +3 -1
  167. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
  168. package/build-module/components/sidebar-dataviews/default-views.js +4 -2
  169. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  170. package/build-module/components/sidebar-dataviews/index.js +2 -2
  171. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  172. package/build-module/components/sidebar-navigation-screen/index.js +8 -7
  173. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  174. package/build-module/components/sidebar-navigation-screen-pages/index.js +2 -10
  175. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  176. package/build-module/components/sidebar-navigation-screen-pages-dataviews/index.js +27 -4
  177. package/build-module/components/sidebar-navigation-screen-pages-dataviews/index.js.map +1 -1
  178. package/build-module/components/sidebar-navigation-screen-templates/index.js +64 -9
  179. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  180. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +68 -0
  181. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -0
  182. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +9 -2
  183. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  184. package/build-module/components/site-hub/index.js +3 -1
  185. package/build-module/components/site-hub/index.js.map +1 -1
  186. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +47 -11
  187. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  188. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +25 -2
  189. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  190. package/build-module/hooks/commands/use-edit-mode-commands.js +33 -5
  191. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  192. package/build-module/hooks/push-changes-to-global-styles/index.js +13 -6
  193. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  194. package/build-module/hooks/template-part-edit.js +7 -6
  195. package/build-module/hooks/template-part-edit.js.map +1 -1
  196. package/build-module/index.js +1 -1
  197. package/build-module/index.js.map +1 -1
  198. package/build-module/store/actions.js +13 -30
  199. package/build-module/store/actions.js.map +1 -1
  200. package/build-module/store/private-actions.js +83 -0
  201. package/build-module/store/private-actions.js.map +1 -1
  202. package/build-module/store/selectors.js +2 -2
  203. package/build-module/store/selectors.js.map +1 -1
  204. package/build-module/utils/get-is-list-page.js +1 -1
  205. package/build-module/utils/get-is-list-page.js.map +1 -1
  206. package/build-module/utils/use-actual-current-theme.js +24 -0
  207. package/build-module/utils/use-actual-current-theme.js.map +1 -0
  208. package/build-style/style-rtl.css +302 -188
  209. package/build-style/style.css +302 -188
  210. package/package.json +42 -42
  211. package/src/components/actions/index.js +236 -84
  212. package/src/components/editor-canvas-container/index.js +1 -1
  213. package/src/components/global-styles/font-families.js +14 -8
  214. package/src/components/global-styles/font-family-item.js +7 -4
  215. package/src/components/global-styles/font-library-modal/context.js +156 -50
  216. package/src/components/global-styles/font-library-modal/font-collection.js +56 -21
  217. package/src/components/global-styles/font-library-modal/fonts-grid.js +6 -2
  218. package/src/components/global-styles/font-library-modal/index.js +4 -4
  219. package/src/components/global-styles/font-library-modal/installed-fonts.js +18 -8
  220. package/src/components/global-styles/font-library-modal/library-font-card.js +2 -1
  221. package/src/components/global-styles/font-library-modal/library-font-variant.js +10 -9
  222. package/src/components/global-styles/font-library-modal/local-fonts.js +14 -4
  223. package/src/components/global-styles/font-library-modal/resolvers.js +50 -17
  224. package/src/components/global-styles/font-library-modal/style.scss +1 -0
  225. package/src/components/global-styles/font-library-modal/utils/filter-fonts.js +19 -2
  226. package/src/components/global-styles/font-library-modal/utils/index.js +136 -29
  227. package/src/components/global-styles/font-library-modal/utils/preview-styles.js +7 -3
  228. package/src/components/global-styles/font-library-modal/utils/test/filter-fonts.spec.js +40 -10
  229. package/src/components/global-styles/font-library-modal/utils/test/preview-styles.spec.js +5 -5
  230. package/src/components/global-styles/screen-typography.js +9 -3
  231. package/src/components/global-styles/style.scss +4 -0
  232. package/src/components/header-edit-mode/style.scss +15 -5
  233. package/src/components/layout/hooks.js +6 -5
  234. package/src/components/layout/index.js +80 -96
  235. package/src/components/layout/router.js +121 -0
  236. package/src/components/layout/style.scss +13 -16
  237. package/src/components/page/style.scss +1 -8
  238. package/src/components/page-pages/index.js +142 -148
  239. package/src/components/page-pages/style.scss +41 -2
  240. package/src/components/page-patterns/dataviews-pattern-actions.js +11 -6
  241. package/src/components/page-patterns/index.js +392 -14
  242. package/src/components/page-patterns/style.scss +36 -2
  243. package/src/components/{page-templates/template-actions.js → page-templates-template-parts/actions.js} +90 -37
  244. package/src/components/{page-templates → page-templates-template-parts}/index.js +198 -169
  245. package/src/components/page-templates-template-parts/style.scss +44 -0
  246. package/src/components/preferences-modal/index.js +8 -211
  247. package/src/components/revisions/index.js +1 -1
  248. package/src/components/save-button/index.js +7 -4
  249. package/src/components/save-panel/index.js +13 -12
  250. package/src/components/sidebar/index.js +4 -5
  251. package/src/components/sidebar-dataviews/dataview-item.js +2 -1
  252. package/src/components/sidebar-dataviews/default-views.js +4 -2
  253. package/src/components/sidebar-dataviews/index.js +8 -6
  254. package/src/components/sidebar-navigation-item/style.scss +1 -1
  255. package/src/components/sidebar-navigation-screen/index.js +19 -10
  256. package/src/components/sidebar-navigation-screen-pages/index.js +2 -10
  257. package/src/components/sidebar-navigation-screen-pages-dataviews/index.js +32 -6
  258. package/src/components/sidebar-navigation-screen-templates/index.js +85 -28
  259. package/src/components/sidebar-navigation-screen-templates/style.scss +9 -0
  260. package/src/components/sidebar-navigation-screen-templates-browse/content.js +73 -0
  261. package/src/components/sidebar-navigation-screen-templates-browse/index.js +10 -1
  262. package/src/components/site-hub/index.js +4 -1
  263. package/src/components/site-hub/style.scss +1 -12
  264. package/src/components/site-icon/style.scss +1 -1
  265. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +40 -10
  266. package/src/components/sync-state-with-url/use-sync-path-with-url.js +32 -0
  267. package/src/hooks/commands/use-edit-mode-commands.js +50 -3
  268. package/src/hooks/push-changes-to-global-styles/index.js +29 -23
  269. package/src/hooks/template-part-edit.js +12 -12
  270. package/src/index.js +1 -1
  271. package/src/store/actions.js +17 -51
  272. package/src/store/private-actions.js +133 -0
  273. package/src/store/selectors.js +2 -4
  274. package/src/style.scss +2 -1
  275. package/src/utils/get-is-list-page.js +3 -2
  276. package/src/utils/use-actual-current-theme.js +27 -0
  277. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +0 -58
  278. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +0 -1
  279. package/build/components/global-styles/font-library-modal/utils/get-notice-from-response.js +0 -71
  280. package/build/components/global-styles/font-library-modal/utils/get-notice-from-response.js.map +0 -1
  281. package/build/components/page-main/index.js +0 -44
  282. package/build/components/page-main/index.js.map +0 -1
  283. package/build/components/page-patterns/dataviews-patterns.js +0 -307
  284. package/build/components/page-patterns/dataviews-patterns.js.map +0 -1
  285. package/build/components/page-template-parts/add-new-template-part.js.map +0 -1
  286. package/build/components/page-template-parts/index.js +0 -81
  287. package/build/components/page-template-parts/index.js.map +0 -1
  288. package/build/components/page-templates/index.js +0 -352
  289. package/build/components/page-templates/index.js.map +0 -1
  290. package/build/components/page-templates/template-actions.js.map +0 -1
  291. package/build/components/post-preview/index.js +0 -29
  292. package/build/components/post-preview/index.js.map +0 -1
  293. package/build/components/preferences-modal/enable-feature.js +0 -36
  294. package/build/components/preferences-modal/enable-feature.js.map +0 -1
  295. package/build/components/preferences-modal/enable-panel-option.js +0 -33
  296. package/build/components/preferences-modal/enable-panel-option.js.map +0 -1
  297. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +0 -52
  298. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +0 -1
  299. package/build-module/components/global-styles/font-library-modal/utils/get-notice-from-response.js +0 -63
  300. package/build-module/components/global-styles/font-library-modal/utils/get-notice-from-response.js.map +0 -1
  301. package/build-module/components/page-main/index.js +0 -36
  302. package/build-module/components/page-main/index.js.map +0 -1
  303. package/build-module/components/page-patterns/dataviews-patterns.js +0 -299
  304. package/build-module/components/page-patterns/dataviews-patterns.js.map +0 -1
  305. package/build-module/components/page-template-parts/add-new-template-part.js.map +0 -1
  306. package/build-module/components/page-template-parts/index.js +0 -73
  307. package/build-module/components/page-template-parts/index.js.map +0 -1
  308. package/build-module/components/page-templates/index.js +0 -344
  309. package/build-module/components/page-templates/index.js.map +0 -1
  310. package/build-module/components/page-templates/template-actions.js.map +0 -1
  311. package/build-module/components/post-preview/index.js +0 -21
  312. package/build-module/components/post-preview/index.js.map +0 -1
  313. package/build-module/components/preferences-modal/enable-feature.js +0 -29
  314. package/build-module/components/preferences-modal/enable-feature.js.map +0 -1
  315. package/build-module/components/preferences-modal/enable-panel-option.js +0 -26
  316. package/build-module/components/preferences-modal/enable-panel-option.js.map +0 -1
  317. package/src/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +0 -58
  318. package/src/components/global-styles/font-library-modal/utils/get-notice-from-response.js +0 -62
  319. package/src/components/global-styles/font-library-modal/utils/test/getIntersectingFontFaces.spec.js +0 -271
  320. package/src/components/global-styles/font-library-modal/utils/test/makeFormDataFromFontFamily.spec.js +0 -58
  321. package/src/components/page-main/index.js +0 -38
  322. package/src/components/page-patterns/dataviews-patterns.js +0 -380
  323. package/src/components/page-template-parts/index.js +0 -99
  324. package/src/components/page-templates/style.scss +0 -13
  325. package/src/components/post-preview/index.js +0 -16
  326. package/src/components/preferences-modal/enable-feature.js +0 -31
  327. package/src/components/preferences-modal/enable-panel-option.js +0 -23
  328. /package/build/components/{page-template-parts → page-templates-template-parts}/add-new-template-part.js +0 -0
  329. /package/build-module/components/{page-template-parts → page-templates-template-parts}/add-new-template-part.js +0 -0
  330. /package/src/components/{page-template-parts → page-templates-template-parts}/add-new-template-part.js +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/edit-site",
3
- "version": "5.26.0",
3
+ "version": "5.27.0",
4
4
  "description": "Edit Site Page module for WordPress.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -27,46 +27,46 @@
27
27
  "react-native": "src/index",
28
28
  "dependencies": {
29
29
  "@babel/runtime": "^7.16.0",
30
- "@wordpress/a11y": "^3.49.0",
31
- "@wordpress/api-fetch": "^6.46.0",
32
- "@wordpress/blob": "^3.49.0",
33
- "@wordpress/block-editor": "^12.17.0",
34
- "@wordpress/block-library": "^8.26.0",
35
- "@wordpress/blocks": "^12.26.0",
36
- "@wordpress/commands": "^0.20.0",
37
- "@wordpress/components": "^25.15.0",
38
- "@wordpress/compose": "^6.26.0",
39
- "@wordpress/core-commands": "^0.18.0",
40
- "@wordpress/core-data": "^6.26.0",
41
- "@wordpress/data": "^9.19.0",
42
- "@wordpress/dataviews": "^0.3.0",
43
- "@wordpress/date": "^4.49.0",
44
- "@wordpress/deprecated": "^3.49.0",
45
- "@wordpress/dom": "^3.49.0",
46
- "@wordpress/editor": "^13.26.0",
47
- "@wordpress/element": "^5.26.0",
48
- "@wordpress/escape-html": "^2.49.0",
49
- "@wordpress/hooks": "^3.49.0",
50
- "@wordpress/html-entities": "^3.49.0",
51
- "@wordpress/i18n": "^4.49.0",
52
- "@wordpress/icons": "^9.40.0",
53
- "@wordpress/interface": "^5.26.0",
54
- "@wordpress/keyboard-shortcuts": "^4.26.0",
55
- "@wordpress/keycodes": "^3.49.0",
56
- "@wordpress/media-utils": "^4.40.0",
57
- "@wordpress/notices": "^4.17.0",
58
- "@wordpress/patterns": "^1.10.0",
59
- "@wordpress/plugins": "^6.17.0",
60
- "@wordpress/preferences": "^3.26.0",
61
- "@wordpress/primitives": "^3.47.0",
62
- "@wordpress/private-apis": "^0.31.0",
63
- "@wordpress/reusable-blocks": "^4.26.0",
64
- "@wordpress/router": "^0.18.0",
65
- "@wordpress/style-engine": "^1.32.0",
66
- "@wordpress/url": "^3.50.0",
67
- "@wordpress/viewport": "^5.26.0",
68
- "@wordpress/widgets": "^3.26.0",
69
- "@wordpress/wordcount": "^3.49.0",
30
+ "@wordpress/a11y": "^3.50.0",
31
+ "@wordpress/api-fetch": "^6.47.0",
32
+ "@wordpress/blob": "^3.50.0",
33
+ "@wordpress/block-editor": "^12.18.0",
34
+ "@wordpress/block-library": "^8.27.0",
35
+ "@wordpress/blocks": "^12.27.0",
36
+ "@wordpress/commands": "^0.21.0",
37
+ "@wordpress/components": "^25.16.0",
38
+ "@wordpress/compose": "^6.27.0",
39
+ "@wordpress/core-commands": "^0.19.0",
40
+ "@wordpress/core-data": "^6.27.0",
41
+ "@wordpress/data": "^9.20.0",
42
+ "@wordpress/dataviews": "^0.4.0",
43
+ "@wordpress/date": "^4.50.0",
44
+ "@wordpress/deprecated": "^3.50.0",
45
+ "@wordpress/dom": "^3.50.0",
46
+ "@wordpress/editor": "^13.27.0",
47
+ "@wordpress/element": "^5.27.0",
48
+ "@wordpress/escape-html": "^2.50.0",
49
+ "@wordpress/hooks": "^3.50.0",
50
+ "@wordpress/html-entities": "^3.50.0",
51
+ "@wordpress/i18n": "^4.50.0",
52
+ "@wordpress/icons": "^9.41.0",
53
+ "@wordpress/interface": "^5.27.0",
54
+ "@wordpress/keyboard-shortcuts": "^4.27.0",
55
+ "@wordpress/keycodes": "^3.50.0",
56
+ "@wordpress/media-utils": "^4.41.0",
57
+ "@wordpress/notices": "^4.18.0",
58
+ "@wordpress/patterns": "^1.11.0",
59
+ "@wordpress/plugins": "^6.18.0",
60
+ "@wordpress/preferences": "^3.27.0",
61
+ "@wordpress/primitives": "^3.48.0",
62
+ "@wordpress/private-apis": "^0.32.0",
63
+ "@wordpress/reusable-blocks": "^4.27.0",
64
+ "@wordpress/router": "^0.19.0",
65
+ "@wordpress/style-engine": "^1.33.0",
66
+ "@wordpress/url": "^3.51.0",
67
+ "@wordpress/viewport": "^5.27.0",
68
+ "@wordpress/widgets": "^3.27.0",
69
+ "@wordpress/wordcount": "^3.50.0",
70
70
  "change-case": "^4.1.2",
71
71
  "classnames": "^2.3.1",
72
72
  "colord": "^2.9.2",
@@ -85,5 +85,5 @@
85
85
  "publishConfig": {
86
86
  "access": "public"
87
87
  },
88
- "gitHead": "5e6f9caa205d3bfdbac131952b7bf9c6ec60569b"
88
+ "gitHead": "45de2cb4212fed7f2763e95f10300d1ff9d0ec08"
89
89
  }
@@ -32,19 +32,28 @@ export const trashPostAction = {
32
32
  isEligible( { status } ) {
33
33
  return status !== 'trash';
34
34
  },
35
+ supportsBulk: true,
35
36
  hideModalHeader: true,
36
- RenderModal: ( { item: post, closeModal } ) => {
37
+ RenderModal: ( { items: posts, closeModal, onPerform } ) => {
37
38
  const { createSuccessNotice, createErrorNotice } =
38
39
  useDispatch( noticesStore );
39
40
  const { deleteEntityRecord } = useDispatch( coreStore );
40
41
  return (
41
42
  <VStack spacing="5">
42
43
  <Text>
43
- { sprintf(
44
- // translators: %s: The page's title.
45
- __( 'Are you sure you want to delete "%s"?' ),
46
- decodeEntities( post.title.rendered )
47
- ) }
44
+ { posts.length === 1
45
+ ? sprintf(
46
+ // translators: %s: The page's title.
47
+ __( 'Are you sure you want to delete "%s"?' ),
48
+ decodeEntities( posts[ 0 ].title.rendered )
49
+ )
50
+ : sprintf(
51
+ // translators: %d: The number of pages (2 or more).
52
+ __(
53
+ 'Are you sure you want to delete %d pages?'
54
+ ),
55
+ posts.length
56
+ ) }
48
57
  </Text>
49
58
  <HStack justify="right">
50
59
  <Button variant="tertiary" onClick={ closeModal }>
@@ -53,38 +62,97 @@ export const trashPostAction = {
53
62
  <Button
54
63
  variant="primary"
55
64
  onClick={ async () => {
56
- try {
57
- await deleteEntityRecord(
58
- 'postType',
59
- post.type,
60
- post.id,
61
- {},
62
- { throwOnError: true }
63
- );
64
- createSuccessNotice(
65
- sprintf(
66
- /* translators: The page's title. */
65
+ const promiseResult = await Promise.allSettled(
66
+ posts.map( ( post ) => {
67
+ return deleteEntityRecord(
68
+ 'postType',
69
+ post.type,
70
+ post.id,
71
+ {},
72
+ { throwOnError: true }
73
+ );
74
+ } )
75
+ );
76
+ // If all the promises were fulfilled with success.
77
+ if (
78
+ promiseResult.every(
79
+ ( { status } ) => status === 'fulfilled'
80
+ )
81
+ ) {
82
+ let successMessage;
83
+ if ( promiseResult.length === 1 ) {
84
+ successMessage = sprintf(
85
+ /* translators: The posts's title. */
67
86
  __( '"%s" moved to the Trash.' ),
68
- decodeEntities( post.title.rendered )
69
- ),
70
- {
71
- type: 'snackbar',
72
- id: 'edit-site-page-trashed',
73
- }
74
- );
75
- } catch ( error ) {
76
- const errorMessage =
77
- error.message &&
78
- error.code !== 'unknown_error'
79
- ? error.message
80
- : __(
81
- 'An error occurred while moving the page to the trash.'
82
- );
83
-
84
- createErrorNotice( errorMessage, {
87
+ decodeEntities(
88
+ posts[ 0 ].title.rendered
89
+ )
90
+ );
91
+ } else {
92
+ successMessage = __(
93
+ 'Pages moved to the Trash.'
94
+ );
95
+ }
96
+ createSuccessNotice( successMessage, {
85
97
  type: 'snackbar',
98
+ id: 'edit-site-page-trashed',
86
99
  } );
100
+ } else {
101
+ // If there was at lease one failure.
102
+ let errorMessage;
103
+ // If we were trying to move a single post to the trash.
104
+ if ( promiseResult.length === 1 ) {
105
+ if ( promiseResult[ 0 ].reason?.message ) {
106
+ errorMessage =
107
+ promiseResult[ 0 ].reason.message;
108
+ } else {
109
+ errorMessage = __(
110
+ 'An error occurred while moving the post to the trash.'
111
+ );
112
+ }
113
+ // If we were trying to move multiple posts to the trash
114
+ } else {
115
+ const errorMessages = new Set();
116
+ const failedPromises = promiseResult.filter(
117
+ ( { status } ) => status === 'rejected'
118
+ );
119
+ for ( const failedPromise of failedPromises ) {
120
+ if ( failedPromise.reason?.message ) {
121
+ errorMessages.add(
122
+ failedPromise.reason.message
123
+ );
124
+ }
125
+ }
126
+ if ( errorMessages.size === 0 ) {
127
+ errorMessage = __(
128
+ 'An error occurred while moving the posts to the trash.'
129
+ );
130
+ } else if ( errorMessages.size === 1 ) {
131
+ errorMessage = sprintf(
132
+ /* translators: %s: an error message */
133
+ __(
134
+ 'An error occurred while moving the posts to the trash: %s'
135
+ ),
136
+ [ ...errorMessages ][ 0 ]
137
+ );
138
+ } else {
139
+ errorMessage = sprintf(
140
+ /* translators: %s: a list of comma separated error messages */
141
+ __(
142
+ 'Some errors occurred while moving the pages to the trash: %s'
143
+ ),
144
+ [ ...errorMessages ].join( ',' )
145
+ );
146
+ }
147
+ createErrorNotice( errorMessage, {
148
+ type: 'snackbar',
149
+ } );
150
+ }
151
+ }
152
+ if ( onPerform ) {
153
+ onPerform();
87
154
  }
155
+ closeModal();
88
156
  } }
89
157
  >
90
158
  { __( 'Delete' ) }
@@ -106,38 +174,94 @@ export function usePermanentlyDeletePostAction() {
106
174
  label: __( 'Permanently delete' ),
107
175
  isPrimary: true,
108
176
  icon: trash,
177
+ supportsBulk: true,
109
178
  isEligible( { status } ) {
110
179
  return status === 'trash';
111
180
  },
112
- async callback( post ) {
113
- try {
114
- await deleteEntityRecord(
115
- 'postType',
116
- post.type,
117
- post.id,
118
- { force: true },
119
- { throwOnError: true }
120
- );
121
- createSuccessNotice(
122
- sprintf(
181
+ async callback( posts ) {
182
+ const promiseResult = await Promise.allSettled(
183
+ posts.map( ( post ) => {
184
+ return deleteEntityRecord(
185
+ 'postType',
186
+ post.type,
187
+ post.id,
188
+ { force: true },
189
+ { throwOnError: true }
190
+ );
191
+ } )
192
+ );
193
+ // If all the promises were fulfilled with success.
194
+ if (
195
+ promiseResult.every(
196
+ ( { status } ) => status === 'fulfilled'
197
+ )
198
+ ) {
199
+ let successMessage;
200
+ if ( promiseResult.length === 1 ) {
201
+ successMessage = sprintf(
123
202
  /* translators: The posts's title. */
124
203
  __( '"%s" permanently deleted.' ),
125
- decodeEntities( post.title.rendered )
126
- ),
127
- {
128
- type: 'snackbar',
129
- id: 'edit-site-post-permanently-deleted',
204
+ decodeEntities( posts[ 0 ].title.rendered )
205
+ );
206
+ } else {
207
+ successMessage = __(
208
+ 'The posts were permanently deleted.'
209
+ );
210
+ }
211
+ createSuccessNotice( successMessage, {
212
+ type: 'snackbar',
213
+ id: 'edit-site-post-permanently-deleted',
214
+ } );
215
+ } else {
216
+ // If there was at lease one failure.
217
+ let errorMessage;
218
+ // If we were trying to permanently delete a single post.
219
+ if ( promiseResult.length === 1 ) {
220
+ if ( promiseResult[ 0 ].reason?.message ) {
221
+ errorMessage = promiseResult[ 0 ].reason.message;
222
+ } else {
223
+ errorMessage = __(
224
+ 'An error occurred while permanently deleting the post.'
225
+ );
130
226
  }
131
- );
132
- } catch ( error ) {
133
- const errorMessage =
134
- error.message && error.code !== 'unknown_error'
135
- ? error.message
136
- : __(
137
- 'An error occurred while permanently deleting the post.'
138
- );
139
-
140
- createErrorNotice( errorMessage, { type: 'snackbar' } );
227
+ // If we were trying to permanently delete multiple posts
228
+ } else {
229
+ const errorMessages = new Set();
230
+ const failedPromises = promiseResult.filter(
231
+ ( { status } ) => status === 'rejected'
232
+ );
233
+ for ( const failedPromise of failedPromises ) {
234
+ if ( failedPromise.reason?.message ) {
235
+ errorMessages.add(
236
+ failedPromise.reason.message
237
+ );
238
+ }
239
+ }
240
+ if ( errorMessages.size === 0 ) {
241
+ errorMessage = __(
242
+ 'An error occurred while permanently deleting the posts.'
243
+ );
244
+ } else if ( errorMessages.size === 1 ) {
245
+ errorMessage = sprintf(
246
+ /* translators: %s: an error message */
247
+ __(
248
+ 'An error occurred while permanently deleting the posts: %s'
249
+ ),
250
+ [ ...errorMessages ][ 0 ]
251
+ );
252
+ } else {
253
+ errorMessage = sprintf(
254
+ /* translators: %s: a list of comma separated error messages */
255
+ __(
256
+ 'Some errors occurred while permanently deleting the posts: %s'
257
+ ),
258
+ [ ...errorMessages ].join( ',' )
259
+ );
260
+ }
261
+ createErrorNotice( errorMessage, {
262
+ type: 'snackbar',
263
+ } );
264
+ }
141
265
  }
142
266
  },
143
267
  } ),
@@ -157,38 +281,63 @@ export function useRestorePostAction() {
157
281
  label: __( 'Restore' ),
158
282
  isPrimary: true,
159
283
  icon: backup,
284
+ supportsBulk: true,
160
285
  isEligible( { status } ) {
161
286
  return status === 'trash';
162
287
  },
163
- async callback( post ) {
164
- await editEntityRecord( 'postType', post.type, post.id, {
165
- status: 'draft',
166
- } );
288
+ async callback( posts ) {
167
289
  try {
168
- await saveEditedEntityRecord(
169
- 'postType',
170
- post.type,
171
- post.id,
172
- { throwOnError: true }
173
- );
290
+ for ( const post of posts ) {
291
+ await editEntityRecord(
292
+ 'postType',
293
+ post.type,
294
+ post.id,
295
+ {
296
+ status: 'draft',
297
+ }
298
+ );
299
+ await saveEditedEntityRecord(
300
+ 'postType',
301
+ post.type,
302
+ post.id,
303
+ { throwOnError: true }
304
+ );
305
+ }
306
+
174
307
  createSuccessNotice(
175
- sprintf(
176
- /* translators: The posts's title. */
177
- __( '"%s" has been restored.' ),
178
- decodeEntities( post.title.rendered )
179
- ),
308
+ posts.length > 1
309
+ ? sprintf(
310
+ /* translators: The number of posts. */
311
+ __( '%d posts have been restored.' ),
312
+ posts.length
313
+ )
314
+ : sprintf(
315
+ /* translators: The number of posts. */
316
+ __( '"%s" has been restored.' ),
317
+ decodeEntities( posts[ 0 ].title.rendered )
318
+ ),
180
319
  {
181
320
  type: 'snackbar',
182
321
  id: 'edit-site-post-restored',
183
322
  }
184
323
  );
185
324
  } catch ( error ) {
186
- const errorMessage =
187
- error.message && error.code !== 'unknown_error'
188
- ? error.message
189
- : __(
190
- 'An error occurred while restoring the post.'
191
- );
325
+ let errorMessage;
326
+ if (
327
+ error.message &&
328
+ error.code !== 'unknown_error' &&
329
+ error.message
330
+ ) {
331
+ errorMessage = error.message;
332
+ } else if ( posts.length > 1 ) {
333
+ errorMessage = __(
334
+ 'An error occurred while restoring the posts.'
335
+ );
336
+ } else {
337
+ errorMessage = __(
338
+ 'An error occurred while restoring the post.'
339
+ );
340
+ }
192
341
 
193
342
  createErrorNotice( errorMessage, { type: 'snackbar' } );
194
343
  }
@@ -211,7 +360,8 @@ export const viewPostAction = {
211
360
  isEligible( post ) {
212
361
  return post.status !== 'trash';
213
362
  },
214
- callback( post ) {
363
+ callback( posts ) {
364
+ const post = posts[ 0 ];
215
365
  document.location.href = post.link;
216
366
  },
217
367
  };
@@ -225,7 +375,8 @@ export function useEditPostAction() {
225
375
  isEligible( { status } ) {
226
376
  return status !== 'trash';
227
377
  },
228
- callback( post ) {
378
+ callback( posts ) {
379
+ const post = posts[ 0 ];
229
380
  history.push( {
230
381
  postId: post.id,
231
382
  postType: post.type,
@@ -250,7 +401,8 @@ export const postRevisionsAction = {
250
401
  post?._links?.[ 'version-history' ]?.[ 0 ]?.count ?? 0;
251
402
  return lastRevisionId && revisionsCount > 1;
252
403
  },
253
- callback( post ) {
404
+ callback( posts ) {
405
+ const post = posts[ 0 ];
254
406
  const href = addQueryArgs( 'revision.php', {
255
407
  revision: post?._links?.[ 'predecessor-version' ]?.[ 0 ]?.id,
256
408
  } );
@@ -35,7 +35,7 @@ function getEditorCanvasContainerTitle( view ) {
35
35
  return __( 'Style Book' );
36
36
  case 'global-styles-revisions':
37
37
  case 'global-styles-revisions:style-book':
38
- return __( 'Global styles revisions' );
38
+ return __( 'Style Revisions' );
39
39
  default:
40
40
  return '';
41
41
  }
@@ -26,6 +26,8 @@ function FontFamilies() {
26
26
  const { modalTabOpen, toggleModal, themeFonts, customFonts } =
27
27
  useContext( FontLibraryContext );
28
28
 
29
+ const hasFonts = 0 < customFonts.length || 0 < themeFonts.length;
30
+
29
31
  return (
30
32
  <>
31
33
  { !! modalTabOpen && (
@@ -51,14 +53,18 @@ function FontFamilies() {
51
53
  </Tooltip>
52
54
  </HStack>
53
55
  </HStack>
54
- <ItemGroup isBordered isSeparated>
55
- { customFonts.map( ( font ) => (
56
- <FontFamilyItem key={ font.slug } font={ font } />
57
- ) ) }
58
- { themeFonts.map( ( font ) => (
59
- <FontFamilyItem key={ font.slug } font={ font } />
60
- ) ) }
61
- </ItemGroup>
56
+ { hasFonts ? (
57
+ <ItemGroup isBordered isSeparated>
58
+ { customFonts.map( ( font ) => (
59
+ <FontFamilyItem key={ font.slug } font={ font } />
60
+ ) ) }
61
+ { themeFonts.map( ( font ) => (
62
+ <FontFamilyItem key={ font.slug } font={ font } />
63
+ ) ) }
64
+ </ItemGroup>
65
+ ) : (
66
+ <>{ __( 'No fonts installed.' ) }</>
67
+ ) }
62
68
  </VStack>
63
69
  </>
64
70
  );
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { _n } from '@wordpress/i18n';
4
+ import { _n, sprintf } from '@wordpress/i18n';
5
5
  import {
6
6
  __experimentalHStack as HStack,
7
7
  __experimentalItem as Item,
@@ -32,9 +32,12 @@ function FontFamilyItem( { font } ) {
32
32
  <Item onClick={ handleClick }>
33
33
  <HStack justify="space-between">
34
34
  <FlexItem style={ previewStyle }>{ font.name }</FlexItem>
35
- <FlexItem style={ { color: '#9e9e9e' } }>
36
- { variantsCount }{ ' ' }
37
- { _n( 'variant', 'variants', variantsCount ) }
35
+ <FlexItem className="edit-site-global-styles-screen-typography__font-variants-count">
36
+ { sprintf(
37
+ /* translators: %d: Number of font variants. */
38
+ _n( '%d variant', '%d variants', variantsCount ),
39
+ variantsCount
40
+ ) }
38
41
  </FlexItem>
39
42
  </HStack>
40
43
  </Item>