@wordpress/edit-site 5.19.2 → 5.20.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 (788) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-page/index.js +9 -8
  3. package/build/components/add-new-page/index.js.map +1 -1
  4. package/build/components/add-new-pattern/index.js +12 -15
  5. package/build/components/add-new-pattern/index.js.map +1 -1
  6. package/build/components/add-new-template/add-custom-generic-template-modal-content.js +8 -7
  7. package/build/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -1
  8. package/build/components/add-new-template/add-custom-template-modal-content.js +20 -19
  9. package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  10. package/build/components/add-new-template/index.js +2 -2
  11. package/build/components/add-new-template/index.js.map +1 -1
  12. package/build/components/add-new-template/new-template.js +17 -16
  13. package/build/components/add-new-template/new-template.js.map +1 -1
  14. package/build/components/add-new-template/template-actions-loading-screen.js +4 -4
  15. package/build/components/add-new-template/template-actions-loading-screen.js.map +1 -1
  16. package/build/components/app/index.js +2 -2
  17. package/build/components/app/index.js.map +1 -1
  18. package/build/components/block-editor/back-button.js +2 -2
  19. package/build/components/block-editor/back-button.js.map +1 -1
  20. package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js +10 -6
  21. package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +1 -1
  22. package/build/components/block-editor/block-editor-provider/index.js +3 -3
  23. package/build/components/block-editor/block-editor-provider/index.js.map +1 -1
  24. package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +3 -2
  25. package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +1 -1
  26. package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js +19 -11
  27. package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +1 -1
  28. package/build/components/block-editor/block-inspector-button.js +2 -2
  29. package/build/components/block-editor/block-inspector-button.js.map +1 -1
  30. package/build/components/block-editor/editor-canvas.js +4 -3
  31. package/build/components/block-editor/editor-canvas.js.map +1 -1
  32. package/build/components/block-editor/index.js +2 -2
  33. package/build/components/block-editor/index.js.map +1 -1
  34. package/build/components/block-editor/resizable-editor.js +4 -3
  35. package/build/components/block-editor/resizable-editor.js.map +1 -1
  36. package/build/components/block-editor/resize-handle.js +3 -3
  37. package/build/components/block-editor/resize-handle.js.map +1 -1
  38. package/build/components/block-editor/site-editor-canvas.js +8 -7
  39. package/build/components/block-editor/site-editor-canvas.js.map +1 -1
  40. package/build/components/canvas-loader/index.js +4 -4
  41. package/build/components/canvas-loader/index.js.map +1 -1
  42. package/build/components/code-editor/index.js +8 -7
  43. package/build/components/code-editor/index.js.map +1 -1
  44. package/build/components/create-template-part-modal/index.js +17 -16
  45. package/build/components/create-template-part-modal/index.js.map +1 -1
  46. package/build/components/dataviews/dataviews.js +61 -0
  47. package/build/components/dataviews/dataviews.js.map +1 -0
  48. package/build/components/dataviews/index.js +21 -0
  49. package/build/components/dataviews/index.js.map +1 -0
  50. package/build/components/dataviews/list-view.js +89 -0
  51. package/build/components/dataviews/list-view.js.map +1 -0
  52. package/build/components/dataviews/pagination.js +89 -0
  53. package/build/components/dataviews/pagination.js.map +1 -0
  54. package/build/components/dataviews/text-filter.js +44 -0
  55. package/build/components/dataviews/text-filter.js.map +1 -0
  56. package/build/components/dataviews/view-actions.js +189 -0
  57. package/build/components/dataviews/view-actions.js.map +1 -0
  58. package/build/components/editor/index.js +15 -14
  59. package/build/components/editor/index.js.map +1 -1
  60. package/build/components/editor-canvas-container/index.js +4 -3
  61. package/build/components/editor-canvas-container/index.js.map +1 -1
  62. package/build/components/error-boundary/index.js +2 -1
  63. package/build/components/error-boundary/index.js.map +1 -1
  64. package/build/components/error-boundary/warning.js +4 -4
  65. package/build/components/error-boundary/warning.js.map +1 -1
  66. package/build/components/global-styles/block-preview-panel.js +5 -4
  67. package/build/components/global-styles/block-preview-panel.js.map +1 -1
  68. package/build/components/global-styles/color-indicator-wrapper.js +2 -2
  69. package/build/components/global-styles/color-indicator-wrapper.js.map +1 -1
  70. package/build/components/global-styles/color-palette-panel.js +5 -5
  71. package/build/components/global-styles/color-palette-panel.js.map +1 -1
  72. package/build/components/global-styles/dimensions-panel.js +3 -2
  73. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  74. package/build/components/global-styles/font-families.js +14 -14
  75. package/build/components/global-styles/font-families.js.map +1 -1
  76. package/build/components/global-styles/font-family-item.js +6 -5
  77. package/build/components/global-styles/font-family-item.js.map +1 -1
  78. package/build/components/global-styles/font-library-modal/collection-font-details.js +9 -7
  79. package/build/components/global-styles/font-library-modal/collection-font-details.js.map +1 -1
  80. package/build/components/global-styles/font-library-modal/collection-font-variant.js +5 -5
  81. package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  82. package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js +2 -2
  83. package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +1 -1
  84. package/build/components/global-styles/font-library-modal/context.js +28 -31
  85. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  86. package/build/components/global-styles/font-library-modal/font-card.js +7 -7
  87. package/build/components/global-styles/font-library-modal/font-card.js.map +1 -1
  88. package/build/components/global-styles/font-library-modal/font-collection.js +44 -23
  89. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  90. package/build/components/global-styles/font-library-modal/font-demo.js +5 -4
  91. package/build/components/global-styles/font-library-modal/font-demo.js.map +1 -1
  92. package/build/components/global-styles/font-library-modal/font-variant.js +7 -7
  93. package/build/components/global-styles/font-library-modal/font-variant.js.map +1 -1
  94. package/build/components/global-styles/font-library-modal/fonts-grid.js +8 -7
  95. package/build/components/global-styles/font-library-modal/fonts-grid.js.map +1 -1
  96. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +9 -9
  97. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
  98. package/build/components/global-styles/font-library-modal/index.js +16 -8
  99. package/build/components/global-styles/font-library-modal/index.js.map +1 -1
  100. package/build/components/global-styles/font-library-modal/installed-fonts.js +39 -18
  101. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  102. package/build/components/global-styles/font-library-modal/library-font-card.js +3 -2
  103. package/build/components/global-styles/font-library-modal/library-font-card.js.map +1 -1
  104. package/build/components/global-styles/font-library-modal/library-font-details.js +6 -6
  105. package/build/components/global-styles/font-library-modal/library-font-details.js.map +1 -1
  106. package/build/components/global-styles/font-library-modal/library-font-variant.js +5 -4
  107. package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  108. package/build/components/global-styles/font-library-modal/local-fonts.js +39 -11
  109. package/build/components/global-styles/font-library-modal/local-fonts.js.map +1 -1
  110. package/build/components/global-styles/font-library-modal/resolvers.js +1 -1
  111. package/build/components/global-styles/font-library-modal/resolvers.js.map +1 -1
  112. package/build/components/global-styles/font-library-modal/tab-layout.js +9 -9
  113. package/build/components/global-styles/font-library-modal/tab-layout.js.map +1 -1
  114. package/build/components/global-styles/font-library-modal/upload-fonts.js +26 -0
  115. package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -0
  116. package/build/components/global-styles/font-library-modal/utils/fonts-outline.js +4 -1
  117. package/build/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -1
  118. package/build/components/global-styles/font-library-modal/utils/get-notice-from-response.js +71 -0
  119. package/build/components/global-styles/font-library-modal/utils/get-notice-from-response.js.map +1 -0
  120. package/build/components/global-styles/font-library-modal/utils/index.js +4 -1
  121. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  122. package/build/components/global-styles/global-styles-provider.js +3 -2
  123. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  124. package/build/components/global-styles/gradients-palette-panel.js +8 -8
  125. package/build/components/global-styles/gradients-palette-panel.js.map +1 -1
  126. package/build/components/global-styles/header.js +7 -7
  127. package/build/components/global-styles/header.js.map +1 -1
  128. package/build/components/global-styles/icon-with-current-color.js +2 -2
  129. package/build/components/global-styles/icon-with-current-color.js.map +1 -1
  130. package/build/components/global-styles/navigation-button.js +7 -7
  131. package/build/components/global-styles/navigation-button.js.map +1 -1
  132. package/build/components/global-styles/palette.js +11 -10
  133. package/build/components/global-styles/palette.js.map +1 -1
  134. package/build/components/global-styles/preview.js +17 -16
  135. package/build/components/global-styles/preview.js.map +1 -1
  136. package/build/components/global-styles/root-menu.js +4 -4
  137. package/build/components/global-styles/root-menu.js.map +1 -1
  138. package/build/components/global-styles/screen-block-list.js +10 -9
  139. package/build/components/global-styles/screen-block-list.js.map +1 -1
  140. package/build/components/global-styles/screen-block.js +17 -16
  141. package/build/components/global-styles/screen-block.js.map +1 -1
  142. package/build/components/global-styles/screen-color-palette.js +5 -5
  143. package/build/components/global-styles/screen-color-palette.js.map +1 -1
  144. package/build/components/global-styles/screen-colors.js +5 -5
  145. package/build/components/global-styles/screen-colors.js.map +1 -1
  146. package/build/components/global-styles/screen-css.js +5 -5
  147. package/build/components/global-styles/screen-css.js.map +1 -1
  148. package/build/components/global-styles/screen-layout.js +3 -3
  149. package/build/components/global-styles/screen-layout.js.map +1 -1
  150. package/build/components/global-styles/screen-revisions/index.js +10 -9
  151. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  152. package/build/components/global-styles/screen-revisions/revisions-buttons.js +10 -10
  153. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  154. package/build/components/global-styles/screen-root.js +14 -14
  155. package/build/components/global-styles/screen-root.js.map +1 -1
  156. package/build/components/global-styles/screen-style-variations.js +5 -4
  157. package/build/components/global-styles/screen-style-variations.js.map +1 -1
  158. package/build/components/global-styles/screen-typography-element.js +15 -14
  159. package/build/components/global-styles/screen-typography-element.js.map +1 -1
  160. package/build/components/global-styles/screen-typography.js +5 -5
  161. package/build/components/global-styles/screen-typography.js.map +1 -1
  162. package/build/components/global-styles/style-variations-container.js +8 -7
  163. package/build/components/global-styles/style-variations-container.js.map +1 -1
  164. package/build/components/global-styles/subtitle.js +2 -2
  165. package/build/components/global-styles/subtitle.js.map +1 -1
  166. package/build/components/global-styles/typography-panel.js +2 -2
  167. package/build/components/global-styles/typography-panel.js.map +1 -1
  168. package/build/components/global-styles/typography-preview.js +2 -2
  169. package/build/components/global-styles/typography-preview.js.map +1 -1
  170. package/build/components/global-styles/typogrphy-elements.js +13 -13
  171. package/build/components/global-styles/typogrphy-elements.js.map +1 -1
  172. package/build/components/global-styles/ui.js +41 -40
  173. package/build/components/global-styles/ui.js.map +1 -1
  174. package/build/components/global-styles/variations-panel.js +3 -3
  175. package/build/components/global-styles/variations-panel.js.map +1 -1
  176. package/build/components/header-edit-mode/document-actions/index.js +16 -15
  177. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  178. package/build/components/header-edit-mode/index.js +20 -19
  179. package/build/components/header-edit-mode/index.js.map +1 -1
  180. package/build/components/header-edit-mode/mode-switcher/index.js +3 -3
  181. package/build/components/header-edit-mode/mode-switcher/index.js.map +1 -1
  182. package/build/components/header-edit-mode/more-menu/copy-content-menu-item.js +2 -2
  183. package/build/components/header-edit-mode/more-menu/copy-content-menu-item.js.map +1 -1
  184. package/build/components/header-edit-mode/more-menu/index.js +14 -14
  185. package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
  186. package/build/components/header-edit-mode/more-menu/site-export.js +2 -2
  187. package/build/components/header-edit-mode/more-menu/site-export.js.map +1 -1
  188. package/build/components/header-edit-mode/more-menu/welcome-guide-menu-item.js +2 -2
  189. package/build/components/header-edit-mode/more-menu/welcome-guide-menu-item.js.map +1 -1
  190. package/build/components/header-edit-mode/plugin-more-menu-item/index.js +1 -1
  191. package/build/components/header-edit-mode/plugin-more-menu-item/index.js.map +1 -1
  192. package/build/components/header-edit-mode/plugin-sidebar-more-menu-item/index.js +3 -3
  193. package/build/components/header-edit-mode/plugin-sidebar-more-menu-item/index.js.map +1 -1
  194. package/build/components/header-edit-mode/tools-more-menu-group/index.js +2 -2
  195. package/build/components/header-edit-mode/tools-more-menu-group/index.js.map +1 -1
  196. package/build/components/header-edit-mode/undo-redo/redo.js +3 -2
  197. package/build/components/header-edit-mode/undo-redo/redo.js.map +1 -1
  198. package/build/components/header-edit-mode/undo-redo/undo.js +3 -2
  199. package/build/components/header-edit-mode/undo-redo/undo.js.map +1 -1
  200. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +2 -2
  201. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
  202. package/build/components/keyboard-shortcut-help-modal/index.js +15 -15
  203. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  204. package/build/components/keyboard-shortcut-help-modal/shortcut.js +8 -7
  205. package/build/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  206. package/build/components/layout/index.js +15 -14
  207. package/build/components/layout/index.js.map +1 -1
  208. package/build/components/list/added-by.js +9 -8
  209. package/build/components/list/added-by.js.map +1 -1
  210. package/build/components/list/header.js +5 -5
  211. package/build/components/list/header.js.map +1 -1
  212. package/build/components/list/index.js +5 -5
  213. package/build/components/list/index.js.map +1 -1
  214. package/build/components/list/table.js +15 -15
  215. package/build/components/list/table.js.map +1 -1
  216. package/build/components/page/header.js +6 -6
  217. package/build/components/page/header.js.map +1 -1
  218. package/build/components/page/index.js +5 -5
  219. package/build/components/page/index.js.map +1 -1
  220. package/build/components/page-actions/index.js +3 -3
  221. package/build/components/page-actions/index.js.map +1 -1
  222. package/build/components/page-actions/trash-page-menu-item.js +2 -2
  223. package/build/components/page-actions/trash-page-menu-item.js.map +1 -1
  224. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +3 -2
  225. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  226. package/build/components/page-content-focus-manager/edit-template-notification.js +3 -2
  227. package/build/components/page-content-focus-manager/edit-template-notification.js.map +1 -1
  228. package/build/components/page-content-focus-manager/index.js +35 -4
  229. package/build/components/page-content-focus-manager/index.js.map +1 -1
  230. package/build/components/page-main/index.js +7 -4
  231. package/build/components/page-main/index.js.map +1 -1
  232. package/build/components/page-pages/index.js +174 -0
  233. package/build/components/page-pages/index.js.map +1 -0
  234. package/build/components/page-patterns/duplicate-menu-item.js +2 -2
  235. package/build/components/page-patterns/duplicate-menu-item.js.map +1 -1
  236. package/build/components/page-patterns/grid-item.js +21 -20
  237. package/build/components/page-patterns/grid-item.js.map +1 -1
  238. package/build/components/page-patterns/grid.js +3 -4
  239. package/build/components/page-patterns/grid.js.map +1 -1
  240. package/build/components/page-patterns/header.js +4 -4
  241. package/build/components/page-patterns/header.js.map +1 -1
  242. package/build/components/page-patterns/index.js +4 -4
  243. package/build/components/page-patterns/index.js.map +1 -1
  244. package/build/components/page-patterns/no-patterns.js +2 -2
  245. package/build/components/page-patterns/no-patterns.js.map +1 -1
  246. package/build/components/page-patterns/pagination.js +10 -10
  247. package/build/components/page-patterns/pagination.js.map +1 -1
  248. package/build/components/page-patterns/patterns-list.js +16 -15
  249. package/build/components/page-patterns/patterns-list.js.map +1 -1
  250. package/build/components/page-patterns/rename-menu-item.js +10 -9
  251. package/build/components/page-patterns/rename-menu-item.js.map +1 -1
  252. package/build/components/page-patterns/use-patterns.js +5 -1
  253. package/build/components/page-patterns/use-patterns.js.map +1 -1
  254. package/build/components/page-template-parts/add-new-template-part.js +4 -3
  255. package/build/components/page-template-parts/add-new-template-part.js.map +1 -1
  256. package/build/components/page-template-parts/index.js +21 -10
  257. package/build/components/page-template-parts/index.js.map +1 -1
  258. package/build/components/page-templates/index.js +10 -10
  259. package/build/components/page-templates/index.js.map +1 -1
  260. package/build/components/plugin-template-setting-panel/index.js +1 -1
  261. package/build/components/plugin-template-setting-panel/index.js.map +1 -1
  262. package/build/components/preferences-modal/enable-feature.js +2 -2
  263. package/build/components/preferences-modal/enable-feature.js.map +1 -1
  264. package/build/components/preferences-modal/index.js +12 -11
  265. package/build/components/preferences-modal/index.js.map +1 -1
  266. package/build/components/resizable-frame/index.js +7 -6
  267. package/build/components/resizable-frame/index.js.map +1 -1
  268. package/build/components/revisions/index.js +9 -8
  269. package/build/components/revisions/index.js.map +1 -1
  270. package/build/components/routes/link.js +2 -2
  271. package/build/components/routes/link.js.map +1 -1
  272. package/build/components/save-button/index.js +2 -2
  273. package/build/components/save-button/index.js.map +1 -1
  274. package/build/components/save-hub/index.js +4 -4
  275. package/build/components/save-hub/index.js.map +1 -1
  276. package/build/components/save-panel/index.js +11 -11
  277. package/build/components/save-panel/index.js.map +1 -1
  278. package/build/components/secondary-sidebar/inserter-sidebar.js +7 -6
  279. package/build/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
  280. package/build/components/secondary-sidebar/list-view-sidebar.js +7 -6
  281. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  282. package/build/components/sidebar/index.js +23 -14
  283. package/build/components/sidebar/index.js.map +1 -1
  284. package/build/components/sidebar-button/index.js +2 -2
  285. package/build/components/sidebar-button/index.js.map +1 -1
  286. package/build/components/sidebar-edit-mode/default-sidebar.js +3 -3
  287. package/build/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
  288. package/build/components/sidebar-edit-mode/global-styles-sidebar.js +8 -7
  289. package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  290. package/build/components/sidebar-edit-mode/index.js +6 -5
  291. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  292. package/build/components/sidebar-edit-mode/page-panels/edit-template.js +20 -10
  293. package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  294. package/build/components/sidebar-edit-mode/page-panels/index.js +7 -7
  295. package/build/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
  296. package/build/components/sidebar-edit-mode/page-panels/page-content.js +3 -2
  297. package/build/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -1
  298. package/build/components/sidebar-edit-mode/page-panels/page-status.js +21 -20
  299. package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  300. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +4 -4
  301. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  302. package/build/components/sidebar-edit-mode/page-panels/publish-date.js +7 -6
  303. package/build/components/sidebar-edit-mode/page-panels/publish-date.js.map +1 -1
  304. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +3 -3
  305. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
  306. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js +7 -6
  307. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -1
  308. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js +2 -2
  309. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  310. package/build/components/sidebar-edit-mode/settings-header/index.js +3 -3
  311. package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  312. package/build/components/sidebar-edit-mode/sidebar-card/index.js +7 -7
  313. package/build/components/sidebar-edit-mode/sidebar-card/index.js.map +1 -1
  314. package/build/components/sidebar-edit-mode/sidebar-fixed-bottom.js +2 -2
  315. package/build/components/sidebar-edit-mode/sidebar-fixed-bottom.js.map +1 -1
  316. package/build/components/sidebar-edit-mode/template-panel/hooks.js +71 -0
  317. package/build/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -0
  318. package/build/components/sidebar-edit-mode/template-panel/index.js +5 -5
  319. package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  320. package/build/components/sidebar-edit-mode/template-panel/last-revision.js +5 -5
  321. package/build/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -1
  322. package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js +5 -4
  323. package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -1
  324. package/build/components/sidebar-edit-mode/template-panel/replace-template-button.js +83 -0
  325. package/build/components/sidebar-edit-mode/template-panel/replace-template-button.js.map +1 -0
  326. package/build/components/sidebar-edit-mode/template-panel/template-actions.js +12 -5
  327. package/build/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -1
  328. package/build/components/sidebar-edit-mode/template-panel/template-areas.js +8 -8
  329. package/build/components/sidebar-edit-mode/template-panel/template-areas.js.map +1 -1
  330. package/build/components/sidebar-navigation-item/index.js +5 -5
  331. package/build/components/sidebar-navigation-item/index.js.map +1 -1
  332. package/build/components/sidebar-navigation-screen/index.js +11 -11
  333. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  334. package/build/components/sidebar-navigation-screen-details-footer/index.js +8 -7
  335. package/build/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
  336. package/build/components/sidebar-navigation-screen-details-panel/index.js +3 -3
  337. package/build/components/sidebar-navigation-screen-details-panel/index.js.map +1 -1
  338. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js +2 -2
  339. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js.map +1 -1
  340. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +2 -2
  341. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -1
  342. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js +2 -2
  343. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js.map +1 -1
  344. package/build/components/sidebar-navigation-screen-global-styles/index.js +12 -11
  345. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  346. package/build/components/sidebar-navigation-screen-main/index.js +9 -8
  347. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  348. package/build/components/sidebar-navigation-screen-main/template-part-hint.js +2 -2
  349. package/build/components/sidebar-navigation-screen-main/template-part-hint.js.map +1 -1
  350. package/build/components/sidebar-navigation-screen-navigation-item/index.js +4 -4
  351. package/build/components/sidebar-navigation-screen-navigation-item/index.js.map +1 -1
  352. package/build/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +2 -2
  353. package/build/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +1 -1
  354. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js +2 -2
  355. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -1
  356. package/build/components/sidebar-navigation-screen-navigation-menu/index.js +7 -7
  357. package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  358. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js +8 -7
  359. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  360. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +4 -3
  361. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +1 -1
  362. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +9 -8
  363. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
  364. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +5 -5
  365. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  366. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +8 -8
  367. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  368. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +7 -6
  369. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  370. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +5 -4
  371. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  372. package/build/components/sidebar-navigation-screen-page/index.js +11 -11
  373. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
  374. package/build/components/sidebar-navigation-screen-page/page-details.js +6 -6
  375. package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  376. package/build/components/sidebar-navigation-screen-page/status-label.js +5 -4
  377. package/build/components/sidebar-navigation-screen-page/status-label.js.map +1 -1
  378. package/build/components/sidebar-navigation-screen-pages/index.js +26 -17
  379. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  380. package/build/components/sidebar-navigation-screen-pattern/index.js +4 -4
  381. package/build/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  382. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +5 -3
  383. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
  384. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js +3 -3
  385. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js.map +1 -1
  386. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +6 -4
  387. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  388. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +4 -4
  389. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -1
  390. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +10 -3
  391. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
  392. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +7 -7
  393. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  394. package/build/components/sidebar-navigation-screen-patterns/category-item.js +3 -3
  395. package/build/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -1
  396. package/build/components/sidebar-navigation-screen-patterns/index.js +27 -15
  397. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  398. package/build/components/sidebar-navigation-screen-template/home-template-details.js +26 -30
  399. package/build/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
  400. package/build/components/sidebar-navigation-screen-template/index.js +12 -12
  401. package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
  402. package/build/components/sidebar-navigation-screen-templates/index.js +6 -6
  403. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  404. package/build/components/sidebar-navigation-screen-templates-browse/index.js +17 -5
  405. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  406. package/build/components/site-hub/index.js +12 -11
  407. package/build/components/site-hub/index.js.map +1 -1
  408. package/build/components/site-icon/index.js +5 -5
  409. package/build/components/site-icon/index.js.map +1 -1
  410. package/build/components/start-template-options/index.js +10 -9
  411. package/build/components/start-template-options/index.js.map +1 -1
  412. package/build/components/style-book/index.js +19 -18
  413. package/build/components/style-book/index.js.map +1 -1
  414. package/build/components/table/index.js +6 -6
  415. package/build/components/table/index.js.map +1 -1
  416. package/build/components/template-actions/index.js +8 -7
  417. package/build/components/template-actions/index.js.map +1 -1
  418. package/build/components/template-actions/rename-menu-item.js +10 -9
  419. package/build/components/template-actions/rename-menu-item.js.map +1 -1
  420. package/build/components/template-part-converter/convert-to-regular.js +2 -2
  421. package/build/components/template-part-converter/convert-to-regular.js.map +1 -1
  422. package/build/components/template-part-converter/convert-to-template-part.js +4 -3
  423. package/build/components/template-part-converter/convert-to-template-part.js.map +1 -1
  424. package/build/components/template-part-converter/index.js +5 -5
  425. package/build/components/template-part-converter/index.js.map +1 -1
  426. package/build/components/welcome-guide/editor.js +8 -7
  427. package/build/components/welcome-guide/editor.js.map +1 -1
  428. package/build/components/welcome-guide/image.js +4 -4
  429. package/build/components/welcome-guide/image.js.map +1 -1
  430. package/build/components/welcome-guide/index.js +2 -2
  431. package/build/components/welcome-guide/index.js.map +1 -1
  432. package/build/components/welcome-guide/page.js +6 -6
  433. package/build/components/welcome-guide/page.js.map +1 -1
  434. package/build/components/welcome-guide/styles.js +15 -15
  435. package/build/components/welcome-guide/styles.js.map +1 -1
  436. package/build/components/welcome-guide/template.js +6 -6
  437. package/build/components/welcome-guide/template.js.map +1 -1
  438. package/build/hooks/commands/use-common-commands.js +2 -2
  439. package/build/hooks/commands/use-common-commands.js.map +1 -1
  440. package/build/hooks/navigation-menu-edit.js +5 -5
  441. package/build/hooks/navigation-menu-edit.js.map +1 -1
  442. package/build/hooks/push-changes-to-global-styles/index.js +6 -5
  443. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  444. package/build/hooks/template-part-edit.js +5 -5
  445. package/build/hooks/template-part-edit.js.map +1 -1
  446. package/build/index.js +3 -2
  447. package/build/index.js.map +1 -1
  448. package/build/utils/constants.js +1 -1
  449. package/build/utils/constants.js.map +1 -1
  450. package/build/utils/get-is-list-page.js +1 -1
  451. package/build/utils/get-is-list-page.js.map +1 -1
  452. package/build-module/components/add-new-page/index.js +1 -1
  453. package/build-module/components/add-new-pattern/index.js +8 -12
  454. package/build-module/components/add-new-pattern/index.js.map +1 -1
  455. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js +1 -1
  456. package/build-module/components/add-new-template/add-custom-template-modal-content.js +1 -1
  457. package/build-module/components/add-new-template/index.js +1 -1
  458. package/build-module/components/add-new-template/new-template.js +1 -1
  459. package/build-module/components/add-new-template/template-actions-loading-screen.js +1 -1
  460. package/build-module/components/app/index.js +1 -1
  461. package/build-module/components/block-editor/back-button.js +1 -1
  462. package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js +9 -5
  463. package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +1 -1
  464. package/build-module/components/block-editor/block-editor-provider/index.js +1 -1
  465. package/build-module/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +1 -1
  466. package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js +19 -11
  467. package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +1 -1
  468. package/build-module/components/block-editor/block-inspector-button.js +1 -1
  469. package/build-module/components/block-editor/editor-canvas.js +1 -1
  470. package/build-module/components/block-editor/index.js +1 -1
  471. package/build-module/components/block-editor/resizable-editor.js +1 -1
  472. package/build-module/components/block-editor/resize-handle.js +1 -1
  473. package/build-module/components/block-editor/site-editor-canvas.js +1 -1
  474. package/build-module/components/canvas-loader/index.js +1 -1
  475. package/build-module/components/code-editor/index.js +1 -1
  476. package/build-module/components/create-template-part-modal/index.js +1 -1
  477. package/build-module/components/dataviews/dataviews.js +53 -0
  478. package/build-module/components/dataviews/dataviews.js.map +1 -0
  479. package/build-module/components/dataviews/index.js +3 -0
  480. package/build-module/components/dataviews/index.js.map +1 -0
  481. package/build-module/components/dataviews/list-view.js +80 -0
  482. package/build-module/components/dataviews/list-view.js.map +1 -0
  483. package/build-module/components/dataviews/pagination.js +83 -0
  484. package/build-module/components/dataviews/pagination.js.map +1 -0
  485. package/build-module/components/dataviews/text-filter.js +36 -0
  486. package/build-module/components/dataviews/text-filter.js.map +1 -0
  487. package/build-module/components/dataviews/view-actions.js +179 -0
  488. package/build-module/components/dataviews/view-actions.js.map +1 -0
  489. package/build-module/components/editor/index.js +1 -1
  490. package/build-module/components/editor-canvas-container/index.js +1 -1
  491. package/build-module/components/error-boundary/index.js +1 -1
  492. package/build-module/components/error-boundary/warning.js +1 -1
  493. package/build-module/components/global-styles/block-preview-panel.js +1 -1
  494. package/build-module/components/global-styles/color-indicator-wrapper.js +1 -1
  495. package/build-module/components/global-styles/color-palette-panel.js +1 -1
  496. package/build-module/components/global-styles/dimensions-panel.js +1 -1
  497. package/build-module/components/global-styles/font-families.js +3 -4
  498. package/build-module/components/global-styles/font-families.js.map +1 -1
  499. package/build-module/components/global-styles/font-family-item.js +1 -1
  500. package/build-module/components/global-styles/font-library-modal/collection-font-details.js +4 -2
  501. package/build-module/components/global-styles/font-library-modal/collection-font-details.js.map +1 -1
  502. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js +1 -1
  503. package/build-module/components/global-styles/font-library-modal/confirm-delete-dialog.js +1 -1
  504. package/build-module/components/global-styles/font-library-modal/context.js +27 -31
  505. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  506. package/build-module/components/global-styles/font-library-modal/font-card.js +1 -1
  507. package/build-module/components/global-styles/font-library-modal/font-collection.js +33 -13
  508. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  509. package/build-module/components/global-styles/font-library-modal/font-demo.js +1 -1
  510. package/build-module/components/global-styles/font-library-modal/font-variant.js +1 -1
  511. package/build-module/components/global-styles/font-library-modal/fonts-grid.js +1 -1
  512. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +1 -1
  513. package/build-module/components/global-styles/font-library-modal/index.js +11 -4
  514. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
  515. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +29 -9
  516. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  517. package/build-module/components/global-styles/font-library-modal/library-font-card.js +1 -1
  518. package/build-module/components/global-styles/font-library-modal/library-font-details.js +1 -1
  519. package/build-module/components/global-styles/font-library-modal/library-font-variant.js +1 -1
  520. package/build-module/components/global-styles/font-library-modal/local-fonts.js +39 -12
  521. package/build-module/components/global-styles/font-library-modal/local-fonts.js.map +1 -1
  522. package/build-module/components/global-styles/font-library-modal/resolvers.js +1 -1
  523. package/build-module/components/global-styles/font-library-modal/resolvers.js.map +1 -1
  524. package/build-module/components/global-styles/font-library-modal/tab-layout.js +1 -1
  525. package/build-module/components/global-styles/font-library-modal/upload-fonts.js +17 -0
  526. package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -0
  527. package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js +4 -1
  528. package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -1
  529. package/build-module/components/global-styles/font-library-modal/utils/get-notice-from-response.js +63 -0
  530. package/build-module/components/global-styles/font-library-modal/utils/get-notice-from-response.js.map +1 -0
  531. package/build-module/components/global-styles/font-library-modal/utils/index.js +4 -1
  532. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  533. package/build-module/components/global-styles/global-styles-provider.js +1 -1
  534. package/build-module/components/global-styles/gradients-palette-panel.js +1 -1
  535. package/build-module/components/global-styles/header.js +1 -1
  536. package/build-module/components/global-styles/icon-with-current-color.js +1 -1
  537. package/build-module/components/global-styles/navigation-button.js +1 -1
  538. package/build-module/components/global-styles/palette.js +1 -1
  539. package/build-module/components/global-styles/preview.js +1 -1
  540. package/build-module/components/global-styles/root-menu.js +1 -1
  541. package/build-module/components/global-styles/screen-block-list.js +1 -1
  542. package/build-module/components/global-styles/screen-block.js +1 -1
  543. package/build-module/components/global-styles/screen-color-palette.js +1 -1
  544. package/build-module/components/global-styles/screen-colors.js +1 -1
  545. package/build-module/components/global-styles/screen-css.js +1 -1
  546. package/build-module/components/global-styles/screen-layout.js +1 -1
  547. package/build-module/components/global-styles/screen-revisions/index.js +1 -1
  548. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +1 -1
  549. package/build-module/components/global-styles/screen-root.js +1 -1
  550. package/build-module/components/global-styles/screen-style-variations.js +1 -1
  551. package/build-module/components/global-styles/screen-typography-element.js +1 -1
  552. package/build-module/components/global-styles/screen-typography.js +2 -2
  553. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  554. package/build-module/components/global-styles/style-variations-container.js +1 -1
  555. package/build-module/components/global-styles/subtitle.js +1 -1
  556. package/build-module/components/global-styles/typography-panel.js +1 -1
  557. package/build-module/components/global-styles/typography-preview.js +1 -1
  558. package/build-module/components/global-styles/typogrphy-elements.js +1 -1
  559. package/build-module/components/global-styles/ui.js +1 -1
  560. package/build-module/components/global-styles/variations-panel.js +1 -1
  561. package/build-module/components/header-edit-mode/document-actions/index.js +1 -1
  562. package/build-module/components/header-edit-mode/index.js +1 -1
  563. package/build-module/components/header-edit-mode/mode-switcher/index.js +1 -1
  564. package/build-module/components/header-edit-mode/more-menu/copy-content-menu-item.js +1 -1
  565. package/build-module/components/header-edit-mode/more-menu/index.js +1 -1
  566. package/build-module/components/header-edit-mode/more-menu/site-export.js +1 -1
  567. package/build-module/components/header-edit-mode/more-menu/welcome-guide-menu-item.js +1 -1
  568. package/build-module/components/header-edit-mode/plugin-more-menu-item/index.js +1 -1
  569. package/build-module/components/header-edit-mode/plugin-more-menu-item/index.js.map +1 -1
  570. package/build-module/components/header-edit-mode/plugin-sidebar-more-menu-item/index.js +2 -2
  571. package/build-module/components/header-edit-mode/plugin-sidebar-more-menu-item/index.js.map +1 -1
  572. package/build-module/components/header-edit-mode/tools-more-menu-group/index.js +1 -1
  573. package/build-module/components/header-edit-mode/undo-redo/redo.js +1 -1
  574. package/build-module/components/header-edit-mode/undo-redo/undo.js +1 -1
  575. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +1 -1
  576. package/build-module/components/keyboard-shortcut-help-modal/index.js +1 -1
  577. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +1 -1
  578. package/build-module/components/layout/index.js +1 -1
  579. package/build-module/components/list/added-by.js +1 -1
  580. package/build-module/components/list/header.js +1 -1
  581. package/build-module/components/list/index.js +1 -1
  582. package/build-module/components/list/table.js +1 -1
  583. package/build-module/components/page/header.js +1 -1
  584. package/build-module/components/page/index.js +1 -1
  585. package/build-module/components/page-actions/index.js +1 -1
  586. package/build-module/components/page-actions/trash-page-menu-item.js +1 -1
  587. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +1 -1
  588. package/build-module/components/page-content-focus-manager/edit-template-notification.js +1 -1
  589. package/build-module/components/page-content-focus-manager/index.js +34 -4
  590. package/build-module/components/page-content-focus-manager/index.js.map +1 -1
  591. package/build-module/components/page-main/index.js +4 -1
  592. package/build-module/components/page-main/index.js.map +1 -1
  593. package/build-module/components/page-pages/index.js +166 -0
  594. package/build-module/components/page-pages/index.js.map +1 -0
  595. package/build-module/components/page-patterns/duplicate-menu-item.js +1 -1
  596. package/build-module/components/page-patterns/grid-item.js +1 -1
  597. package/build-module/components/page-patterns/grid.js +1 -2
  598. package/build-module/components/page-patterns/grid.js.map +1 -1
  599. package/build-module/components/page-patterns/header.js +1 -1
  600. package/build-module/components/page-patterns/index.js +1 -1
  601. package/build-module/components/page-patterns/no-patterns.js +1 -1
  602. package/build-module/components/page-patterns/pagination.js +1 -1
  603. package/build-module/components/page-patterns/patterns-list.js +2 -2
  604. package/build-module/components/page-patterns/patterns-list.js.map +1 -1
  605. package/build-module/components/page-patterns/rename-menu-item.js +1 -1
  606. package/build-module/components/page-patterns/use-patterns.js +5 -1
  607. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  608. package/build-module/components/page-template-parts/add-new-template-part.js +1 -1
  609. package/build-module/components/page-template-parts/index.js +13 -2
  610. package/build-module/components/page-template-parts/index.js.map +1 -1
  611. package/build-module/components/page-templates/index.js +1 -1
  612. package/build-module/components/plugin-template-setting-panel/index.js +1 -1
  613. package/build-module/components/plugin-template-setting-panel/index.js.map +1 -1
  614. package/build-module/components/preferences-modal/enable-feature.js +1 -1
  615. package/build-module/components/preferences-modal/index.js +1 -1
  616. package/build-module/components/resizable-frame/index.js +1 -1
  617. package/build-module/components/revisions/index.js +1 -1
  618. package/build-module/components/routes/link.js +1 -1
  619. package/build-module/components/save-button/index.js +1 -1
  620. package/build-module/components/save-hub/index.js +1 -1
  621. package/build-module/components/save-panel/index.js +1 -1
  622. package/build-module/components/secondary-sidebar/inserter-sidebar.js +1 -1
  623. package/build-module/components/secondary-sidebar/list-view-sidebar.js +1 -1
  624. package/build-module/components/sidebar/index.js +10 -2
  625. package/build-module/components/sidebar/index.js.map +1 -1
  626. package/build-module/components/sidebar-button/index.js +1 -1
  627. package/build-module/components/sidebar-edit-mode/default-sidebar.js +1 -1
  628. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js +1 -1
  629. package/build-module/components/sidebar-edit-mode/index.js +1 -1
  630. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +15 -5
  631. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  632. package/build-module/components/sidebar-edit-mode/page-panels/index.js +1 -1
  633. package/build-module/components/sidebar-edit-mode/page-panels/page-content.js +1 -1
  634. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js +1 -1
  635. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +1 -1
  636. package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js +1 -1
  637. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +2 -2
  638. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
  639. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js +1 -1
  640. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js +1 -1
  641. package/build-module/components/sidebar-edit-mode/settings-header/index.js +1 -1
  642. package/build-module/components/sidebar-edit-mode/sidebar-card/index.js +1 -1
  643. package/build-module/components/sidebar-edit-mode/sidebar-fixed-bottom.js +1 -1
  644. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js +64 -0
  645. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -0
  646. package/build-module/components/sidebar-edit-mode/template-panel/index.js +1 -1
  647. package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js +1 -1
  648. package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js +4 -4
  649. package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -1
  650. package/build-module/components/sidebar-edit-mode/template-panel/replace-template-button.js +76 -0
  651. package/build-module/components/sidebar-edit-mode/template-panel/replace-template-button.js.map +1 -0
  652. package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js +11 -4
  653. package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -1
  654. package/build-module/components/sidebar-edit-mode/template-panel/template-areas.js +2 -2
  655. package/build-module/components/sidebar-edit-mode/template-panel/template-areas.js.map +1 -1
  656. package/build-module/components/sidebar-navigation-item/index.js +1 -1
  657. package/build-module/components/sidebar-navigation-screen/index.js +1 -1
  658. package/build-module/components/sidebar-navigation-screen-details-footer/index.js +1 -1
  659. package/build-module/components/sidebar-navigation-screen-details-panel/index.js +1 -1
  660. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js +1 -1
  661. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +1 -1
  662. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js +1 -1
  663. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +1 -1
  664. package/build-module/components/sidebar-navigation-screen-main/index.js +1 -1
  665. package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js +1 -1
  666. package/build-module/components/sidebar-navigation-screen-navigation-item/index.js +1 -1
  667. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +1 -1
  668. package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js +1 -1
  669. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js +1 -1
  670. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -1
  671. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
  672. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +1 -1
  673. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +1 -1
  674. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +1 -1
  675. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +1 -1
  676. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +1 -1
  677. package/build-module/components/sidebar-navigation-screen-page/index.js +1 -1
  678. package/build-module/components/sidebar-navigation-screen-page/page-details.js +1 -1
  679. package/build-module/components/sidebar-navigation-screen-page/status-label.js +1 -1
  680. package/build-module/components/sidebar-navigation-screen-pages/index.js +13 -5
  681. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  682. package/build-module/components/sidebar-navigation-screen-pattern/index.js +1 -1
  683. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +4 -2
  684. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
  685. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js +1 -1
  686. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +4 -2
  687. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  688. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +1 -1
  689. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +8 -2
  690. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
  691. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +1 -1
  692. package/build-module/components/sidebar-navigation-screen-patterns/category-item.js +1 -1
  693. package/build-module/components/sidebar-navigation-screen-patterns/index.js +15 -3
  694. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  695. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js +15 -20
  696. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
  697. package/build-module/components/sidebar-navigation-screen-template/index.js +1 -1
  698. package/build-module/components/sidebar-navigation-screen-templates/index.js +1 -1
  699. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +17 -5
  700. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  701. package/build-module/components/site-hub/index.js +1 -1
  702. package/build-module/components/site-icon/index.js +1 -1
  703. package/build-module/components/start-template-options/index.js +4 -4
  704. package/build-module/components/start-template-options/index.js.map +1 -1
  705. package/build-module/components/style-book/index.js +1 -1
  706. package/build-module/components/table/index.js +1 -1
  707. package/build-module/components/template-actions/index.js +1 -1
  708. package/build-module/components/template-actions/rename-menu-item.js +1 -1
  709. package/build-module/components/template-part-converter/convert-to-regular.js +1 -1
  710. package/build-module/components/template-part-converter/convert-to-template-part.js +1 -1
  711. package/build-module/components/template-part-converter/index.js +1 -1
  712. package/build-module/components/welcome-guide/editor.js +1 -1
  713. package/build-module/components/welcome-guide/image.js +1 -1
  714. package/build-module/components/welcome-guide/index.js +1 -1
  715. package/build-module/components/welcome-guide/page.js +1 -1
  716. package/build-module/components/welcome-guide/styles.js +1 -1
  717. package/build-module/components/welcome-guide/template.js +1 -1
  718. package/build-module/hooks/commands/use-common-commands.js +4 -4
  719. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  720. package/build-module/hooks/navigation-menu-edit.js +1 -1
  721. package/build-module/hooks/push-changes-to-global-styles/index.js +1 -1
  722. package/build-module/hooks/template-part-edit.js +1 -1
  723. package/build-module/index.js +1 -1
  724. package/build-module/utils/constants.js +1 -1
  725. package/build-module/utils/constants.js.map +1 -1
  726. package/build-module/utils/get-is-list-page.js +1 -1
  727. package/build-module/utils/get-is-list-page.js.map +1 -1
  728. package/build-style/style-rtl.css +93 -18
  729. package/build-style/style.css +93 -18
  730. package/package.json +41 -40
  731. package/src/components/add-new-pattern/index.js +7 -10
  732. package/src/components/block-editor/block-editor-provider/default-block-editor-provider.js +10 -5
  733. package/src/components/block-editor/block-editor-provider/test/use-page-content-blocks.js +33 -4
  734. package/src/components/block-editor/block-editor-provider/use-page-content-blocks.js +27 -14
  735. package/src/components/dataviews/dataviews.js +60 -0
  736. package/src/components/dataviews/index.js +2 -0
  737. package/src/components/dataviews/list-view.js +106 -0
  738. package/src/components/dataviews/pagination.js +118 -0
  739. package/src/components/dataviews/style.scss +36 -0
  740. package/src/components/dataviews/text-filter.js +37 -0
  741. package/src/components/dataviews/view-actions.js +246 -0
  742. package/src/components/global-styles/font-families.js +1 -5
  743. package/src/components/global-styles/font-library-modal/collection-font-details.js +1 -1
  744. package/src/components/global-styles/font-library-modal/context.js +36 -38
  745. package/src/components/global-styles/font-library-modal/font-collection.js +41 -12
  746. package/src/components/global-styles/font-library-modal/index.js +16 -6
  747. package/src/components/global-styles/font-library-modal/installed-fonts.js +36 -6
  748. package/src/components/global-styles/font-library-modal/local-fonts.js +65 -23
  749. package/src/components/global-styles/font-library-modal/resolvers.js +1 -1
  750. package/src/components/global-styles/font-library-modal/style.scss +18 -1
  751. package/src/components/global-styles/font-library-modal/upload-fonts.js +20 -0
  752. package/src/components/global-styles/font-library-modal/utils/fonts-outline.js +4 -3
  753. package/src/components/global-styles/font-library-modal/utils/get-notice-from-response.js +62 -0
  754. package/src/components/global-styles/font-library-modal/utils/index.js +5 -1
  755. package/src/components/global-styles/font-library-modal/utils/test/makeFormDataFromFontFamilies.spec.js +1 -1
  756. package/src/components/global-styles/screen-typography.js +3 -4
  757. package/src/components/header-edit-mode/plugin-more-menu-item/index.js +1 -1
  758. package/src/components/header-edit-mode/plugin-sidebar-more-menu-item/index.js +1 -1
  759. package/src/components/page-content-focus-manager/index.js +29 -4
  760. package/src/components/page-main/index.js +3 -0
  761. package/src/components/page-pages/index.js +190 -0
  762. package/src/components/page-patterns/grid.js +1 -1
  763. package/src/components/page-patterns/patterns-list.js +1 -1
  764. package/src/components/page-patterns/use-patterns.js +7 -3
  765. package/src/components/page-template-parts/index.js +14 -1
  766. package/src/components/plugin-template-setting-panel/index.js +1 -1
  767. package/src/components/sidebar/index.js +11 -0
  768. package/src/components/sidebar-edit-mode/page-panels/edit-template.js +31 -16
  769. package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +1 -1
  770. package/src/components/sidebar-edit-mode/template-panel/hooks.js +97 -0
  771. package/src/components/sidebar-edit-mode/template-panel/pattern-categories.js +18 -16
  772. package/src/components/sidebar-edit-mode/template-panel/replace-template-button.js +89 -0
  773. package/src/components/sidebar-edit-mode/template-panel/style.scss +18 -0
  774. package/src/components/sidebar-edit-mode/template-panel/template-actions.js +27 -12
  775. package/src/components/sidebar-edit-mode/template-panel/template-areas.js +1 -1
  776. package/src/components/sidebar-navigation-screen/style.scss +0 -1
  777. package/src/components/sidebar-navigation-screen-pages/index.js +11 -4
  778. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +3 -1
  779. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +3 -1
  780. package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +11 -5
  781. package/src/components/sidebar-navigation-screen-patterns/index.js +25 -4
  782. package/src/components/sidebar-navigation-screen-template/home-template-details.js +27 -35
  783. package/src/components/sidebar-navigation-screen-templates-browse/index.js +12 -4
  784. package/src/components/start-template-options/index.js +3 -3
  785. package/src/hooks/commands/use-common-commands.js +12 -4
  786. package/src/style.scss +1 -0
  787. package/src/utils/constants.js +1 -1
  788. package/src/utils/get-is-list-page.js +3 -2
