@wordpress/edit-site 5.27.1 → 5.28.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 (362) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/actions/index.js +3 -6
  3. package/build/components/actions/index.js.map +1 -1
  4. package/build/components/add-new-template/add-custom-generic-template-modal-content.js +1 -2
  5. package/build/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -1
  6. package/build/components/add-new-template/add-custom-template-modal-content.js +1 -2
  7. package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  8. package/build/components/block-editor/editor-canvas.js +1 -2
  9. package/build/components/block-editor/editor-canvas.js.map +1 -1
  10. package/build/components/block-editor/inserter-media-categories.js +1 -2
  11. package/build/components/block-editor/inserter-media-categories.js.map +1 -1
  12. package/build/components/block-editor/resizable-editor.js +1 -2
  13. package/build/components/block-editor/resizable-editor.js.map +1 -1
  14. package/build/components/block-editor/site-editor-canvas.js +12 -5
  15. package/build/components/block-editor/site-editor-canvas.js.map +1 -1
  16. package/build/components/block-editor/use-navigate-to-entity-record.js +32 -0
  17. package/build/components/block-editor/use-navigate-to-entity-record.js.map +1 -0
  18. package/build/components/block-editor/use-site-editor-settings.js +30 -4
  19. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  20. package/build/components/editor/index.js +13 -10
  21. package/build/components/editor/index.js.map +1 -1
  22. package/build/components/editor-canvas-container/index.js +1 -2
  23. package/build/components/editor-canvas-container/index.js.map +1 -1
  24. package/build/components/global-styles/block-preview-panel.js +1 -2
  25. package/build/components/global-styles/block-preview-panel.js.map +1 -1
  26. package/build/components/global-styles/color-indicator-wrapper.js +1 -2
  27. package/build/components/global-styles/color-indicator-wrapper.js.map +1 -1
  28. package/build/components/global-styles/font-families.js +9 -5
  29. package/build/components/global-styles/font-families.js.map +1 -1
  30. package/build/components/global-styles/font-family-item.js +1 -2
  31. package/build/components/global-styles/font-family-item.js.map +1 -1
  32. package/build/components/global-styles/font-library-modal/collection-font-details.js +1 -2
  33. package/build/components/global-styles/font-library-modal/collection-font-details.js.map +1 -1
  34. package/build/components/global-styles/font-library-modal/collection-font-variant.js +13 -13
  35. package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  36. package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js +1 -2
  37. package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +1 -1
  38. package/build/components/global-styles/font-library-modal/context.js +16 -4
  39. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  40. package/build/components/global-styles/font-library-modal/font-card.js +3 -3
  41. package/build/components/global-styles/font-library-modal/font-card.js.map +1 -1
  42. package/build/components/global-styles/font-library-modal/font-collection.js +26 -40
  43. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  44. package/build/components/global-styles/font-library-modal/font-demo.js +6 -12
  45. package/build/components/global-styles/font-library-modal/font-demo.js.map +1 -1
  46. package/build/components/global-styles/font-library-modal/fonts-grid.js +1 -2
  47. package/build/components/global-styles/font-library-modal/fonts-grid.js.map +1 -1
  48. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +3 -4
  49. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
  50. package/build/components/global-styles/font-library-modal/index.js +11 -5
  51. package/build/components/global-styles/font-library-modal/index.js.map +1 -1
  52. package/build/components/global-styles/font-library-modal/installed-fonts.js +14 -26
  53. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  54. package/build/components/global-styles/font-library-modal/library-font-card.js +2 -3
  55. package/build/components/global-styles/font-library-modal/library-font-card.js.map +1 -1
  56. package/build/components/global-styles/font-library-modal/library-font-details.js +1 -2
  57. package/build/components/global-styles/font-library-modal/library-font-details.js.map +1 -1
  58. package/build/components/global-styles/font-library-modal/library-font-variant.js +15 -15
  59. package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  60. package/build/components/global-styles/font-library-modal/resolvers.js +1 -1
  61. package/build/components/global-styles/font-library-modal/resolvers.js.map +1 -1
  62. package/build/components/global-styles/font-library-modal/tab-panel-layout.js +13 -4
  63. package/build/components/global-styles/font-library-modal/tab-panel-layout.js.map +1 -1
  64. package/build/components/global-styles/font-library-modal/upload-fonts.js +157 -6
  65. package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  66. package/build/components/global-styles/font-library-modal/utils/constants.js +3 -6
  67. package/build/components/global-styles/font-library-modal/utils/constants.js.map +1 -1
  68. package/build/components/global-styles/font-library-modal/utils/index.js +37 -32
  69. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  70. package/build/components/global-styles/header.js +1 -2
  71. package/build/components/global-styles/header.js.map +1 -1
  72. package/build/components/global-styles/palette.js +1 -2
  73. package/build/components/global-styles/palette.js.map +1 -1
  74. package/build/components/global-styles/preview.js +1 -2
  75. package/build/components/global-styles/preview.js.map +1 -1
  76. package/build/components/global-styles/root-menu.js +1 -2
  77. package/build/components/global-styles/root-menu.js.map +1 -1
  78. package/build/components/global-styles/screen-block-list.js +1 -2
  79. package/build/components/global-styles/screen-block-list.js.map +1 -1
  80. package/build/components/global-styles/screen-block.js +1 -11
  81. package/build/components/global-styles/screen-block.js.map +1 -1
  82. package/build/components/global-styles/screen-color-palette.js +1 -2
  83. package/build/components/global-styles/screen-color-palette.js.map +1 -1
  84. package/build/components/global-styles/screen-colors.js +1 -2
  85. package/build/components/global-styles/screen-colors.js.map +1 -1
  86. package/build/components/global-styles/screen-css.js +1 -2
  87. package/build/components/global-styles/screen-css.js.map +1 -1
  88. package/build/components/global-styles/screen-layout.js +1 -2
  89. package/build/components/global-styles/screen-layout.js.map +1 -1
  90. package/build/components/global-styles/screen-revisions/index.js +1 -2
  91. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  92. package/build/components/global-styles/screen-revisions/revisions-buttons.js +2 -3
  93. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  94. package/build/components/global-styles/screen-root.js +1 -2
  95. package/build/components/global-styles/screen-root.js.map +1 -1
  96. package/build/components/global-styles/screen-style-variations.js +1 -2
  97. package/build/components/global-styles/screen-style-variations.js.map +1 -1
  98. package/build/components/global-styles/screen-typography-element.js +3 -6
  99. package/build/components/global-styles/screen-typography-element.js.map +1 -1
  100. package/build/components/global-styles/screen-typography.js +1 -2
  101. package/build/components/global-styles/screen-typography.js.map +1 -1
  102. package/build/components/global-styles/subtitle.js +1 -2
  103. package/build/components/global-styles/subtitle.js.map +1 -1
  104. package/build/components/global-styles/typogrphy-elements.js +1 -2
  105. package/build/components/global-styles/typogrphy-elements.js.map +1 -1
  106. package/build/components/global-styles/ui.js +3 -4
  107. package/build/components/global-styles/ui.js.map +1 -1
  108. package/build/components/header-edit-mode/mode-switcher/index.js +1 -2
  109. package/build/components/header-edit-mode/mode-switcher/index.js.map +1 -1
  110. package/build/components/header-edit-mode/more-menu/index.js +12 -21
  111. package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
  112. package/build/components/header-edit-mode/plugin-more-menu-item/index.js +1 -2
  113. package/build/components/header-edit-mode/plugin-more-menu-item/index.js.map +1 -1
  114. package/build/components/header-edit-mode/tools-more-menu-group/index.js +1 -2
  115. package/build/components/header-edit-mode/tools-more-menu-group/index.js.map +1 -1
  116. package/build/components/keyboard-shortcut-help-modal/config.js +1 -2
  117. package/build/components/keyboard-shortcut-help-modal/config.js.map +1 -1
  118. package/build/components/keyboard-shortcut-help-modal/index.js +1 -3
  119. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  120. package/build/components/keyboard-shortcuts/edit-mode.js +1 -2
  121. package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  122. package/build/components/keyboard-shortcuts/global.js +1 -2
  123. package/build/components/keyboard-shortcuts/global.js.map +1 -1
  124. package/build/components/keyboard-shortcuts/register.js +1 -2
  125. package/build/components/keyboard-shortcuts/register.js.map +1 -1
  126. package/build/components/layout/index.js +0 -2
  127. package/build/components/layout/index.js.map +1 -1
  128. package/build/components/media/index.js +1 -2
  129. package/build/components/media/index.js.map +1 -1
  130. package/build/components/page-pages/index.js +27 -15
  131. package/build/components/page-pages/index.js.map +1 -1
  132. package/build/components/page-patterns/dataviews-pattern-actions.js +87 -32
  133. package/build/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
  134. package/build/components/page-patterns/grid-item.js +2 -6
  135. package/build/components/page-patterns/grid-item.js.map +1 -1
  136. package/build/components/page-patterns/index.js +2 -1
  137. package/build/components/page-patterns/index.js.map +1 -1
  138. package/build/components/page-patterns/search-items.js +0 -1
  139. package/build/components/page-patterns/search-items.js.map +1 -1
  140. package/build/components/page-patterns/use-patterns.js +1 -2
  141. package/build/components/page-patterns/use-patterns.js.map +1 -1
  142. package/build/components/page-templates-template-parts/actions.js +2 -4
  143. package/build/components/page-templates-template-parts/actions.js.map +1 -1
  144. package/build/components/page-templates-template-parts/index.js +8 -5
  145. package/build/components/page-templates-template-parts/index.js.map +1 -1
  146. package/build/components/pattern-modal/index.js +1 -2
  147. package/build/components/pattern-modal/index.js.map +1 -1
  148. package/build/components/plugin-template-setting-panel/index.js +1 -2
  149. package/build/components/plugin-template-setting-panel/index.js.map +1 -1
  150. package/build/components/preferences-modal/index.js +1 -2
  151. package/build/components/preferences-modal/index.js.map +1 -1
  152. package/build/components/resizable-frame/index.js +1 -2
  153. package/build/components/resizable-frame/index.js.map +1 -1
  154. package/build/components/revisions/index.js +1 -2
  155. package/build/components/revisions/index.js.map +1 -1
  156. package/build/components/routes/link.js +3 -7
  157. package/build/components/routes/link.js.map +1 -1
  158. package/build/components/sidebar/index.js +3 -4
  159. package/build/components/sidebar/index.js.map +1 -1
  160. package/build/components/sidebar-dataviews/default-views.js +4 -6
  161. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  162. package/build/components/sidebar-edit-mode/constants.js +2 -4
  163. package/build/components/sidebar-edit-mode/constants.js.map +1 -1
  164. package/build/components/sidebar-edit-mode/index.js +97 -19
  165. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  166. package/build/components/sidebar-edit-mode/settings-header/index.js +22 -73
  167. package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  168. package/build/components/sidebar-navigation-screen-navigation-menu/index.js +1 -2
  169. package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  170. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js +1 -2
  171. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -1
  172. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +1 -1
  173. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  174. package/build/components/site-hub/index.js +1 -2
  175. package/build/components/site-hub/index.js.map +1 -1
  176. package/build/components/site-icon/index.js +3 -4
  177. package/build/components/site-icon/index.js.map +1 -1
  178. package/build/components/style-book/index.js +1 -2
  179. package/build/components/style-book/index.js.map +1 -1
  180. package/build/components/template-part-converter/convert-to-template-part.js +0 -1
  181. package/build/components/template-part-converter/convert-to-template-part.js.map +1 -1
  182. package/build/components/welcome-guide/template.js +2 -2
  183. package/build/components/welcome-guide/template.js.map +1 -1
  184. package/build/hooks/commands/use-edit-mode-commands.js +16 -6
  185. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  186. package/build/hooks/navigation-menu-edit.js +1 -2
  187. package/build/hooks/navigation-menu-edit.js.map +1 -1
  188. package/build/hooks/template-part-edit.js +1 -2
  189. package/build/hooks/template-part-edit.js.map +1 -1
  190. package/build/store/actions.js +7 -2
  191. package/build/store/actions.js.map +1 -1
  192. package/build/store/constants.js +1 -2
  193. package/build/store/constants.js.map +1 -1
  194. package/build/store/index.js +4 -6
  195. package/build/store/index.js.map +1 -1
  196. package/build/store/reducer.js +1 -2
  197. package/build/store/reducer.js.map +1 -1
  198. package/build/store/selectors.js +9 -18
  199. package/build/store/selectors.js.map +1 -1
  200. package/build/store/utils.js +1 -2
  201. package/build/store/utils.js.map +1 -1
  202. package/build/utils/constants.js +13 -26
  203. package/build/utils/constants.js.map +1 -1
  204. package/build-module/components/block-editor/site-editor-canvas.js +13 -6
  205. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
  206. package/build-module/components/block-editor/use-navigate-to-entity-record.js +25 -0
  207. package/build-module/components/block-editor/use-navigate-to-entity-record.js.map +1 -0
  208. package/build-module/components/block-editor/use-site-editor-settings.js +29 -4
  209. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  210. package/build-module/components/editor/index.js +13 -10
  211. package/build-module/components/editor/index.js.map +1 -1
  212. package/build-module/components/global-styles/font-families.js +8 -4
  213. package/build-module/components/global-styles/font-families.js.map +1 -1
  214. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js +12 -11
  215. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  216. package/build-module/components/global-styles/font-library-modal/context.js +14 -0
  217. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  218. package/build-module/components/global-styles/font-library-modal/font-card.js +3 -2
  219. package/build-module/components/global-styles/font-library-modal/font-card.js.map +1 -1
  220. package/build-module/components/global-styles/font-library-modal/font-collection.js +28 -41
  221. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  222. package/build-module/components/global-styles/font-library-modal/font-demo.js +5 -10
  223. package/build-module/components/global-styles/font-library-modal/font-demo.js.map +1 -1
  224. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +2 -2
  225. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
  226. package/build-module/components/global-styles/font-library-modal/index.js +10 -3
  227. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
  228. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +14 -25
  229. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  230. package/build-module/components/global-styles/font-library-modal/library-font-card.js +1 -1
  231. package/build-module/components/global-styles/font-library-modal/library-font-card.js.map +1 -1
  232. package/build-module/components/global-styles/font-library-modal/library-font-variant.js +14 -13
  233. package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  234. package/build-module/components/global-styles/font-library-modal/resolvers.js +1 -1
  235. package/build-module/components/global-styles/font-library-modal/resolvers.js.map +1 -1
  236. package/build-module/components/global-styles/font-library-modal/tab-panel-layout.js +13 -3
  237. package/build-module/components/global-styles/font-library-modal/tab-panel-layout.js.map +1 -1
  238. package/build-module/components/global-styles/font-library-modal/upload-fonts.js +158 -6
  239. package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  240. package/build-module/components/global-styles/font-library-modal/utils/index.js +36 -31
  241. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  242. package/build-module/components/global-styles/screen-block.js +0 -9
  243. package/build-module/components/global-styles/screen-block.js.map +1 -1
  244. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +1 -1
  245. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  246. package/build-module/components/global-styles/screen-typography-element.js +3 -5
  247. package/build-module/components/global-styles/screen-typography-element.js.map +1 -1
  248. package/build-module/components/header-edit-mode/more-menu/index.js +12 -21
  249. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
  250. package/build-module/components/keyboard-shortcut-help-modal/index.js +0 -1
  251. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  252. package/build-module/components/layout/index.js +0 -2
  253. package/build-module/components/layout/index.js.map +1 -1
  254. package/build-module/components/page-pages/index.js +25 -13
  255. package/build-module/components/page-pages/index.js.map +1 -1
  256. package/build-module/components/page-patterns/dataviews-pattern-actions.js +81 -20
  257. package/build-module/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
  258. package/build-module/components/page-patterns/grid-item.js +1 -4
  259. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  260. package/build-module/components/page-patterns/index.js +2 -1
  261. package/build-module/components/page-patterns/index.js.map +1 -1
  262. package/build-module/components/page-patterns/search-items.js +0 -1
  263. package/build-module/components/page-patterns/search-items.js.map +1 -1
  264. package/build-module/components/page-templates-template-parts/index.js +6 -3
  265. package/build-module/components/page-templates-template-parts/index.js.map +1 -1
  266. package/build-module/components/routes/link.js +3 -6
  267. package/build-module/components/routes/link.js.map +1 -1
  268. package/build-module/components/sidebar-dataviews/default-views.js +3 -3
  269. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  270. package/build-module/components/sidebar-edit-mode/index.js +98 -19
  271. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  272. package/build-module/components/sidebar-edit-mode/settings-header/index.js +24 -73
  273. package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  274. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +2 -2
  275. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  276. package/build-module/components/site-icon/index.js +2 -2
  277. package/build-module/components/site-icon/index.js.map +1 -1
  278. package/build-module/components/template-part-converter/convert-to-template-part.js +0 -1
  279. package/build-module/components/template-part-converter/convert-to-template-part.js.map +1 -1
  280. package/build-module/components/welcome-guide/template.js +2 -2
  281. package/build-module/components/welcome-guide/template.js.map +1 -1
  282. package/build-module/hooks/commands/use-edit-mode-commands.js +16 -6
  283. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  284. package/build-module/store/actions.js +7 -2
  285. package/build-module/store/actions.js.map +1 -1
  286. package/build-style/style-rtl.css +398 -224
  287. package/build-style/style.css +398 -224
  288. package/package.json +42 -42
  289. package/src/components/add-new-template/style.scss +0 -12
  290. package/src/components/block-editor/site-editor-canvas.js +23 -15
  291. package/src/components/block-editor/style.scss +2 -20
  292. package/src/components/block-editor/use-navigate-to-entity-record.js +25 -0
  293. package/src/components/block-editor/use-site-editor-settings.js +35 -4
  294. package/src/components/editor/index.js +11 -10
  295. package/src/components/global-styles/font-families.js +13 -4
  296. package/src/components/global-styles/font-library-modal/collection-font-variant.js +10 -8
  297. package/src/components/global-styles/font-library-modal/context.js +14 -0
  298. package/src/components/global-styles/font-library-modal/font-card.js +10 -4
  299. package/src/components/global-styles/font-library-modal/font-collection.js +25 -47
  300. package/src/components/global-styles/font-library-modal/font-demo.js +9 -10
  301. package/src/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +2 -2
  302. package/src/components/global-styles/font-library-modal/index.js +8 -3
  303. package/src/components/global-styles/font-library-modal/installed-fonts.js +20 -34
  304. package/src/components/global-styles/font-library-modal/library-font-card.js +1 -1
  305. package/src/components/global-styles/font-library-modal/library-font-variant.js +12 -10
  306. package/src/components/global-styles/font-library-modal/resolvers.js +1 -1
  307. package/src/components/global-styles/font-library-modal/style.scss +13 -27
  308. package/src/components/global-styles/font-library-modal/tab-panel-layout.js +17 -0
  309. package/src/components/global-styles/font-library-modal/upload-fonts.js +192 -6
  310. package/src/components/global-styles/font-library-modal/utils/index.js +46 -39
  311. package/src/components/global-styles/screen-block.js +0 -12
  312. package/src/components/global-styles/screen-revisions/revisions-buttons.js +1 -1
  313. package/src/components/global-styles/screen-revisions/style.scss +21 -15
  314. package/src/components/global-styles/screen-typography-element.js +2 -4
  315. package/src/components/global-styles/style.scss +4 -0
  316. package/src/components/header-edit-mode/more-menu/index.js +10 -18
  317. package/src/components/header-edit-mode/style.scss +54 -6
  318. package/src/components/layout/style.scss +2 -7
  319. package/src/components/page/style.scss +0 -1
  320. package/src/components/page-pages/index.js +32 -23
  321. package/src/components/page-pages/style.scss +28 -27
  322. package/src/components/page-patterns/dataviews-pattern-actions.js +106 -30
  323. package/src/components/page-patterns/grid-item.js +0 -2
  324. package/src/components/page-patterns/index.js +1 -0
  325. package/src/components/page-patterns/style.scss +4 -9
  326. package/src/components/page-templates-template-parts/index.js +23 -16
  327. package/src/components/page-templates-template-parts/style.scss +16 -0
  328. package/src/components/routes/link.js +3 -12
  329. package/src/components/sidebar-dataviews/default-views.js +3 -3
  330. package/src/components/sidebar-edit-mode/index.js +122 -29
  331. package/src/components/sidebar-edit-mode/settings-header/index.js +28 -88
  332. package/src/components/sidebar-edit-mode/settings-header/style.scss +0 -87
  333. package/src/components/sidebar-edit-mode/sidebar-card/style.scss +3 -0
  334. package/src/components/sidebar-edit-mode/style.scss +4 -0
  335. package/src/components/sidebar-navigation-screen/style.scss +2 -1
  336. package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +9 -3
  337. package/src/components/site-hub/style.scss +0 -1
  338. package/src/components/site-icon/index.js +1 -1
  339. package/src/components/site-icon/style.scss +9 -1
  340. package/src/components/welcome-guide/template.js +2 -2
  341. package/src/hooks/commands/use-edit-mode-commands.js +26 -14
  342. package/src/store/actions.js +20 -3
  343. package/build/components/block-editor/back-button.js +0 -47
  344. package/build/components/block-editor/back-button.js.map +0 -1
  345. package/build/components/block-editor/use-post-link-props.js +0 -27
  346. package/build/components/block-editor/use-post-link-props.js.map +0 -1
  347. package/build/components/global-styles/font-library-modal/font-variant.js +0 -51
  348. package/build/components/global-styles/font-library-modal/font-variant.js.map +0 -1
  349. package/build/components/global-styles/font-library-modal/local-fonts.js +0 -196
  350. package/build/components/global-styles/font-library-modal/local-fonts.js.map +0 -1
  351. package/build-module/components/block-editor/back-button.js +0 -39
  352. package/build-module/components/block-editor/back-button.js.map +0 -1
  353. package/build-module/components/block-editor/use-post-link-props.js +0 -20
  354. package/build-module/components/block-editor/use-post-link-props.js.map +0 -1
  355. package/build-module/components/global-styles/font-library-modal/font-variant.js +0 -42
  356. package/build-module/components/global-styles/font-library-modal/font-variant.js.map +0 -1
  357. package/build-module/components/global-styles/font-library-modal/local-fonts.js +0 -187
  358. package/build-module/components/global-styles/font-library-modal/local-fonts.js.map +0 -1
  359. package/src/components/block-editor/back-button.js +0 -48
  360. package/src/components/block-editor/use-post-link-props.js +0 -20
  361. package/src/components/global-styles/font-library-modal/font-variant.js +0 -53
  362. package/src/components/global-styles/font-library-modal/local-fonts.js +0 -239
