@wordpress/edit-site 5.24.1 → 5.25.1-next.79a6196f.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 (652) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/LICENSE.md +1 -1
  3. package/build/components/add-new-template/add-custom-template-modal-content.js +2 -3
  4. package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  5. package/build/components/block-editor/back-button.js +3 -2
  6. package/build/components/block-editor/back-button.js.map +1 -1
  7. package/build/components/block-editor/editor-canvas.js +48 -23
  8. package/build/components/block-editor/editor-canvas.js.map +1 -1
  9. package/build/components/block-editor/resizable-editor.js +2 -2
  10. package/build/components/block-editor/resizable-editor.js.map +1 -1
  11. package/build/components/block-editor/site-editor-canvas.js +5 -54
  12. package/build/components/block-editor/site-editor-canvas.js.map +1 -1
  13. package/build/components/block-editor/use-post-link-props.js +27 -0
  14. package/build/components/block-editor/use-post-link-props.js.map +1 -0
  15. package/build/components/block-editor/use-site-editor-settings.js +15 -23
  16. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  17. package/build/components/create-template-part-modal/index.js +15 -7
  18. package/build/components/create-template-part-modal/index.js.map +1 -1
  19. package/build/components/editor/index.js +21 -33
  20. package/build/components/editor/index.js.map +1 -1
  21. package/build/components/editor-canvas-container/index.js +9 -7
  22. package/build/components/editor-canvas-container/index.js.map +1 -1
  23. package/build/components/global-styles/font-library-modal/collection-font-variant.js +11 -7
  24. package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  25. package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js +3 -3
  26. package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +1 -1
  27. package/build/components/global-styles/font-library-modal/context.js +6 -6
  28. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  29. package/build/components/global-styles/font-library-modal/font-collection.js +8 -4
  30. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  31. package/build/components/global-styles/font-library-modal/index.js +38 -21
  32. package/build/components/global-styles/font-library-modal/index.js.map +1 -1
  33. package/build/components/global-styles/font-library-modal/installed-fonts.js +2 -2
  34. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  35. package/build/components/global-styles/font-library-modal/library-font-variant.js +11 -7
  36. package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  37. package/build/components/global-styles/font-library-modal/local-fonts.js +26 -10
  38. package/build/components/global-styles/font-library-modal/local-fonts.js.map +1 -1
  39. package/build/components/global-styles/font-library-modal/resolvers.js +6 -6
  40. package/build/components/global-styles/font-library-modal/resolvers.js.map +1 -1
  41. package/build/components/global-styles/font-library-modal/{tab-layout.js → tab-panel-layout.js} +4 -4
  42. package/build/components/global-styles/font-library-modal/tab-panel-layout.js.map +1 -0
  43. package/build/components/global-styles/font-library-modal/utils/index.js +35 -38
  44. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  45. package/build/components/global-styles/preview.js +43 -1
  46. package/build/components/global-styles/preview.js.map +1 -1
  47. package/build/components/global-styles/screen-color-palette.js +16 -12
  48. package/build/components/global-styles/screen-color-palette.js.map +1 -1
  49. package/build/components/global-styles/screen-revisions/index.js +54 -58
  50. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  51. package/build/components/global-styles/screen-revisions/revisions-buttons.js +56 -15
  52. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  53. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +40 -22
  54. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  55. package/build/components/global-styles/ui.js +13 -62
  56. package/build/components/global-styles/ui.js.map +1 -1
  57. package/build/components/header-edit-mode/document-tools/index.js +15 -106
  58. package/build/components/header-edit-mode/document-tools/index.js.map +1 -1
  59. package/build/components/header-edit-mode/index.js +21 -47
  60. package/build/components/header-edit-mode/index.js.map +1 -1
  61. package/build/components/header-edit-mode/mode-switcher/index.js +0 -2
  62. package/build/components/header-edit-mode/mode-switcher/index.js.map +1 -1
  63. package/build/components/header-edit-mode/more-menu/index.js +19 -14
  64. package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
  65. package/build/components/keyboard-shortcuts/edit-mode.js +0 -23
  66. package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  67. package/build/components/keyboard-shortcuts/register.js +0 -36
  68. package/build/components/keyboard-shortcuts/register.js.map +1 -1
  69. package/build/components/layout/index.js +15 -21
  70. package/build/components/layout/index.js.map +1 -1
  71. package/build/components/page/header.js +2 -1
  72. package/build/components/page/header.js.map +1 -1
  73. package/build/components/page-main/index.js +4 -4
  74. package/build/components/page-main/index.js.map +1 -1
  75. package/build/components/page-pages/index.js +102 -52
  76. package/build/components/page-pages/index.js.map +1 -1
  77. package/build/components/page-patterns/dataviews-pattern-actions.js +305 -0
  78. package/build/components/page-patterns/dataviews-pattern-actions.js.map +1 -0
  79. package/build/components/page-patterns/dataviews-patterns.js +307 -0
  80. package/build/components/page-patterns/dataviews-patterns.js.map +1 -0
  81. package/build/components/page-patterns/duplicate-menu-item.js +1 -1
  82. package/build/components/page-patterns/duplicate-menu-item.js.map +1 -1
  83. package/build/components/page-patterns/grid-item.js +4 -3
  84. package/build/components/page-patterns/grid-item.js.map +1 -1
  85. package/build/components/page-patterns/patterns-list.js +3 -3
  86. package/build/components/page-patterns/patterns-list.js.map +1 -1
  87. package/build/components/page-patterns/rename-menu-item.js +3 -0
  88. package/build/components/page-patterns/rename-menu-item.js.map +1 -1
  89. package/build/components/page-patterns/use-patterns.js +23 -13
  90. package/build/components/page-patterns/use-patterns.js.map +1 -1
  91. package/build/components/page-templates/index.js +312 -36
  92. package/build/components/page-templates/index.js.map +1 -1
  93. package/build/components/{page-patterns/pagination.js → pagination/index.js} +25 -12
  94. package/build/components/pagination/index.js.map +1 -0
  95. package/build/components/{page-pages/side-editor.js → post-preview/index.js} +8 -4
  96. package/build/components/post-preview/index.js.map +1 -0
  97. package/build/components/preferences-modal/enable-feature.js +3 -2
  98. package/build/components/preferences-modal/enable-feature.js.map +1 -1
  99. package/build/components/preferences-modal/enable-panel-option.js +33 -0
  100. package/build/components/preferences-modal/enable-panel-option.js.map +1 -0
  101. package/build/components/preferences-modal/index.js +89 -25
  102. package/build/components/preferences-modal/index.js.map +1 -1
  103. package/build/components/revisions/index.js +3 -7
  104. package/build/components/revisions/index.js.map +1 -1
  105. package/build/components/routes/link.js +6 -2
  106. package/build/components/routes/link.js.map +1 -1
  107. package/build/components/routes/use-title.js +3 -4
  108. package/build/components/routes/use-title.js.map +1 -1
  109. package/build/components/save-button/index.js +8 -4
  110. package/build/components/save-button/index.js.map +1 -1
  111. package/build/components/sidebar/index.js +26 -20
  112. package/build/components/sidebar/index.js.map +1 -1
  113. package/build/components/sidebar-dataviews/add-new-view.js +2 -2
  114. package/build/components/sidebar-dataviews/add-new-view.js.map +1 -1
  115. package/build/components/sidebar-dataviews/dataview-item.js +2 -10
  116. package/build/components/sidebar-dataviews/dataview-item.js.map +1 -1
  117. package/build/components/sidebar-dataviews/default-views.js +19 -6
  118. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  119. package/build/components/sidebar-dataviews/index.js +3 -3
  120. package/build/components/sidebar-dataviews/index.js.map +1 -1
  121. package/build/components/sidebar-edit-mode/default-sidebar.js +1 -5
  122. package/build/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
  123. package/build/components/sidebar-edit-mode/global-styles-sidebar.js +62 -10
  124. package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  125. package/build/components/sidebar-edit-mode/page-panels/index.js +10 -4
  126. package/build/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
  127. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +1 -2
  128. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  129. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js +0 -4
  130. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  131. package/build/components/sidebar-edit-mode/template-panel/index.js +4 -13
  132. package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  133. package/build/components/sidebar-navigation-screen-details-footer/index.js +1 -1
  134. package/build/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
  135. package/build/components/sidebar-navigation-screen-global-styles/index.js +5 -2
  136. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  137. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +3 -0
  138. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
  139. package/build/components/sidebar-navigation-screen-page/index.js +4 -1
  140. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
  141. package/build/components/sidebar-navigation-screen-pages-dataviews/index.js +69 -0
  142. package/build/components/sidebar-navigation-screen-pages-dataviews/index.js.map +1 -0
  143. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +1 -1
  144. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  145. package/build/components/sidebar-navigation-screen-template/home-template-details.js +3 -89
  146. package/build/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
  147. package/build/components/sidebar-navigation-screen-template/index.js +2 -1
  148. package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
  149. package/build/components/sidebar-navigation-screen-template/template-areas.js +117 -0
  150. package/build/components/sidebar-navigation-screen-template/template-areas.js.map +1 -0
  151. package/build/components/sidebar-navigation-screen-templates/index.js +63 -8
  152. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  153. package/build/components/site-hub/index.js +6 -3
  154. package/build/components/site-hub/index.js.map +1 -1
  155. package/build/components/style-book/index.js +38 -8
  156. package/build/components/style-book/index.js.map +1 -1
  157. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +1 -1
  158. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  159. package/build/components/template-actions/rename-menu-item.js +3 -0
  160. package/build/components/template-actions/rename-menu-item.js.map +1 -1
  161. package/build/components/welcome-guide/styles.js +1 -1
  162. package/build/components/welcome-guide/styles.js.map +1 -1
  163. package/build/hooks/commands/use-common-commands.js +9 -1
  164. package/build/hooks/commands/use-common-commands.js.map +1 -1
  165. package/build/hooks/commands/use-edit-mode-commands.js +11 -6
  166. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  167. package/build/hooks/navigation-menu-edit.js +1 -1
  168. package/build/hooks/navigation-menu-edit.js.map +1 -1
  169. package/build/hooks/template-part-edit.js +1 -1
  170. package/build/hooks/template-part-edit.js.map +1 -1
  171. package/build/index.js +12 -7
  172. package/build/index.js.map +1 -1
  173. package/build/store/actions.js +54 -52
  174. package/build/store/actions.js.map +1 -1
  175. package/build/store/private-actions.js +6 -2
  176. package/build/store/private-actions.js.map +1 -1
  177. package/build/store/reducer.js +0 -64
  178. package/build/store/reducer.js.map +1 -1
  179. package/build/store/selectors.js +44 -47
  180. package/build/store/selectors.js.map +1 -1
  181. package/build/utils/constants.js +15 -1
  182. package/build/utils/constants.js.map +1 -1
  183. package/build/utils/get-is-list-page.js +1 -1
  184. package/build/utils/get-is-list-page.js.map +1 -1
  185. package/build-module/components/add-new-template/add-custom-template-modal-content.js +1 -1
  186. package/build-module/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  187. package/build-module/components/block-editor/back-button.js +4 -3
  188. package/build-module/components/block-editor/back-button.js.map +1 -1
  189. package/build-module/components/block-editor/editor-canvas.js +50 -25
  190. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  191. package/build-module/components/block-editor/resizable-editor.js +2 -2
  192. package/build-module/components/block-editor/resizable-editor.js.map +1 -1
  193. package/build-module/components/block-editor/site-editor-canvas.js +8 -56
  194. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
  195. package/build-module/components/block-editor/use-post-link-props.js +20 -0
  196. package/build-module/components/block-editor/use-post-link-props.js.map +1 -0
  197. package/build-module/components/block-editor/use-site-editor-settings.js +16 -24
  198. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  199. package/build-module/components/create-template-part-modal/index.js +14 -7
  200. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  201. package/build-module/components/editor/index.js +25 -37
  202. package/build-module/components/editor/index.js.map +1 -1
  203. package/build-module/components/editor-canvas-container/index.js +9 -7
  204. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  205. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js +13 -8
  206. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  207. package/build-module/components/global-styles/font-library-modal/confirm-delete-dialog.js +3 -3
  208. package/build-module/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +1 -1
  209. package/build-module/components/global-styles/font-library-modal/context.js +8 -8
  210. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  211. package/build-module/components/global-styles/font-library-modal/font-collection.js +8 -4
  212. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  213. package/build-module/components/global-styles/font-library-modal/index.js +39 -22
  214. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
  215. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +2 -2
  216. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  217. package/build-module/components/global-styles/font-library-modal/library-font-variant.js +13 -8
  218. package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  219. package/build-module/components/global-styles/font-library-modal/local-fonts.js +27 -11
  220. package/build-module/components/global-styles/font-library-modal/local-fonts.js.map +1 -1
  221. package/build-module/components/global-styles/font-library-modal/resolvers.js +5 -5
  222. package/build-module/components/global-styles/font-library-modal/resolvers.js.map +1 -1
  223. package/build-module/components/global-styles/font-library-modal/{tab-layout.js → tab-panel-layout.js} +4 -4
  224. package/build-module/components/global-styles/font-library-modal/tab-panel-layout.js.map +1 -0
  225. package/build-module/components/global-styles/font-library-modal/utils/index.js +34 -36
  226. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  227. package/build-module/components/global-styles/preview.js +45 -3
  228. package/build-module/components/global-styles/preview.js.map +1 -1
  229. package/build-module/components/global-styles/screen-color-palette.js +17 -13
  230. package/build-module/components/global-styles/screen-color-palette.js.map +1 -1
  231. package/build-module/components/global-styles/screen-revisions/index.js +55 -59
  232. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  233. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +56 -15
  234. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  235. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +40 -22
  236. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  237. package/build-module/components/global-styles/ui.js +15 -64
  238. package/build-module/components/global-styles/ui.js.map +1 -1
  239. package/build-module/components/header-edit-mode/document-tools/index.js +19 -109
  240. package/build-module/components/header-edit-mode/document-tools/index.js.map +1 -1
  241. package/build-module/components/header-edit-mode/index.js +25 -51
  242. package/build-module/components/header-edit-mode/index.js.map +1 -1
  243. package/build-module/components/header-edit-mode/mode-switcher/index.js +0 -2
  244. package/build-module/components/header-edit-mode/mode-switcher/index.js.map +1 -1
  245. package/build-module/components/header-edit-mode/more-menu/index.js +20 -15
  246. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
  247. package/build-module/components/keyboard-shortcuts/edit-mode.js +0 -23
  248. package/build-module/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  249. package/build-module/components/keyboard-shortcuts/register.js +0 -36
  250. package/build-module/components/keyboard-shortcuts/register.js.map +1 -1
  251. package/build-module/components/layout/index.js +15 -21
  252. package/build-module/components/layout/index.js.map +1 -1
  253. package/build-module/components/page/header.js +2 -1
  254. package/build-module/components/page/header.js.map +1 -1
  255. package/build-module/components/page-main/index.js +4 -4
  256. package/build-module/components/page-main/index.js.map +1 -1
  257. package/build-module/components/page-pages/index.js +101 -51
  258. package/build-module/components/page-pages/index.js.map +1 -1
  259. package/build-module/components/page-patterns/dataviews-pattern-actions.js +292 -0
  260. package/build-module/components/page-patterns/dataviews-pattern-actions.js.map +1 -0
  261. package/build-module/components/page-patterns/dataviews-patterns.js +299 -0
  262. package/build-module/components/page-patterns/dataviews-patterns.js.map +1 -0
  263. package/build-module/components/page-patterns/duplicate-menu-item.js +1 -1
  264. package/build-module/components/page-patterns/duplicate-menu-item.js.map +1 -1
  265. package/build-module/components/page-patterns/grid-item.js +4 -3
  266. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  267. package/build-module/components/page-patterns/patterns-list.js +3 -3
  268. package/build-module/components/page-patterns/patterns-list.js.map +1 -1
  269. package/build-module/components/page-patterns/rename-menu-item.js +3 -0
  270. package/build-module/components/page-patterns/rename-menu-item.js.map +1 -1
  271. package/build-module/components/page-patterns/use-patterns.js +23 -13
  272. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  273. package/build-module/components/page-templates/index.js +314 -38
  274. package/build-module/components/page-templates/index.js.map +1 -1
  275. package/build-module/components/{page-patterns/pagination.js → pagination/index.js} +24 -12
  276. package/build-module/components/pagination/index.js.map +1 -0
  277. package/build-module/components/{page-pages/side-editor.js → post-preview/index.js} +7 -3
  278. package/build-module/components/post-preview/index.js.map +1 -0
  279. package/build-module/components/preferences-modal/enable-feature.js +3 -2
  280. package/build-module/components/preferences-modal/enable-feature.js.map +1 -1
  281. package/build-module/components/preferences-modal/enable-panel-option.js +26 -0
  282. package/build-module/components/preferences-modal/enable-panel-option.js.map +1 -0
  283. package/build-module/components/preferences-modal/index.js +90 -26
  284. package/build-module/components/preferences-modal/index.js.map +1 -1
  285. package/build-module/components/revisions/index.js +4 -8
  286. package/build-module/components/revisions/index.js.map +1 -1
  287. package/build-module/components/routes/link.js +5 -2
  288. package/build-module/components/routes/link.js.map +1 -1
  289. package/build-module/components/routes/use-title.js +3 -4
  290. package/build-module/components/routes/use-title.js.map +1 -1
  291. package/build-module/components/save-button/index.js +8 -4
  292. package/build-module/components/save-button/index.js.map +1 -1
  293. package/build-module/components/sidebar/index.js +26 -20
  294. package/build-module/components/sidebar/index.js.map +1 -1
  295. package/build-module/components/sidebar-dataviews/add-new-view.js +1 -1
  296. package/build-module/components/sidebar-dataviews/add-new-view.js.map +1 -1
  297. package/build-module/components/sidebar-dataviews/dataview-item.js +2 -10
  298. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
  299. package/build-module/components/sidebar-dataviews/default-views.js +17 -5
  300. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  301. package/build-module/components/sidebar-dataviews/index.js +2 -2
  302. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  303. package/build-module/components/sidebar-edit-mode/default-sidebar.js +1 -5
  304. package/build-module/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
  305. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js +64 -12
  306. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  307. package/build-module/components/sidebar-edit-mode/page-panels/index.js +10 -4
  308. package/build-module/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
  309. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +2 -3
  310. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  311. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js +0 -4
  312. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  313. package/build-module/components/sidebar-edit-mode/template-panel/index.js +6 -15
  314. package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  315. package/build-module/components/sidebar-navigation-screen-details-footer/index.js +1 -1
  316. package/build-module/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
  317. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +5 -2
  318. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  319. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +3 -0
  320. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
  321. package/build-module/components/sidebar-navigation-screen-page/index.js +4 -1
  322. package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
  323. package/build-module/components/sidebar-navigation-screen-pages-dataviews/index.js +61 -0
  324. package/build-module/components/sidebar-navigation-screen-pages-dataviews/index.js.map +1 -0
  325. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +1 -1
  326. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  327. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js +5 -90
  328. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
  329. package/build-module/components/sidebar-navigation-screen-template/index.js +2 -1
  330. package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
  331. package/build-module/components/sidebar-navigation-screen-template/template-areas.js +109 -0
  332. package/build-module/components/sidebar-navigation-screen-template/template-areas.js.map +1 -0
  333. package/build-module/components/sidebar-navigation-screen-templates/index.js +64 -9
  334. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  335. package/build-module/components/site-hub/index.js +6 -3
  336. package/build-module/components/site-hub/index.js.map +1 -1
  337. package/build-module/components/style-book/index.js +40 -10
  338. package/build-module/components/style-book/index.js.map +1 -1
  339. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +1 -1
  340. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  341. package/build-module/components/template-actions/rename-menu-item.js +3 -0
  342. package/build-module/components/template-actions/rename-menu-item.js.map +1 -1
  343. package/build-module/components/welcome-guide/styles.js +1 -1
  344. package/build-module/components/welcome-guide/styles.js.map +1 -1
  345. package/build-module/hooks/commands/use-common-commands.js +9 -1
  346. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  347. package/build-module/hooks/commands/use-edit-mode-commands.js +11 -6
  348. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  349. package/build-module/hooks/navigation-menu-edit.js +1 -1
  350. package/build-module/hooks/navigation-menu-edit.js.map +1 -1
  351. package/build-module/hooks/template-part-edit.js +1 -1
  352. package/build-module/hooks/template-part-edit.js.map +1 -1
  353. package/build-module/index.js +12 -7
  354. package/build-module/index.js.map +1 -1
  355. package/build-module/store/actions.js +49 -47
  356. package/build-module/store/actions.js.map +1 -1
  357. package/build-module/store/private-actions.js +6 -2
  358. package/build-module/store/private-actions.js.map +1 -1
  359. package/build-module/store/reducer.js +0 -61
  360. package/build-module/store/reducer.js.map +1 -1
  361. package/build-module/store/selectors.js +40 -41
  362. package/build-module/store/selectors.js.map +1 -1
  363. package/build-module/utils/constants.js +8 -0
  364. package/build-module/utils/constants.js.map +1 -1
  365. package/build-module/utils/get-is-list-page.js +1 -1
  366. package/build-module/utils/get-is-list-page.js.map +1 -1
  367. package/build-style/style-rtl.css +607 -561
  368. package/build-style/style.css +607 -561
  369. package/package.json +42 -42
  370. package/src/components/add-new-template/add-custom-template-modal-content.js +1 -1
  371. package/src/components/add-new-template/style.scss +2 -1
  372. package/src/components/block-editor/back-button.js +4 -2
  373. package/src/components/block-editor/editor-canvas.js +63 -47
  374. package/src/components/block-editor/resizable-editor.js +1 -1
  375. package/src/components/block-editor/site-editor-canvas.js +32 -96
  376. package/src/components/block-editor/style.scss +7 -14
  377. package/src/components/block-editor/use-post-link-props.js +20 -0
  378. package/src/components/block-editor/use-site-editor-settings.js +38 -58
  379. package/src/components/code-editor/style.scss +0 -4
  380. package/src/components/create-template-part-modal/index.js +83 -82
  381. package/src/components/editor/index.js +34 -47
  382. package/src/components/editor-canvas-container/index.js +8 -6
  383. package/src/components/global-styles/font-library-modal/collection-font-variant.js +18 -7
  384. package/src/components/global-styles/font-library-modal/confirm-delete-dialog.js +3 -3
  385. package/src/components/global-styles/font-library-modal/context.js +8 -8
  386. package/src/components/global-styles/font-library-modal/font-collection.js +10 -5
  387. package/src/components/global-styles/font-library-modal/index.js +44 -24
  388. package/src/components/global-styles/font-library-modal/installed-fonts.js +3 -3
  389. package/src/components/global-styles/font-library-modal/library-font-variant.js +18 -7
  390. package/src/components/global-styles/font-library-modal/local-fonts.js +53 -26
  391. package/src/components/global-styles/font-library-modal/resolvers.js +5 -5
  392. package/src/components/global-styles/font-library-modal/style.scss +5 -2
  393. package/src/components/global-styles/font-library-modal/{tab-layout.js → tab-panel-layout.js} +9 -3
  394. package/src/components/global-styles/font-library-modal/utils/index.js +21 -23
  395. package/src/components/global-styles/font-library-modal/utils/test/makeFormDataFromFontFamily.spec.js +58 -0
  396. package/src/components/global-styles/preview.js +55 -3
  397. package/src/components/global-styles/screen-color-palette.js +16 -26
  398. package/src/components/global-styles/screen-revisions/index.js +93 -101
  399. package/src/components/global-styles/screen-revisions/revisions-buttons.js +85 -17
  400. package/src/components/global-styles/screen-revisions/style.scss +86 -21
  401. package/src/components/global-styles/screen-revisions/test/use-global-styles-revisions.js +67 -0
  402. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +73 -46
  403. package/src/components/global-styles/ui.js +13 -74
  404. package/src/components/header-edit-mode/document-tools/index.js +35 -167
  405. package/src/components/header-edit-mode/index.js +33 -78
  406. package/src/components/header-edit-mode/mode-switcher/index.js +0 -4
  407. package/src/components/header-edit-mode/more-menu/index.js +25 -27
  408. package/src/components/header-edit-mode/style.scss +46 -68
  409. package/src/components/keyboard-shortcuts/edit-mode.js +1 -26
  410. package/src/components/keyboard-shortcuts/register.js +0 -43
  411. package/src/components/layout/index.js +29 -47
  412. package/src/components/layout/style.scss +10 -3
  413. package/src/components/page/header.js +2 -1
  414. package/src/components/page/style.scss +3 -3
  415. package/src/components/page-main/index.js +8 -8
  416. package/src/components/page-pages/index.js +157 -62
  417. package/src/components/page-pages/style.scss +4 -1
  418. package/src/components/page-patterns/dataviews-pattern-actions.js +329 -0
  419. package/src/components/page-patterns/dataviews-patterns.js +380 -0
  420. package/src/components/page-patterns/duplicate-menu-item.js +1 -1
  421. package/src/components/page-patterns/grid-item.js +3 -2
  422. package/src/components/page-patterns/patterns-list.js +7 -3
  423. package/src/components/page-patterns/rename-menu-item.js +7 -1
  424. package/src/components/page-patterns/style.scss +89 -26
  425. package/src/components/page-patterns/use-patterns.js +24 -15
  426. package/src/components/page-templates/index.js +399 -64
  427. package/src/components/{page-patterns/pagination.js → pagination/index.js} +21 -10
  428. package/src/components/pagination/style.scss +5 -0
  429. package/src/components/post-preview/index.js +16 -0
  430. package/src/components/preferences-modal/enable-feature.js +9 -5
  431. package/src/components/preferences-modal/enable-panel-option.js +23 -0
  432. package/src/components/preferences-modal/index.js +151 -40
  433. package/src/components/revisions/index.js +8 -15
  434. package/src/components/routes/link.js +11 -3
  435. package/src/components/routes/use-title.js +3 -10
  436. package/src/components/save-button/index.js +17 -3
  437. package/src/components/sidebar/index.js +45 -35
  438. package/src/components/sidebar/style.scss +10 -12
  439. package/src/components/sidebar-dataviews/add-new-view.js +1 -1
  440. package/src/components/sidebar-dataviews/dataview-item.js +3 -7
  441. package/src/components/sidebar-dataviews/default-views.js +23 -6
  442. package/src/components/sidebar-dataviews/index.js +2 -2
  443. package/src/components/sidebar-edit-mode/default-sidebar.js +0 -12
  444. package/src/components/sidebar-edit-mode/global-styles-sidebar.js +85 -14
  445. package/src/components/sidebar-edit-mode/page-panels/index.js +53 -25
  446. package/src/components/sidebar-edit-mode/page-panels/page-summary.js +2 -2
  447. package/src/components/sidebar-edit-mode/page-panels/style.scss +1 -42
  448. package/src/components/sidebar-edit-mode/plugin-sidebar/index.js +0 -12
  449. package/src/components/sidebar-edit-mode/style.scss +0 -10
  450. package/src/components/sidebar-edit-mode/template-panel/index.js +44 -40
  451. package/src/components/sidebar-edit-mode/template-panel/style.scss +0 -4
  452. package/src/components/sidebar-navigation-screen-details-footer/index.js +1 -1
  453. package/src/components/sidebar-navigation-screen-global-styles/index.js +3 -2
  454. package/src/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +7 -1
  455. package/src/components/sidebar-navigation-screen-page/index.js +2 -1
  456. package/src/components/sidebar-navigation-screen-pages-dataviews/index.js +77 -0
  457. package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +1 -1
  458. package/src/components/sidebar-navigation-screen-template/home-template-details.js +1 -96
  459. package/src/components/sidebar-navigation-screen-template/index.js +8 -2
  460. package/src/components/sidebar-navigation-screen-template/template-areas.js +135 -0
  461. package/src/components/sidebar-navigation-screen-templates/index.js +85 -28
  462. package/src/components/sidebar-navigation-screen-templates/style.scss +9 -0
  463. package/src/components/site-hub/index.js +4 -5
  464. package/src/components/site-hub/style.scss +5 -2
  465. package/src/components/style-book/index.js +65 -21
  466. package/src/components/style-book/style.scss +3 -3
  467. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +4 -1
  468. package/src/components/template-actions/rename-menu-item.js +7 -1
  469. package/src/components/welcome-guide/styles.js +1 -1
  470. package/src/hooks/commands/use-common-commands.js +10 -5
  471. package/src/hooks/commands/use-edit-mode-commands.js +8 -12
  472. package/src/hooks/navigation-menu-edit.js +1 -1
  473. package/src/hooks/template-part-edit.js +1 -1
  474. package/src/index.js +11 -5
  475. package/src/store/actions.js +50 -50
  476. package/src/store/private-actions.js +7 -3
  477. package/src/store/reducer.js +0 -62
  478. package/src/store/selectors.js +47 -41
  479. package/src/store/test/actions.js +11 -39
  480. package/src/store/test/reducer.js +1 -82
  481. package/src/store/test/selectors.js +0 -24
  482. package/src/style.scss +3 -3
  483. package/src/utils/constants.js +8 -0
  484. package/src/utils/get-is-list-page.js +2 -3
  485. package/build/components/dataviews/add-filter.js +0 -91
  486. package/build/components/dataviews/add-filter.js.map +0 -1
  487. package/build/components/dataviews/constants.js +0 -14
  488. package/build/components/dataviews/constants.js.map +0 -1
  489. package/build/components/dataviews/dataviews.js +0 -99
  490. package/build/components/dataviews/dataviews.js.map +0 -1
  491. package/build/components/dataviews/filter-summary.js +0 -62
  492. package/build/components/dataviews/filter-summary.js.map +0 -1
  493. package/build/components/dataviews/filters.js +0 -63
  494. package/build/components/dataviews/filters.js.map +0 -1
  495. package/build/components/dataviews/index.js +0 -21
  496. package/build/components/dataviews/index.js.map +0 -1
  497. package/build/components/dataviews/item-actions.js +0 -184
  498. package/build/components/dataviews/item-actions.js.map +0 -1
  499. package/build/components/dataviews/pagination.js +0 -123
  500. package/build/components/dataviews/pagination.js.map +0 -1
  501. package/build/components/dataviews/reset-filters.js +0 -33
  502. package/build/components/dataviews/reset-filters.js.map +0 -1
  503. package/build/components/dataviews/search.js +0 -51
  504. package/build/components/dataviews/search.js.map +0 -1
  505. package/build/components/dataviews/view-actions.js +0 -244
  506. package/build/components/dataviews/view-actions.js.map +0 -1
  507. package/build/components/dataviews/view-grid.js +0 -82
  508. package/build/components/dataviews/view-grid.js.map +0 -1
  509. package/build/components/dataviews/view-list.js +0 -399
  510. package/build/components/dataviews/view-list.js.map +0 -1
  511. package/build/components/dataviews/view-side-by-side.js +0 -20
  512. package/build/components/dataviews/view-side-by-side.js.map +0 -1
  513. package/build/components/global-styles/font-library-modal/tab-layout.js.map +0 -1
  514. package/build/components/header-edit-mode/document-actions/index.js +0 -172
  515. package/build/components/header-edit-mode/document-actions/index.js.map +0 -1
  516. package/build/components/header-edit-mode/undo-redo/redo.js +0 -41
  517. package/build/components/header-edit-mode/undo-redo/redo.js.map +0 -1
  518. package/build/components/header-edit-mode/undo-redo/undo.js +0 -40
  519. package/build/components/header-edit-mode/undo-redo/undo.js.map +0 -1
  520. package/build/components/page-content-focus-notifications/back-to-page-notification.js +0 -61
  521. package/build/components/page-content-focus-notifications/back-to-page-notification.js.map +0 -1
  522. package/build/components/page-content-focus-notifications/edit-template-notification.js +0 -102
  523. package/build/components/page-content-focus-notifications/edit-template-notification.js.map +0 -1
  524. package/build/components/page-content-focus-notifications/index.js +0 -22
  525. package/build/components/page-content-focus-notifications/index.js.map +0 -1
  526. package/build/components/page-pages/side-editor.js.map +0 -1
  527. package/build/components/page-patterns/pagination.js.map +0 -1
  528. package/build/components/page-templates/dataviews-templates.js +0 -316
  529. package/build/components/page-templates/dataviews-templates.js.map +0 -1
  530. package/build/components/secondary-sidebar/inserter-sidebar.js +0 -60
  531. package/build/components/secondary-sidebar/inserter-sidebar.js.map +0 -1
  532. package/build/components/secondary-sidebar/list-view-sidebar.js +0 -109
  533. package/build/components/secondary-sidebar/list-view-sidebar.js.map +0 -1
  534. package/build/components/sidebar-edit-mode/page-panels/edit-template.js +0 -101
  535. package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +0 -1
  536. package/build/components/sidebar-edit-mode/page-panels/hooks.js +0 -79
  537. package/build/components/sidebar-edit-mode/page-panels/hooks.js.map +0 -1
  538. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +0 -48
  539. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +0 -1
  540. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js +0 -84
  541. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +0 -1
  542. package/build/components/sidebar-edit-mode/sidebar-fixed-bottom.js +0 -35
  543. package/build/components/sidebar-edit-mode/sidebar-fixed-bottom.js.map +0 -1
  544. package/build/components/sidebar-edit-mode/template-panel/last-revision.js +0 -73
  545. package/build/components/sidebar-edit-mode/template-panel/last-revision.js.map +0 -1
  546. package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js +0 -219
  547. package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +0 -1
  548. package/build/utils/use-debounced-input.js +0 -22
  549. package/build/utils/use-debounced-input.js.map +0 -1
  550. package/build-module/components/dataviews/add-filter.js +0 -84
  551. package/build-module/components/dataviews/add-filter.js.map +0 -1
  552. package/build-module/components/dataviews/constants.js +0 -6
  553. package/build-module/components/dataviews/constants.js.map +0 -1
  554. package/build-module/components/dataviews/dataviews.js +0 -90
  555. package/build-module/components/dataviews/dataviews.js.map +0 -1
  556. package/build-module/components/dataviews/filter-summary.js +0 -55
  557. package/build-module/components/dataviews/filter-summary.js.map +0 -1
  558. package/build-module/components/dataviews/filters.js +0 -55
  559. package/build-module/components/dataviews/filters.js.map +0 -1
  560. package/build-module/components/dataviews/index.js +0 -2
  561. package/build-module/components/dataviews/index.js.map +0 -1
  562. package/build-module/components/dataviews/item-actions.js +0 -177
  563. package/build-module/components/dataviews/item-actions.js.map +0 -1
  564. package/build-module/components/dataviews/pagination.js +0 -115
  565. package/build-module/components/dataviews/pagination.js.map +0 -1
  566. package/build-module/components/dataviews/reset-filters.js +0 -26
  567. package/build-module/components/dataviews/reset-filters.js.map +0 -1
  568. package/build-module/components/dataviews/search.js +0 -43
  569. package/build-module/components/dataviews/search.js.map +0 -1
  570. package/build-module/components/dataviews/view-actions.js +0 -237
  571. package/build-module/components/dataviews/view-actions.js.map +0 -1
  572. package/build-module/components/dataviews/view-grid.js +0 -74
  573. package/build-module/components/dataviews/view-grid.js.map +0 -1
  574. package/build-module/components/dataviews/view-list.js +0 -390
  575. package/build-module/components/dataviews/view-list.js.map +0 -1
  576. package/build-module/components/dataviews/view-side-by-side.js +0 -12
  577. package/build-module/components/dataviews/view-side-by-side.js.map +0 -1
  578. package/build-module/components/global-styles/font-library-modal/tab-layout.js.map +0 -1
  579. package/build-module/components/header-edit-mode/document-actions/index.js +0 -164
  580. package/build-module/components/header-edit-mode/document-actions/index.js.map +0 -1
  581. package/build-module/components/header-edit-mode/undo-redo/redo.js +0 -33
  582. package/build-module/components/header-edit-mode/undo-redo/redo.js.map +0 -1
  583. package/build-module/components/header-edit-mode/undo-redo/undo.js +0 -32
  584. package/build-module/components/header-edit-mode/undo-redo/undo.js.map +0 -1
  585. package/build-module/components/page-content-focus-notifications/back-to-page-notification.js +0 -54
  586. package/build-module/components/page-content-focus-notifications/back-to-page-notification.js.map +0 -1
  587. package/build-module/components/page-content-focus-notifications/edit-template-notification.js +0 -96
  588. package/build-module/components/page-content-focus-notifications/edit-template-notification.js.map +0 -1
  589. package/build-module/components/page-content-focus-notifications/index.js +0 -14
  590. package/build-module/components/page-content-focus-notifications/index.js.map +0 -1
  591. package/build-module/components/page-pages/side-editor.js.map +0 -1
  592. package/build-module/components/page-patterns/pagination.js.map +0 -1
  593. package/build-module/components/page-templates/dataviews-templates.js +0 -308
  594. package/build-module/components/page-templates/dataviews-templates.js.map +0 -1
  595. package/build-module/components/secondary-sidebar/inserter-sidebar.js +0 -53
  596. package/build-module/components/secondary-sidebar/inserter-sidebar.js.map +0 -1
  597. package/build-module/components/secondary-sidebar/list-view-sidebar.js +0 -102
  598. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +0 -1
  599. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +0 -93
  600. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +0 -1
  601. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js +0 -69
  602. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js.map +0 -1
  603. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +0 -41
  604. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +0 -1
  605. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js +0 -77
  606. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +0 -1
  607. package/build-module/components/sidebar-edit-mode/sidebar-fixed-bottom.js +0 -27
  608. package/build-module/components/sidebar-edit-mode/sidebar-fixed-bottom.js.map +0 -1
  609. package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js +0 -65
  610. package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js.map +0 -1
  611. package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js +0 -209
  612. package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +0 -1
  613. package/build-module/utils/use-debounced-input.js +0 -15
  614. package/build-module/utils/use-debounced-input.js.map +0 -1
  615. package/src/components/dataviews/README.md +0 -191
  616. package/src/components/dataviews/add-filter.js +0 -108
  617. package/src/components/dataviews/constants.js +0 -5
  618. package/src/components/dataviews/dataviews.js +0 -99
  619. package/src/components/dataviews/filter-summary.js +0 -79
  620. package/src/components/dataviews/filters.js +0 -65
  621. package/src/components/dataviews/index.js +0 -1
  622. package/src/components/dataviews/item-actions.js +0 -208
  623. package/src/components/dataviews/pagination.js +0 -144
  624. package/src/components/dataviews/reset-filters.js +0 -26
  625. package/src/components/dataviews/search.js +0 -42
  626. package/src/components/dataviews/style.scss +0 -131
  627. package/src/components/dataviews/view-actions.js +0 -319
  628. package/src/components/dataviews/view-grid.js +0 -90
  629. package/src/components/dataviews/view-list.js +0 -512
  630. package/src/components/dataviews/view-side-by-side.js +0 -9
  631. package/src/components/global-styles/font-library-modal/utils/test/makeFormDataFromFontFamilies.spec.js +0 -62
  632. package/src/components/global-styles/font-library-modal/utils/test/wpKebabCase.spec.js +0 -28
  633. package/src/components/header-edit-mode/document-actions/index.js +0 -204
  634. package/src/components/header-edit-mode/document-actions/style.scss +0 -145
  635. package/src/components/header-edit-mode/undo-redo/redo.js +0 -38
  636. package/src/components/header-edit-mode/undo-redo/undo.js +0 -34
  637. package/src/components/page-content-focus-notifications/back-to-page-notification.js +0 -58
  638. package/src/components/page-content-focus-notifications/edit-template-notification.js +0 -104
  639. package/src/components/page-content-focus-notifications/index.js +0 -14
  640. package/src/components/page-pages/side-editor.js +0 -14
  641. package/src/components/page-templates/dataviews-templates.js +0 -345
  642. package/src/components/secondary-sidebar/inserter-sidebar.js +0 -66
  643. package/src/components/secondary-sidebar/list-view-sidebar.js +0 -123
  644. package/src/components/secondary-sidebar/style.scss +0 -65
  645. package/src/components/sidebar-edit-mode/page-panels/edit-template.js +0 -108
  646. package/src/components/sidebar-edit-mode/page-panels/hooks.js +0 -99
  647. package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +0 -45
  648. package/src/components/sidebar-edit-mode/page-panels/swap-template-button.js +0 -83
  649. package/src/components/sidebar-edit-mode/sidebar-fixed-bottom.js +0 -26
  650. package/src/components/sidebar-edit-mode/template-panel/last-revision.js +0 -82
  651. package/src/components/sidebar-edit-mode/template-panel/pattern-categories.js +0 -279
  652. package/src/utils/use-debounced-input.js +0 -18