@@ -0,0 +1,179 @@
1
+ import { createElement, Fragment } from "react";
2
+ /**
3
+ * WordPress dependencies
4
+ */
5
+ import { Button, Icon, SelectControl, privateApis as componentsPrivateApis, __experimentalInputControlPrefixWrapper as InputControlPrefixWrapper } from '@wordpress/components';
6
+ import { chevronRightSmall, check, blockTable, chevronDown, arrowUp, arrowDown } from '@wordpress/icons';
7
+ import { __ } from '@wordpress/i18n';
8
+
9
+ /**
10
+ * Internal dependencies
11
+ */
12
+ import { unlock } from '../../lock-unlock';
13
+ const {
14
+ DropdownMenuV2,
15
+ DropdownMenuGroupV2,
16
+ DropdownMenuItemV2,
17
+ DropdownSubMenuV2,
18
+ DropdownSubMenuTriggerV2
19
+ } = unlock(componentsPrivateApis);
20
+ export const PAGE_SIZE_VALUES = [5, 20, 50];
21
+ export function PageSizeControl({
22
+ dataView
23
+ }) {
24
+ const label = __('Rows per page:');
25
+ return createElement(SelectControl, {
26
+ __nextHasNoMarginBottom: true,
27
+ label: label,
28
+ hideLabelFromVision: true
29
+ // TODO: This should probably use a label based on the wanted design
30
+ // and we could remove InputControlPrefixWrapper usage.
31
+ ,
32
+ prefix: createElement(InputControlPrefixWrapper, {
33
+ as: "span",
34
+ className: "dataviews__per-page-control-prefix"
35
+ }, label),
36
+ value: dataView.getState().pagination.pageSize,
37
+ options: PAGE_SIZE_VALUES.map(pageSize => ({
38
+ value: pageSize,
39
+ label: pageSize
40
+ })),
41
+ onChange: value => dataView.setPageSize(+value)
42
+ });
43
+ }
44
+ function PageSizeMenu({
45
+ dataView
46
+ }) {
47
+ const currenPageSize = dataView.getState().pagination.pageSize;
48
+ return createElement(DropdownSubMenuV2, {
49
+ trigger: createElement(DropdownSubMenuTriggerV2, {
50
+ suffix: createElement(Fragment, null, currenPageSize, createElement(Icon, {
51
+ icon: chevronRightSmall
52
+ }))
53
+ }, __('Rows per page'))
54
+ }, PAGE_SIZE_VALUES.map(size => {
55
+ return createElement(DropdownMenuItemV2, {
56
+ key: size,
57
+ prefix: currenPageSize === size && createElement(Icon, {
58
+ icon: check
59
+ }),
60
+ onSelect: event => {
61
+ // We need to handle this on DropDown component probably..
62
+ event.preventDefault();
63
+ dataView.setPageSize(size);
64
+ }
65
+ // TODO: check about role and a11y.
66
+ ,
67
+ role: "menuitemcheckbox"
68
+ }, size);
69
+ }));
70
+ }
71
+ function FieldsVisibilityMenu({
72
+ dataView
73
+ }) {
74
+ const hideableFields = dataView.getAllColumns().filter(columnn => columnn.getCanHide());
75
+ if (!hideableFields?.length) {
76
+ return null;
77
+ }
78
+ return createElement(DropdownSubMenuV2, {
79
+ trigger: createElement(DropdownSubMenuTriggerV2, {
80
+ suffix: createElement(Icon, {
81
+ icon: chevronRightSmall
82
+ })
83
+ }, __('Fields'))
84
+ }, hideableFields?.map(field => {
85
+ return createElement(DropdownMenuItemV2, {
86
+ key: field.id,
87
+ prefix: field.getIsVisible() && createElement(Icon, {
88
+ icon: check
89
+ }),
90
+ onSelect: event => {
91
+ event.preventDefault();
92
+ field.getToggleVisibilityHandler()(event);
93
+ },
94
+ role: "menuitemcheckbox"
95
+ }, field.columnDef.header);
96
+ }));
97
+ }
98
+
99
+ // This object is used to construct the sorting options per sortable field.
100
+ const sortingItemsInfo = {
101
+ asc: {
102
+ icon: arrowUp,
103
+ label: __('Sort ascending')
104
+ },
105
+ desc: {
106
+ icon: arrowDown,
107
+ label: __('Sort descending')
108
+ }
109
+ };
110
+ function SortMenu({
111
+ dataView
112
+ }) {
113
+ const sortableFields = dataView.getAllColumns().filter(columnn => columnn.getCanSort());
114
+ if (!sortableFields?.length) {
115
+ return null;
116
+ }
117
+ const currentSortedField = sortableFields.find(field => field.getIsSorted());
118
+ return createElement(DropdownSubMenuV2, {
119
+ trigger: createElement(DropdownSubMenuTriggerV2, {
120
+ suffix: createElement(Fragment, null, currentSortedField?.columnDef.header, createElement(Icon, {
121
+ icon: chevronRightSmall
122
+ }))
123
+ }, __('Sort by'))
124
+ }, sortableFields?.map(field => {
125
+ const sortedDirection = field.getIsSorted();
126
+ return createElement(DropdownSubMenuV2, {
127
+ key: field.id,
128
+ trigger: createElement(DropdownSubMenuTriggerV2, {
129
+ suffix: createElement(Icon, {
130
+ icon: chevronRightSmall
131
+ })
132
+ }, field.columnDef.header),
133
+ side: "left"
134
+ }, Object.entries(sortingItemsInfo).map(([direction, info]) => {
135
+ return createElement(DropdownMenuItemV2, {
136
+ key: direction,
137
+ prefix: createElement(Icon, {
138
+ icon: info.icon
139
+ }),
140
+ suffix: sortedDirection === direction && createElement(Icon, {
141
+ icon: check
142
+ }),
143
+ onSelect: event => {
144
+ event.preventDefault();
145
+ if (sortedDirection === direction) {
146
+ dataView.resetSorting();
147
+ } else {
148
+ dataView.setSorting([{
149
+ id: field.id,
150
+ desc: direction === 'desc'
151
+ }]);
152
+ }
153
+ }
154
+ }, info.label);
155
+ }));
156
+ }));
157
+ }
158
+ export default function ViewActions({
159
+ dataView,
160
+ className
161
+ }) {
162
+ return createElement(DropdownMenuV2, {
163
+ label: __('Actions'),
164
+ className: className,
165
+ trigger: createElement(Button, {
166
+ variant: "tertiary",
167
+ icon: blockTable
168
+ }, __('View'), createElement(Icon, {
169
+ icon: chevronDown
170
+ }))
171
+ }, createElement(DropdownMenuGroupV2, null, createElement(SortMenu, {
172
+ dataView: dataView
173
+ }), createElement(FieldsVisibilityMenu, {
174
+ dataView: dataView
175
+ }), createElement(PageSizeMenu, {
176
+ dataView: dataView
177
+ })));
178
+ }
179
+ //# sourceMappingURL=view-actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Button","Icon","SelectControl","privateApis","componentsPrivateApis","__experimentalInputControlPrefixWrapper","InputControlPrefixWrapper","chevronRightSmall","check","blockTable","chevronDown","arrowUp","arrowDown","__","unlock","DropdownMenuV2","DropdownMenuGroupV2","DropdownMenuItemV2","DropdownSubMenuV2","DropdownSubMenuTriggerV2","PAGE_SIZE_VALUES","PageSizeControl","dataView","label","createElement","__nextHasNoMarginBottom","hideLabelFromVision","prefix","as","className","value","getState","pagination","pageSize","options","map","onChange","setPageSize","PageSizeMenu","currenPageSize","trigger","suffix","Fragment","icon","size","key","onSelect","event","preventDefault","role","FieldsVisibilityMenu","hideableFields","getAllColumns","filter","columnn","getCanHide","length","field","id","getIsVisible","getToggleVisibilityHandler","columnDef","header","sortingItemsInfo","asc","desc","SortMenu","sortableFields","getCanSort","currentSortedField","find","getIsSorted","sortedDirection","side","Object","entries","direction","info","resetSorting","setSorting","ViewActions","variant"],"sources":["@wordpress/edit-site/src/components/dataviews/view-actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tIcon,\n\tSelectControl,\n\tprivateApis as componentsPrivateApis,\n\t__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,\n} from '@wordpress/components';\nimport {\n\tchevronRightSmall,\n\tcheck,\n\tblockTable,\n\tchevronDown,\n\tarrowUp,\n\tarrowDown,\n} from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst {\n\tDropdownMenuV2,\n\tDropdownMenuGroupV2,\n\tDropdownMenuItemV2,\n\tDropdownSubMenuV2,\n\tDropdownSubMenuTriggerV2,\n} = unlock( componentsPrivateApis );\n\nexport const PAGE_SIZE_VALUES = [ 5, 20, 50 ];\n\nexport function PageSizeControl( { dataView } ) {\n\tconst label = __( 'Rows per page:' );\n\treturn (\n\t\t<SelectControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ label }\n\t\t\thideLabelFromVision\n\t\t\t// TODO: This should probably use a label based on the wanted design\n\t\t\t// and we could remove InputControlPrefixWrapper usage.\n\t\t\tprefix={\n\t\t\t\t<InputControlPrefixWrapper\n\t\t\t\t\tas=\"span\"\n\t\t\t\t\tclassName=\"dataviews__per-page-control-prefix\"\n\t\t\t\t>\n\t\t\t\t\t{ label }\n\t\t\t\t</InputControlPrefixWrapper>\n\t\t\t}\n\t\t\tvalue={ dataView.getState().pagination.pageSize }\n\t\t\toptions={ PAGE_SIZE_VALUES.map( ( pageSize ) => ( {\n\t\t\t\tvalue: pageSize,\n\t\t\t\tlabel: pageSize,\n\t\t\t} ) ) }\n\t\t\tonChange={ ( value ) => dataView.setPageSize( +value ) }\n\t\t/>\n\t);\n}\n\nfunction PageSizeMenu( { dataView } ) {\n\tconst currenPageSize = dataView.getState().pagination.pageSize;\n\treturn (\n\t\t<DropdownSubMenuV2\n\t\t\ttrigger={\n\t\t\t\t<DropdownSubMenuTriggerV2\n\t\t\t\t\tsuffix={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ currenPageSize }\n\t\t\t\t\t\t\t<Icon icon={ chevronRightSmall } />\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ /* TODO: probably label per view type. */ }\n\t\t\t\t\t{ __( 'Rows per page' ) }\n\t\t\t\t</DropdownSubMenuTriggerV2>\n\t\t\t}\n\t\t>\n\t\t\t{ PAGE_SIZE_VALUES.map( ( size ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuItemV2\n\t\t\t\t\t\tkey={ size }\n\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\tcurrenPageSize === size && <Icon icon={ check } />\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSelect={ ( event ) => {\n\t\t\t\t\t\t\t// We need to handle this on DropDown component probably..\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tdataView.setPageSize( size );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\t// TODO: check about role and a11y.\n\t\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ size }\n\t\t\t\t\t</DropdownMenuItemV2>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownSubMenuV2>\n\t);\n}\n\nfunction FieldsVisibilityMenu( { dataView } ) {\n\tconst hideableFields = dataView\n\t\t.getAllColumns()\n\t\t.filter( ( columnn ) => columnn.getCanHide() );\n\tif ( ! hideableFields?.length ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<DropdownSubMenuV2\n\t\t\ttrigger={\n\t\t\t\t<DropdownSubMenuTriggerV2\n\t\t\t\t\tsuffix={ <Icon icon={ chevronRightSmall } /> }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Fields' ) }\n\t\t\t\t</DropdownSubMenuTriggerV2>\n\t\t\t}\n\t\t>\n\t\t\t{ hideableFields?.map( ( field ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuItemV2\n\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\tfield.getIsVisible() && <Icon icon={ check } />\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSelect={ ( event ) => {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tfield.getToggleVisibilityHandler()( event );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ field.columnDef.header }\n\t\t\t\t\t</DropdownMenuItemV2>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownSubMenuV2>\n\t);\n}\n\n// This object is used to construct the sorting options per sortable field.\nconst sortingItemsInfo = {\n\tasc: { icon: arrowUp, label: __( 'Sort ascending' ) },\n\tdesc: { icon: arrowDown, label: __( 'Sort descending' ) },\n};\nfunction SortMenu( { dataView } ) {\n\tconst sortableFields = dataView\n\t\t.getAllColumns()\n\t\t.filter( ( columnn ) => columnn.getCanSort() );\n\tif ( ! sortableFields?.length ) {\n\t\treturn null;\n\t}\n\tconst currentSortedField = sortableFields.find( ( field ) =>\n\t\tfield.getIsSorted()\n\t);\n\treturn (\n\t\t<DropdownSubMenuV2\n\t\t\ttrigger={\n\t\t\t\t<DropdownSubMenuTriggerV2\n\t\t\t\t\tsuffix={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ currentSortedField?.columnDef.header }\n\t\t\t\t\t\t\t<Icon icon={ chevronRightSmall } />\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Sort by' ) }\n\t\t\t\t</DropdownSubMenuTriggerV2>\n\t\t\t}\n\t\t>\n\t\t\t{ sortableFields?.map( ( field ) => {\n\t\t\t\tconst sortedDirection = field.getIsSorted();\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownSubMenuV2\n\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t<DropdownSubMenuTriggerV2\n\t\t\t\t\t\t\t\tsuffix={ <Icon icon={ chevronRightSmall } /> }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ field.columnDef.header }\n\t\t\t\t\t\t\t</DropdownSubMenuTriggerV2>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tside=\"left\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ Object.entries( sortingItemsInfo ).map(\n\t\t\t\t\t\t\t( [ direction, info ] ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<DropdownMenuItemV2\n\t\t\t\t\t\t\t\t\t\tkey={ direction }\n\t\t\t\t\t\t\t\t\t\tprefix={ <Icon icon={ info.icon } /> }\n\t\t\t\t\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t\t\t\t\tsortedDirection === direction && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ check } />\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonSelect={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\tsortedDirection === direction\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\tdataView.resetSorting();\n\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\tdataView.setSorting( [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: field.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdesc:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdirection ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'desc',\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ info.label }\n\t\t\t\t\t\t\t\t\t</DropdownMenuItemV2>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownSubMenuV2>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownSubMenuV2>\n\t);\n}\n\nexport default function ViewActions( { dataView, className } ) {\n\treturn (\n\t\t<DropdownMenuV2\n\t\t\tlabel={ __( 'Actions' ) }\n\t\t\tclassName={ className }\n\t\t\ttrigger={\n\t\t\t\t<Button variant=\"tertiary\" icon={ blockTable }>\n\t\t\t\t\t{ __( 'View' ) }\n\t\t\t\t\t<Icon icon={ chevronDown } />\n\t\t\t\t</Button>\n\t\t\t}\n\t\t>\n\t\t\t<DropdownMenuGroupV2>\n\t\t\t\t<SortMenu dataView={ dataView } />\n\t\t\t\t<FieldsVisibilityMenu dataView={ dataView } />\n\t\t\t\t<PageSizeMenu dataView={ dataView } />\n\t\t\t</DropdownMenuGroupV2>\n\t\t</DropdownMenuV2>\n\t);\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { createElement, Fragment } from "@wordpress/element";
1
+ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement, Fragment } from "@wordpress/element";
1
+ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -50,10 +50,9 @@ function FontFamilies() {
50
50
  font: font
51
51
  })))));