@@ -12,10 +12,9 @@ import {
12
12
  FlexItem,
13
13
  Flex,
14
14
  Button,
15
- Notice,
16
15
  } from '@wordpress/components';
17
16
  import { debounce } from '@wordpress/compose';
18
- import { __ } from '@wordpress/i18n';
17
+ import { __, _x } from '@wordpress/i18n';
19
18
  import { search, closeSmall } from '@wordpress/icons';
20
19
 
21
20
  /**
@@ -30,31 +29,30 @@ import CollectionFontDetails from './collection-font-details';
30
29
  import { toggleFont } from './utils/toggleFont';
31
30
  import { getFontsOutline } from './utils/fonts-outline';
32
31
  import GoogleFontsConfirmDialog from './google-fonts-confirm-dialog';
33
- import { downloadFontFaceAsset } from './utils';
32
+ import { downloadFontFaceAssets } from './utils';
34
33
 
35
34
  const DEFAULT_CATEGORY = {
36
35
  slug: 'all',
37
- name: __( 'All' ),
36
+ name: _x( 'All', 'font categories' ),
38
37
  };
39
38
  function FontCollection( { slug } ) {
40
- const requiresPermission = slug === 'default-font-collection';
39
+ const requiresPermission = slug === 'google-fonts';
41
40
 
42
41
  const getGoogleFontsPermissionFromStorage = () => {
43
42
  return (
44
43
  window.localStorage.getItem(
45
- 'wp-font-library-default-font-collection-permission'
44
+ 'wp-font-library-google-fonts-permission'
46
45
  ) === 'true'
47
46
  );
48
47
  };
49
48
 
50
- const [ notice, setNotice ] = useState( null );
51
49
  const [ selectedFont, setSelectedFont ] = useState( null );
52
50
  const [ fontsToInstall, setFontsToInstall ] = useState( [] );
53
51
  const [ filters, setFilters ] = useState( {} );
54
52
  const [ renderConfirmDialog, setRenderConfirmDialog ] = useState(
55
53
  requiresPermission && ! getGoogleFontsPermissionFromStorage()
56
54
  );
57
- const { collections, getFontCollection, installFont } =
55
+ const { collections, getFontCollection, installFont, notice, setNotice } =
58
56
  useContext( FontLibraryContext );
59
57
  const selectedCollection = collections.find(
60
58
  ( collection ) => collection.slug === slug
@@ -77,36 +75,27 @@ function FontCollection( { slug } ) {
77
75
  await getFontCollection( slug );
78
76
  resetFilters();
79
77
  } catch ( e ) {
80
- setNotice( {
81
- type: 'error',
82
- message: e?.message,
83
- duration: 0, // Don't auto-hide.
84
- } );
78
+ if ( ! notice ) {
79
+ setNotice( {
80
+ type: 'error',
81
+ message: e?.message,
82
+ } );
83
+ }
85
84
  }
86
85
  };
87
86
  fetchFontCollection();
88
- }, [ slug, getFontCollection ] );
87
+ }, [ slug, getFontCollection, setNotice, notice ] );
89
88
 
90
89
  useEffect( () => {
91
90
  setSelectedFont( null );
92
91
  setNotice( null );
93
- }, [ slug ] );
92
+ }, [ slug, setNotice ] );
94
93
 
95
94
  useEffect( () => {
96
95
  // If the selected fonts change, reset the selected fonts to install
97
96
  setFontsToInstall( [] );
98
97
  }, [ selectedFont ] );
99
98
 
100
- // Reset notice after 5 seconds
101
- useEffect( () => {
102
- if ( notice && notice?.duration !== 0 ) {
103
- const timeout = setTimeout( () => {
104
- setNotice( null );
105
- }, notice.duration ?? 5000 );
106
- return () => clearTimeout( timeout );
107
- }
108
- }, [ notice ] );
109
-
110
99
  const collectionFonts = useMemo(
111
100
  () => selectedCollection?.font_families ?? [],
112
101
  [ selectedCollection ]
@@ -154,6 +143,8 @@ function FontCollection( { slug } ) {
154
143
  };
155
144
 
156
145
  const handleInstall = async () => {
146
+ setNotice( null );
147
+
157
148
  const fontFamily = fontsToInstall[ 0 ];
158
149
 
159
150
  try {
@@ -161,7 +152,7 @@ function FontCollection( { slug } ) {
161
152
  await Promise.all(
162
153
  fontFamily.fontFace.map( async ( fontFace ) => {
163
154
  if ( fontFace.src ) {
164
- fontFace.file = await downloadFontFaceAsset(
155
+ fontFace.file = await downloadFontFaceAssets(
165
156
  fontFace.src
166
157
  );
167
158
  }
@@ -205,11 +196,13 @@ function FontCollection( { slug } ) {
205
196
  ? selectedCollection.description
206
197
  : __( 'Select font variants to install.' )
207
198
  }
199
+ notice={ notice }
208
200
  handleBack={ !! selectedFont && handleUnselectFont }
209
201
  footer={
210
- fontsToInstall.length > 0 && (
211
- <Footer handleInstall={ handleInstall } />
212
- )
202
+ <Footer
203
+ handleInstall={ handleInstall }
204
+ isDisabled={ fontsToInstall.length === 0 }
205
+ />
213
206
  }
214
207
  >
215
208
  { renderConfirmDialog && (
@@ -219,22 +212,6 @@ function FontCollection( { slug } ) {
219
212
  </>
220
213
  ) }
221
214
 
222
- { notice && (
223
- <>
224
- <FlexItem>
225
- <Spacer margin={ 2 } />
226
- <Notice
227
- isDismissible={ false }
228
- status={ notice.type }
229
- className="font-library-modal__font-collection__notice"
230
- >
231
- { notice.message }
232
- </Notice>
233
- </FlexItem>
234
- <Spacer margin={ 2 } />
235
- </>
236
- ) }
237
-
238
215
  { ! renderConfirmDialog && ! selectedFont && (
239
216
  <Flex>
240
217
  <FlexItem>
@@ -314,7 +291,7 @@ function FontCollection( { slug } ) {
314
291
  );
315
292
  }
316
293
 
317
- function Footer( { handleInstall } ) {
294
+ function Footer( { handleInstall, isDisabled } ) {
318
295
  const { isInstalling } = useContext( FontLibraryContext );
319
296
 
320
297
  return (
@@ -323,7 +300,8 @@ function Footer( { handleInstall } ) {
323
300
  variant="primary"
324
301
  onClick={ handleInstall }
325
302
  isBusy={ isInstalling }
326
- disabled={ isInstalling }
303
+ disabled={ isDisabled || isInstalling }
304
+ __experimentalIsFocusable
327
305
  >
328
306
  { __( 'Install' ) }
329
307
  </Button>
@@ -31,18 +31,12 @@ function FontFaceDemo( { customPreviewUrl, fontFace, text, style = {} } ) {
31
31
 
32
32
  const faceStyles = getFacePreviewStyle( fontFace );
33
33
  const textDemoStyle = {
34
- whiteSpace: 'nowrap',
35
- flexShrink: 0,
36
34
  fontSize: '18px',
35
+ lineHeight: 1,
37
36
  opacity: isAssetLoaded ? '1' : '0',
38
- transition: 'opacity 0.3s ease-in-out',
39
37
  ...faceStyles,
40
38
  ...style,
41
39
  };
42
- const imageDemoStyle = {
43
- height: '23px',
44
- width: 'auto',
45
- };
46
40
 
47
41
  useEffect( () => {
48
42
  const observer = new window.IntersectionObserver( ( [ entry ] ) => {
@@ -62,7 +56,7 @@ function FontFaceDemo( { customPreviewUrl, fontFace, text, style = {} } ) {
62
56
  }
63
57
  };
64
58
  loadAsset();
65
- }, [ fontFace, isIntersecting, loadFontFaceAsset ] );
59
+ }, [ fontFace, isIntersecting, loadFontFaceAsset, isPreviewImage ] );
66
60
 
67
61
  return (
68
62
  <div ref={ ref }>
@@ -71,10 +65,15 @@ function FontFaceDemo( { customPreviewUrl, fontFace, text, style = {} } ) {
71
65
  src={ previewUrl }
72
66
  loading="lazy"
73
67
  alt={ text }
74
- style={ imageDemoStyle }
68
+ className="font-library-modal__font-variant_demo-image"
75
69
  />
76
70
  ) : (
77
- <Text style={ textDemoStyle }>{ text }</Text>
71
+ <Text
72
+ style={ textDemoStyle }
73
+ className="font-library-modal__font-variant_demo-text"
74
+ >
75
+ { text }
76
+ </Text>
78
77
  ) }
79
78
  </div>
80
79
  );
@@ -14,7 +14,7 @@ function GoogleFontsConfirmDialog() {
14
14
  const handleConfirm = () => {
15
15
  // eslint-disable-next-line no-undef
16
16
  window.localStorage.setItem(
17
- 'wp-font-library-default-font-collection-permission',
17
+ 'wp-font-library-google-fonts-permission',
18
18
  'true'
19
19
  );
20
20
  window.dispatchEvent( new Event( 'storage' ) );
@@ -34,7 +34,7 @@ function GoogleFontsConfirmDialog() {
34
34
  <Spacer margin={ 3 } />
35
35
  <Text as="p">
36
36
  { __(
37
- 'You can alternatively upload files directly on the Library tab.'
37
+ 'You can alternatively upload files directly on the Upload tab.'
38
38
  ) }
39
39
  </Text>
40
40
  <Spacer margin={ 6 } />
@@ -34,7 +34,7 @@ const tabsFromCollections = ( collections ) =>
34
34
  collections.map( ( { slug, name } ) => ( {
35
35
  id: slug,
36
36
  title:
37
- collections.length === 1 && slug === 'default-font-collection'
37
+ collections.length === 1 && slug === 'google-fonts'
38
38
  ? __( 'Install Fonts' )
39
39
  : name,
40
40
  } ) );
@@ -43,13 +43,18 @@ function FontLibraryModal( {
43
43
  onRequestClose,
44
44
  initialTabId = 'installed-fonts',
45
45
  } ) {
46
- const { collections } = useContext( FontLibraryContext );
46
+ const { collections, setNotice } = useContext( FontLibraryContext );
47
47
 
48
48
  const tabs = [
49
49
  ...DEFAULT_TABS,
50
50
  ...tabsFromCollections( collections || [] ),
51
51
  ];
52
52
 
53
+ // Reset notice when new tab is selected.
54
+ const onSelect = () => {
55
+ setNotice( null );
56
+ };
57
+
53
58
  return (
54
59
  <Modal
55
60
  title={ __( 'Fonts' ) }
@@ -58,7 +63,7 @@ function FontLibraryModal( {
58
63
  className="font-library-modal"
59
64
  >
60
65
  <div className="font-library-modal__tabs">
61
- <Tabs initialTabId={ initialTabId }>
66
+ <Tabs initialTabId={ initialTabId } onSelect={ onSelect }>
62
67
  <Tabs.TabList>
63
68
  { tabs.map( ( { id, title } ) => (
64
69
  <Tabs.Tab key={ id } tabId={ id }>
@@ -9,7 +9,6 @@ import {
9
9
  __experimentalSpacer as Spacer,
10
10
  Button,
11
11
  Spinner,
12
- Notice,
13
12
  FlexItem,
14
13
  } from '@wordpress/components';
15
14
 
@@ -34,6 +33,8 @@ function InstalledFonts() {
34
33
  refreshLibrary,
35
34
  uninstallFontFamily,
36
35
  isResolvingLibrary,
36
+ notice,
37
+ setNotice,
37
38
  } = useContext( FontLibraryContext );
38
39
  const [ isConfirmDeleteOpen, setIsConfirmDeleteOpen ] = useState( false );
39
40
 
@@ -45,9 +46,9 @@ function InstalledFonts() {
45
46
  handleSetLibraryFontSelected( font );
46
47
  };
47
48
 
48
- const [ notice, setNotice ] = useState( null );
49
-
50
49
  const handleConfirmUninstall = async () => {
50
+ setNotice( null );
51
+
51
52
  try {
52
53
  await uninstallFontFamily( libraryFontSelected );
53
54
  setNotice( {
@@ -91,20 +92,11 @@ function InstalledFonts() {
91
92
  // eslint-disable-next-line react-hooks/exhaustive-deps
92
93
  }, [] );
93
94
 
94
- // Reset notice after 5 seconds
95
- useEffect( () => {
96
- if ( notice ) {
97
- const timeout = setTimeout( () => {
98
- setNotice( null );
99
- }, 5000 );
100
- return () => clearTimeout( timeout );
101
- }
102
- }, [ notice ] );
103
-
104
95
  return (
105
96
  <TabPanelLayout
106
97
  title={ libraryFontSelected?.name || '' }
107
98
  description={ tabDescription }
99
+ notice={ notice }
108
100
  handleBack={ !! libraryFontSelected && handleUnselectFont }
109
101
  footer={
110
102
  <Footer
@@ -120,28 +112,17 @@ function InstalledFonts() {
120
112
  handleCancelUninstall={ handleCancelUninstall }
121
113
  />
122
114
 
123
- { notice && (
124
- <>
125
- <FlexItem>
126
- <Spacer margin={ 2 } />
127
- <Notice
128
- isDismissible={ false }
129
- status={ notice.type }
130
- className="font-library-modal__font-collection__notice"
131
- >
132
- { notice.message }
133
- </Notice>
134
- </FlexItem>
135
- <Spacer margin={ 4 } />
136
- </>
137
- ) }
138
-
139
115
  { ! libraryFontSelected && (
140
116
  <>
141
- { isResolvingLibrary && <Spinner /> }
117
+ { isResolvingLibrary && (
118
+ <FlexItem>
119
+ <Spacer margin={ 2 } />
120
+ <Spinner />
121
+ <Spacer margin={ 2 } />
122
+ </FlexItem>
123
+ ) }
142
124
  { baseCustomFonts.length > 0 && (
143
125
  <>
144
- <Spacer margin={ 2 } />
145
126
  <FontsGrid>
146
127
  { baseCustomFonts.map( ( font ) => (
147
128
  <LibraryFontCard
@@ -191,19 +172,24 @@ function Footer( { shouldDisplayDeleteButton, handleUninstallClick } ) {
191
172
  const { saveFontFamilies, fontFamiliesHasChanges, isInstalling } =
192
173
  useContext( FontLibraryContext );
193
174
  return (
194
- <HStack justify="space-between">
175
+ <HStack justify="flex-end">
195
176
  { isInstalling && <ProgressBar /> }
196
177
  <div>
197
178
  { shouldDisplayDeleteButton && (
198
- <Button variant="tertiary" onClick={ handleUninstallClick }>
179
+ <Button
180
+ isDestructive
181
+ variant="tertiary"
182
+ onClick={ handleUninstallClick }
183
+ >
199
184
  { __( 'Delete' ) }
200
185
  </Button>
201
186
  ) }
202
187
  </div>
203
188
  <Button
204
- disabled={ ! fontFamiliesHasChanges }
205
189
  variant="primary"
206
190
  onClick={ saveFontFamilies }
191
+ disabled={ ! fontFamiliesHasChanges }
192
+ __experimentalIsFocusable
207
193
  >
208
194
  { __( 'Update' ) }
209
195
  </Button>
@@ -20,7 +20,7 @@ function LibraryFontCard( { font, ...props } ) {
20
20
  font.source
21
21
  ).length;
22
22
  const variantsText = sprintf(
23
- /* translators: %1$d: Active font variants, %2$d: Total font variants */
23
+ /* translators: 1: Active font variants, 2: Total font variants. */
24
24
  __( '%1$s/%2$s variants active' ),