@@ -14,7 +14,7 @@ import {
14
14
  * Internal dependencies
15
15
  */
16
16
  import {
17
- fetchInstallFonts,
17
+ fetchInstallFont,
18
18
  fetchUninstallFonts,
19
19
  fetchFontCollections,
20
20
  fetchFontCollection,
@@ -26,7 +26,7 @@ import {
26
26
  mergeFontFamilies,
27
27
  loadFontFaceInBrowser,
28
28
  getDisplaySrcFromFontFace,
29
- makeFormDataFromFontFamilies,
29
+ makeFormDataFromFontFamily,
30
30
  } from './utils';
31
31
  import { toggleFont } from './utils/toggleFont';
32
32
  import getIntersectingFontFaces from './utils/get-intersecting-font-faces';
@@ -192,19 +192,19 @@ function FontLibraryProvider( { children } ) {
192
192
  return getActivatedFontsOutline( source )[ slug ] || [];
193
193
  };
194
194
 
195
- async function installFonts( fonts ) {
195
+ async function installFont( font ) {
196
196
  setIsInstalling( true );
197
197
  try {
198
198
  // Prepare formData to install.
199
- const formData = makeFormDataFromFontFamilies( fonts );
199
+ const formData = makeFormDataFromFontFamily( font );
200
200
  // Install the fonts (upload the font files to the server and create the post in the database).
201
- const response = await fetchInstallFonts( formData );
201
+ const response = await fetchInstallFont( formData );
202
202
  const fontsInstalled = response?.successes || [];
203
203
  // Get intersecting font faces between the fonts we tried to installed and the fonts that were installed
204
204
  // (to avoid activating a non installed font).
205
205
  const fontToBeActivated = getIntersectingFontFaces(
206
206
  fontsInstalled,
207
- fonts
207
+ [ font ]
208
208
  );
209
209
  // Activate the font families (add the font families to the global styles).
210
210
  activateCustomFontFamilies( fontToBeActivated );
@@ -229,7 +229,7 @@ function FontLibraryProvider( { children } ) {
229
229
  // Uninstall the font (remove the font files from the server and the post from the database).
230
230
  const response = await fetchUninstallFonts( [ font ] );
231
231
  // Deactivate the font family (remove the font family from the global styles).
232
- if ( ! response.errors ) {
232
+ if ( 0 === response.errors.length ) {
233
233
  deactivateFontFamily( font );
234
234
  // Save the global styles to the database.
235
235
  await saveSpecifiedEntityEdits(
@@ -358,7 +358,7 @@ function FontLibraryProvider( { children } ) {
358
358
  isFontActivated,
359
359
  getFontFacesActivated,
360
360
  loadFontFaceAsset,
361
- installFonts,
361
+ installFont,
362
362
  uninstallFont,
363
363
  toggleActivateFont,
364
364
  getAvailableFontsOutline,
@@ -21,7 +21,7 @@ import { search, closeSmall } from '@wordpress/icons';
21
21
  /**
22
22
  * Internal dependencies
23
23
  */
24
- import TabLayout from './tab-layout';
24
+ import TabPanelLayout from './tab-panel-layout';
25
25
  import { FontLibraryContext } from './context';
26
26
  import FontsGrid from './fonts-grid';
27
27
  import FontCard from './font-card';
@@ -54,7 +54,7 @@ function FontCollection( { id } ) {
54
54
  const [ renderConfirmDialog, setRenderConfirmDialog ] = useState(
55
55
  requiresPermission && ! getGoogleFontsPermissionFromStorage()
56
56
  );
57
- const { collections, getFontCollection, installFonts } =
57
+ const { collections, getFontCollection, installFont } =
58
58
  useContext( FontLibraryContext );
59
59
  const selectedCollection = collections.find(
60
60
  ( collection ) => collection.id === id
@@ -92,6 +92,11 @@ function FontCollection( { id } ) {
92
92
  setNotice( null );
93
93
  }, [ id ] );
94
94
 
95
+ useEffect( () => {
96
+ // If the selected fonts change, reset the selected fonts to install
97
+ setFontsToInstall( [] );
98
+ }, [ selectedFont ] );
99
+
95
100
  // Reset notice after 5 seconds
96
101
  useEffect( () => {
97
102
  if ( notice && notice?.duration !== 0 ) {
@@ -149,14 +154,14 @@ function FontCollection( { id } ) {
149
154
  };
150
155
 
151
156
  const handleInstall = async () => {
152
- const response = await installFonts( fontsToInstall );
157
+ const response = await installFont( fontsToInstall[ 0 ] );
153
158
  const installNotice = getNoticeFromInstallResponse( response );
154
159
  setNotice( installNotice );
155
160
  resetFontsToInstall();
156
161
  };
157
162
 
158
163
  return (
159
- <TabLayout
164
+ <TabPanelLayout
160
165
  title={
161
166
  ! selectedFont ? selectedCollection.name : selectedFont.name
162
167
  }
@@ -270,7 +275,7 @@ function FontCollection( { id } ) {
270
275
  ) ) }
271
276
  </FontsGrid>
272
277
  ) }
273
- </TabLayout>
278
+ </TabPanelLayout>
274
279
  );
275
280
  }
276
281
 
@@ -2,7 +2,10 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { __ } from '@wordpress/i18n';
5
- import { Modal, TabPanel } from '@wordpress/components';
5
+ import {
6
+ Modal,
7
+ privateApis as componentsPrivateApis,
8
+ } from '@wordpress/components';
6
9
  import { useContext } from '@wordpress/element';
7
10
 
8
11
  /**
@@ -12,33 +15,33 @@ import InstalledFonts from './installed-fonts';
12
15
  import FontCollection from './font-collection';
13
16
  import UploadFonts from './upload-fonts';
14
17
  import { FontLibraryContext } from './context';
18
+ import { unlock } from '../../../lock-unlock';
19
+
20
+ const { Tabs } = unlock( componentsPrivateApis );
15
21
 
16
22
  const DEFAULT_TABS = [
17
23
  {
18
- name: 'installed-fonts',
24
+ id: 'installed-fonts',
19
25
  title: __( 'Library' ),
20
- className: 'installed-fonts',
21
26
  },
22
27
  {
23
- name: 'upload-fonts',
28
+ id: 'upload-fonts',
24
29
  title: __( 'Upload' ),
25
- className: 'upload-fonts',
26
30
  },
27
31
  ];
28
32
 
29
33
  const tabsFromCollections = ( collections ) =>
30
34
  collections.map( ( { id, name } ) => ( {
31
- name: id,
35
+ id,
32
36
  title:
33
37
  collections.length === 1 && id === 'default-font-collection'
34
38
  ? __( 'Install Fonts' )
35
39
  : name,
36
- className: 'collection',
37
40
  } ) );
38
41
 
39
42
  function FontLibraryModal( {
40
43
  onRequestClose,
41
- initialTabName = 'installed-fonts',
44
+ initialTabId = 'installed-fonts',
42
45
  } ) {
43
46
  const { collections } = useContext( FontLibraryContext );
44
47
 
@@ -54,22 +57,39 @@ function FontLibraryModal( {
54
57
  isFullScreen
55
58
  className="font-library-modal"
56
59
  >
57
- <TabPanel
58
- className="font-library-modal__tab-panel"
59
- initialTabName={ initialTabName }
60
- tabs={ tabs }
61
- >
62
- { ( tab ) => {
63
- switch ( tab.name ) {
64
- case 'upload-fonts':
65
- return <UploadFonts />;
66
- case 'installed-fonts':
67
- return <InstalledFonts />;
68
- default:
69
- return <FontCollection id={ tab.name } />;
70
- }
71
- } }
72
- </TabPanel>
60
+ <div className="font-library-modal__tabs">
61
+ <Tabs initialTabId={ initialTabId }>
62
+ <Tabs.TabList>
63
+ { tabs.map( ( { id, title } ) => (
64
+ <Tabs.Tab key={ id } tabId={ id }>
65
+ { title }
66
+ </Tabs.Tab>
67
+ ) ) }
68
+ </Tabs.TabList>
69
+ { tabs.map( ( { id } ) => {
70
+ let contents;
71
+ switch ( id ) {
72
+ case 'upload-fonts':
73
+ contents = <UploadFonts />;
74
+ break;
75
+ case 'installed-fonts':
76
+ contents = <InstalledFonts />;
77
+ break;
78
+ default:
79
+ contents = <FontCollection id={ id } />;
80
+ }
81
+ return (
82
+ <Tabs.TabPanel
83
+ key={ id }
84
+ tabId={ id }
85
+ focusable={ false }
86
+ >
87
+ { contents }
88
+ </Tabs.TabPanel>
89
+ );
90
+ } ) }
91
+ </Tabs>
92
+ </div>
73
93
  </Modal>
74
94
  );
75
95
  }
@@ -16,7 +16,7 @@ import {
16
16
  /**
17
17
  * Internal dependencies
18
18
  */
19
- import TabLayout from './tab-layout';
19
+ import TabPanelLayout from './tab-panel-layout';
20
20
  import { FontLibraryContext } from './context';
21
21
  import FontsGrid from './fonts-grid';
22
22
  import LibraryFontDetails from './library-font-details';
@@ -92,7 +92,7 @@ function InstalledFonts() {
92
92
  }, [ notice ] );
93
93
 
94
94
  return (
95
- <TabLayout
95
+ <TabPanelLayout
96
96
  title={ libraryFontSelected?.name || '' }
97
97
  description={ tabDescription }
98
98
  handleBack={ !! libraryFontSelected && handleUnselectFont }
@@ -173,7 +173,7 @@ function InstalledFonts() {
173
173
  handleCancelUninstall={ handleCancelUninstall }
174
174
  />
175
175
  ) }
176
- </TabLayout>
176
+ </TabPanelLayout>
177
177
  );
178
178
  }
179
179
 
@@ -2,17 +2,19 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { useContext } from '@wordpress/element';
5
- import { CheckboxControl, Flex } from '@wordpress/components';
6
- /**
7
- * Internal dependencies
8
- */
9
- import { getFontFaceVariantName } from './utils';
5
+ import {
6
+ CheckboxControl,
7
+ Flex,
8
+ privateApis as componentsPrivateApis,
9
+ } from '@wordpress/components';
10
10
 
11
11
  /**
12
12
  * Internal dependencies
13
13
  */
14
+ import { getFontFaceVariantName } from './utils';
14
15
  import { FontLibraryContext } from './context';
15
16
  import FontFaceDemo from './font-demo';
17
+ import { unlock } from '../../../lock-unlock';
16
18
 
17
19
  function LibraryFontVariant( { face, font } ) {
18
20
  const { isFontActivated, toggleActivateFont } =
@@ -36,18 +38,27 @@ function LibraryFontVariant( { face, font } ) {
36
38
  };
37
39
 
38
40
  const displayName = font.name + ' ' + getFontFaceVariantName( face );
41
+ const { kebabCase } = unlock( componentsPrivateApis );
42
+ const checkboxId = kebabCase(
43
+ `${ font.slug }-${ getFontFaceVariantName( face ) }`
44
+ );
39
45
 
40
46
  return (
41
- <div className="font-library-modal__library-font-variant">
47
+ <label
48
+ className="font-library-modal__library-font-variant"
49
+ htmlFor={ checkboxId }
50
+ >
42
51
  <Flex justify="space-between" align="center" gap="1rem">
43
52
  <FontFaceDemo fontFace={ face } text={ displayName } />
44
53
  <CheckboxControl
45
54
  checked={ isIstalled }
46
55
  onChange={ handleToggleActivation }
47
56
  __nextHasNoMarginBottom={ true }
57
+ id={ checkboxId }
58
+ label={ false }
48
59
  />
49
60
  </Flex>
50
- </div>
61
+ </label>
51
62
  );
52
63
  }
53
64
 
@@ -11,6 +11,7 @@ import {
11
11
  FormFileUpload,
12
12
  Notice,
13
13
  FlexItem,
14
+ privateApis as componentsPrivateApis,
14
15
  } from '@wordpress/components';
15
16
  import { useContext, useState, useEffect } from '@wordpress/element';
16
17
 
@@ -23,10 +24,14 @@ import { Font } from '../../../../lib/lib-font.browser';
23
24
  import makeFamiliesFromFaces from './utils/make-families-from-faces';
24
25
  import { loadFontFaceInBrowser } from './utils';
25
26
  import { getNoticeFromInstallResponse } from './utils/get-notice-from-response';
27
+ import { unlock } from '../../../lock-unlock';
28
+
29
+ const { ProgressBar } = unlock( componentsPrivateApis );
26
30
 
27
31
  function LocalFonts() {
28
- const { installFonts } = useContext( FontLibraryContext );
32
+ const { installFont } = useContext( FontLibraryContext );
29
33
  const [ notice, setNotice ] = useState( null );
34
+ const [ isUploading, setIsUploading ] = useState( false );
30
35
  const supportedFormats =
31
36
  ALLOWED_FILE_EXTENSIONS.slice( 0, -1 )
32
37
  .map( ( extension ) => `.${ extension }` )
@@ -58,6 +63,7 @@ function LocalFonts() {
58
63
  */
59
64
  const handleFilesUpload = ( files ) => {
60
65
  setNotice( null );
66
+ setIsUploading( true );
61
67
  const uniqueFilenames = new Set();
62
68
  const selectedFiles = [ ...files ];
63
69
  const allowedFiles = selectedFiles.filter( ( file ) => {
@@ -147,9 +153,21 @@ function LocalFonts() {
147
153
  */
148
154
  const handleInstall = async ( fontFaces ) => {
149
155
  const fontFamilies = makeFamiliesFromFaces( fontFaces );
150
- const response = await installFonts( fontFamilies );
156
+
157
+ if ( fontFamilies.length > 1 ) {
158
+ setNotice( {
159
+ type: 'error',
160
+ message: __(
161
+ 'Variants from only one font family can be uploaded at a time.'
162
+ ),
163
+ } );
164
+ return;
165
+ }
166
+
167
+ const response = await installFont( fontFamilies[ 0 ] );
151
168
  const installNotice = getNoticeFromInstallResponse( response );
152
169
  setNotice( installNotice );
170
+ setIsUploading( false );
153
171
  };
154
172
 
155
173
  return (
@@ -157,31 +175,28 @@ function LocalFonts() {
157
175
  <Spacer margin={ 16 } />
158
176
  <DropZone onFilesDrop={ handleDropZone } />
159
177
  <VStack className="font-library-modal__local-fonts">
160
- <FormFileUpload
161
- accept={ ALLOWED_FILE_EXTENSIONS.map(
162
- ( ext ) => `.${ ext }`
163
- ).join( ',' ) }
164
- multiple={ true }
165
- onChange={ onFilesUpload }
166
- render={ ( { openFileDialog } ) => (
167
- <Button
168
- className="font-library-modal__upload-area"
169
- onClick={ openFileDialog }
170
- >
171
- <span>{ __( 'Upload font' ) }</span>
172
- </Button>
173
- ) }
174
- />
175
- { notice && (
178
+ { ! isUploading && (
179
+ <FormFileUpload
180
+ accept={ ALLOWED_FILE_EXTENSIONS.map(
181
+ ( ext ) => `.${ ext }`
182
+ ).join( ',' ) }
183
+ multiple={ true }
184
+ onChange={ onFilesUpload }
185
+ render={ ( { openFileDialog } ) => (
186
+ <Button
187
+ className="font-library-modal__upload-area"
188
+ onClick={ openFileDialog }
189
+ >
190
+ <span>{ __( 'Upload font' ) }</span>
191
+ </Button>
192
+ ) }
193
+ />
194
+ ) }
195
+ { isUploading && (
176
196
  <FlexItem>
177
- <Spacer margin={ 2 } />
178
- <Notice
179
- isDismissible={ false }
180
- status={ notice.type }
181
- className="font-library-modal__upload-area__notice"
182
- >
183
- { notice.message }
184
- </Notice>
197
+ <div className="font-library-modal__upload-area">
198
+ <ProgressBar />
199
+ </div>
185
200
  </FlexItem>
186
201
  ) }
187
202
  <Spacer margin={ 2 } />
@@ -194,6 +209,18 @@ function LocalFonts() {
194
209
  supportedFormats
195
210
  ) }
196
211
  </Text>
212
+ { ! isUploading && notice && (
213
+ <FlexItem>
214
+ <Spacer margin={ 2 } />
215
+ <Notice
216
+ isDismissible={ false }
217
+ status={ notice.type }
218
+ className="font-library-modal__upload-area__notice"
219
+ >
220
+ { notice.message }
221
+ </Notice>
222
+ </FlexItem>
223
+ ) }
197
224
  </VStack>
198
225
  </>
199
226
  );
@@ -7,9 +7,9 @@
7
7
  */
8
8
  import apiFetch from '@wordpress/api-fetch';
9
9
 
10
- export async function fetchInstallFonts( data ) {
10
+ export async function fetchInstallFont( data ) {
11
11
  const config = {
12
- path: '/wp/v2/fonts',
12
+ path: '/wp/v2/font-families',
13
13
  method: 'POST',
14
14
  body: data,
15
15
  };
@@ -21,7 +21,7 @@ export async function fetchUninstallFonts( fonts ) {
21
21
  font_families: fonts,
22
22
  };
23
23
  const config = {
24
- path: '/wp/v2/fonts',
24
+ path: '/wp/v2/font-families',
25
25
  method: 'DELETE',
26
26
  data,
27
27
  };
@@ -30,7 +30,7 @@ export async function fetchUninstallFonts( fonts ) {
30
30
 
31
31
  export async function fetchFontCollections() {
32
32
  const config = {
33
- path: '/wp/v2/fonts/collections',
33
+ path: '/wp/v2/font-collections',
34
34
  method: 'GET',
35
35
  };
36
36
  return apiFetch( config );
@@ -38,7 +38,7 @@ export async function fetchFontCollections() {
38
38
 
39
39
  export async function fetchFontCollection( id ) {
40
40
  const config = {
41
- path: `/wp/v2/fonts/collections/${ id }`,
41
+ path: `/wp/v2/font-collections/${ id }`,
42
42
  method: 'GET',
43
43
  };
44
44
  return apiFetch( config );
@@ -24,7 +24,7 @@
24
24
  }
25
25
  }
26
26
 
27
- .font-library-modal__tab-layout {
27
+ .font-library-modal__tabpanel-layout {
28
28
 
29
29
  main {
30
30
  padding-bottom: 4rem;
@@ -75,7 +75,7 @@
75
75
  padding-bottom: 1rem;
76
76
  }
77
77
 
78
- .font-library-modal__tab-panel {
78
+ .font-library-modal__tabs {
79
79
  [role="tablist"] {
80
80
  position: sticky;
81
81
  top: 0;
@@ -94,6 +94,9 @@
94
94
  justify-content: center;
95
95
  height: 250px;
96
96
  width: 100%;
97
+ }
98
+
99
+ button.font-library-modal__upload-area {
97
100
  background-color: #f0f0f0;
98
101
  }
99
102
 
@@ -11,9 +11,15 @@ import {
11
11
  } from '@wordpress/components';
12
12
  import { chevronLeft } from '@wordpress/icons';
13
13
 
14
- function TabLayout( { title, description, handleBack, children, footer } ) {
14
+ function TabPanelLayout( {
15
+ title,
16
+ description,
17
+ handleBack,
18
+ children,
19
+ footer,
20
+ } ) {
15
21
  return (
16
- <div className="font-library-modal__tab-layout">
22
+ <div className="font-library-modal__tabpanel-layout">
17
23
  <Spacer margin={ 4 } />
18
24
  <VStack spacing={ 4 } justify="space-between">
19
25
  <header>
@@ -47,4 +53,4 @@ function TabLayout( { title, description, handleBack, children, footer } ) {
47
53
  );
48
54
  }
49
55
 
50
- export default TabLayout;
56
+ export default TabPanelLayout;
@@ -1,12 +1,13 @@
1
1
  /**
2
- * External dependencies
2
+ * WordPress dependencies
3
3
  */
4
- import { paramCase as kebabCase } from 'change-case';
4
+ import { privateApis as componentsPrivateApis } from '@wordpress/components';
5
5
 
6
6
  /**
7
7
  * Internal dependencies
8
8
  */
9
9
  import { FONT_WEIGHTS, FONT_STYLES } from './constants';
10
+ import { unlock } from '../../../../lock-unlock';
10
11
 
11
12
  export function setUIValuesNeeded( font, extraValues = {} ) {
12
13
  if ( ! font.name && ( font.fontFamily || font.slug ) ) {
@@ -129,25 +130,21 @@ export function getDisplaySrcFromFontFace( input, urlPrefix ) {
129
130
  return src;
130
131
  }
131
132
 
132
- // This function replicates one behavior of _wp_to_kebab_case().
133
- // Additional context: https://github.com/WordPress/gutenberg/issues/53695
134
- export function wpKebabCase( str ) {
135
- // If a string contains a digit followed by a number, insert a dash between them.
136
- return kebabCase( str ).replace(
137
- /([a-zA-Z])(\d)|(\d)([a-zA-Z])/g,
138
- '$1$3-$2$4'
139
- );
140
- }
141
-
142
- export function makeFormDataFromFontFamilies( fontFamilies ) {
133
+ export function makeFormDataFromFontFamily( fontFamily ) {
143
134
  const formData = new FormData();
144
- const newFontFamilies = fontFamilies.map( ( family, familyIndex ) => {
145
- family.slug = wpKebabCase( family.slug );
146
- if ( family?.fontFace ) {
147
- family.fontFace = family.fontFace.map( ( face, faceIndex ) => {
135
+ const { kebabCase } = unlock( componentsPrivateApis );
136
+
137
+ const newFontFamily = {
138
+ ...fontFamily,
139
+ slug: kebabCase( fontFamily.slug ),
140
+ };
141
+
142
+ if ( newFontFamily?.fontFace ) {
143
+ const newFontFaces = newFontFamily.fontFace.map(
144
+ ( face, faceIndex ) => {
148
145
  if ( face.file ) {
149
146
  // Slugified file name because the it might contain spaces or characters treated differently on the server.
150
- const fileId = `file-${ familyIndex }-${ faceIndex }`;
147
+ const fileId = `file-${ faceIndex }`;
151
148
  // Add the files to the formData
152
149
  formData.append( fileId, face.file, face.file.name );
153
150
  // remove the file object from the face object the file is referenced by the uploadedFile key
@@ -159,10 +156,11 @@ export function makeFormDataFromFontFamilies( fontFamilies ) {
159
156
  return newFace;
160
157
  }
161
158
  return face;
162
- } );
163
- }
164
- return family;
165
- } );
166
- formData.append( 'font_families', JSON.stringify( newFontFamilies ) );
159
+ }
160
+ );
161
+ newFontFamily.fontFace = newFontFaces;
162
+ }
163
+
164
+ formData.append( 'font_family_settings', JSON.stringify( newFontFamily ) );
167
165
  return formData;
168
166
  }
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import { makeFormDataFromFontFamily } from '../index';
5
+
6
+ /* global File */
7
+
8
+ describe( 'makeFormDataFromFontFamily', () => {
9
+ it( 'should process fontFamilies and return FormData', () => {
10
+ const mockFontFamily = {
11
+ slug: 'bebas',
12
+ name: 'Bebas',
13
+ fontFamily: 'Bebas',
14
+ fontFace: [
15
+ {
16
+ file: new File( [ 'content' ], 'test-font1.woff2' ),
17
+ fontWeight: '500',
18
+ fontStyle: 'normal',
19
+ },
20
+ {
21
+ file: new File( [ 'content' ], 'test-font2.woff2' ),
22
+ fontWeight: '400',
23
+ fontStyle: 'normal',
24
+ },
25
+ ],
26
+ };
27
+
28
+ const formData = makeFormDataFromFontFamily( mockFontFamily );
29
+
30
+ expect( formData instanceof FormData ).toBeTruthy();
31
+
32
+ // Check if files are added correctly
33
+ expect( formData.get( 'file-0' ).name ).toBe( 'test-font1.woff2' );
34
+ expect( formData.get( 'file-1' ).name ).toBe( 'test-font2.woff2' );
35
+
36
+ // Check if 'fontFamilies' key in FormData is correct
37
+ const expectedFontFamily = {
38
+ fontFace: [
39
+ {
40
+ fontWeight: '500',
41
+ fontStyle: 'normal',
42
+ uploadedFile: 'file-0',
43
+ },
44
+ {
45
+ fontWeight: '400',
46
+ fontStyle: 'normal',
47
+ uploadedFile: 'file-1',
48
+ },
49
+ ],
50
+ slug: 'bebas',
51
+ name: 'Bebas',
52
+ fontFamily: 'Bebas',
53
+ };
54
+ expect( JSON.parse( formData.get( 'font_family_settings' ) ) ).toEqual(
55
+ expectedFontFamily
56
+ );
57
+ } );
58
+ } );