52
52
  }
53
- const FontFamiliesComponent = ({
53
+ export default (({
54
54
  ...props
55
55
  }) => createElement(FontLibraryProvider, null, createElement(FontFamilies, {
56
56
  ...props
57
- }));
58
- export default process.env.IS_GUTENBERG_PLUGIN ? FontFamiliesComponent : undefined;
57
+ })));
59
58
  //# sourceMappingURL=font-families.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__","__experimentalItemGroup","ItemGroup","__experimentalVStack","VStack","__experimentalHStack","HStack","Button","Tooltip","typography","useContext","FontLibraryProvider","FontLibraryContext","FontLibraryModal","FontFamilyItem","Subtitle","FontFamilies","modalTabOpen","toggleModal","themeFonts","customFonts","createElement","Fragment","onRequestClose","initialTabName","spacing","justify","level","text","onClick","icon","size","isBordered","isSeparated","map","font","key","slug","FontFamiliesComponent","props","process","env","IS_GUTENBERG_PLUGIN","undefined"],"sources":["@wordpress/edit-site/src/components/global-styles/font-families.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\tButton,\n\tTooltip,\n} from '@wordpress/components';\nimport { typography } from '@wordpress/icons';\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport FontLibraryProvider, {\n\tFontLibraryContext,\n} from './font-library-modal/context';\nimport FontLibraryModal from './font-library-modal';\nimport FontFamilyItem from './font-family-item';\nimport Subtitle from './subtitle';\n\nfunction FontFamilies() {\n\tconst { modalTabOpen, toggleModal, themeFonts, customFonts } =\n\t\tuseContext( FontLibraryContext );\n\n\treturn (\n\t\t<>\n\t\t\t{ !! modalTabOpen && (\n\t\t\t\t<FontLibraryModal\n\t\t\t\t\tonRequestClose={ () => toggleModal() }\n\t\t\t\t\tinitialTabName={ modalTabOpen }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t\t<Subtitle level={ 3 }>{ __( 'Fonts' ) }</Subtitle>\n\t\t\t\t\t<HStack justify=\"flex-end\">\n\t\t\t\t\t\t<Tooltip text={ __( 'Manage fonts' ) }>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\ttoggleModal( 'installed-fonts' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taria-label={ __( 'Manage fonts' ) }\n\t\t\t\t\t\t\t\ticon={ typography }\n\t\t\t\t\t\t\t\tsize={ 'small' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t</HStack>\n\t\t\t\t</HStack>\n\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t{ customFonts.map( ( font ) => (\n\t\t\t\t\t\t<FontFamilyItem key={ font.slug } font={ font } />\n\t\t\t\t\t) ) }\n\t\t\t\t\t{ themeFonts.map( ( font ) => (\n\t\t\t\t\t\t<FontFamilyItem key={ font.slug } font={ font } />\n\t\t\t\t\t) ) }\n\t\t\t\t</ItemGroup>\n\t\t\t</VStack>\n\t\t</>\n\t);\n}\n\nconst FontFamiliesComponent = ( { ...props } ) => (\n\t<FontLibraryProvider>\n\t\t<FontFamilies { ...props } />\n\t</FontLibraryProvider>\n);\n\nexport default process.env.IS_GUTENBERG_PLUGIN\n\t? FontFamiliesComponent\n\t: undefined;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SACCC,uBAAuB,IAAIC,SAAS,EACpCC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,EAC9BC,MAAM,EACNC,OAAO,QACD,uBAAuB;AAC9B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,UAAU,QAAQ,oBAAoB;;AAE/C;AACA;AACA;AACA,OAAOC,mBAAmB,IACzBC,kBAAkB,QACZ,8BAA8B;AACrC,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,OAAOC,cAAc,MAAM,oBAAoB;AAC/C,OAAOC,QAAQ,MAAM,YAAY;AAEjC,SAASC,YAAYA,CAAA,EAAG;EACvB,MAAM;IAAEC,YAAY;IAAEC,WAAW;IAAEC,UAAU;IAAEC;EAAY,CAAC,GAC3DV,UAAU,CAAEE,kBAAmB,CAAC;EAEjC,OACCS,aAAA,CAAAC,QAAA,QACG,CAAC,CAAEL,YAAY,IAChBI,aAAA,CAACR,gBAAgB;IAChBU,cAAc,EAAGA,CAAA,KAAML,WAAW,CAAC,CAAG;IACtCM,cAAc,EAAGP;EAAc,CAC/B,CACD,EAEDI,aAAA,CAACjB,MAAM;IAACqB,OAAO,EAAG;EAAG,GACpBJ,aAAA,CAACf,MAAM;IAACoB,OAAO,EAAC;EAAe,GAC9BL,aAAA,CAACN,QAAQ;IAACY,KAAK,EAAG;EAAG,GAAG3B,EAAE,CAAE,OAAQ,CAAa,CAAC,EAClDqB,aAAA,CAACf,MAAM;IAACoB,OAAO,EAAC;EAAU,GACzBL,aAAA,CAACb,OAAO;IAACoB,IAAI,EAAG5B,EAAE,CAAE,cAAe;EAAG,GACrCqB,aAAA,CAACd,MAAM;IACNsB,OAAO,EAAGA,CAAA,KACTX,WAAW,CAAE,iBAAkB,CAC/B;IACD,cAAalB,EAAE,CAAE,cAAe,CAAG;IACnC8B,IAAI,EAAGrB,UAAY;IACnBsB,IAAI,EAAG;EAAS,CAChB,CACO,CACF,CACD,CAAC,EACTV,aAAA,CAACnB,SAAS;IAAC8B,UAAU;IAACC,WAAW;EAAA,GAC9Bb,WAAW,CAACc,GAAG,CAAIC,IAAI,IACxBd,aAAA,CAACP,cAAc;IAACsB,GAAG,EAAGD,IAAI,CAACE,IAAM;IAACF,IAAI,EAAGA;EAAM,CAAE,CAChD,CAAC,EACDhB,UAAU,CAACe,GAAG,CAAIC,IAAI,IACvBd,aAAA,CAACP,cAAc;IAACsB,GAAG,EAAGD,IAAI,CAACE,IAAM;IAACF,IAAI,EAAGA;EAAM,CAAE,CAChD,CACQ,CACJ,CACP,CAAC;AAEL;AAEA,MAAMG,qBAAqB,GAAGA,CAAE;EAAE,GAAGC;AAAM,CAAC,KAC3ClB,aAAA,CAACV,mBAAmB,QACnBU,aAAA,CAACL,YAAY;EAAA,GAAMuB;AAAK,CAAI,CACR,CACrB;AAED,eAAeC,OAAO,CAACC,GAAG,CAACC,mBAAmB,GAC3CJ,qBAAqB,GACrBK,SAAS"}