25
25
  variantsActive,
26
26
  variantsInstalled
@@ -20,7 +20,7 @@ function LibraryFontVariant( { face, font } ) {
20
20
  const { isFontActivated, toggleActivateFont } =
21
21
  useContext( FontLibraryContext );
22
22
 
23
- const isIstalled =
23
+ const isInstalled =
24
24
  font?.fontFace?.length > 0
25
25
  ? isFontActivated(
26
26
  font.slug,
@@ -45,21 +45,23 @@ function LibraryFontVariant( { face, font } ) {
45
45
  );
46
46
 
47
47
  return (
48
- <label
49
- className="font-library-modal__library-font-variant"
50
- htmlFor={ checkboxId }
51
- >
52
- <Flex justify="space-between" align="center" gap="1rem">
53
- <FontFaceDemo fontFace={ face } text={ displayName } />
48
+ <div className="font-library-modal__library-font-variant">
49
+ <Flex justify="flex-start" align="center" gap="1rem">
54
50
  <CheckboxControl
55
- checked={ isIstalled }
51
+ checked={ isInstalled }
56
52
  onChange={ handleToggleActivation }
57
53
  __nextHasNoMarginBottom={ true }
58
54
  id={ checkboxId }
59
- label={ false }
60
55
  />
56
+ <label htmlFor={ checkboxId }>
57
+ <FontFaceDemo
58
+ fontFace={ face }
59
+ text={ displayName }
60
+ onClick={ handleToggleActivation }
61
+ />
62
+ </label>
61
63
  </Flex>
62
- </label>
64
+ </div>
63
65
  );
64
66
  }
65
67
 
@@ -63,7 +63,7 @@ export async function fetchUninstallFontFamily( fontFamilyId ) {
63
63
 
64
64
  export async function fetchFontCollections() {
65
65
  const config = {
66
- path: FONT_COLLECTIONS_URL,
66
+ path: `${ FONT_COLLECTIONS_URL }?_fields=slug,name,description`,
67
67
  method: 'GET',
68
68
  };
69
69
  return await apiFetch( config );
@@ -25,11 +25,6 @@
25
25
  }
26
26
 
27
27
  .font-library-modal__tabpanel-layout {
28
-
29
- .font-library-modal__tabpanel-layout__main {
30
- padding-bottom: $grid-unit-80;
31
- }
32
-
33
28
  .font-library-modal__tabpanel-layout__footer {
34
29
  border-top: 1px solid $gray-300;
35
30
  margin: 0 #{$grid-unit-40 * -1} #{$grid-unit-40 * -1};
@@ -39,7 +34,6 @@
39
34
  width: 100%;
40
35
  background-color: $white;
41
36
  }
42
-
43
37
  }
44
38
 
45
39
  .font-library-modal__fonts-grid {
@@ -71,6 +65,19 @@
71
65
  margin-top: -1px; /* To collapse the margin with the previous element */
72
66
  }
73
67
 
68
+ .font-library-modal__font-variant_demo-image {
69
+ display: block;
70
+ height: $grid-unit-30;
71
+ width: auto;
72
+ }
73
+
74
+ .font-library-modal__font-variant_demo-text {
75
+ white-space: nowrap;
76
+ flex-shrink: 0;
77
+ transition: opacity 0.3s ease-in-out;
78
+ @include reduce-motion("transition");
79
+ }
80
+
74
81
  .font-library-modal__font-variant {
75
82
  border-bottom: 1px solid $gray-200;
76
83
  padding-bottom: $grid-unit-20;
@@ -107,27 +114,6 @@ button.font-library-modal__upload-area {
107
114
  .font-library-modal__upload-area__text {
108
115
  color: $gray-700;
109
116
  }
110
-
111
- .font-library-modal__upload-area__notice {
112
- margin: 0;
113
- }
114
- }
115
-
116
- .font-library-modal__font-variant_demo-wrapper {
117
- white-space: nowrap;
118
- overflow: hidden;
119
- width: 100%;
120
- position: relative;
121
-
122
- &::after {
123
- content: "";
124
- position: absolute;
125
- bottom: 0;
126
- right: 0;
127
- width: 30vw;
128
- height: 100%;
129
- background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
130
- }
131
117
  }
132
118
 
133
119
  .font-library__google-fonts-confirm {
@@ -8,12 +8,16 @@ import {
8
8
  __experimentalSpacer as Spacer,
9
9
  __experimentalHStack as HStack,
10
10
  Button,
11
+ Notice,
12
+ FlexBlock,
11
13
  } from '@wordpress/components';
12
14
  import { chevronLeft } from '@wordpress/icons';
15
+ import { __ } from '@wordpress/i18n';
13
16
 
14
17
  function TabPanelLayout( {
15
18
  title,
16
19
  description,
20
+ notice,
17
21
  handleBack,
18
22
  children,
19
23
  footer,
@@ -30,6 +34,7 @@ function TabPanelLayout( {
30
34
  onClick={ handleBack }
31
35
  icon={ chevronLeft }
32
36
  size="small"
37
+ label={ __( 'Back' ) }
33
38
  />
34
39
  ) }
35
40
  { title && (
@@ -43,6 +48,18 @@ function TabPanelLayout( {
43
48
  ) }
44
49
  </HStack>
45
50
  { description && <Text>{ description }</Text> }
51
+ { notice && (
52
+ <FlexBlock>
53
+ <Spacer margin={ 1 } />
54
+ <Notice
55
+ status={ notice.type }
56
+ onRemove={ notice.onRemove }
57
+ >
58
+ { notice.message }
59
+ </Notice>
60
+ <Spacer margin={ 1 } />
61
+ </FlexBlock>
62
+ ) }
46
63
  </VStack>
47
64
  <div className="font-library-modal__tabpanel-layout__main">
48
65
  { children }