1
+ {"version":3,"names":["__","__experimentalItemGroup","ItemGroup","__experimentalVStack","VStack","__experimentalHStack","HStack","Button","Tooltip","typography","useContext","FontLibraryProvider","FontLibraryContext","FontLibraryModal","FontFamilyItem","Subtitle","FontFamilies","modalTabOpen","toggleModal","themeFonts","customFonts","createElement","Fragment","onRequestClose","initialTabName","spacing","justify","level","text","onClick","icon","size","isBordered","isSeparated","map","font","key","slug","props"],"sources":["@wordpress/edit-site/src/components/global-styles/font-families.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\tButton,\n\tTooltip,\n} from '@wordpress/components';\nimport { typography } from '@wordpress/icons';\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport FontLibraryProvider, {\n\tFontLibraryContext,\n} from './font-library-modal/context';\nimport FontLibraryModal from './font-library-modal';\nimport FontFamilyItem from './font-family-item';\nimport Subtitle from './subtitle';\n\nfunction FontFamilies() {\n\tconst { modalTabOpen, toggleModal, themeFonts, customFonts } =\n\t\tuseContext( FontLibraryContext );\n\n\treturn (\n\t\t<>\n\t\t\t{ !! modalTabOpen && (\n\t\t\t\t<FontLibraryModal\n\t\t\t\t\tonRequestClose={ () => toggleModal() }\n\t\t\t\t\tinitialTabName={ modalTabOpen }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t\t<Subtitle level={ 3 }>{ __( 'Fonts' ) }</Subtitle>\n\t\t\t\t\t<HStack justify=\"flex-end\">\n\t\t\t\t\t\t<Tooltip text={ __( 'Manage fonts' ) }>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\ttoggleModal( 'installed-fonts' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taria-label={ __( 'Manage fonts' ) }\n\t\t\t\t\t\t\t\ticon={ typography }\n\t\t\t\t\t\t\t\tsize={ 'small' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t</HStack>\n\t\t\t\t</HStack>\n\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t{ customFonts.map( ( font ) => (\n\t\t\t\t\t\t<FontFamilyItem key={ font.slug } font={ font } />\n\t\t\t\t\t) ) }\n\t\t\t\t\t{ themeFonts.map( ( font ) => (\n\t\t\t\t\t\t<FontFamilyItem key={ font.slug } font={ font } />\n\t\t\t\t\t) ) }\n\t\t\t\t</ItemGroup>\n\t\t\t</VStack>\n\t\t</>\n\t);\n}\n\nexport default ( { ...props } ) => (\n\t<FontLibraryProvider>\n\t\t<FontFamilies { ...props } />\n\t</FontLibraryProvider>\n);\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SACCC,uBAAuB,IAAIC,SAAS,EACpCC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,EAC9BC,MAAM,EACNC,OAAO,QACD,uBAAuB;AAC9B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,UAAU,QAAQ,oBAAoB;;AAE/C;AACA;AACA;AACA,OAAOC,mBAAmB,IACzBC,kBAAkB,QACZ,8BAA8B;AACrC,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,OAAOC,cAAc,MAAM,oBAAoB;AAC/C,OAAOC,QAAQ,MAAM,YAAY;AAEjC,SAASC,YAAYA,CAAA,EAAG;EACvB,MAAM;IAAEC,YAAY;IAAEC,WAAW;IAAEC,UAAU;IAAEC;EAAY,CAAC,GAC3DV,UAAU,CAAEE,kBAAmB,CAAC;EAEjC,OACCS,aAAA,CAAAC,QAAA,QACG,CAAC,CAAEL,YAAY,IAChBI,aAAA,CAACR,gBAAgB;IAChBU,cAAc,EAAGA,CAAA,KAAML,WAAW,CAAC,CAAG;IACtCM,cAAc,EAAGP;EAAc,CAC/B,CACD,EAEDI,aAAA,CAACjB,MAAM;IAACqB,OAAO,EAAG;EAAG,GACpBJ,aAAA,CAACf,MAAM;IAACoB,OAAO,EAAC;EAAe,GAC9BL,aAAA,CAACN,QAAQ;IAACY,KAAK,EAAG;EAAG,GAAG3B,EAAE,CAAE,OAAQ,CAAa,CAAC,EAClDqB,aAAA,CAACf,MAAM;IAACoB,OAAO,EAAC;EAAU,GACzBL,aAAA,CAACb,OAAO;IAACoB,IAAI,EAAG5B,EAAE,CAAE,cAAe;EAAG,GACrCqB,aAAA,CAACd,MAAM;IACNsB,OAAO,EAAGA,CAAA,KACTX,WAAW,CAAE,iBAAkB,CAC/B;IACD,cAAalB,EAAE,CAAE,cAAe,CAAG;IACnC8B,IAAI,EAAGrB,UAAY;IACnBsB,IAAI,EAAG;EAAS,CAChB,CACO,CACF,CACD,CAAC,EACTV,aAAA,CAACnB,SAAS;IAAC8B,UAAU;IAACC,WAAW;EAAA,GAC9Bb,WAAW,CAACc,GAAG,CAAIC,IAAI,IACxBd,aAAA,CAACP,cAAc;IAACsB,GAAG,EAAGD,IAAI,CAACE,IAAM;IAACF,IAAI,EAAGA;EAAM,CAAE,CAChD,CAAC,EACDhB,UAAU,CAACe,GAAG,CAAIC,IAAI,IACvBd,aAAA,CAACP,cAAc;IAACsB,GAAG,EAAGD,IAAI,CAACE,IAAM;IAACF,IAAI,EAAGA;EAAM,CAAE,CAChD,CACQ,CACJ,CACP,CAAC;AAEL;AAEA,gBAAe,CAAE;EAAE,GAAGG;AAAM,CAAC,KAC5BjB,aAAA,CAACV,mBAAmB,QACnBU,aAAA,CAACL,YAAY;EAAA,GAAMsB;AAAK,CAAI,CACR,CACrB"}
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement, Fragment } from "@wordpress/element";
1
+ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -31,7 +31,9 @@ function CollectionFontDetails({
31
31
  face: face,
32
32
  key: `face${i}`,
33
33
  handleToggleVariant: handleToggleVariant,
34
- selected: isFontFontFaceInOutline(font.slug, face, fontToInstallOutline)
34
+ selected: isFontFontFaceInOutline(font.slug, font.fontFace ? face : null,
35
+ // If the font has no fontFace, we want to check if the font is in the outline
36
+ fontToInstallOutline)
35
37
  }))), createElement(Spacer, {
36
38
  margin: 8
37
39
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["__experimentalVStack","VStack","__experimentalSpacer","Spacer","CollectionFontVariant","isFontFontFaceInOutline","sortFontFaces","CollectionFontDetails","font","handleToggleVariant","fontToInstallOutline","fontFaces","fontFace","length","fontFamily","fontStyle","fontWeight","createElement","Fragment","margin","spacing","map","face","i","key","selected","slug"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/collection-font-details.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalSpacer as Spacer,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport CollectionFontVariant from './collection-font-variant';\nimport { isFontFontFaceInOutline } from './utils/fonts-outline';\nimport { sortFontFaces } from './utils/sort-font-faces';\n\nfunction CollectionFontDetails( {\n\tfont,\n\thandleToggleVariant,\n\tfontToInstallOutline,\n} ) {\n\tconst fontFaces =\n\t\tfont.fontFace && font.fontFace.length\n\t\t\t? sortFontFaces( font.fontFace )\n\t\t\t: [\n\t\t\t\t\t{\n\t\t\t\t\t\tfontFamily: font.fontFamily,\n\t\t\t\t\t\tfontStyle: 'normal',\n\t\t\t\t\t\tfontWeight: '400',\n\t\t\t\t\t},\n\t\t\t ];\n\n\treturn (\n\t\t<>\n\t\t\t<Spacer margin={ 4 } />\n\t\t\t<VStack spacing={ 0 }>\n\t\t\t\t<Spacer margin={ 8 } />\n\t\t\t\t{ fontFaces.map( ( face, i ) => (\n\t\t\t\t\t<CollectionFontVariant\n\t\t\t\t\t\tfont={ font }\n\t\t\t\t\t\tface={ face }\n\t\t\t\t\t\tkey={ `face${ i }` }\n\t\t\t\t\t\thandleToggleVariant={ handleToggleVariant }\n\t\t\t\t\t\tselected={ isFontFontFaceInOutline(\n\t\t\t\t\t\t\tfont.slug,\n\t\t\t\t\t\t\tface,\n\t\t\t\t\t\t\tfontToInstallOutline\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</VStack>\n\t\t\t<Spacer margin={ 8 } />\n\t\t</>\n\t);\n}\n\nexport default CollectionFontDetails;\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;;AAE9B;AACA;AACA;AACA,OAAOC,qBAAqB,MAAM,2BAA2B;AAC7D,SAASC,uBAAuB,QAAQ,uBAAuB;AAC/D,SAASC,aAAa,QAAQ,yBAAyB;AAEvD,SAASC,qBAAqBA,CAAE;EAC/BC,IAAI;EACJC,mBAAmB;EACnBC;AACD,CAAC,EAAG;EACH,MAAMC,SAAS,GACdH,IAAI,CAACI,QAAQ,IAAIJ,IAAI,CAACI,QAAQ,CAACC,MAAM,GAClCP,aAAa,CAAEE,IAAI,CAACI,QAAS,CAAC,GAC9B,CACA;IACCE,UAAU,EAAEN,IAAI,CAACM,UAAU;IAC3BC,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE;EACb,CAAC,CACA;EAEL,OACCC,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACd,MAAM;IAACgB,MAAM,EAAG;EAAG,CAAE,CAAC,EACvBF,aAAA,CAAChB,MAAM;IAACmB,OAAO,EAAG;EAAG,GACpBH,aAAA,CAACd,MAAM;IAACgB,MAAM,EAAG;EAAG,CAAE,CAAC,EACrBR,SAAS,CAACU,GAAG,CAAE,CAAEC,IAAI,EAAEC,CAAC,KACzBN,aAAA,CAACb,qBAAqB;IACrBI,IAAI,EAAGA,IAAM;IACbc,IAAI,EAAGA,IAAM;IACbE,GAAG,EAAI,OAAOD,CAAG,EAAG;IACpBd,mBAAmB,EAAGA,mBAAqB;IAC3CgB,QAAQ,EAAGpB,uBAAuB,CACjCG,IAAI,CAACkB,IAAI,EACTJ,IAAI,EACJZ,oBACD;EAAG,CACH,CACA,CACK,CAAC,EACTO,aAAA,CAACd,MAAM;IAACgB,MAAM,EAAG;EAAG,CAAE,CACrB,CAAC;AAEL;AAEA,eAAeZ,qBAAqB"}
1
+ {"version":3,"names":["__experimentalVStack","VStack","__experimentalSpacer","Spacer","CollectionFontVariant","isFontFontFaceInOutline","sortFontFaces","CollectionFontDetails","font","handleToggleVariant","fontToInstallOutline","fontFaces","fontFace","length","fontFamily","fontStyle","fontWeight","createElement","Fragment","margin","spacing","map","face","i","key","selected","slug"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/collection-font-details.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalSpacer as Spacer,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport CollectionFontVariant from './collection-font-variant';\nimport { isFontFontFaceInOutline } from './utils/fonts-outline';\nimport { sortFontFaces } from './utils/sort-font-faces';\n\nfunction CollectionFontDetails( {\n\tfont,\n\thandleToggleVariant,\n\tfontToInstallOutline,\n} ) {\n\tconst fontFaces =\n\t\tfont.fontFace && font.fontFace.length\n\t\t\t? sortFontFaces( font.fontFace )\n\t\t\t: [\n\t\t\t\t\t{\n\t\t\t\t\t\tfontFamily: font.fontFamily,\n\t\t\t\t\t\tfontStyle: 'normal',\n\t\t\t\t\t\tfontWeight: '400',\n\t\t\t\t\t},\n\t\t\t ];\n\n\treturn (\n\t\t<>\n\t\t\t<Spacer margin={ 4 } />\n\t\t\t<VStack spacing={ 0 }>\n\t\t\t\t<Spacer margin={ 8 } />\n\t\t\t\t{ fontFaces.map( ( face, i ) => (\n\t\t\t\t\t<CollectionFontVariant\n\t\t\t\t\t\tfont={ font }\n\t\t\t\t\t\tface={ face }\n\t\t\t\t\t\tkey={ `face${ i }` }\n\t\t\t\t\t\thandleToggleVariant={ handleToggleVariant }\n\t\t\t\t\t\tselected={ isFontFontFaceInOutline(\n\t\t\t\t\t\t\tfont.slug,\n\t\t\t\t\t\t\tfont.fontFace ? face : null, // If the font has no fontFace, we want to check if the font is in the outline\n\t\t\t\t\t\t\tfontToInstallOutline\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</VStack>\n\t\t\t<Spacer margin={ 8 } />\n\t\t</>\n\t);\n}\n\nexport default CollectionFontDetails;\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;;AAE9B;AACA;AACA;AACA,OAAOC,qBAAqB,MAAM,2BAA2B;AAC7D,SAASC,uBAAuB,QAAQ,uBAAuB;AAC/D,SAASC,aAAa,QAAQ,yBAAyB;AAEvD,SAASC,qBAAqBA,CAAE;EAC/BC,IAAI;EACJC,mBAAmB;EACnBC;AACD,CAAC,EAAG;EACH,MAAMC,SAAS,GACdH,IAAI,CAACI,QAAQ,IAAIJ,IAAI,CAACI,QAAQ,CAACC,MAAM,GAClCP,aAAa,CAAEE,IAAI,CAACI,QAAS,CAAC,GAC9B,CACA;IACCE,UAAU,EAAEN,IAAI,CAACM,UAAU;IAC3BC,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE;EACb,CAAC,CACA;EAEL,OACCC,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACd,MAAM;IAACgB,MAAM,EAAG;EAAG,CAAE,CAAC,EACvBF,aAAA,CAAChB,MAAM;IAACmB,OAAO,EAAG;EAAG,GACpBH,aAAA,CAACd,MAAM;IAACgB,MAAM,EAAG;EAAG,CAAE,CAAC,EACrBR,SAAS,CAACU,GAAG,CAAE,CAAEC,IAAI,EAAEC,CAAC,KACzBN,aAAA,CAACb,qBAAqB;IACrBI,IAAI,EAAGA,IAAM;IACbc,IAAI,EAAGA,IAAM;IACbE,GAAG,EAAI,OAAOD,CAAG,EAAG;IACpBd,mBAAmB,EAAGA,mBAAqB;IAC3CgB,QAAQ,EAAGpB,uBAAuB,CACjCG,IAAI,CAACkB,IAAI,EACTlB,IAAI,CAACI,QAAQ,GAAGU,IAAI,GAAG,IAAI;IAAE;IAC7BZ,oBACD;EAAG,CACH,CACA,CACK,CAAC,EACTO,aAAA,CAACd,MAAM;IAACgB,MAAM,EAAG;EAAG,CAAE,CACrB,CAAC;AAEL;AAEA,eAAeZ,qBAAqB"}
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
@@ -6,8 +6,6 @@ import { createContext, useState, useEffect } from '@wordpress/element';
6
6
  import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
7
7
  import { useSelect, useDispatch } from '@wordpress/data';
8
8
  import { useEntityRecord, useEntityRecords, store as coreStore } from '@wordpress/core-data';
9
- import { store as noticesStore } from '@wordpress/notices';
10
- import { __ } from '@wordpress/i18n';
11
9
 
12
10
  /**
13
11
  * Internal dependencies
@@ -39,9 +37,6 @@ function FontLibraryProvider({
39
37
  });
40
38
  const globalStyles = useEntityRecord('root', 'globalStyles', globalStylesId);
41
39
  const fontFamiliesHasChanges = !!globalStyles?.edits?.settings?.typography?.fontFamilies;
42
- const {
43
- createErrorNotice
44
- } = useDispatch(noticesStore);
45
40
  const [isInstalling, setIsInstalling] = useState(false);
46
41
  const [refreshKey, setRefreshKey] = useState(0);
47
42
  const refreshLibrary = () => {
@@ -153,7 +148,8 @@ function FontLibraryProvider({
153
148
  // Prepare formData to install.
154
149
  const formData = makeFormDataFromFontFamilies(fonts);
155
150
  // Install the fonts (upload the font files to the server and create the post in the database).
156
- const fontsInstalled = await fetchInstallFonts(formData);
151
+ const response = await fetchInstallFonts(formData);
152
+ const fontsInstalled = response?.successes || [];
157
153
  // Get intersecting font faces between the fonts we tried to installed and the fonts that were installed
158
154
  // (to avoid activating a non installed font).
159
155
  const fontToBeActivated = getIntersectingFontFaces(fontsInstalled, fonts);
@@ -163,35 +159,33 @@ function FontLibraryProvider({
163
159
  saveSpecifiedEntityEdits('root', 'globalStyles', globalStylesId, ['settings.typography.fontFamilies']);
164
160
  refreshLibrary();
165
161
  setIsInstalling(false);
166
- return true;
167
- } catch (e) {
168
- // eslint-disable-next-line no-console
169
- console.error(e);
170
- createErrorNotice(__('Error installing fonts.'), {
171
- type: 'snackbar'
172
- });
162
+ return response;
163
+ } catch (error) {
173
164
  setIsInstalling(false);
174
- return false;
165
+ return {
166
+ errors: [error]
167
+ };
175
168
  }
176
169
  }
177
170
  async function uninstallFont(font) {
178
171
  try {
179
172
  // Uninstall the font (remove the font files from the server and the post from the database).
180
- await fetchUninstallFonts([font]);
173
+ const response = await fetchUninstallFonts([font]);
181
174
  // Deactivate the font family (remove the font family from the global styles).
182
- deactivateFontFamily(font);
183
- // Save the global styles to the database.
184
- await saveSpecifiedEntityEdits('root', 'globalStyles', globalStylesId, ['settings.typography.fontFamilies']);
175
+ if (!response.errors) {
176
+ deactivateFontFamily(font);
177
+ // Save the global styles to the database.
178
+ await saveSpecifiedEntityEdits('root', 'globalStyles', globalStylesId, ['settings.typography.fontFamilies']);
179
+ }
185
180
  // Refresh the library (the the library font families from database).
186
181
  refreshLibrary();
187
- return true;
188
- } catch (e) {
182
+ return response;
183
+ } catch (error) {
189
184
  // eslint-disable-next-line no-console
190
- console.error(e);
191
- createErrorNotice(__('Error uninstalling fonts.'), {
192
- type: 'snackbar'
193
- });
194
- return false;
185
+ console.error(error);
186
+ return {
187
+ errors: [error]
188
+ };
195
189
  }
196
190
  }
197
191
  const deactivateFontFamily = font => {
@@ -215,10 +209,12 @@ function FontLibraryProvider({
215
209
  });
216
210
  // Add custom fonts to the browser.
217
211
  fontsToAdd.forEach(font => {
218
- font.fontFace.forEach(face => {
219
- // Load font faces just in the iframe because they already are in the document.
220
- loadFontFaceInBrowser(face, getDisplaySrcFromFontFace(face.src), 'iframe');
221
- });
212
+ if (font.fontFace) {
213
+ font.fontFace.forEach(face => {
214
+ // Load font faces just in the iframe because they already are in the document.
215
+ loadFontFaceInBrowser(face, getDisplaySrcFromFontFace(face.src), 'iframe');
216
+ });
217
+ }
222
218
  });
223
219
  };
224
220
  const toggleActivateFont = (font, face) => {
@@ -240,7 +236,7 @@ function FontLibraryProvider({
240
236
  // Get the src of the font.
241
237
  const src = getDisplaySrcFromFontFace(fontFace.src, themeUrl);
242
238
  // If the font is already loaded, don't load it again.
243
- if (loadedFontUrls.has(src)) return;
239
+ if (!src || loadedFontUrls.has(src)) return;
244
240
  // Load the font in the browser.
245
241
  loadFontFaceInBrowser(fontFace, src, 'document');
246
242
  // Add the font to the loaded fonts list.
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","useState","useEffect","privateApis","blockEditorPrivateApis","useSelect","useDispatch","useEntityRecord","useEntityRecords","store","coreStore","noticesStore","__","fetchInstallFonts","fetchUninstallFonts","fetchFontCollections","fetchFontCollection","unlock","useGlobalSetting","setUIValuesNeeded","mergeFontFamilies","loadFontFaceInBrowser","getDisplaySrcFromFontFace","makeFormDataFromFontFamilies","toggleFont","getIntersectingFontFaces","FontLibraryContext","FontLibraryProvider","children","__experimentalSaveSpecifiedEntityEdits","saveSpecifiedEntityEdits","globalStylesId","select","__experimentalGetCurrentGlobalStylesId","globalStyles","fontFamiliesHasChanges","edits","settings","typography","fontFamilies","createErrorNotice","isInstalling","setIsInstalling","refreshKey","setRefreshKey","refreshLibrary","Date","now","records","libraryPosts","isResolving","isResolvingLibrary","hasResolved","hasResolvedLibrary","libraryFonts","map","post","JSON","parse","content","raw","setFontFamilies","baseFontFamilies","undefined","saveFontFamilies","modalTabOpen","setModalTabOpen","libraryFontSelected","setLibraryFontSelected","baseThemeFonts","theme","f","source","sort","a","b","name","localeCompare","themeFonts","customFonts","custom","baseCustomFonts","handleSetLibraryFontSelected","font","fonts","fontSelected","find","slug","toggleModal","tabName","loadedFontUrls","Set","site","currentTheme","getSite","getCurrentTheme","themeUrl","url","stylesheet","getAvailableFontsOutline","availableFontFamilies","outline","reduce","acc","availableFontFaces","Array","isArray","fontFace","face","fontStyle","fontWeight","getActivatedFontsOutline","isFontActivated","style","weight","includes","getFontFacesActivated","installFonts","formData","fontsInstalled","fontToBeActivated","activateCustomFontFamilies","e","console","error","type","uninstallFont","deactivateFontFamily","_fontFamilies$font$so","initialCustomFonts","newCustomFonts","filter","fontsToAdd","forEach","src","toggleActivateFont","_fontFamilies$font$so2","initialFonts","newFonts","loadFontFaceAsset","has","add","collections","setFontCollections","getFontCollections","response","getFontCollection","id","hasData","collection","data","updatedCollections","createElement","Provider","value"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/context.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createContext, useState, useEffect } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseEntityRecord,\n\tuseEntityRecords,\n\tstore as coreStore,\n} from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tfetchInstallFonts,\n\tfetchUninstallFonts,\n\tfetchFontCollections,\n\tfetchFontCollection,\n} from './resolvers';\nimport { unlock } from '../../../lock-unlock';\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\nimport {\n\tsetUIValuesNeeded,\n\tmergeFontFamilies,\n\tloadFontFaceInBrowser,\n\tgetDisplaySrcFromFontFace,\n\tmakeFormDataFromFontFamilies,\n} from './utils';\nimport { toggleFont } from './utils/toggleFont';\nimport getIntersectingFontFaces from './utils/get-intersecting-font-faces';\n\nexport const FontLibraryContext = createContext( {} );\n\nfunction FontLibraryProvider( { children } ) {\n\tconst { __experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits } =\n\t\tuseDispatch( coreStore );\n\tconst { globalStylesId } = useSelect( ( select ) => {\n\t\tconst { __experimentalGetCurrentGlobalStylesId } = select( coreStore );\n\t\treturn { globalStylesId: __experimentalGetCurrentGlobalStylesId() };\n\t} );\n\n\tconst globalStyles = useEntityRecord(\n\t\t'root',\n\t\t'globalStyles',\n\t\tglobalStylesId\n\t);\n\tconst fontFamiliesHasChanges =\n\t\t!! globalStyles?.edits?.settings?.typography?.fontFamilies;\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst [ isInstalling, setIsInstalling ] = useState( false );\n\tconst [ refreshKey, setRefreshKey ] = useState( 0 );\n\n\tconst refreshLibrary = () => {\n\t\tsetRefreshKey( Date.now() );\n\t};\n\n\tconst {\n\t\trecords: libraryPosts = [],\n\t\tisResolving: isResolvingLibrary,\n\t\thasResolved: hasResolvedLibrary,\n\t} = useEntityRecords( 'postType', 'wp_font_family', { refreshKey } );\n\n\tconst libraryFonts =\n\t\t( libraryPosts || [] ).map( ( post ) =>\n\t\t\tJSON.parse( post.content.raw )\n\t\t) || [];\n\n\t// Global Styles (settings) font families\n\tconst [ fontFamilies, setFontFamilies ] = useGlobalSetting(\n\t\t'typography.fontFamilies'\n\t);\n\t// theme.json file font families\n\tconst [ baseFontFamilies ] = useGlobalSetting(\n\t\t'typography.fontFamilies',\n\t\tundefined,\n\t\t'base'\n\t);\n\n\t// Save font families to the global styles post in the database.\n\tconst saveFontFamilies = () => {\n\t\tsaveSpecifiedEntityEdits( 'root', 'globalStyles', globalStylesId, [\n\t\t\t'settings.typography.fontFamilies',\n\t\t] );\n\t};\n\n\t// Library Fonts\n\tconst [ modalTabOpen, setModalTabOpen ] = useState( false );\n\tconst [ libraryFontSelected, setLibraryFontSelected ] = useState( null );\n\n\tconst baseThemeFonts = baseFontFamilies?.theme\n\t\t? baseFontFamilies.theme\n\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'theme' } ) )\n\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t: [];\n\n\tconst themeFonts = fontFamilies?.theme\n\t\t? fontFamilies.theme\n\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'theme' } ) )\n\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t: [];\n\n\tconst customFonts = fontFamilies?.custom\n\t\t? fontFamilies.custom\n\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'custom' } ) )\n\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t: [];\n\n\tconst baseCustomFonts = libraryFonts\n\t\t? libraryFonts\n\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'custom' } ) )\n\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t: [];\n\n\tuseEffect( () => {\n\t\tif ( ! modalTabOpen ) {\n\t\t\tsetLibraryFontSelected( null );\n\t\t}\n\t}, [ modalTabOpen ] );\n\n\tconst handleSetLibraryFontSelected = ( font ) => {\n\t\t// If font is null, reset the selected font\n\t\tif ( ! font ) {\n\t\t\tsetLibraryFontSelected( null );\n\t\t\treturn;\n\t\t}\n\n\t\tconst fonts =\n\t\t\tfont.source === 'theme' ? baseThemeFonts : baseCustomFonts;\n\n\t\t// Tries to find the font in the installed fonts\n\t\tconst fontSelected = fonts.find( ( f ) => f.slug === font.slug );\n\t\t// If the font is not found (it is only defined in custom styles), use the font from custom styles\n\t\tsetLibraryFontSelected( {\n\t\t\t...( fontSelected || font ),\n\t\t\tsource: font.source,\n\t\t} );\n\t};\n\n\tconst toggleModal = ( tabName ) => {\n\t\tsetModalTabOpen( tabName || null );\n\t};\n\n\t// Demo\n\tconst [ loadedFontUrls ] = useState( new Set() );\n\n\t// Theme data\n\tconst { site, currentTheme } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tsite: select( coreStore ).getSite(),\n\t\t\tcurrentTheme: select( coreStore ).getCurrentTheme(),\n\t\t};\n\t} );\n\tconst themeUrl =\n\t\tsite?.url + '/wp-content/themes/' + currentTheme?.stylesheet;\n\n\tconst getAvailableFontsOutline = ( availableFontFamilies ) => {\n\t\tconst outline = availableFontFamilies.reduce( ( acc, font ) => {\n\t\t\tconst availableFontFaces = Array.isArray( font?.fontFace )\n\t\t\t\t? font?.fontFace.map(\n\t\t\t\t\t\t( face ) => `${ face.fontStyle + face.fontWeight }`\n\t\t\t\t )\n\t\t\t\t: [ 'normal400' ]; // If the font doesn't have fontFace, we assume it is a system font and we add the defaults: normal 400\n\n\t\t\tacc[ font.slug ] = availableFontFaces;\n\t\t\treturn acc;\n\t\t}, {} );\n\t\treturn outline;\n\t};\n\n\tconst getActivatedFontsOutline = ( source ) => {\n\t\tswitch ( source ) {\n\t\t\tcase 'theme':\n\t\t\t\treturn getAvailableFontsOutline( themeFonts );\n\t\t\tcase 'custom':\n\t\t\tdefault:\n\t\t\t\treturn getAvailableFontsOutline( customFonts );\n\t\t}\n\t};\n\n\tconst isFontActivated = ( slug, style, weight, source ) => {\n\t\tif ( ! style && ! weight ) {\n\t\t\treturn !! getActivatedFontsOutline( source )[ slug ];\n\t\t}\n\t\treturn !! getActivatedFontsOutline( source )[ slug ]?.includes(\n\t\t\tstyle + weight\n\t\t);\n\t};\n\n\tconst getFontFacesActivated = ( slug, source ) => {\n\t\treturn getActivatedFontsOutline( source )[ slug ] || [];\n\t};\n\n\tasync function installFonts( fonts ) {\n\t\tsetIsInstalling( true );\n\t\ttry {\n\t\t\t// Prepare formData to install.\n\t\t\tconst formData = makeFormDataFromFontFamilies( fonts );\n\t\t\t// Install the fonts (upload the font files to the server and create the post in the database).\n\t\t\tconst fontsInstalled = await fetchInstallFonts( formData );\n\t\t\t// Get intersecting font faces between the fonts we tried to installed and the fonts that were installed\n\t\t\t// (to avoid activating a non installed font).\n\t\t\tconst fontToBeActivated = getIntersectingFontFaces(\n\t\t\t\tfontsInstalled,\n\t\t\t\tfonts\n\t\t\t);\n\t\t\t// Activate the font families (add the font families to the global styles).\n\t\t\tactivateCustomFontFamilies( fontToBeActivated );\n\t\t\t// Save the global styles to the database.\n\t\t\tsaveSpecifiedEntityEdits( 'root', 'globalStyles', globalStylesId, [\n\t\t\t\t'settings.typography.fontFamilies',\n\t\t\t] );\n\t\t\trefreshLibrary();\n\t\t\tsetIsInstalling( false );\n\t\t\treturn true;\n\t\t} catch ( e ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error( e );\n\t\t\tcreateErrorNotice( __( 'Error installing fonts.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t\tsetIsInstalling( false );\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tasync function uninstallFont( font ) {\n\t\ttry {\n\t\t\t// Uninstall the font (remove the font files from the server and the post from the database).\n\t\t\tawait fetchUninstallFonts( [ font ] );\n\t\t\t// Deactivate the font family (remove the font family from the global styles).\n\t\t\tdeactivateFontFamily( font );\n\t\t\t// Save the global styles to the database.\n\t\t\tawait saveSpecifiedEntityEdits(\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId,\n\t\t\t\t[ 'settings.typography.fontFamilies' ]\n\t\t\t);\n\t\t\t// Refresh the library (the the library font families from database).\n\t\t\trefreshLibrary();\n\t\t\treturn true;\n\t\t} catch ( e ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error( e );\n\t\t\tcreateErrorNotice( __( 'Error uninstalling fonts.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tconst deactivateFontFamily = ( font ) => {\n\t\t// If the user doesn't have custom fonts defined, include as custom fonts all the theme fonts\n\t\t// We want to save as active all the theme fonts at the beginning\n\t\tconst initialCustomFonts = fontFamilies?.[ font.source ] ?? [];\n\t\tconst newCustomFonts = initialCustomFonts.filter(\n\t\t\t( f ) => f.slug !== font.slug\n\t\t);\n\t\tsetFontFamilies( {\n\t\t\t...fontFamilies,\n\t\t\t[ font.source ]: newCustomFonts,\n\t\t} );\n\t};\n\n\tconst activateCustomFontFamilies = ( fontsToAdd ) => {\n\t\t// Merge the existing custom fonts with the new fonts.\n\t\tconst newCustomFonts = mergeFontFamilies(\n\t\t\tfontFamilies?.custom,\n\t\t\tfontsToAdd\n\t\t);\n\t\t// Activate the fonts by set the new custom fonts array.\n\t\tsetFontFamilies( {\n\t\t\t...fontFamilies,\n\t\t\tcustom: newCustomFonts,\n\t\t} );\n\t\t// Add custom fonts to the browser.\n\t\tfontsToAdd.forEach( ( font ) => {\n\t\t\tfont.fontFace.forEach( ( face ) => {\n\t\t\t\t// Load font faces just in the iframe because they already are in the document.\n\t\t\t\tloadFontFaceInBrowser(\n\t\t\t\t\tface,\n\t\t\t\t\tgetDisplaySrcFromFontFace( face.src ),\n\t\t\t\t\t'iframe'\n\t\t\t\t);\n\t\t\t} );\n\t\t} );\n\t};\n\n\tconst toggleActivateFont = ( font, face ) => {\n\t\t// If the user doesn't have custom fonts defined, include as custom fonts all the theme fonts\n\t\t// We want to save as active all the theme fonts at the beginning\n\t\tconst initialFonts = fontFamilies?.[ font.source ] ?? [];\n\t\t// Toggles the received font family or font face\n\t\tconst newFonts = toggleFont( font, face, initialFonts );\n\t\t// Updates the font families activated in global settings:\n\t\tsetFontFamilies( {\n\t\t\t...fontFamilies,\n\t\t\t[ font.source ]: newFonts,\n\t\t} );\n\t};\n\n\tconst loadFontFaceAsset = async ( fontFace ) => {\n\t\t// If the font doesn't have a src, don't load it.\n\t\tif ( ! fontFace.src ) return;\n\t\t// Get the src of the font.\n\t\tconst src = getDisplaySrcFromFontFace( fontFace.src, themeUrl );\n\t\t// If the font is already loaded, don't load it again.\n\t\tif ( loadedFontUrls.has( src ) ) return;\n\t\t// Load the font in the browser.\n\t\tloadFontFaceInBrowser( fontFace, src, 'document' );\n\t\t// Add the font to the loaded fonts list.\n\t\tloadedFontUrls.add( src );\n\t};\n\n\t// Font Collections\n\tconst [ collections, setFontCollections ] = useState( [] );\n\tconst getFontCollections = async () => {\n\t\tconst response = await fetchFontCollections();\n\t\tsetFontCollections( response );\n\t};\n\tconst getFontCollection = async ( id ) => {\n\t\tconst hasData = !! collections.find(\n\t\t\t( collection ) => collection.id === id\n\t\t)?.data;\n\t\tif ( hasData ) return;\n\t\tconst response = await fetchFontCollection( id );\n\t\tconst updatedCollections = collections.map( ( collection ) =>\n\t\t\tcollection.id === id\n\t\t\t\t? { ...collection, data: { ...response?.data } }\n\t\t\t\t: collection\n\t\t);\n\t\tsetFontCollections( updatedCollections );\n\t};\n\n\tuseEffect( () => {\n\t\tgetFontCollections();\n\t}, [] );\n\n\treturn (\n\t\t<FontLibraryContext.Provider\n\t\t\tvalue={ {\n\t\t\t\tlibraryFontSelected,\n\t\t\t\thandleSetLibraryFontSelected,\n\t\t\t\tthemeFonts,\n\t\t\t\tbaseThemeFonts,\n\t\t\t\tcustomFonts,\n\t\t\t\tbaseCustomFonts,\n\t\t\t\tisFontActivated,\n\t\t\t\tgetFontFacesActivated,\n\t\t\t\tloadFontFaceAsset,\n\t\t\t\tinstallFonts,\n\t\t\t\tuninstallFont,\n\t\t\t\ttoggleActivateFont,\n\t\t\t\tgetAvailableFontsOutline,\n\t\t\t\tmodalTabOpen,\n\t\t\t\ttoggleModal,\n\t\t\t\trefreshLibrary,\n\t\t\t\tsaveFontFamilies,\n\t\t\t\tfontFamiliesHasChanges,\n\t\t\t\tisResolvingLibrary,\n\t\t\t\thasResolvedLibrary,\n\t\t\t\tisInstalling,\n\t\t\t\tcollections,\n\t\t\t\tgetFontCollection,\n\t\t\t} }\n\t\t>\n\t\t\t{ children }\n\t\t</FontLibraryContext.Provider>\n\t);\n}\n\nexport default FontLibraryProvider;\n"],"mappings":"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"}
1
+ {"version":3,"names":["createContext","useState","useEffect","privateApis","blockEditorPrivateApis","useSelect","useDispatch","useEntityRecord","useEntityRecords","store","coreStore","fetchInstallFonts","fetchUninstallFonts","fetchFontCollections","fetchFontCollection","unlock","useGlobalSetting","setUIValuesNeeded","mergeFontFamilies","loadFontFaceInBrowser","getDisplaySrcFromFontFace","makeFormDataFromFontFamilies","toggleFont","getIntersectingFontFaces","FontLibraryContext","FontLibraryProvider","children","__experimentalSaveSpecifiedEntityEdits","saveSpecifiedEntityEdits","globalStylesId","select","__experimentalGetCurrentGlobalStylesId","globalStyles","fontFamiliesHasChanges","edits","settings","typography","fontFamilies","isInstalling","setIsInstalling","refreshKey","setRefreshKey","refreshLibrary","Date","now","records","libraryPosts","isResolving","isResolvingLibrary","hasResolved","hasResolvedLibrary","libraryFonts","map","post","JSON","parse","content","raw","setFontFamilies","baseFontFamilies","undefined","saveFontFamilies","modalTabOpen","setModalTabOpen","libraryFontSelected","setLibraryFontSelected","baseThemeFonts","theme","f","source","sort","a","b","name","localeCompare","themeFonts","customFonts","custom","baseCustomFonts","handleSetLibraryFontSelected","font","fonts","fontSelected","find","slug","toggleModal","tabName","loadedFontUrls","Set","site","currentTheme","getSite","getCurrentTheme","themeUrl","url","stylesheet","getAvailableFontsOutline","availableFontFamilies","outline","reduce","acc","availableFontFaces","Array","isArray","fontFace","face","fontStyle","fontWeight","getActivatedFontsOutline","isFontActivated","style","weight","includes","getFontFacesActivated","installFonts","formData","response","fontsInstalled","successes","fontToBeActivated","activateCustomFontFamilies","error","errors","uninstallFont","deactivateFontFamily","console","_fontFamilies$font$so","initialCustomFonts","newCustomFonts","filter","fontsToAdd","forEach","src","toggleActivateFont","_fontFamilies$font$so2","initialFonts","newFonts","loadFontFaceAsset","has","add","collections","setFontCollections","getFontCollections","getFontCollection","id","hasData","collection","data","updatedCollections","createElement","Provider","value"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/context.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createContext, useState, useEffect } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseEntityRecord,\n\tuseEntityRecords,\n\tstore as coreStore,\n} from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tfetchInstallFonts,\n\tfetchUninstallFonts,\n\tfetchFontCollections,\n\tfetchFontCollection,\n} from './resolvers';\nimport { unlock } from '../../../lock-unlock';\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\nimport {\n\tsetUIValuesNeeded,\n\tmergeFontFamilies,\n\tloadFontFaceInBrowser,\n\tgetDisplaySrcFromFontFace,\n\tmakeFormDataFromFontFamilies,\n} from './utils';\nimport { toggleFont } from './utils/toggleFont';\nimport getIntersectingFontFaces from './utils/get-intersecting-font-faces';\n\nexport const FontLibraryContext = createContext( {} );\n\nfunction FontLibraryProvider( { children } ) {\n\tconst { __experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits } =\n\t\tuseDispatch( coreStore );\n\tconst { globalStylesId } = useSelect( ( select ) => {\n\t\tconst { __experimentalGetCurrentGlobalStylesId } = select( coreStore );\n\t\treturn { globalStylesId: __experimentalGetCurrentGlobalStylesId() };\n\t} );\n\n\tconst globalStyles = useEntityRecord(\n\t\t'root',\n\t\t'globalStyles',\n\t\tglobalStylesId\n\t);\n\tconst fontFamiliesHasChanges =\n\t\t!! globalStyles?.edits?.settings?.typography?.fontFamilies;\n\n\tconst [ isInstalling, setIsInstalling ] = useState( false );\n\tconst [ refreshKey, setRefreshKey ] = useState( 0 );\n\n\tconst refreshLibrary = () => {\n\t\tsetRefreshKey( Date.now() );\n\t};\n\n\tconst {\n\t\trecords: libraryPosts = [],\n\t\tisResolving: isResolvingLibrary,\n\t\thasResolved: hasResolvedLibrary,\n\t} = useEntityRecords( 'postType', 'wp_font_family', { refreshKey } );\n\n\tconst libraryFonts =\n\t\t( libraryPosts || [] ).map( ( post ) =>\n\t\t\tJSON.parse( post.content.raw )\n\t\t) || [];\n\n\t// Global Styles (settings) font families\n\tconst [ fontFamilies, setFontFamilies ] = useGlobalSetting(\n\t\t'typography.fontFamilies'\n\t);\n\t// theme.json file font families\n\tconst [ baseFontFamilies ] = useGlobalSetting(\n\t\t'typography.fontFamilies',\n\t\tundefined,\n\t\t'base'\n\t);\n\n\t// Save font families to the global styles post in the database.\n\tconst saveFontFamilies = () => {\n\t\tsaveSpecifiedEntityEdits( 'root', 'globalStyles', globalStylesId, [\n\t\t\t'settings.typography.fontFamilies',\n\t\t] );\n\t};\n\n\t// Library Fonts\n\tconst [ modalTabOpen, setModalTabOpen ] = useState( false );\n\tconst [ libraryFontSelected, setLibraryFontSelected ] = useState( null );\n\n\tconst baseThemeFonts = baseFontFamilies?.theme\n\t\t? baseFontFamilies.theme\n\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'theme' } ) )\n\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t: [];\n\n\tconst themeFonts = fontFamilies?.theme\n\t\t? fontFamilies.theme\n\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'theme' } ) )\n\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t: [];\n\n\tconst customFonts = fontFamilies?.custom\n\t\t? fontFamilies.custom\n\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'custom' } ) )\n\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t: [];\n\n\tconst baseCustomFonts = libraryFonts\n\t\t? libraryFonts\n\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'custom' } ) )\n\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t: [];\n\n\tuseEffect( () => {\n\t\tif ( ! modalTabOpen ) {\n\t\t\tsetLibraryFontSelected( null );\n\t\t}\n\t}, [ modalTabOpen ] );\n\n\tconst handleSetLibraryFontSelected = ( font ) => {\n\t\t// If font is null, reset the selected font\n\t\tif ( ! font ) {\n\t\t\tsetLibraryFontSelected( null );\n\t\t\treturn;\n\t\t}\n\n\t\tconst fonts =\n\t\t\tfont.source === 'theme' ? baseThemeFonts : baseCustomFonts;\n\n\t\t// Tries to find the font in the installed fonts\n\t\tconst fontSelected = fonts.find( ( f ) => f.slug === font.slug );\n\t\t// If the font is not found (it is only defined in custom styles), use the font from custom styles\n\t\tsetLibraryFontSelected( {\n\t\t\t...( fontSelected || font ),\n\t\t\tsource: font.source,\n\t\t} );\n\t};\n\n\tconst toggleModal = ( tabName ) => {\n\t\tsetModalTabOpen( tabName || null );\n\t};\n\n\t// Demo\n\tconst [ loadedFontUrls ] = useState( new Set() );\n\n\t// Theme data\n\tconst { site, currentTheme } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tsite: select( coreStore ).getSite(),\n\t\t\tcurrentTheme: select( coreStore ).getCurrentTheme(),\n\t\t};\n\t} );\n\tconst themeUrl =\n\t\tsite?.url + '/wp-content/themes/' + currentTheme?.stylesheet;\n\n\tconst getAvailableFontsOutline = ( availableFontFamilies ) => {\n\t\tconst outline = availableFontFamilies.reduce( ( acc, font ) => {\n\t\t\tconst availableFontFaces = Array.isArray( font?.fontFace )\n\t\t\t\t? font?.fontFace.map(\n\t\t\t\t\t\t( face ) => `${ face.fontStyle + face.fontWeight }`\n\t\t\t\t )\n\t\t\t\t: [ 'normal400' ]; // If the font doesn't have fontFace, we assume it is a system font and we add the defaults: normal 400\n\n\t\t\tacc[ font.slug ] = availableFontFaces;\n\t\t\treturn acc;\n\t\t}, {} );\n\t\treturn outline;\n\t};\n\n\tconst getActivatedFontsOutline = ( source ) => {\n\t\tswitch ( source ) {\n\t\t\tcase 'theme':\n\t\t\t\treturn getAvailableFontsOutline( themeFonts );\n\t\t\tcase 'custom':\n\t\t\tdefault:\n\t\t\t\treturn getAvailableFontsOutline( customFonts );\n\t\t}\n\t};\n\n\tconst isFontActivated = ( slug, style, weight, source ) => {\n\t\tif ( ! style && ! weight ) {\n\t\t\treturn !! getActivatedFontsOutline( source )[ slug ];\n\t\t}\n\t\treturn !! getActivatedFontsOutline( source )[ slug ]?.includes(\n\t\t\tstyle + weight\n\t\t);\n\t};\n\n\tconst getFontFacesActivated = ( slug, source ) => {\n\t\treturn getActivatedFontsOutline( source )[ slug ] || [];\n\t};\n\n\tasync function installFonts( fonts ) {\n\t\tsetIsInstalling( true );\n\t\ttry {\n\t\t\t// Prepare formData to install.\n\t\t\tconst formData = makeFormDataFromFontFamilies( fonts );\n\t\t\t// Install the fonts (upload the font files to the server and create the post in the database).\n\t\t\tconst response = await fetchInstallFonts( formData );\n\t\t\tconst fontsInstalled = response?.successes || [];\n\t\t\t// Get intersecting font faces between the fonts we tried to installed and the fonts that were installed\n\t\t\t// (to avoid activating a non installed font).\n\t\t\tconst fontToBeActivated = getIntersectingFontFaces(\n\t\t\t\tfontsInstalled,\n\t\t\t\tfonts\n\t\t\t);\n\t\t\t// Activate the font families (add the font families to the global styles).\n\t\t\tactivateCustomFontFamilies( fontToBeActivated );\n\t\t\t// Save the global styles to the database.\n\t\t\tsaveSpecifiedEntityEdits( 'root', 'globalStyles', globalStylesId, [\n\t\t\t\t'settings.typography.fontFamilies',\n\t\t\t] );\n\t\t\trefreshLibrary();\n\t\t\tsetIsInstalling( false );\n\n\t\t\treturn response;\n\t\t} catch ( error ) {\n\t\t\tsetIsInstalling( false );\n\t\t\treturn {\n\t\t\t\terrors: [ error ],\n\t\t\t};\n\t\t}\n\t}\n\n\tasync function uninstallFont( font ) {\n\t\ttry {\n\t\t\t// Uninstall the font (remove the font files from the server and the post from the database).\n\t\t\tconst response = await fetchUninstallFonts( [ font ] );\n\t\t\t// Deactivate the font family (remove the font family from the global styles).\n\t\t\tif ( ! response.errors ) {\n\t\t\t\tdeactivateFontFamily( font );\n\t\t\t\t// Save the global styles to the database.\n\t\t\t\tawait saveSpecifiedEntityEdits(\n\t\t\t\t\t'root',\n\t\t\t\t\t'globalStyles',\n\t\t\t\t\tglobalStylesId,\n\t\t\t\t\t[ 'settings.typography.fontFamilies' ]\n\t\t\t\t);\n\t\t\t}\n\t\t\t// Refresh the library (the the library font families from database).\n\t\t\trefreshLibrary();\n\t\t\treturn response;\n\t\t} catch ( error ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error( error );\n\t\t\treturn {\n\t\t\t\terrors: [ error ],\n\t\t\t};\n\t\t}\n\t}\n\n\tconst deactivateFontFamily = ( font ) => {\n\t\t// If the user doesn't have custom fonts defined, include as custom fonts all the theme fonts\n\t\t// We want to save as active all the theme fonts at the beginning\n\t\tconst initialCustomFonts = fontFamilies?.[ font.source ] ?? [];\n\t\tconst newCustomFonts = initialCustomFonts.filter(\n\t\t\t( f ) => f.slug !== font.slug\n\t\t);\n\t\tsetFontFamilies( {\n\t\t\t...fontFamilies,\n\t\t\t[ font.source ]: newCustomFonts,\n\t\t} );\n\t};\n\n\tconst activateCustomFontFamilies = ( fontsToAdd ) => {\n\t\t// Merge the existing custom fonts with the new fonts.\n\t\tconst newCustomFonts = mergeFontFamilies(\n\t\t\tfontFamilies?.custom,\n\t\t\tfontsToAdd\n\t\t);\n\t\t// Activate the fonts by set the new custom fonts array.\n\t\tsetFontFamilies( {\n\t\t\t...fontFamilies,\n\t\t\tcustom: newCustomFonts,\n\t\t} );\n\t\t// Add custom fonts to the browser.\n\t\tfontsToAdd.forEach( ( font ) => {\n\t\t\tif ( font.fontFace ) {\n\t\t\t\tfont.fontFace.forEach( ( face ) => {\n\t\t\t\t\t// Load font faces just in the iframe because they already are in the document.\n\t\t\t\t\tloadFontFaceInBrowser(\n\t\t\t\t\t\tface,\n\t\t\t\t\t\tgetDisplaySrcFromFontFace( face.src ),\n\t\t\t\t\t\t'iframe'\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t};\n\n\tconst toggleActivateFont = ( font, face ) => {\n\t\t// If the user doesn't have custom fonts defined, include as custom fonts all the theme fonts\n\t\t// We want to save as active all the theme fonts at the beginning\n\t\tconst initialFonts = fontFamilies?.[ font.source ] ?? [];\n\t\t// Toggles the received font family or font face\n\t\tconst newFonts = toggleFont( font, face, initialFonts );\n\t\t// Updates the font families activated in global settings:\n\t\tsetFontFamilies( {\n\t\t\t...fontFamilies,\n\t\t\t[ font.source ]: newFonts,\n\t\t} );\n\t};\n\n\tconst loadFontFaceAsset = async ( fontFace ) => {\n\t\t// If the font doesn't have a src, don't load it.\n\t\tif ( ! fontFace.src ) return;\n\t\t// Get the src of the font.\n\t\tconst src = getDisplaySrcFromFontFace( fontFace.src, themeUrl );\n\t\t// If the font is already loaded, don't load it again.\n\t\tif ( ! src || loadedFontUrls.has( src ) ) return;\n\t\t// Load the font in the browser.\n\t\tloadFontFaceInBrowser( fontFace, src, 'document' );\n\t\t// Add the font to the loaded fonts list.\n\t\tloadedFontUrls.add( src );\n\t};\n\n\t// Font Collections\n\tconst [ collections, setFontCollections ] = useState( [] );\n\tconst getFontCollections = async () => {\n\t\tconst response = await fetchFontCollections();\n\t\tsetFontCollections( response );\n\t};\n\tconst getFontCollection = async ( id ) => {\n\t\tconst hasData = !! collections.find(\n\t\t\t( collection ) => collection.id === id\n\t\t)?.data;\n\t\tif ( hasData ) return;\n\t\tconst response = await fetchFontCollection( id );\n\t\tconst updatedCollections = collections.map( ( collection ) =>\n\t\t\tcollection.id === id\n\t\t\t\t? { ...collection, data: { ...response?.data } }\n\t\t\t\t: collection\n\t\t);\n\t\tsetFontCollections( updatedCollections );\n\t};\n\n\tuseEffect( () => {\n\t\tgetFontCollections();\n\t}, [] );\n\n\treturn (\n\t\t<FontLibraryContext.Provider\n\t\t\tvalue={ {\n\t\t\t\tlibraryFontSelected,\n\t\t\t\thandleSetLibraryFontSelected,\n\t\t\t\tthemeFonts,\n\t\t\t\tbaseThemeFonts,\n\t\t\t\tcustomFonts,\n\t\t\t\tbaseCustomFonts,\n\t\t\t\tisFontActivated,\n\t\t\t\tgetFontFacesActivated,\n\t\t\t\tloadFontFaceAsset,\n\t\t\t\tinstallFonts,\n\t\t\t\tuninstallFont,\n\t\t\t\ttoggleActivateFont,\n\t\t\t\tgetAvailableFontsOutline,\n\t\t\t\tmodalTabOpen,\n\t\t\t\ttoggleModal,\n\t\t\t\trefreshLibrary,\n\t\t\t\tsaveFontFamilies,\n\t\t\t\tfontFamiliesHasChanges,\n\t\t\t\tisResolvingLibrary,\n\t\t\t\thasResolvedLibrary,\n\t\t\t\tisInstalling,\n\t\t\t\tcollections,\n\t\t\t\tgetFontCollection,\n\t\t\t} }\n\t\t>\n\t\t\t{ children }\n\t\t</FontLibraryContext.Provider>\n\t);\n}\n\nexport default FontLibraryProvider;\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */