@wordpress/edit-site 5.30.0 → 5.32.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 (470) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/block-editor/editor-canvas.js +24 -4
  3. package/build/components/block-editor/editor-canvas.js.map +1 -1
  4. package/build/components/block-editor/site-editor-canvas.js +15 -4
  5. package/build/components/block-editor/site-editor-canvas.js.map +1 -1
  6. package/build/components/block-editor/use-site-editor-settings.js +1 -1
  7. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  8. package/build/components/editor/index.js +12 -3
  9. package/build/components/editor/index.js.map +1 -1
  10. package/build/components/editor-canvas-container/index.js +1 -2
  11. package/build/components/editor-canvas-container/index.js.map +1 -1
  12. package/build/components/global-styles/background-panel.js +38 -0
  13. package/build/components/global-styles/background-panel.js.map +1 -0
  14. package/build/components/global-styles/color-palette-panel.js +0 -9
  15. package/build/components/global-styles/color-palette-panel.js.map +1 -1
  16. package/build/components/global-styles/font-families.js +1 -1
  17. package/build/components/global-styles/font-families.js.map +1 -1
  18. package/build/components/global-styles/font-library-modal/context.js +53 -17
  19. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  20. package/build/components/global-styles/font-library-modal/font-collection.js +4 -3
  21. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  22. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +3 -2
  23. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
  24. package/build/components/global-styles/font-library-modal/installed-fonts.js +1 -1
  25. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  26. package/build/components/global-styles/font-library-modal/upload-fonts.js +44 -10
  27. package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  28. package/build/components/global-styles/font-library-modal/utils/index.js +22 -4
  29. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  30. package/build/components/global-styles/font-library-modal/utils/preview-styles.js +3 -0
  31. package/build/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
  32. package/build/components/global-styles/header.js +1 -1
  33. package/build/components/global-styles/header.js.map +1 -1
  34. package/build/components/global-styles/hooks.js +50 -1
  35. package/build/components/global-styles/hooks.js.map +1 -1
  36. package/build/components/global-styles/palette.js +3 -1
  37. package/build/components/global-styles/palette.js.map +1 -1
  38. package/build/components/global-styles/preview-colors.js +2 -2
  39. package/build/components/global-styles/preview-colors.js.map +1 -1
  40. package/build/components/global-styles/preview-iframe.js +0 -1
  41. package/build/components/global-styles/preview-iframe.js.map +1 -1
  42. package/build/components/global-styles/preview-styles.js +2 -2
  43. package/build/components/global-styles/preview-styles.js.map +1 -1
  44. package/build/components/global-styles/root-menu.js +8 -2
  45. package/build/components/global-styles/root-menu.js.map +1 -1
  46. package/build/components/global-styles/screen-background.js +34 -0
  47. package/build/components/global-styles/screen-background.js.map +1 -0
  48. package/build/components/global-styles/screen-color-palette.js +2 -2
  49. package/build/components/global-styles/screen-color-palette.js.map +1 -1
  50. package/build/components/global-styles/screen-colors.js +5 -10
  51. package/build/components/global-styles/screen-colors.js.map +1 -1
  52. package/build/components/global-styles/screen-style-variations.js +3 -37
  53. package/build/components/global-styles/screen-style-variations.js.map +1 -1
  54. package/build/components/global-styles/screen-typography.js +6 -11
  55. package/build/components/global-styles/screen-typography.js.map +1 -1
  56. package/build/components/global-styles/style-variations-container.js +5 -2
  57. package/build/components/global-styles/style-variations-container.js.map +1 -1
  58. package/build/components/global-styles/typography-elements.js +3 -1
  59. package/build/components/global-styles/typography-elements.js.map +1 -1
  60. package/build/components/global-styles/{preview-typography.js → typography-example.js} +4 -2
  61. package/build/components/global-styles/typography-example.js.map +1 -0
  62. package/build/components/global-styles/typography-preview.js +3 -1
  63. package/build/components/global-styles/typography-preview.js.map +1 -1
  64. package/build/components/global-styles/ui.js +4 -1
  65. package/build/components/global-styles/ui.js.map +1 -1
  66. package/build/components/global-styles/utils.js +1 -1
  67. package/build/components/global-styles/utils.js.map +1 -1
  68. package/build/components/global-styles/variations/variations-color.js +13 -7
  69. package/build/components/global-styles/variations/variations-color.js.map +1 -1
  70. package/build/components/global-styles/variations/variations-typography.js +34 -37
  71. package/build/components/global-styles/variations/variations-typography.js.map +1 -1
  72. package/build/components/header-edit-mode/index.js +2 -1
  73. package/build/components/header-edit-mode/index.js.map +1 -1
  74. package/build/components/keyboard-shortcut-help-modal/config.js +6 -0
  75. package/build/components/keyboard-shortcut-help-modal/config.js.map +1 -1
  76. package/build/components/keyboard-shortcut-help-modal/index.js +3 -0
  77. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  78. package/build/components/keyboard-shortcuts/global.js +17 -3
  79. package/build/components/keyboard-shortcuts/global.js.map +1 -1
  80. package/build/components/layout/animation.js +129 -0
  81. package/build/components/layout/animation.js.map +1 -0
  82. package/build/components/layout/index.js +9 -17
  83. package/build/components/layout/index.js.map +1 -1
  84. package/build/components/layout/router.js +22 -22
  85. package/build/components/layout/router.js.map +1 -1
  86. package/build/components/page-pages/index.js +24 -27
  87. package/build/components/page-pages/index.js.map +1 -1
  88. package/build/components/page-patterns/delete-category-menu-item.js +6 -1
  89. package/build/components/page-patterns/delete-category-menu-item.js.map +1 -1
  90. package/build/components/page-patterns/index.js +19 -32
  91. package/build/components/page-patterns/index.js.map +1 -1
  92. package/build/components/page-patterns/search-items.js +16 -58
  93. package/build/components/page-patterns/search-items.js.map +1 -1
  94. package/build/components/page-patterns/use-patterns.js +9 -9
  95. package/build/components/page-patterns/use-patterns.js.map +1 -1
  96. package/build/components/page-templates-template-parts/actions.js +54 -41
  97. package/build/components/page-templates-template-parts/actions.js.map +1 -1
  98. package/build/components/page-templates-template-parts/index.js +31 -69
  99. package/build/components/page-templates-template-parts/index.js.map +1 -1
  100. package/build/components/plugin-template-setting-panel/index.js +12 -1
  101. package/build/components/plugin-template-setting-panel/index.js.map +1 -1
  102. package/build/components/save-button/index.js +45 -16
  103. package/build/components/save-button/index.js.map +1 -1
  104. package/build/components/save-hub/index.js +8 -112
  105. package/build/components/save-hub/index.js.map +1 -1
  106. package/build/components/save-panel/index.js +14 -9
  107. package/build/components/save-panel/index.js.map +1 -1
  108. package/build/components/sidebar/index.js +3 -8
  109. package/build/components/sidebar/index.js.map +1 -1
  110. package/build/components/sidebar-dataviews/custom-dataviews-list.js +2 -2
  111. package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
  112. package/build/components/sidebar-dataviews/dataview-item.js +2 -2
  113. package/build/components/sidebar-dataviews/dataview-item.js.map +1 -1
  114. package/build/components/sidebar-dataviews/default-views.js +3 -3
  115. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  116. package/build/components/sidebar-dataviews/index.js +5 -4
  117. package/build/components/sidebar-dataviews/index.js.map +1 -1
  118. package/build/components/sidebar-edit-mode/index.js +1 -2
  119. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  120. package/build/components/sidebar-edit-mode/page-panels/index.js +7 -17
  121. package/build/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
  122. package/build/components/sidebar-edit-mode/page-panels/page-content.js +7 -5
  123. package/build/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -1
  124. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +3 -1
  125. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  126. package/build/components/sidebar-edit-mode/template-panel/index.js +32 -18
  127. package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  128. package/build/components/sidebar-navigation-screen-details-footer/index.js +5 -1
  129. package/build/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
  130. package/build/components/sidebar-navigation-screen-global-styles/index.js +18 -1
  131. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  132. package/build/components/sidebar-navigation-screen-navigation-menu/{delete-modal.js → delete-confirm-dialog.js} +4 -5
  133. package/build/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js.map +1 -0
  134. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js +6 -6
  135. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  136. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +1 -1
  137. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  138. package/build/components/sidebar-navigation-screen-patterns/index.js +1 -5
  139. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  140. package/build/components/sidebar-navigation-screen-template/index.js +5 -1
  141. package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
  142. package/build/components/sidebar-navigation-screen-templates-browse/content.js +2 -2
  143. package/build/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  144. package/build/components/style-book/index.js +1 -1
  145. package/build/components/style-book/index.js.map +1 -1
  146. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +3 -3
  147. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  148. package/build/components/sync-state-with-url/use-sync-path-with-url.js +1 -11
  149. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  150. package/build/components/template-actions/index.js +44 -27
  151. package/build/components/template-actions/index.js.map +1 -1
  152. package/build/components/welcome-guide/editor.js +11 -2
  153. package/build/components/welcome-guide/editor.js.map +1 -1
  154. package/build/hooks/index.js +0 -1
  155. package/build/hooks/index.js.map +1 -1
  156. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +15 -2
  157. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
  158. package/build/store/selectors.js +1 -9
  159. package/build/store/selectors.js.map +1 -1
  160. package/build/utils/constants.js +5 -3
  161. package/build/utils/constants.js.map +1 -1
  162. package/build/utils/get-is-list-page.js +1 -1
  163. package/build/utils/get-is-list-page.js.map +1 -1
  164. package/build/utils/math.js +98 -0
  165. package/build/utils/math.js.map +1 -0
  166. package/build-module/components/block-editor/editor-canvas.js +24 -4
  167. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  168. package/build-module/components/block-editor/site-editor-canvas.js +15 -4
  169. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
  170. package/build-module/components/block-editor/use-site-editor-settings.js +1 -1
  171. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  172. package/build-module/components/editor/index.js +13 -4
  173. package/build-module/components/editor/index.js.map +1 -1
  174. package/build-module/components/editor-canvas-container/index.js +1 -2
  175. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  176. package/build-module/components/global-styles/background-panel.js +31 -0
  177. package/build-module/components/global-styles/background-panel.js.map +1 -0
  178. package/build-module/components/global-styles/color-palette-panel.js +0 -8
  179. package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
  180. package/build-module/components/global-styles/font-families.js +1 -1
  181. package/build-module/components/global-styles/font-families.js.map +1 -1
  182. package/build-module/components/global-styles/font-library-modal/context.js +54 -18
  183. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  184. package/build-module/components/global-styles/font-library-modal/font-collection.js +4 -3
  185. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  186. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +4 -3
  187. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
  188. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +1 -1
  189. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  190. package/build-module/components/global-styles/font-library-modal/upload-fonts.js +44 -10
  191. package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  192. package/build-module/components/global-styles/font-library-modal/utils/index.js +22 -4
  193. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  194. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js +3 -0
  195. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
  196. package/build-module/components/global-styles/header.js +1 -1
  197. package/build-module/components/global-styles/header.js.map +1 -1
  198. package/build-module/components/global-styles/hooks.js +48 -1
  199. package/build-module/components/global-styles/hooks.js.map +1 -1
  200. package/build-module/components/global-styles/palette.js +3 -1
  201. package/build-module/components/global-styles/palette.js.map +1 -1
  202. package/build-module/components/global-styles/preview-colors.js +2 -2
  203. package/build-module/components/global-styles/preview-colors.js.map +1 -1
  204. package/build-module/components/global-styles/preview-iframe.js +0 -1
  205. package/build-module/components/global-styles/preview-iframe.js.map +1 -1
  206. package/build-module/components/global-styles/preview-styles.js +2 -2
  207. package/build-module/components/global-styles/preview-styles.js.map +1 -1
  208. package/build-module/components/global-styles/root-menu.js +9 -3
  209. package/build-module/components/global-styles/root-menu.js.map +1 -1
  210. package/build-module/components/global-styles/screen-background.js +26 -0
  211. package/build-module/components/global-styles/screen-background.js.map +1 -0
  212. package/build-module/components/global-styles/screen-color-palette.js +2 -2
  213. package/build-module/components/global-styles/screen-color-palette.js.map +1 -1
  214. package/build-module/components/global-styles/screen-colors.js +5 -10
  215. package/build-module/components/global-styles/screen-colors.js.map +1 -1
  216. package/build-module/components/global-styles/screen-style-variations.js +4 -38
  217. package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
  218. package/build-module/components/global-styles/screen-typography.js +6 -11
  219. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  220. package/build-module/components/global-styles/style-variations-container.js +5 -2
  221. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  222. package/build-module/components/global-styles/typography-elements.js +3 -1
  223. package/build-module/components/global-styles/typography-elements.js.map +1 -1
  224. package/build-module/components/global-styles/{preview-typography.js → typography-example.js} +4 -2
  225. package/build-module/components/global-styles/typography-example.js.map +1 -0
  226. package/build-module/components/global-styles/typography-preview.js +3 -1
  227. package/build-module/components/global-styles/typography-preview.js.map +1 -1
  228. package/build-module/components/global-styles/ui.js +4 -1
  229. package/build-module/components/global-styles/ui.js.map +1 -1
  230. package/build-module/components/global-styles/utils.js +1 -1
  231. package/build-module/components/global-styles/utils.js.map +1 -1
  232. package/build-module/components/global-styles/variations/variations-color.js +13 -7
  233. package/build-module/components/global-styles/variations/variations-color.js.map +1 -1
  234. package/build-module/components/global-styles/variations/variations-typography.js +35 -38
  235. package/build-module/components/global-styles/variations/variations-typography.js.map +1 -1
  236. package/build-module/components/header-edit-mode/index.js +2 -1
  237. package/build-module/components/header-edit-mode/index.js.map +1 -1
  238. package/build-module/components/keyboard-shortcut-help-modal/config.js +6 -0
  239. package/build-module/components/keyboard-shortcut-help-modal/config.js.map +1 -1
  240. package/build-module/components/keyboard-shortcut-help-modal/index.js +3 -0
  241. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  242. package/build-module/components/keyboard-shortcuts/global.js +17 -3
  243. package/build-module/components/keyboard-shortcuts/global.js.map +1 -1
  244. package/build-module/components/layout/animation.js +122 -0
  245. package/build-module/components/layout/animation.js.map +1 -0
  246. package/build-module/components/layout/index.js +9 -17
  247. package/build-module/components/layout/index.js.map +1 -1
  248. package/build-module/components/layout/router.js +22 -22
  249. package/build-module/components/layout/router.js.map +1 -1
  250. package/build-module/components/page-pages/index.js +25 -28
  251. package/build-module/components/page-pages/index.js.map +1 -1
  252. package/build-module/components/page-patterns/delete-category-menu-item.js +6 -1
  253. package/build-module/components/page-patterns/delete-category-menu-item.js.map +1 -1
  254. package/build-module/components/page-patterns/index.js +21 -34
  255. package/build-module/components/page-patterns/index.js.map +1 -1
  256. package/build-module/components/page-patterns/search-items.js +14 -55
  257. package/build-module/components/page-patterns/search-items.js.map +1 -1
  258. package/build-module/components/page-patterns/use-patterns.js +9 -9
  259. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  260. package/build-module/components/page-templates-template-parts/actions.js +54 -40
  261. package/build-module/components/page-templates-template-parts/actions.js.map +1 -1
  262. package/build-module/components/page-templates-template-parts/index.js +34 -72
  263. package/build-module/components/page-templates-template-parts/index.js.map +1 -1
  264. package/build-module/components/plugin-template-setting-panel/index.js +12 -1
  265. package/build-module/components/plugin-template-setting-panel/index.js.map +1 -1
  266. package/build-module/components/save-button/index.js +46 -17
  267. package/build-module/components/save-button/index.js.map +1 -1
  268. package/build-module/components/save-hub/index.js +10 -114
  269. package/build-module/components/save-hub/index.js.map +1 -1
  270. package/build-module/components/save-panel/index.js +14 -9
  271. package/build-module/components/save-panel/index.js.map +1 -1
  272. package/build-module/components/sidebar/index.js +3 -8
  273. package/build-module/components/sidebar/index.js.map +1 -1
  274. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +2 -2
  275. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
  276. package/build-module/components/sidebar-dataviews/dataview-item.js +2 -2
  277. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
  278. package/build-module/components/sidebar-dataviews/default-views.js +4 -4
  279. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  280. package/build-module/components/sidebar-dataviews/index.js +5 -4
  281. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  282. package/build-module/components/sidebar-edit-mode/index.js +1 -2
  283. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  284. package/build-module/components/sidebar-edit-mode/page-panels/index.js +10 -20
  285. package/build-module/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
  286. package/build-module/components/sidebar-edit-mode/page-panels/page-content.js +7 -5
  287. package/build-module/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -1
  288. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +4 -2
  289. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  290. package/build-module/components/sidebar-edit-mode/template-panel/index.js +33 -19
  291. package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  292. package/build-module/components/sidebar-navigation-screen-details-footer/index.js +5 -1
  293. package/build-module/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
  294. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +19 -2
  295. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  296. package/build-module/components/sidebar-navigation-screen-navigation-menu/{delete-modal.js → delete-confirm-dialog.js} +3 -4
  297. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js.map +1 -0
  298. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js +6 -6
  299. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  300. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +1 -1
  301. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  302. package/build-module/components/sidebar-navigation-screen-patterns/index.js +1 -5
  303. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  304. package/build-module/components/sidebar-navigation-screen-template/index.js +5 -1
  305. package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
  306. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +2 -2
  307. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  308. package/build-module/components/style-book/index.js +1 -1
  309. package/build-module/components/style-book/index.js.map +1 -1
  310. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +3 -3
  311. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  312. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +1 -11
  313. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  314. package/build-module/components/template-actions/index.js +44 -27
  315. package/build-module/components/template-actions/index.js.map +1 -1
  316. package/build-module/components/welcome-guide/editor.js +11 -2
  317. package/build-module/components/welcome-guide/editor.js.map +1 -1
  318. package/build-module/hooks/index.js +0 -1
  319. package/build-module/hooks/index.js.map +1 -1
  320. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +15 -2
  321. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
  322. package/build-module/store/selectors.js +1 -9
  323. package/build-module/store/selectors.js.map +1 -1
  324. package/build-module/utils/constants.js +4 -2
  325. package/build-module/utils/constants.js.map +1 -1
  326. package/build-module/utils/get-is-list-page.js +1 -1
  327. package/build-module/utils/get-is-list-page.js.map +1 -1
  328. package/build-module/utils/math.js +92 -0
  329. package/build-module/utils/math.js.map +1 -0
  330. package/build-style/style-rtl.css +146 -130
  331. package/build-style/style.css +146 -130
  332. package/package.json +44 -44
  333. package/src/components/block-editor/editor-canvas.js +34 -9
  334. package/src/components/block-editor/site-editor-canvas.js +10 -7
  335. package/src/components/block-editor/use-site-editor-settings.js +0 -2
  336. package/src/components/editor/index.js +11 -4
  337. package/src/components/editor-canvas-container/index.js +0 -1
  338. package/src/components/global-styles/background-panel.js +34 -0
  339. package/src/components/global-styles/color-palette-panel.js +0 -11
  340. package/src/components/global-styles/font-families.js +1 -1
  341. package/src/components/global-styles/font-library-modal/context.js +77 -31
  342. package/src/components/global-styles/font-library-modal/font-collection.js +4 -3
  343. package/src/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +9 -2
  344. package/src/components/global-styles/font-library-modal/installed-fonts.js +1 -1
  345. package/src/components/global-styles/font-library-modal/style.scss +15 -6
  346. package/src/components/global-styles/font-library-modal/upload-fonts.js +53 -8
  347. package/src/components/global-styles/font-library-modal/utils/index.js +21 -8
  348. package/src/components/global-styles/font-library-modal/utils/preview-styles.js +4 -0
  349. package/src/components/global-styles/header.js +1 -1
  350. package/src/components/global-styles/hooks.js +68 -1
  351. package/src/components/global-styles/palette.js +3 -1
  352. package/src/components/global-styles/preview-colors.js +2 -2
  353. package/src/components/global-styles/preview-iframe.js +0 -1
  354. package/src/components/global-styles/preview-styles.js +2 -2
  355. package/src/components/global-styles/root-menu.js +12 -1
  356. package/src/components/global-styles/screen-background.js +29 -0
  357. package/src/components/global-styles/screen-color-palette.js +2 -2
  358. package/src/components/global-styles/screen-colors.js +4 -15
  359. package/src/components/global-styles/screen-style-variations.js +4 -36
  360. package/src/components/global-styles/screen-typography.js +6 -20
  361. package/src/components/global-styles/style-variations-container.js +2 -1
  362. package/src/components/global-styles/style.scss +15 -10
  363. package/src/components/global-styles/typography-elements.js +5 -1
  364. package/src/components/global-styles/{preview-typography.js → typography-example.js} +3 -1
  365. package/src/components/global-styles/typography-preview.js +3 -1
  366. package/src/components/global-styles/ui.js +5 -0
  367. package/src/components/global-styles/utils.js +1 -1
  368. package/src/components/global-styles/variations/style.scss +32 -23
  369. package/src/components/global-styles/variations/variations-color.js +12 -6
  370. package/src/components/global-styles/variations/variations-typography.js +41 -60
  371. package/src/components/header-edit-mode/index.js +1 -0
  372. package/src/components/header-edit-mode/style.scss +28 -17
  373. package/src/components/keyboard-shortcut-help-modal/config.js +4 -0
  374. package/src/components/keyboard-shortcut-help-modal/index.js +4 -0
  375. package/src/components/keyboard-shortcuts/global.js +16 -4
  376. package/src/components/layout/animation.js +122 -0
  377. package/src/components/layout/index.js +12 -27
  378. package/src/components/layout/router.js +26 -25
  379. package/src/components/layout/style.scss +2 -0
  380. package/src/components/page-pages/index.js +33 -54
  381. package/src/components/page-patterns/delete-category-menu-item.js +7 -0
  382. package/src/components/page-patterns/index.js +22 -31
  383. package/src/components/page-patterns/search-items.js +13 -58
  384. package/src/components/page-patterns/use-patterns.js +17 -10
  385. package/src/components/page-templates-template-parts/actions.js +106 -91
  386. package/src/components/page-templates-template-parts/index.js +41 -93
  387. package/src/components/page-templates-template-parts/style.scss +5 -0
  388. package/src/components/plugin-template-setting-panel/index.js +14 -1
  389. package/src/components/save-button/index.js +55 -26
  390. package/src/components/save-hub/index.js +20 -164
  391. package/src/components/save-panel/index.js +24 -17
  392. package/src/components/sidebar/index.js +2 -8
  393. package/src/components/sidebar-dataviews/custom-dataviews-list.js +2 -2
  394. package/src/components/sidebar-dataviews/dataview-item.js +2 -2
  395. package/src/components/sidebar-dataviews/default-views.js +12 -4
  396. package/src/components/sidebar-dataviews/index.js +5 -4
  397. package/src/components/sidebar-edit-mode/index.js +0 -2
  398. package/src/components/sidebar-edit-mode/page-panels/index.js +31 -62
  399. package/src/components/sidebar-edit-mode/page-panels/page-content.js +10 -10
  400. package/src/components/sidebar-edit-mode/page-panels/page-summary.js +2 -0
  401. package/src/components/sidebar-edit-mode/template-panel/index.js +33 -24
  402. package/src/components/sidebar-edit-mode/template-panel/style.scss +1 -29
  403. package/src/components/sidebar-navigation-screen/style.scss +21 -9
  404. package/src/components/sidebar-navigation-screen-details-footer/index.js +6 -2
  405. package/src/components/sidebar-navigation-screen-global-styles/index.js +29 -2
  406. package/src/components/sidebar-navigation-screen-navigation-menu/{delete-modal.js → delete-confirm-dialog.js} +2 -3
  407. package/src/components/sidebar-navigation-screen-navigation-menu/more-menu.js +11 -9
  408. package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +6 -3
  409. package/src/components/sidebar-navigation-screen-patterns/index.js +0 -7
  410. package/src/components/sidebar-navigation-screen-template/index.js +6 -1
  411. package/src/components/sidebar-navigation-screen-templates-browse/content.js +2 -2
  412. package/src/components/style-book/index.js +1 -3
  413. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +3 -3
  414. package/src/components/sync-state-with-url/use-sync-path-with-url.js +3 -19
  415. package/src/components/template-actions/index.js +63 -46
  416. package/src/components/welcome-guide/editor.js +9 -6
  417. package/src/hooks/index.js +0 -1
  418. package/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +21 -4
  419. package/src/store/selectors.js +3 -15
  420. package/src/style.scss +0 -2
  421. package/src/utils/constants.js +4 -2
  422. package/src/utils/get-is-list-page.js +1 -1
  423. package/src/utils/math.js +93 -0
  424. package/build/components/actions/index.js +0 -321
  425. package/build/components/actions/index.js.map +0 -1
  426. package/build/components/global-styles/preview-typography.js.map +0 -1
  427. package/build/components/sidebar-edit-mode/sidebar-card/index.js +0 -42
  428. package/build/components/sidebar-edit-mode/sidebar-card/index.js.map +0 -1
  429. package/build/components/sidebar-edit-mode/template-panel/template-actions.js +0 -50
  430. package/build/components/sidebar-edit-mode/template-panel/template-actions.js.map +0 -1
  431. package/build/components/sidebar-edit-mode/template-panel/template-areas.js +0 -70
  432. package/build/components/sidebar-edit-mode/template-panel/template-areas.js.map +0 -1
  433. package/build/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +0 -1
  434. package/build/components/sidebar-navigation-screen-pages/index.js +0 -175
  435. package/build/components/sidebar-navigation-screen-pages/index.js.map +0 -1
  436. package/build/components/sidebar-navigation-screen-templates/index.js +0 -132
  437. package/build/components/sidebar-navigation-screen-templates/index.js.map +0 -1
  438. package/build/hooks/template-part-edit.js +0 -82
  439. package/build/hooks/template-part-edit.js.map +0 -1
  440. package/build/store/utils.js +0 -71
  441. package/build/store/utils.js.map +0 -1
  442. package/build-module/components/actions/index.js +0 -310
  443. package/build-module/components/actions/index.js.map +0 -1
  444. package/build-module/components/global-styles/preview-typography.js.map +0 -1
  445. package/build-module/components/sidebar-edit-mode/sidebar-card/index.js +0 -34
  446. package/build-module/components/sidebar-edit-mode/sidebar-card/index.js.map +0 -1
  447. package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js +0 -42
  448. package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js.map +0 -1
  449. package/build-module/components/sidebar-edit-mode/template-panel/template-areas.js +0 -63
  450. package/build-module/components/sidebar-edit-mode/template-panel/template-areas.js.map +0 -1
  451. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +0 -1
  452. package/build-module/components/sidebar-navigation-screen-pages/index.js +0 -167
  453. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +0 -1
  454. package/build-module/components/sidebar-navigation-screen-templates/index.js +0 -124
  455. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +0 -1
  456. package/build-module/hooks/template-part-edit.js +0 -75
  457. package/build-module/hooks/template-part-edit.js.map +0 -1
  458. package/build-module/store/utils.js +0 -64
  459. package/build-module/store/utils.js.map +0 -1
  460. package/src/components/actions/index.js +0 -411
  461. package/src/components/sidebar-edit-mode/sidebar-card/index.js +0 -34
  462. package/src/components/sidebar-edit-mode/sidebar-card/style.scss +0 -37
  463. package/src/components/sidebar-edit-mode/template-panel/template-actions.js +0 -49
  464. package/src/components/sidebar-edit-mode/template-panel/template-areas.js +0 -86
  465. package/src/components/sidebar-navigation-screen-pages/index.js +0 -238
  466. package/src/components/sidebar-navigation-screen-templates/index.js +0 -156
  467. package/src/components/sidebar-navigation-screen-templates/style.scss +0 -9
  468. package/src/hooks/template-part-edit.js +0 -89
  469. package/src/store/test/utils.js +0 -191
  470. package/src/store/utils.js +0 -69
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","useSelect","Notice","useInstanceId","useViewportMatch","store","preferencesStore","BlockBreadcrumb","BlockToolbar","blockEditorStore","BlockInspector","InterfaceSkeleton","ComplementaryArea","interfaceStore","EditorKeyboardShortcutsRegister","EditorKeyboardShortcuts","EditorNotices","EditorSnackbars","privateApis","editorPrivateApis","editorStore","__","sprintf","coreDataStore","SidebarComplementaryAreaFills","SidebarInspectorFill","CodeEditor","KeyboardShortcutsEditMode","WelcomeGuide","StartTemplateOptions","editSiteStore","GlobalStylesRenderer","useTitle","CanvasLoader","unlock","useEditedEntityRecord","PatternModal","POST_TYPE_LABELS","TEMPLATE_POST_TYPE","SiteEditorCanvas","TemplatePartConverter","useSpecificEditorSettings","ExperimentalEditorProvider","EditorProvider","InserterSidebar","ListViewSidebar","interfaceLabels","body","sidebar","actions","footer","Editor","isLoading","record","editedPost","getTitle","isLoaded","hasLoadedPost","type","editedPostType","isLargeViewport","context","contextPost","editorMode","canvasMode","blockEditorMode","isRightSidebarOpen","isInserterOpen","isListViewOpen","isDistractionFree","showIconLabels","showBlockBreadcrumbs","postTypeLabel","select","get","getEditedPostContext","getCanvasMode","__unstableGetEditorMode","getActiveComplementaryArea","getEntityRecord","isInserterOpened","isListViewOpened","getPostTypeLabel","getEditorMode","_context","postId","postType","undefined","name","isViewMode","isEditMode","showVisualEditor","shouldShowBlockBreadcrumbs","shouldShowInserter","shouldShowListView","secondarySidebarLabel","postWithTemplate","title","_POST_TYPE_LABELS$edi","loadingProgressId","settings","isReady","createElement","Fragment","id","status","isDismissible","post","__unstableTemplate","useSubRegistry","enableRegionNavigation","className","notices","content","hideDragHandle","secondarySidebar","Slot","scope","rootLabelText","labels"],"sources":["@wordpress/edit-site/src/components/editor/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { Notice } from '@wordpress/components';\nimport { useInstanceId, useViewportMatch } from '@wordpress/compose';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport {\n\tBlockBreadcrumb,\n\tBlockToolbar,\n\tstore as blockEditorStore,\n\tBlockInspector,\n} from '@wordpress/block-editor';\nimport {\n\tInterfaceSkeleton,\n\tComplementaryArea,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport {\n\tEditorKeyboardShortcutsRegister,\n\tEditorKeyboardShortcuts,\n\tEditorNotices,\n\tEditorSnackbars,\n\tprivateApis as editorPrivateApis,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreDataStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tSidebarComplementaryAreaFills,\n\tSidebarInspectorFill,\n} from '../sidebar-edit-mode';\nimport CodeEditor from '../code-editor';\nimport KeyboardShortcutsEditMode from '../keyboard-shortcuts/edit-mode';\nimport WelcomeGuide from '../welcome-guide';\nimport StartTemplateOptions from '../start-template-options';\nimport { store as editSiteStore } from '../../store';\nimport { GlobalStylesRenderer } from '../global-styles-renderer';\nimport useTitle from '../routes/use-title';\nimport CanvasLoader from '../canvas-loader';\nimport { unlock } from '../../lock-unlock';\nimport useEditedEntityRecord from '../use-edited-entity-record';\nimport PatternModal from '../pattern-modal';\nimport { POST_TYPE_LABELS, TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport SiteEditorCanvas from '../block-editor/site-editor-canvas';\nimport TemplatePartConverter from '../template-part-converter';\nimport { useSpecificEditorSettings } from '../block-editor/use-site-editor-settings';\n\nconst {\n\tExperimentalEditorProvider: EditorProvider,\n\tInserterSidebar,\n\tListViewSidebar,\n} = unlock( editorPrivateApis );\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n};\n\nexport default function Editor( { isLoading } ) {\n\tconst {\n\t\trecord: editedPost,\n\t\tgetTitle,\n\t\tisLoaded: hasLoadedPost,\n\t} = useEditedEntityRecord();\n\n\tconst { type: editedPostType } = editedPost;\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\n\tconst {\n\t\tcontext,\n\t\tcontextPost,\n\t\teditorMode,\n\t\tcanvasMode,\n\t\tblockEditorMode,\n\t\tisRightSidebarOpen,\n\t\tisInserterOpen,\n\t\tisListViewOpen,\n\t\tisDistractionFree,\n\t\tshowIconLabels,\n\t\tshowBlockBreadcrumbs,\n\t\tpostTypeLabel,\n\t} = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { getEditedPostContext, getCanvasMode } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\t\tconst { __unstableGetEditorMode } = select( blockEditorStore );\n\t\tconst { getActiveComplementaryArea } = select( interfaceStore );\n\t\tconst { getEntityRecord } = select( coreDataStore );\n\t\tconst {\n\t\t\tisInserterOpened,\n\t\t\tisListViewOpened,\n\t\t\tgetPostTypeLabel,\n\t\t\tgetEditorMode,\n\t\t} = select( editorStore );\n\t\tconst _context = getEditedPostContext();\n\n\t\t// The currently selected entity to display.\n\t\t// Typically template or template part in the site editor.\n\t\treturn {\n\t\t\tcontext: _context,\n\t\t\tcontextPost: _context?.postId\n\t\t\t\t? getEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t_context.postType,\n\t\t\t\t\t\t_context.postId\n\t\t\t\t )\n\t\t\t\t: undefined,\n\t\t\teditorMode: getEditorMode(),\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\tblockEditorMode: __unstableGetEditorMode(),\n\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tisRightSidebarOpen: getActiveComplementaryArea(\n\t\t\t\teditSiteStore.name\n\t\t\t),\n\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\tshowBlockBreadcrumbs: get( 'core', 'showBlockBreadcrumbs' ),\n\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\tpostTypeLabel: getPostTypeLabel(),\n\t\t};\n\t}, [] );\n\n\tconst isViewMode = canvasMode === 'view';\n\tconst isEditMode = canvasMode === 'edit';\n\tconst showVisualEditor = isViewMode || editorMode === 'visual';\n\tconst shouldShowBlockBreadcrumbs =\n\t\t! isDistractionFree &&\n\t\tshowBlockBreadcrumbs &&\n\t\tisEditMode &&\n\t\tshowVisualEditor &&\n\t\tblockEditorMode !== 'zoom-out';\n\tconst shouldShowInserter = isEditMode && showVisualEditor && isInserterOpen;\n\tconst shouldShowListView = isEditMode && showVisualEditor && isListViewOpen;\n\tconst secondarySidebarLabel = isListViewOpen\n\t\t? __( 'List View' )\n\t\t: __( 'Block Library' );\n\tconst postWithTemplate = !! context?.postId;\n\n\tlet title;\n\tif ( hasLoadedPost ) {\n\t\ttitle = sprintf(\n\t\t\t// translators: A breadcrumb trail for the Admin document title. %1$s: title of template being edited, %2$s: type of template (Template or Template Part).\n\t\t\t__( '%1$s ‹ %2$s' ),\n\t\t\tgetTitle(),\n\t\t\tPOST_TYPE_LABELS[ editedPostType ] ??\n\t\t\t\tPOST_TYPE_LABELS[ TEMPLATE_POST_TYPE ]\n\t\t);\n\t}\n\n\t// Only announce the title once the editor is ready to prevent \"Replace\"\n\t// action in <URLQueryController> from double-announcing.\n\tuseTitle( hasLoadedPost && title );\n\n\tconst loadingProgressId = useInstanceId(\n\t\tCanvasLoader,\n\t\t'edit-site-editor__loading-progress'\n\t);\n\n\tconst settings = useSpecificEditorSettings();\n\tconst isReady =\n\t\t! isLoading &&\n\t\t( ( postWithTemplate && !! contextPost && !! editedPost ) ||\n\t\t\t( ! postWithTemplate && !! editedPost ) );\n\n\treturn (\n\t\t<>\n\t\t\t{ ! isReady ? <CanvasLoader id={ loadingProgressId } /> : null }\n\t\t\t{ isEditMode && <WelcomeGuide /> }\n\t\t\t{ hasLoadedPost && ! editedPost && (\n\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t\"You attempted to edit an item that doesn't exist. Perhaps it was deleted?\"\n\t\t\t\t\t) }\n\t\t\t\t</Notice>\n\t\t\t) }\n\t\t\t{ isReady && (\n\t\t\t\t<EditorProvider\n\t\t\t\t\tpost={ postWithTemplate ? contextPost : editedPost }\n\t\t\t\t\t__unstableTemplate={\n\t\t\t\t\t\tpostWithTemplate ? editedPost : undefined\n\t\t\t\t\t}\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t>\n\t\t\t\t\t<SidebarComplementaryAreaFills />\n\t\t\t\t\t{ isEditMode && <StartTemplateOptions /> }\n\t\t\t\t\t<InterfaceSkeleton\n\t\t\t\t\t\tisDistractionFree={ isDistractionFree }\n\t\t\t\t\t\tenableRegionNavigation={ false }\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'edit-site-editor__interface-skeleton',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'show-icon-labels': showIconLabels,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<GlobalStylesRenderer />\n\t\t\t\t\t\t\t\t{ isEditMode && <EditorNotices /> }\n\t\t\t\t\t\t\t\t{ showVisualEditor && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<TemplatePartConverter />\n\t\t\t\t\t\t\t\t\t\t<SidebarInspectorFill>\n\t\t\t\t\t\t\t\t\t\t\t<BlockInspector />\n\t\t\t\t\t\t\t\t\t\t</SidebarInspectorFill>\n\t\t\t\t\t\t\t\t\t\t{ ! isLargeViewport && (\n\t\t\t\t\t\t\t\t\t\t\t<BlockToolbar hideDragHandle />\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t<SiteEditorCanvas />\n\t\t\t\t\t\t\t\t\t\t<PatternModal />\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ editorMode === 'text' && isEditMode && (\n\t\t\t\t\t\t\t\t\t<CodeEditor />\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ isEditMode && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<KeyboardShortcutsEditMode />\n\t\t\t\t\t\t\t\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t\t\t\t\t\t\t\t<EditorKeyboardShortcuts />\n\t\t\t\t\t\t\t\t\t</>\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\tsecondarySidebar={\n\t\t\t\t\t\t\tisEditMode &&\n\t\t\t\t\t\t\t( ( shouldShowInserter && <InserterSidebar /> ) ||\n\t\t\t\t\t\t\t\t( shouldShowListView && <ListViewSidebar /> ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsidebar={\n\t\t\t\t\t\t\t! isDistractionFree &&\n\t\t\t\t\t\t\tisEditMode &&\n\t\t\t\t\t\t\tisRightSidebarOpen &&\n\t\t\t\t\t\t\t! isDistractionFree && (\n\t\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-site\" />\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfooter={\n\t\t\t\t\t\t\tshouldShowBlockBreadcrumbs && (\n\t\t\t\t\t\t\t\t<BlockBreadcrumb\n\t\t\t\t\t\t\t\t\trootLabelText={ postTypeLabel }\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\tlabels={ {\n\t\t\t\t\t\t\t...interfaceLabels,\n\t\t\t\t\t\t\tsecondarySidebar: secondarySidebarLabel,\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</EditorProvider>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","useDispatch","useSelect","Notice","useInstanceId","useViewportMatch","store","preferencesStore","BlockBreadcrumb","BlockToolbar","blockEditorStore","BlockInspector","InterfaceSkeleton","ComplementaryArea","interfaceStore","EditorKeyboardShortcutsRegister","EditorKeyboardShortcuts","EditorNotices","EditorSnackbars","privateApis","editorPrivateApis","editorStore","__","sprintf","coreDataStore","SidebarComplementaryAreaFills","SidebarInspectorFill","CodeEditor","KeyboardShortcutsEditMode","WelcomeGuide","StartTemplateOptions","editSiteStore","GlobalStylesRenderer","useTitle","CanvasLoader","unlock","useEditedEntityRecord","PatternModal","POST_TYPE_LABELS","TEMPLATE_POST_TYPE","SiteEditorCanvas","TemplatePartConverter","useSpecificEditorSettings","ExperimentalEditorProvider","EditorProvider","InserterSidebar","ListViewSidebar","interfaceLabels","body","sidebar","actions","footer","Editor","isLoading","onClick","record","editedPost","getTitle","isLoaded","hasLoadedPost","type","editedPostType","isLargeViewport","context","contextPost","editorMode","canvasMode","blockEditorMode","isRightSidebarOpen","isInserterOpen","isListViewOpen","isDistractionFree","showIconLabels","showBlockBreadcrumbs","postTypeLabel","select","get","getEditedPostContext","getCanvasMode","__unstableGetEditorMode","getActiveComplementaryArea","getEntityRecord","isInserterOpened","isListViewOpened","getPostTypeLabel","getEditorMode","_context","postId","postType","undefined","name","isViewMode","isEditMode","showVisualEditor","shouldShowBlockBreadcrumbs","shouldShowInserter","shouldShowListView","secondarySidebarLabel","postWithTemplate","title","_POST_TYPE_LABELS$edi","loadingProgressId","closeGeneralSidebar","settings","isReady","createElement","Fragment","id","status","isDismissible","post","__unstableTemplate","useSubRegistry","enableRegionNavigation","className","notices","content","hideDragHandle","secondarySidebar","Slot","scope","rootLabelText","labels"],"sources":["@wordpress/edit-site/src/components/editor/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { Notice } from '@wordpress/components';\nimport { useInstanceId, useViewportMatch } from '@wordpress/compose';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport {\n\tBlockBreadcrumb,\n\tBlockToolbar,\n\tstore as blockEditorStore,\n\tBlockInspector,\n} from '@wordpress/block-editor';\nimport {\n\tInterfaceSkeleton,\n\tComplementaryArea,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport {\n\tEditorKeyboardShortcutsRegister,\n\tEditorKeyboardShortcuts,\n\tEditorNotices,\n\tEditorSnackbars,\n\tprivateApis as editorPrivateApis,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreDataStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tSidebarComplementaryAreaFills,\n\tSidebarInspectorFill,\n} from '../sidebar-edit-mode';\nimport CodeEditor from '../code-editor';\nimport KeyboardShortcutsEditMode from '../keyboard-shortcuts/edit-mode';\nimport WelcomeGuide from '../welcome-guide';\nimport StartTemplateOptions from '../start-template-options';\nimport { store as editSiteStore } from '../../store';\nimport { GlobalStylesRenderer } from '../global-styles-renderer';\nimport useTitle from '../routes/use-title';\nimport CanvasLoader from '../canvas-loader';\nimport { unlock } from '../../lock-unlock';\nimport useEditedEntityRecord from '../use-edited-entity-record';\nimport PatternModal from '../pattern-modal';\nimport { POST_TYPE_LABELS, TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport SiteEditorCanvas from '../block-editor/site-editor-canvas';\nimport TemplatePartConverter from '../template-part-converter';\nimport { useSpecificEditorSettings } from '../block-editor/use-site-editor-settings';\n\nconst {\n\tExperimentalEditorProvider: EditorProvider,\n\tInserterSidebar,\n\tListViewSidebar,\n} = unlock( editorPrivateApis );\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n};\n\nexport default function Editor( { isLoading, onClick } ) {\n\tconst {\n\t\trecord: editedPost,\n\t\tgetTitle,\n\t\tisLoaded: hasLoadedPost,\n\t} = useEditedEntityRecord();\n\n\tconst { type: editedPostType } = editedPost;\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\n\tconst {\n\t\tcontext,\n\t\tcontextPost,\n\t\teditorMode,\n\t\tcanvasMode,\n\t\tblockEditorMode,\n\t\tisRightSidebarOpen,\n\t\tisInserterOpen,\n\t\tisListViewOpen,\n\t\tisDistractionFree,\n\t\tshowIconLabels,\n\t\tshowBlockBreadcrumbs,\n\t\tpostTypeLabel,\n\t} = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { getEditedPostContext, getCanvasMode } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\t\tconst { __unstableGetEditorMode } = select( blockEditorStore );\n\t\tconst { getActiveComplementaryArea } = select( interfaceStore );\n\t\tconst { getEntityRecord } = select( coreDataStore );\n\t\tconst {\n\t\t\tisInserterOpened,\n\t\t\tisListViewOpened,\n\t\t\tgetPostTypeLabel,\n\t\t\tgetEditorMode,\n\t\t} = select( editorStore );\n\t\tconst _context = getEditedPostContext();\n\n\t\t// The currently selected entity to display.\n\t\t// Typically template or template part in the site editor.\n\t\treturn {\n\t\t\tcontext: _context,\n\t\t\tcontextPost: _context?.postId\n\t\t\t\t? getEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t_context.postType,\n\t\t\t\t\t\t_context.postId\n\t\t\t\t )\n\t\t\t\t: undefined,\n\t\t\teditorMode: getEditorMode(),\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\tblockEditorMode: __unstableGetEditorMode(),\n\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tisRightSidebarOpen: getActiveComplementaryArea(\n\t\t\t\teditSiteStore.name\n\t\t\t),\n\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\tshowBlockBreadcrumbs: get( 'core', 'showBlockBreadcrumbs' ),\n\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\tpostTypeLabel: getPostTypeLabel(),\n\t\t};\n\t}, [] );\n\n\tconst isViewMode = canvasMode === 'view';\n\tconst isEditMode = canvasMode === 'edit';\n\tconst showVisualEditor = isViewMode || editorMode === 'visual';\n\tconst shouldShowBlockBreadcrumbs =\n\t\t! isDistractionFree &&\n\t\tshowBlockBreadcrumbs &&\n\t\tisEditMode &&\n\t\tshowVisualEditor &&\n\t\tblockEditorMode !== 'zoom-out';\n\tconst shouldShowInserter = isEditMode && showVisualEditor && isInserterOpen;\n\tconst shouldShowListView = isEditMode && showVisualEditor && isListViewOpen;\n\tconst secondarySidebarLabel = isListViewOpen\n\t\t? __( 'List View' )\n\t\t: __( 'Block Library' );\n\tconst postWithTemplate = !! context?.postId;\n\n\tlet title;\n\tif ( hasLoadedPost ) {\n\t\ttitle = sprintf(\n\t\t\t// translators: A breadcrumb trail for the Admin document title. %1$s: title of template being edited, %2$s: type of template (Template or Template Part).\n\t\t\t__( '%1$s ‹ %2$s' ),\n\t\t\tgetTitle(),\n\t\t\tPOST_TYPE_LABELS[ editedPostType ] ??\n\t\t\t\tPOST_TYPE_LABELS[ TEMPLATE_POST_TYPE ]\n\t\t);\n\t}\n\n\t// Only announce the title once the editor is ready to prevent \"Replace\"\n\t// action in <URLQueryController> from double-announcing.\n\tuseTitle( hasLoadedPost && title );\n\n\tconst loadingProgressId = useInstanceId(\n\t\tCanvasLoader,\n\t\t'edit-site-editor__loading-progress'\n\t);\n\n\tconst { closeGeneralSidebar } = useDispatch( editSiteStore );\n\n\tconst settings = useSpecificEditorSettings();\n\tconst isReady =\n\t\t! isLoading &&\n\t\t( ( postWithTemplate && !! contextPost && !! editedPost ) ||\n\t\t\t( ! postWithTemplate && !! editedPost ) );\n\n\treturn (\n\t\t<>\n\t\t\t{ ! isReady ? <CanvasLoader id={ loadingProgressId } /> : null }\n\t\t\t{ isEditMode && <WelcomeGuide /> }\n\t\t\t{ hasLoadedPost && ! editedPost && (\n\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t\"You attempted to edit an item that doesn't exist. Perhaps it was deleted?\"\n\t\t\t\t\t) }\n\t\t\t\t</Notice>\n\t\t\t) }\n\t\t\t{ isReady && (\n\t\t\t\t<EditorProvider\n\t\t\t\t\tpost={ postWithTemplate ? contextPost : editedPost }\n\t\t\t\t\t__unstableTemplate={\n\t\t\t\t\t\tpostWithTemplate ? editedPost : undefined\n\t\t\t\t\t}\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t>\n\t\t\t\t\t<SidebarComplementaryAreaFills />\n\t\t\t\t\t{ isEditMode && <StartTemplateOptions /> }\n\t\t\t\t\t<InterfaceSkeleton\n\t\t\t\t\t\tisDistractionFree={ isDistractionFree }\n\t\t\t\t\t\tenableRegionNavigation={ false }\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'edit-site-editor__interface-skeleton',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'show-icon-labels': showIconLabels,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<GlobalStylesRenderer />\n\t\t\t\t\t\t\t\t{ isEditMode && <EditorNotices /> }\n\t\t\t\t\t\t\t\t{ showVisualEditor && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<TemplatePartConverter />\n\t\t\t\t\t\t\t\t\t\t<SidebarInspectorFill>\n\t\t\t\t\t\t\t\t\t\t\t<BlockInspector />\n\t\t\t\t\t\t\t\t\t\t</SidebarInspectorFill>\n\t\t\t\t\t\t\t\t\t\t{ ! isLargeViewport && (\n\t\t\t\t\t\t\t\t\t\t\t<BlockToolbar hideDragHandle />\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t<SiteEditorCanvas onClick={ onClick } />\n\t\t\t\t\t\t\t\t\t\t<PatternModal />\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ editorMode === 'text' && isEditMode && (\n\t\t\t\t\t\t\t\t\t<CodeEditor />\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ isEditMode && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<KeyboardShortcutsEditMode />\n\t\t\t\t\t\t\t\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t\t\t\t\t\t\t\t<EditorKeyboardShortcuts />\n\t\t\t\t\t\t\t\t\t</>\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\tsecondarySidebar={\n\t\t\t\t\t\t\tisEditMode &&\n\t\t\t\t\t\t\t( ( shouldShowInserter && (\n\t\t\t\t\t\t\t\t<InserterSidebar\n\t\t\t\t\t\t\t\t\tcloseGeneralSidebar={ closeGeneralSidebar }\n\t\t\t\t\t\t\t\t\tisRightSidebarOpen={ isRightSidebarOpen }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) ) ||\n\t\t\t\t\t\t\t\t( shouldShowListView && <ListViewSidebar /> ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsidebar={\n\t\t\t\t\t\t\t! isDistractionFree &&\n\t\t\t\t\t\t\tisEditMode &&\n\t\t\t\t\t\t\tisRightSidebarOpen &&\n\t\t\t\t\t\t\t! isDistractionFree && (\n\t\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-site\" />\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfooter={\n\t\t\t\t\t\t\tshouldShowBlockBreadcrumbs && (\n\t\t\t\t\t\t\t\t<BlockBreadcrumb\n\t\t\t\t\t\t\t\t\trootLabelText={ postTypeLabel }\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\tlabels={ {\n\t\t\t\t\t\t\t...interfaceLabels,\n\t\t\t\t\t\t\tsecondarySidebar: secondarySidebarLabel,\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</EditorProvider>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -109,8 +109,7 @@ function EditorCanvasContainer({
109
109
  className: "edit-site-editor-canvas-container__close-button",
110
110
  icon: closeSmall,
111
111
  label: closeButtonLabel || __('Close'),
112
- onClick: onCloseContainer,
113
- showTooltip: false
112
+ onClick: onCloseContainer
114
113
  }), childrenWithProps)));
115
114
  }
116
115
  function useHasEditorCanvasContainer() {
@@ -1 +1 @@
1
- {"version":3,"names":["Children","cloneElement","useState","Button","privateApis","componentsPrivateApis","__experimentalUseSlotFills","useSlotFills","ESCAPE","__","useDispatch","useSelect","closeSmall","useFocusOnMount","useFocusReturn","store","preferencesStore","editorStore","unlock","editSiteStore","ResizableEditor","getEditorCanvasContainerTitle","view","createPrivateSlotFill","SLOT_FILL_NAME","privateKey","Slot","EditorCanvasContainerSlot","Fill","EditorCanvasContainerFill","EditorCanvasContainer","children","closeButtonLabel","onClose","enableResizing","editorCanvasContainerView","showListViewByDefault","select","_editorCanvasContainerView","getEditorCanvasContainerView","_showListViewByDefault","get","isClosed","setIsClosed","setEditorCanvasContainerView","setIsListViewOpened","focusOnMountRef","sectionFocusReturnRef","onCloseContainer","undefined","closeOnEscape","event","keyCode","defaultPrevented","preventDefault","childrenWithProps","Array","isArray","map","child","index","ref","title","shouldShowCloseButton","createElement","className","onKeyDown","icon","label","onClick","showTooltip","useHasEditorCanvasContainer","fills","length"],"sources":["@wordpress/edit-site/src/components/editor-canvas-container/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Children, cloneElement, useState } from '@wordpress/element';\nimport {\n\tButton,\n\tprivateApis as componentsPrivateApis,\n\t__experimentalUseSlotFills as useSlotFills,\n} from '@wordpress/components';\nimport { ESCAPE } from '@wordpress/keycodes';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { closeSmall } from '@wordpress/icons';\nimport { useFocusOnMount, useFocusReturn } from '@wordpress/compose';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport ResizableEditor from '../block-editor/resizable-editor';\n\n/**\n * Returns a translated string for the title of the editor canvas container.\n *\n * @param {string} view Editor canvas container view.\n *\n * @return {string} Translated string corresponding to value of view. Default is ''.\n */\nfunction getEditorCanvasContainerTitle( view ) {\n\tswitch ( view ) {\n\t\tcase 'style-book':\n\t\t\treturn __( 'Style Book' );\n\t\tcase 'global-styles-revisions':\n\t\tcase 'global-styles-revisions:style-book':\n\t\t\treturn __( 'Style Revisions' );\n\t\tdefault:\n\t\t\treturn '';\n\t}\n}\n\n// Creates a private slot fill.\nconst { createPrivateSlotFill } = unlock( componentsPrivateApis );\nconst SLOT_FILL_NAME = 'EditSiteEditorCanvasContainerSlot';\nconst {\n\tprivateKey,\n\tSlot: EditorCanvasContainerSlot,\n\tFill: EditorCanvasContainerFill,\n} = createPrivateSlotFill( SLOT_FILL_NAME );\n\nfunction EditorCanvasContainer( {\n\tchildren,\n\tcloseButtonLabel,\n\tonClose,\n\tenableResizing = false,\n} ) {\n\tconst { editorCanvasContainerView, showListViewByDefault } = useSelect(\n\t\t( select ) => {\n\t\t\tconst _editorCanvasContainerView = unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t).getEditorCanvasContainerView();\n\n\t\t\tconst _showListViewByDefault = select( preferencesStore ).get(\n\t\t\t\t'core',\n\t\t\t\t'showListViewByDefault'\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\teditorCanvasContainerView: _editorCanvasContainerView,\n\t\t\t\tshowListViewByDefault: _showListViewByDefault,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst [ isClosed, setIsClosed ] = useState( false );\n\tconst { setEditorCanvasContainerView } = unlock(\n\t\tuseDispatch( editSiteStore )\n\t);\n\tconst { setIsListViewOpened } = useDispatch( editorStore );\n\n\tconst focusOnMountRef = useFocusOnMount( 'firstElement' );\n\tconst sectionFocusReturnRef = useFocusReturn();\n\n\tfunction onCloseContainer() {\n\t\tsetIsListViewOpened( showListViewByDefault );\n\t\tsetEditorCanvasContainerView( undefined );\n\t\tsetIsClosed( true );\n\t\tif ( typeof onClose === 'function' ) {\n\t\t\tonClose();\n\t\t}\n\t}\n\n\tfunction closeOnEscape( event ) {\n\t\tif ( event.keyCode === ESCAPE && ! event.defaultPrevented ) {\n\t\t\tevent.preventDefault();\n\t\t\tonCloseContainer();\n\t\t}\n\t}\n\n\tconst childrenWithProps = Array.isArray( children )\n\t\t? Children.map( children, ( child, index ) =>\n\t\t\t\tindex === 0\n\t\t\t\t\t? cloneElement( child, {\n\t\t\t\t\t\t\tref: sectionFocusReturnRef,\n\t\t\t\t\t } )\n\t\t\t\t\t: child\n\t\t )\n\t\t: cloneElement( children, {\n\t\t\t\tref: sectionFocusReturnRef,\n\t\t } );\n\n\tif ( isClosed ) {\n\t\treturn null;\n\t}\n\n\tconst title = getEditorCanvasContainerTitle( editorCanvasContainerView );\n\tconst shouldShowCloseButton = onClose || closeButtonLabel;\n\n\treturn (\n\t\t<EditorCanvasContainerFill>\n\t\t\t<ResizableEditor enableResizing={ enableResizing }>\n\t\t\t\t{ /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */ }\n\t\t\t\t<section\n\t\t\t\t\tclassName=\"edit-site-editor-canvas-container\"\n\t\t\t\t\tref={ shouldShowCloseButton ? focusOnMountRef : null }\n\t\t\t\t\tonKeyDown={ closeOnEscape }\n\t\t\t\t\taria-label={ title }\n\t\t\t\t>\n\t\t\t\t\t{ shouldShowCloseButton && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"edit-site-editor-canvas-container__close-button\"\n\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\tlabel={ closeButtonLabel || __( 'Close' ) }\n\t\t\t\t\t\t\tonClick={ onCloseContainer }\n\t\t\t\t\t\t\tshowTooltip={ false }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ childrenWithProps }\n\t\t\t\t</section>\n\t\t\t</ResizableEditor>\n\t\t</EditorCanvasContainerFill>\n\t);\n}\nfunction useHasEditorCanvasContainer() {\n\tconst fills = useSlotFills( privateKey );\n\treturn !! fills?.length;\n}\n\nEditorCanvasContainer.Slot = EditorCanvasContainerSlot;\nexport default EditorCanvasContainer;\nexport { useHasEditorCanvasContainer, getEditorCanvasContainerTitle };\n"],"mappings":"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"}
1
+ {"version":3,"names":["Children","cloneElement","useState","Button","privateApis","componentsPrivateApis","__experimentalUseSlotFills","useSlotFills","ESCAPE","__","useDispatch","useSelect","closeSmall","useFocusOnMount","useFocusReturn","store","preferencesStore","editorStore","unlock","editSiteStore","ResizableEditor","getEditorCanvasContainerTitle","view","createPrivateSlotFill","SLOT_FILL_NAME","privateKey","Slot","EditorCanvasContainerSlot","Fill","EditorCanvasContainerFill","EditorCanvasContainer","children","closeButtonLabel","onClose","enableResizing","editorCanvasContainerView","showListViewByDefault","select","_editorCanvasContainerView","getEditorCanvasContainerView","_showListViewByDefault","get","isClosed","setIsClosed","setEditorCanvasContainerView","setIsListViewOpened","focusOnMountRef","sectionFocusReturnRef","onCloseContainer","undefined","closeOnEscape","event","keyCode","defaultPrevented","preventDefault","childrenWithProps","Array","isArray","map","child","index","ref","title","shouldShowCloseButton","createElement","className","onKeyDown","icon","label","onClick","useHasEditorCanvasContainer","fills","length"],"sources":["@wordpress/edit-site/src/components/editor-canvas-container/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Children, cloneElement, useState } from '@wordpress/element';\nimport {\n\tButton,\n\tprivateApis as componentsPrivateApis,\n\t__experimentalUseSlotFills as useSlotFills,\n} from '@wordpress/components';\nimport { ESCAPE } from '@wordpress/keycodes';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { closeSmall } from '@wordpress/icons';\nimport { useFocusOnMount, useFocusReturn } from '@wordpress/compose';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport ResizableEditor from '../block-editor/resizable-editor';\n\n/**\n * Returns a translated string for the title of the editor canvas container.\n *\n * @param {string} view Editor canvas container view.\n *\n * @return {string} Translated string corresponding to value of view. Default is ''.\n */\nfunction getEditorCanvasContainerTitle( view ) {\n\tswitch ( view ) {\n\t\tcase 'style-book':\n\t\t\treturn __( 'Style Book' );\n\t\tcase 'global-styles-revisions':\n\t\tcase 'global-styles-revisions:style-book':\n\t\t\treturn __( 'Style Revisions' );\n\t\tdefault:\n\t\t\treturn '';\n\t}\n}\n\n// Creates a private slot fill.\nconst { createPrivateSlotFill } = unlock( componentsPrivateApis );\nconst SLOT_FILL_NAME = 'EditSiteEditorCanvasContainerSlot';\nconst {\n\tprivateKey,\n\tSlot: EditorCanvasContainerSlot,\n\tFill: EditorCanvasContainerFill,\n} = createPrivateSlotFill( SLOT_FILL_NAME );\n\nfunction EditorCanvasContainer( {\n\tchildren,\n\tcloseButtonLabel,\n\tonClose,\n\tenableResizing = false,\n} ) {\n\tconst { editorCanvasContainerView, showListViewByDefault } = useSelect(\n\t\t( select ) => {\n\t\t\tconst _editorCanvasContainerView = unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t).getEditorCanvasContainerView();\n\n\t\t\tconst _showListViewByDefault = select( preferencesStore ).get(\n\t\t\t\t'core',\n\t\t\t\t'showListViewByDefault'\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\teditorCanvasContainerView: _editorCanvasContainerView,\n\t\t\t\tshowListViewByDefault: _showListViewByDefault,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst [ isClosed, setIsClosed ] = useState( false );\n\tconst { setEditorCanvasContainerView } = unlock(\n\t\tuseDispatch( editSiteStore )\n\t);\n\tconst { setIsListViewOpened } = useDispatch( editorStore );\n\n\tconst focusOnMountRef = useFocusOnMount( 'firstElement' );\n\tconst sectionFocusReturnRef = useFocusReturn();\n\n\tfunction onCloseContainer() {\n\t\tsetIsListViewOpened( showListViewByDefault );\n\t\tsetEditorCanvasContainerView( undefined );\n\t\tsetIsClosed( true );\n\t\tif ( typeof onClose === 'function' ) {\n\t\t\tonClose();\n\t\t}\n\t}\n\n\tfunction closeOnEscape( event ) {\n\t\tif ( event.keyCode === ESCAPE && ! event.defaultPrevented ) {\n\t\t\tevent.preventDefault();\n\t\t\tonCloseContainer();\n\t\t}\n\t}\n\n\tconst childrenWithProps = Array.isArray( children )\n\t\t? Children.map( children, ( child, index ) =>\n\t\t\t\tindex === 0\n\t\t\t\t\t? cloneElement( child, {\n\t\t\t\t\t\t\tref: sectionFocusReturnRef,\n\t\t\t\t\t } )\n\t\t\t\t\t: child\n\t\t )\n\t\t: cloneElement( children, {\n\t\t\t\tref: sectionFocusReturnRef,\n\t\t } );\n\n\tif ( isClosed ) {\n\t\treturn null;\n\t}\n\n\tconst title = getEditorCanvasContainerTitle( editorCanvasContainerView );\n\tconst shouldShowCloseButton = onClose || closeButtonLabel;\n\n\treturn (\n\t\t<EditorCanvasContainerFill>\n\t\t\t<ResizableEditor enableResizing={ enableResizing }>\n\t\t\t\t{ /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */ }\n\t\t\t\t<section\n\t\t\t\t\tclassName=\"edit-site-editor-canvas-container\"\n\t\t\t\t\tref={ shouldShowCloseButton ? focusOnMountRef : null }\n\t\t\t\t\tonKeyDown={ closeOnEscape }\n\t\t\t\t\taria-label={ title }\n\t\t\t\t>\n\t\t\t\t\t{ shouldShowCloseButton && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"edit-site-editor-canvas-container__close-button\"\n\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\tlabel={ closeButtonLabel || __( 'Close' ) }\n\t\t\t\t\t\t\tonClick={ onCloseContainer }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ childrenWithProps }\n\t\t\t\t</section>\n\t\t\t</ResizableEditor>\n\t\t</EditorCanvasContainerFill>\n\t);\n}\nfunction useHasEditorCanvasContainer() {\n\tconst fills = useSlotFills( privateKey );\n\treturn !! fills?.length;\n}\n\nEditorCanvasContainer.Slot = EditorCanvasContainerSlot;\nexport default EditorCanvasContainer;\nexport { useHasEditorCanvasContainer, getEditorCanvasContainerTitle };\n"],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { createElement } from "react";
2
+ /**
3
+ * WordPress dependencies
4
+ */
5
+ import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
6
+
7
+ /**
8
+ * Internal dependencies
9
+ */
10
+ import { unlock } from '../../lock-unlock';
11
+ const {
12
+ useGlobalStyle,
13
+ useGlobalSetting,
14
+ BackgroundPanel: StylesBackgroundPanel
15
+ } = unlock(blockEditorPrivateApis);
16
+ export default function BackgroundPanel() {
17
+ const [style] = useGlobalStyle('', undefined, 'user', {
18
+ shouldDecodeEncode: false
19
+ });
20
+ const [inheritedStyle, setStyle] = useGlobalStyle('', undefined, 'all', {
21
+ shouldDecodeEncode: false
22
+ });
23
+ const [settings] = useGlobalSetting('');
24
+ return createElement(StylesBackgroundPanel, {
25
+ inheritedValue: inheritedStyle,
26
+ value: style,
27
+ onChange: setStyle,
28
+ settings: settings
29
+ });
30
+ }
31
+ //# sourceMappingURL=background-panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["privateApis","blockEditorPrivateApis","unlock","useGlobalStyle","useGlobalSetting","BackgroundPanel","StylesBackgroundPanel","style","undefined","shouldDecodeEncode","inheritedStyle","setStyle","settings","createElement","inheritedValue","value","onChange"],"sources":["@wordpress/edit-site/src/components/global-styles/background-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst {\n\tuseGlobalStyle,\n\tuseGlobalSetting,\n\tBackgroundPanel: StylesBackgroundPanel,\n} = unlock( blockEditorPrivateApis );\n\nexport default function BackgroundPanel() {\n\tconst [ style ] = useGlobalStyle( '', undefined, 'user', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ inheritedStyle, setStyle ] = useGlobalStyle( '', undefined, 'all', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ settings ] = useGlobalSetting( '' );\n\n\treturn (\n\t\t<StylesBackgroundPanel\n\t\t\tinheritedValue={ inheritedStyle }\n\t\t\tvalue={ style }\n\t\t\tonChange={ setStyle }\n\t\t\tsettings={ settings }\n\t\t/>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,WAAW,IAAIC,sBAAsB,QAAQ,yBAAyB;;AAE/E;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,MAAM;EACLC,cAAc;EACdC,gBAAgB;EAChBC,eAAe,EAAEC;AAClB,CAAC,GAAGJ,MAAM,CAAED,sBAAuB,CAAC;AAEpC,eAAe,SAASI,eAAeA,CAAA,EAAG;EACzC,MAAM,CAAEE,KAAK,CAAE,GAAGJ,cAAc,CAAE,EAAE,EAAEK,SAAS,EAAE,MAAM,EAAE;IACxDC,kBAAkB,EAAE;EACrB,CAAE,CAAC;EACH,MAAM,CAAEC,cAAc,EAAEC,QAAQ,CAAE,GAAGR,cAAc,CAAE,EAAE,EAAEK,SAAS,EAAE,KAAK,EAAE;IAC1EC,kBAAkB,EAAE;EACrB,CAAE,CAAC;EACH,MAAM,CAAEG,QAAQ,CAAE,GAAGR,gBAAgB,CAAE,EAAG,CAAC;EAE3C,OACCS,aAAA,CAACP,qBAAqB;IACrBQ,cAAc,EAAGJ,cAAgB;IACjCK,KAAK,EAAGR,KAAO;IACfS,QAAQ,EAAGL,QAAU;IACrBC,QAAQ,EAAGA;EAAU,CACrB,CAAC;AAEJ"}
@@ -11,8 +11,6 @@ import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
11
11
  * Internal dependencies
12
12
  */
13
13
  import { unlock } from '../../lock-unlock';
14
- import ColorVariations from './variations/variations-color';
15
- import { useCurrentMergeThemeStyleVariationsWithUserConfig } from '../../hooks/use-theme-style-variations/use-theme-style-variations-by-property';
16
14
  const {
17
15
  useGlobalSetting
18
16
  } = unlock(blockEditorPrivateApis);
@@ -29,10 +27,6 @@ export default function ColorPalettePanel({
29
27
  const [baseDefaultColors] = useGlobalSetting('color.palette.default', name, 'base');
30
28
  const [customColors, setCustomColors] = useGlobalSetting('color.palette.custom', name);
31
29
  const [defaultPaletteEnabled] = useGlobalSetting('color.defaultPalette', name);
32
- const colorVariations = useCurrentMergeThemeStyleVariationsWithUserConfig({
33
- property: 'color',
34
- filter: variation => variation?.settings?.color && Object.keys(variation?.settings?.color).length
35
- });
36
30
  const isMobileViewport = useViewportMatch('small', '<');
37
31
  const popoverProps = isMobileViewport ? mobilePopoverProps : undefined;
38
32
  return createElement(VStack, {
@@ -54,8 +48,6 @@ export default function ColorPalettePanel({
54
48
  paletteLabel: __('Default'),
55
49
  paletteLabelHeadingLevel: 3,
56
50
  popoverProps: popoverProps
57
- }), !!colorVariations.length && createElement(ColorVariations, {
58
- variations: colorVariations
59
51
  }), createElement(PaletteEdit, {
60
52
  colors: customColors,
61
53
  onChange: setCustomColors,
@@ -1 +1 @@
1
- {"version":3,"names":["useViewportMatch","__experimentalPaletteEdit","PaletteEdit","__experimentalVStack","VStack","__","privateApis","blockEditorPrivateApis","unlock","ColorVariations","useCurrentMergeThemeStyleVariationsWithUserConfig","useGlobalSetting","mobilePopoverProps","placement","offset","ColorPalettePanel","name","themeColors","setThemeColors","baseThemeColors","defaultColors","setDefaultColors","baseDefaultColors","customColors","setCustomColors","defaultPaletteEnabled","colorVariations","property","filter","variation","settings","color","Object","keys","length","isMobileViewport","popoverProps","undefined","createElement","className","spacing","canReset","canOnlyChangeValues","colors","onChange","paletteLabel","paletteLabelHeadingLevel","variations","emptyMessage","slugPrefix"],"sources":["@wordpress/edit-site/src/components/global-styles/color-palette-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\t__experimentalPaletteEdit as PaletteEdit,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport ColorVariations from './variations/variations-color';\nimport { useCurrentMergeThemeStyleVariationsWithUserConfig } from '../../hooks/use-theme-style-variations/use-theme-style-variations-by-property';\n\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\nconst mobilePopoverProps = { placement: 'bottom-start', offset: 8 };\n\nexport default function ColorPalettePanel( { name } ) {\n\tconst [ themeColors, setThemeColors ] = useGlobalSetting(\n\t\t'color.palette.theme',\n\t\tname\n\t);\n\tconst [ baseThemeColors ] = useGlobalSetting(\n\t\t'color.palette.theme',\n\t\tname,\n\t\t'base'\n\t);\n\tconst [ defaultColors, setDefaultColors ] = useGlobalSetting(\n\t\t'color.palette.default',\n\t\tname\n\t);\n\tconst [ baseDefaultColors ] = useGlobalSetting(\n\t\t'color.palette.default',\n\t\tname,\n\t\t'base'\n\t);\n\tconst [ customColors, setCustomColors ] = useGlobalSetting(\n\t\t'color.palette.custom',\n\t\tname\n\t);\n\n\tconst [ defaultPaletteEnabled ] = useGlobalSetting(\n\t\t'color.defaultPalette',\n\t\tname\n\t);\n\tconst colorVariations = useCurrentMergeThemeStyleVariationsWithUserConfig( {\n\t\tproperty: 'color',\n\t\tfilter: ( variation ) =>\n\t\t\tvariation?.settings?.color &&\n\t\t\tObject.keys( variation?.settings?.color ).length,\n\t} );\n\tconst isMobileViewport = useViewportMatch( 'small', '<' );\n\tconst popoverProps = isMobileViewport ? mobilePopoverProps : undefined;\n\n\treturn (\n\t\t<VStack\n\t\t\tclassName=\"edit-site-global-styles-color-palette-panel\"\n\t\t\tspacing={ 10 }\n\t\t>\n\t\t\t{ !! themeColors && !! themeColors.length && (\n\t\t\t\t<PaletteEdit\n\t\t\t\t\tcanReset={ themeColors !== baseThemeColors }\n\t\t\t\t\tcanOnlyChangeValues\n\t\t\t\t\tcolors={ themeColors }\n\t\t\t\t\tonChange={ setThemeColors }\n\t\t\t\t\tpaletteLabel={ __( 'Theme' ) }\n\t\t\t\t\tpaletteLabelHeadingLevel={ 3 }\n\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ !! defaultColors &&\n\t\t\t\t!! defaultColors.length &&\n\t\t\t\t!! defaultPaletteEnabled && (\n\t\t\t\t\t<PaletteEdit\n\t\t\t\t\t\tcanReset={ defaultColors !== baseDefaultColors }\n\t\t\t\t\t\tcanOnlyChangeValues\n\t\t\t\t\t\tcolors={ defaultColors }\n\t\t\t\t\t\tonChange={ setDefaultColors }\n\t\t\t\t\t\tpaletteLabel={ __( 'Default' ) }\n\t\t\t\t\t\tpaletteLabelHeadingLevel={ 3 }\n\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t{ !! colorVariations.length && (\n\t\t\t\t<ColorVariations variations={ colorVariations } />\n\t\t\t) }\n\t\t\t<PaletteEdit\n\t\t\t\tcolors={ customColors }\n\t\t\t\tonChange={ setCustomColors }\n\t\t\t\tpaletteLabel={ __( 'Custom' ) }\n\t\t\t\tpaletteLabelHeadingLevel={ 3 }\n\t\t\t\temptyMessage={ __(\n\t\t\t\t\t'Custom colors are empty! Add some colors to create your own color palette.'\n\t\t\t\t) }\n\t\t\t\tslugPrefix=\"custom-\"\n\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t/>\n\t\t</VStack>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["useViewportMatch","__experimentalPaletteEdit","PaletteEdit","__experimentalVStack","VStack","__","privateApis","blockEditorPrivateApis","unlock","useGlobalSetting","mobilePopoverProps","placement","offset","ColorPalettePanel","name","themeColors","setThemeColors","baseThemeColors","defaultColors","setDefaultColors","baseDefaultColors","customColors","setCustomColors","defaultPaletteEnabled","isMobileViewport","popoverProps","undefined","createElement","className","spacing","length","canReset","canOnlyChangeValues","colors","onChange","paletteLabel","paletteLabelHeadingLevel","emptyMessage","slugPrefix"],"sources":["@wordpress/edit-site/src/components/global-styles/color-palette-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\t__experimentalPaletteEdit as PaletteEdit,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\nconst mobilePopoverProps = { placement: 'bottom-start', offset: 8 };\n\nexport default function ColorPalettePanel( { name } ) {\n\tconst [ themeColors, setThemeColors ] = useGlobalSetting(\n\t\t'color.palette.theme',\n\t\tname\n\t);\n\tconst [ baseThemeColors ] = useGlobalSetting(\n\t\t'color.palette.theme',\n\t\tname,\n\t\t'base'\n\t);\n\tconst [ defaultColors, setDefaultColors ] = useGlobalSetting(\n\t\t'color.palette.default',\n\t\tname\n\t);\n\tconst [ baseDefaultColors ] = useGlobalSetting(\n\t\t'color.palette.default',\n\t\tname,\n\t\t'base'\n\t);\n\tconst [ customColors, setCustomColors ] = useGlobalSetting(\n\t\t'color.palette.custom',\n\t\tname\n\t);\n\n\tconst [ defaultPaletteEnabled ] = useGlobalSetting(\n\t\t'color.defaultPalette',\n\t\tname\n\t);\n\tconst isMobileViewport = useViewportMatch( 'small', '<' );\n\tconst popoverProps = isMobileViewport ? mobilePopoverProps : undefined;\n\n\treturn (\n\t\t<VStack\n\t\t\tclassName=\"edit-site-global-styles-color-palette-panel\"\n\t\t\tspacing={ 10 }\n\t\t>\n\t\t\t{ !! themeColors && !! themeColors.length && (\n\t\t\t\t<PaletteEdit\n\t\t\t\t\tcanReset={ themeColors !== baseThemeColors }\n\t\t\t\t\tcanOnlyChangeValues\n\t\t\t\t\tcolors={ themeColors }\n\t\t\t\t\tonChange={ setThemeColors }\n\t\t\t\t\tpaletteLabel={ __( 'Theme' ) }\n\t\t\t\t\tpaletteLabelHeadingLevel={ 3 }\n\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ !! defaultColors &&\n\t\t\t\t!! defaultColors.length &&\n\t\t\t\t!! defaultPaletteEnabled && (\n\t\t\t\t\t<PaletteEdit\n\t\t\t\t\t\tcanReset={ defaultColors !== baseDefaultColors }\n\t\t\t\t\t\tcanOnlyChangeValues\n\t\t\t\t\t\tcolors={ defaultColors }\n\t\t\t\t\t\tonChange={ setDefaultColors }\n\t\t\t\t\t\tpaletteLabel={ __( 'Default' ) }\n\t\t\t\t\t\tpaletteLabelHeadingLevel={ 3 }\n\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t<PaletteEdit\n\t\t\t\tcolors={ customColors }\n\t\t\t\tonChange={ setCustomColors }\n\t\t\t\tpaletteLabel={ __( 'Custom' ) }\n\t\t\t\tpaletteLabelHeadingLevel={ 3 }\n\t\t\t\temptyMessage={ __(\n\t\t\t\t\t'Custom colors are empty! Add some colors to create your own color palette.'\n\t\t\t\t) }\n\t\t\t\tslugPrefix=\"custom-\"\n\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t/>\n\t\t</VStack>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,gBAAgB,QAAQ,oBAAoB;AACrD,SACCC,yBAAyB,IAAIC,WAAW,EACxCC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;AAC9B,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,WAAW,IAAIC,sBAAsB,QAAQ,yBAAyB;;AAE/E;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,MAAM;EAAEC;AAAiB,CAAC,GAAGD,MAAM,CAAED,sBAAuB,CAAC;AAC7D,MAAMG,kBAAkB,GAAG;EAAEC,SAAS,EAAE,cAAc;EAAEC,MAAM,EAAE;AAAE,CAAC;AAEnE,eAAe,SAASC,iBAAiBA,CAAE;EAAEC;AAAK,CAAC,EAAG;EACrD,MAAM,CAAEC,WAAW,EAAEC,cAAc,CAAE,GAAGP,gBAAgB,CACvD,qBAAqB,EACrBK,IACD,CAAC;EACD,MAAM,CAAEG,eAAe,CAAE,GAAGR,gBAAgB,CAC3C,qBAAqB,EACrBK,IAAI,EACJ,MACD,CAAC;EACD,MAAM,CAAEI,aAAa,EAAEC,gBAAgB,CAAE,GAAGV,gBAAgB,CAC3D,uBAAuB,EACvBK,IACD,CAAC;EACD,MAAM,CAAEM,iBAAiB,CAAE,GAAGX,gBAAgB,CAC7C,uBAAuB,EACvBK,IAAI,EACJ,MACD,CAAC;EACD,MAAM,CAAEO,YAAY,EAAEC,eAAe,CAAE,GAAGb,gBAAgB,CACzD,sBAAsB,EACtBK,IACD,CAAC;EAED,MAAM,CAAES,qBAAqB,CAAE,GAAGd,gBAAgB,CACjD,sBAAsB,EACtBK,IACD,CAAC;EACD,MAAMU,gBAAgB,GAAGxB,gBAAgB,CAAE,OAAO,EAAE,GAAI,CAAC;EACzD,MAAMyB,YAAY,GAAGD,gBAAgB,GAAGd,kBAAkB,GAAGgB,SAAS;EAEtE,OACCC,aAAA,CAACvB,MAAM;IACNwB,SAAS,EAAC,6CAA6C;IACvDC,OAAO,EAAG;EAAI,GAEZ,CAAC,CAAEd,WAAW,IAAI,CAAC,CAAEA,WAAW,CAACe,MAAM,IACxCH,aAAA,CAACzB,WAAW;IACX6B,QAAQ,EAAGhB,WAAW,KAAKE,eAAiB;IAC5Ce,mBAAmB;IACnBC,MAAM,EAAGlB,WAAa;IACtBmB,QAAQ,EAAGlB,cAAgB;IAC3BmB,YAAY,EAAG9B,EAAE,CAAE,OAAQ,CAAG;IAC9B+B,wBAAwB,EAAG,CAAG;IAC9BX,YAAY,EAAGA;EAAc,CAC7B,CACD,EACC,CAAC,CAAEP,aAAa,IACjB,CAAC,CAAEA,aAAa,CAACY,MAAM,IACvB,CAAC,CAAEP,qBAAqB,IACvBI,aAAA,CAACzB,WAAW;IACX6B,QAAQ,EAAGb,aAAa,KAAKE,iBAAmB;IAChDY,mBAAmB;IACnBC,MAAM,EAAGf,aAAe;IACxBgB,QAAQ,EAAGf,gBAAkB;IAC7BgB,YAAY,EAAG9B,EAAE,CAAE,SAAU,CAAG;IAChC+B,wBAAwB,EAAG,CAAG;IAC9BX,YAAY,EAAGA;EAAc,CAC7B,CACD,EACFE,aAAA,CAACzB,WAAW;IACX+B,MAAM,EAAGZ,YAAc;IACvBa,QAAQ,EAAGZ,eAAiB;IAC5Ba,YAAY,EAAG9B,EAAE,CAAE,QAAS,CAAG;IAC/B+B,wBAAwB,EAAG,CAAG;IAC9BC,YAAY,EAAGhC,EAAE,CAChB,4EACD,CAAG;IACHiC,UAAU,EAAC,SAAS;IACpBb,YAAY,EAAGA;EAAc,CAC7B,CACM,CAAC;AAEX"}
@@ -26,7 +26,7 @@ function FontFamilies() {
26
26
  onRequestClose: () => toggleModal(),
27
27
  defaultTabId: modalTabOpen
28
28
  }), createElement(VStack, {
29
- spacing: 3
29
+ spacing: 2
30
30
  }, createElement(HStack, {
31
31
  justify: "space-between"
32
32
  }, createElement(Subtitle, {
@@ -1 +1 @@
1
- {"version":3,"names":["__","__experimentalItemGroup","ItemGroup","__experimentalVStack","VStack","__experimentalHStack","HStack","Button","Tooltip","settings","useContext","FontLibraryProvider","FontLibraryContext","FontLibraryModal","FontFamilyItem","Subtitle","FontFamilies","modalTabOpen","toggleModal","themeFonts","customFonts","hasFonts","length","createElement","Fragment","onRequestClose","defaultTabId","spacing","justify","level","text","onClick","icon","size","isBordered","isSeparated","map","font","key","slug","className","variant","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 { settings } 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\tconst hasFonts = 0 < customFonts.length || 0 < themeFonts.length;\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\tdefaultTabId={ 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={ settings }\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{ hasFonts ? (\n\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t{ customFonts.map( ( font ) => (\n\t\t\t\t\t\t\t<FontFamilyItem key={ font.slug } font={ font } />\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t{ themeFonts.map( ( font ) => (\n\t\t\t\t\t\t\t<FontFamilyItem key={ font.slug } font={ font } />\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</ItemGroup>\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ __( 'No fonts installed.' ) }\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-font-families__add-fonts\"\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tonClick={ () => toggleModal( 'upload-fonts' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Add fonts' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</>\n\t\t\t\t) }\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,QAAQ,QAAQ,kBAAkB;AAC3C,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,MAAMS,QAAQ,GAAG,CAAC,GAAGD,WAAW,CAACE,MAAM,IAAI,CAAC,GAAGH,UAAU,CAACG,MAAM;EAEhE,OACCC,aAAA,CAAAC,QAAA,QACG,CAAC,CAAEP,YAAY,IAChBM,aAAA,CAACV,gBAAgB;IAChBY,cAAc,EAAGA,CAAA,KAAMP,WAAW,CAAC,CAAG;IACtCQ,YAAY,EAAGT;EAAc,CAC7B,CACD,EAEDM,aAAA,CAACnB,MAAM;IAACuB,OAAO,EAAG;EAAG,GACpBJ,aAAA,CAACjB,MAAM;IAACsB,OAAO,EAAC;EAAe,GAC9BL,aAAA,CAACR,QAAQ;IAACc,KAAK,EAAG;EAAG,GAAG7B,EAAE,CAAE,OAAQ,CAAa,CAAC,EAClDuB,aAAA,CAACjB,MAAM;IAACsB,OAAO,EAAC;EAAU,GACzBL,aAAA,CAACf,OAAO;IAACsB,IAAI,EAAG9B,EAAE,CAAE,cAAe;EAAG,GACrCuB,aAAA,CAAChB,MAAM;IACNwB,OAAO,EAAGA,CAAA,KACTb,WAAW,CAAE,iBAAkB,CAC/B;IACD,cAAalB,EAAE,CAAE,cAAe,CAAG;IACnCgC,IAAI,EAAGvB,QAAU;IACjBwB,IAAI,EAAG;EAAS,CAChB,CACO,CACF,CACD,CAAC,EACPZ,QAAQ,GACTE,aAAA,CAACrB,SAAS;IAACgC,UAAU;IAACC,WAAW;EAAA,GAC9Bf,WAAW,CAACgB,GAAG,CAAIC,IAAI,IACxBd,aAAA,CAACT,cAAc;IAACwB,GAAG,EAAGD,IAAI,CAACE,IAAM;IAACF,IAAI,EAAGA;EAAM,CAAE,CAChD,CAAC,EACDlB,UAAU,CAACiB,GAAG,CAAIC,IAAI,IACvBd,aAAA,CAACT,cAAc;IAACwB,GAAG,EAAGD,IAAI,CAACE,IAAM;IAACF,IAAI,EAAGA;EAAM,CAAE,CAChD,CACQ,CAAC,GAEZd,aAAA,CAAAC,QAAA,QACGxB,EAAE,CAAE,qBAAsB,CAAC,EAC7BuB,aAAA,CAAChB,MAAM;IACNiC,SAAS,EAAC,kDAAkD;IAC5DC,OAAO,EAAC,WAAW;IACnBV,OAAO,EAAGA,CAAA,KAAMb,WAAW,CAAE,cAAe;EAAG,GAE7ClB,EAAE,CAAE,WAAY,CACX,CACP,CAEI,CACP,CAAC;AAEL;AAEA,gBAAe,CAAE;EAAE,GAAG0C;AAAM,CAAC,KAC5BnB,aAAA,CAACZ,mBAAmB,QACnBY,aAAA,CAACP,YAAY;EAAA,GAAM0B;AAAK,CAAI,CACR,CACrB"}
1
+ {"version":3,"names":["__","__experimentalItemGroup","ItemGroup","__experimentalVStack","VStack","__experimentalHStack","HStack","Button","Tooltip","settings","useContext","FontLibraryProvider","FontLibraryContext","FontLibraryModal","FontFamilyItem","Subtitle","FontFamilies","modalTabOpen","toggleModal","themeFonts","customFonts","hasFonts","length","createElement","Fragment","onRequestClose","defaultTabId","spacing","justify","level","text","onClick","icon","size","isBordered","isSeparated","map","font","key","slug","className","variant","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 { settings } 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\tconst hasFonts = 0 < customFonts.length || 0 < themeFonts.length;\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\tdefaultTabId={ modalTabOpen }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<VStack spacing={ 2 }>\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={ settings }\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{ hasFonts ? (\n\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t{ customFonts.map( ( font ) => (\n\t\t\t\t\t\t\t<FontFamilyItem key={ font.slug } font={ font } />\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t{ themeFonts.map( ( font ) => (\n\t\t\t\t\t\t\t<FontFamilyItem key={ font.slug } font={ font } />\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</ItemGroup>\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ __( 'No fonts installed.' ) }\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-font-families__add-fonts\"\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tonClick={ () => toggleModal( 'upload-fonts' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Add fonts' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</>\n\t\t\t\t) }\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,QAAQ,QAAQ,kBAAkB;AAC3C,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,MAAMS,QAAQ,GAAG,CAAC,GAAGD,WAAW,CAACE,MAAM,IAAI,CAAC,GAAGH,UAAU,CAACG,MAAM;EAEhE,OACCC,aAAA,CAAAC,QAAA,QACG,CAAC,CAAEP,YAAY,IAChBM,aAAA,CAACV,gBAAgB;IAChBY,cAAc,EAAGA,CAAA,KAAMP,WAAW,CAAC,CAAG;IACtCQ,YAAY,EAAGT;EAAc,CAC7B,CACD,EAEDM,aAAA,CAACnB,MAAM;IAACuB,OAAO,EAAG;EAAG,GACpBJ,aAAA,CAACjB,MAAM;IAACsB,OAAO,EAAC;EAAe,GAC9BL,aAAA,CAACR,QAAQ;IAACc,KAAK,EAAG;EAAG,GAAG7B,EAAE,CAAE,OAAQ,CAAa,CAAC,EAClDuB,aAAA,CAACjB,MAAM;IAACsB,OAAO,EAAC;EAAU,GACzBL,aAAA,CAACf,OAAO;IAACsB,IAAI,EAAG9B,EAAE,CAAE,cAAe;EAAG,GACrCuB,aAAA,CAAChB,MAAM;IACNwB,OAAO,EAAGA,CAAA,KACTb,WAAW,CAAE,iBAAkB,CAC/B;IACD,cAAalB,EAAE,CAAE,cAAe,CAAG;IACnCgC,IAAI,EAAGvB,QAAU;IACjBwB,IAAI,EAAG;EAAS,CAChB,CACO,CACF,CACD,CAAC,EACPZ,QAAQ,GACTE,aAAA,CAACrB,SAAS;IAACgC,UAAU;IAACC,WAAW;EAAA,GAC9Bf,WAAW,CAACgB,GAAG,CAAIC,IAAI,IACxBd,aAAA,CAACT,cAAc;IAACwB,GAAG,EAAGD,IAAI,CAACE,IAAM;IAACF,IAAI,EAAGA;EAAM,CAAE,CAChD,CAAC,EACDlB,UAAU,CAACiB,GAAG,CAAIC,IAAI,IACvBd,aAAA,CAACT,cAAc;IAACwB,GAAG,EAAGD,IAAI,CAACE,IAAM;IAACF,IAAI,EAAGA;EAAM,CAAE,CAChD,CACQ,CAAC,GAEZd,aAAA,CAAAC,QAAA,QACGxB,EAAE,CAAE,qBAAsB,CAAC,EAC7BuB,aAAA,CAAChB,MAAM;IACNiC,SAAS,EAAC,kDAAkD;IAC5DC,OAAO,EAAC,WAAW;IACnBV,OAAO,EAAGA,CAAA,KAAMb,WAAW,CAAE,cAAe;EAAG,GAE7ClB,EAAE,CAAE,WAAY,CACX,CACP,CAEI,CACP,CAAC;AAEL;AAEA,gBAAe,CAAE;EAAE,GAAG0C;AAAM,CAAC,KAC5BnB,aAAA,CAACZ,mBAAmB,QACnBY,aAAA,CAACP,YAAY;EAAA,GAAM0B;AAAK,CAAI,CACR,CACrB"}
@@ -6,7 +6,7 @@ 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 { __, sprintf } from '@wordpress/i18n';
9
+ import { __ } from '@wordpress/i18n';
10
10
 
11
11
  /**
12
12
  * Internal dependencies
@@ -72,12 +72,23 @@ function FontLibraryProvider({
72
72
  // Library Fonts
73
73
  const [modalTabOpen, setModalTabOpen] = useState(false);
74
74
  const [libraryFontSelected, setLibraryFontSelected] = useState(null);
75
- const baseThemeFonts = baseFontFamilies?.theme ? baseFontFamilies.theme.map(f => setUIValuesNeeded(f, {
76
- source: 'theme'
77
- })).sort((a, b) => a.name.localeCompare(b.name)) : [];
75
+
76
+ // Themes Fonts are the fonts defined in the global styles (database persisted theme.json data).
78
77
  const themeFonts = fontFamilies?.theme ? fontFamilies.theme.map(f => setUIValuesNeeded(f, {
79
78
  source: 'theme'
80
79
  })).sort((a, b) => a.name.localeCompare(b.name)) : [];
80
+ const themeFontsSlugs = new Set(themeFonts.map(f => f.slug));
81
+
82
+ /*
83
+ * Base Theme Fonts are the fonts defined in the theme.json *file*.
84
+ *
85
+ * Uses the fonts from global styles + the ones from the theme.json file that hasn't repeated slugs.
86
+ * Avoids incosistencies with the fonts listed in the font library modal as base (unactivated).
87
+ * These inconsistencies can happen when the active theme fonts in global styles aren't defined in theme.json file as when a theme style variation is applied.
88
+ */
89
+ const baseThemeFonts = baseFontFamilies?.theme ? themeFonts.concat(baseFontFamilies.theme.filter(f => !themeFontsSlugs.has(f.slug)).map(f => setUIValuesNeeded(f, {
90
+ source: 'theme'
91
+ })).sort((a, b) => a.name.localeCompare(b.name))) : [];
81
92
  const customFonts = fontFamilies?.custom ? fontFamilies.custom.map(f => setUIValuesNeeded(f, {
82
93
  source: 'custom'
83
94
  })).sort((a, b) => a.name.localeCompare(b.name)) : [];
@@ -97,7 +108,7 @@ function FontLibraryProvider({
97
108
  setLibraryFontSelected(null);
98
109
  return;
99
110
  }
100
- const fonts = font.source === 'theme' ? baseThemeFonts : baseCustomFonts;
111
+ const fonts = font.source === 'theme' ? themeFonts : baseCustomFonts;
101
112
 
102
113
  // Tries to find the font in the installed fonts
103
114
  const fontSelected = fonts.find(f => f.slug === font.slug);
@@ -178,14 +189,24 @@ function FontLibraryProvider({
178
189
  // Use the sucessfully installed font faces
179
190
  // As well as any font faces that were already installed (those will be activated)
180
191
  if (sucessfullyInstalledFontFaces?.length > 0 || alreadyInstalledFontFaces?.length > 0) {
181
- fontFamilyToInstall.fontFace = [...sucessfullyInstalledFontFaces, ...alreadyInstalledFontFaces];
182
- fontFamiliesToActivate.push(fontFamilyToInstall);
183
- } else if (isANewFontFamily) {
184
- // If the font family is new, delete it to avoid having font families without font faces.
192
+ // Use font data from REST API not from client to ensure
193
+ // correct font information is used.
194
+ installedFontFamily.fontFace = [...sucessfullyInstalledFontFaces];
195
+ fontFamiliesToActivate.push(installedFontFamily);
196
+ }
197
+
198
+ // If it's a system font but was installed successfully, activate it.
199
+ if (installedFontFamily && !fontFamilyToInstall?.fontFace?.length) {
200
+ fontFamiliesToActivate.push(installedFontFamily);
201
+ }
202
+
203
+ // If the font family is new and is not a system font, delete it to avoid having font families without font faces.
204
+ if (isANewFontFamily && fontFamilyToInstall?.fontFace?.length > 0 && sucessfullyInstalledFontFaces?.length === 0) {
185
205
  await fetchUninstallFontFamily(installedFontFamily.id);
186
206
  }
187
207
  installationErrors = installationErrors.concat(unsucessfullyInstalledFontFaces);
188
208
  }
209
+ installationErrors = installationErrors.reduce((unique, item) => unique.includes(item.message) ? unique : [...unique, item.message], []);
189
210
  if (fontFamiliesToActivate.length > 0) {
190
211
  // Activate the font family (add the font family to the global styles).
191
212
  activateCustomFontFamilies(fontFamiliesToActivate);
@@ -195,10 +216,9 @@ function FontLibraryProvider({
195
216
  refreshLibrary();
196
217
  }
197
218
  if (installationErrors.length > 0) {
198
- throw new Error(sprintf( /* translators: %s: Specific error message returned from server. */
199
- __('There were some errors installing fonts. %s'), installationErrors.reduce((errorMessageCollection, error) => {
200
- return `${errorMessageCollection} ${error.message}`;
201
- }, '')));
219
+ const installError = new Error(__('There was an error installing fonts.'));
220
+ installError.installationErrors = installationErrors;
221
+ throw installError;
202
222
  }
203
223
  } finally {
204
224
  setIsInstalling(false);
@@ -244,14 +264,30 @@ function FontLibraryProvider({
244
264
  }
245
265
  };
246
266
  const activateCustomFontFamilies = fontsToAdd => {
247
- // Merge the existing custom fonts with the new fonts.
267
+ // Removes the id from the families and faces to avoid saving that to global styles post content.
268
+ const fontsToActivate = fontsToAdd.map(({
269
+ id: _familyDbId,
270
+ fontFace,
271
+ ...font
272
+ }) => ({
273
+ ...font,
274
+ ...(fontFace && fontFace.length > 0 ? {
275
+ fontFace: fontFace.map(({
276
+ id: _faceDbId,
277
+ ...face
278
+ }) => face)
279
+ } : {})
280
+ }));
281
+
248
282
  // Activate the fonts by set the new custom fonts array.
249
283
  setFontFamilies({
250
284
  ...fontFamilies,
251
- custom: mergeFontFamilies(fontFamilies?.custom, fontsToAdd)
285
+ // Merge the existing custom fonts with the new fonts.
286
+ custom: mergeFontFamilies(fontFamilies?.custom, fontsToActivate)
252
287
  });
288
+
253
289
  // Add custom fonts to the browser.
254
- fontsToAdd.forEach(font => {
290
+ fontsToActivate.forEach(font => {
255
291
  if (font.fontFace) {
256
292
  font.fontFace.forEach(face => {
257
293
  // Load font faces just in the iframe because they already are in the document.
@@ -272,9 +308,9 @@ function FontLibraryProvider({
272
308
  ...fontFamilies,
273
309
  [font.source]: newFonts
274
310
  });
275
- const isFaceActivated = isFontActivated(font.slug, face.fontStyle, face.fontWeight, font.source);
311
+ const isFaceActivated = isFontActivated(font.slug, face?.fontStyle, face?.fontWeight, font.source);
276
312
  if (isFaceActivated) {
277
- loadFontFaceInBrowser(face, getDisplaySrcFromFontFace(face.src), 'all');
313
+ loadFontFaceInBrowser(face, getDisplaySrcFromFontFace(face?.src), 'all');
278
314
  } else {
279
315
  unloadFontFaceInBrowser(face, 'all');
280
316
  }
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","useState","useEffect","privateApis","blockEditorPrivateApis","useSelect","useDispatch","useEntityRecord","useEntityRecords","store","coreStore","__","sprintf","fetchGetFontFamilyBySlug","fetchInstallFontFamily","fetchUninstallFontFamily","fetchFontCollections","fetchFontCollection","unlock","useGlobalSetting","setUIValuesNeeded","mergeFontFamilies","loadFontFaceInBrowser","unloadFontFaceInBrowser","getDisplaySrcFromFontFace","makeFontFacesFormData","makeFontFamilyFormData","batchInstallFontFaces","checkFontFaceInstalled","toggleFont","FontLibraryContext","FontLibraryProvider","children","__experimentalSaveSpecifiedEntityEdits","saveSpecifiedEntityEdits","globalStylesId","select","__experimentalGetCurrentGlobalStylesId","globalStyles","fontFamiliesHasChanges","edits","settings","typography","fontFamilies","isInstalling","setIsInstalling","refreshKey","setRefreshKey","notice","setNotice","refreshLibrary","Date","now","records","libraryPosts","isResolving","isResolvingLibrary","hasResolved","hasResolvedLibrary","_embed","libraryFonts","map","fontFamilyPost","id","font_family_settings","fontFace","_embedded","font_faces","face","font_face_settings","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","getAvailableFontsOutline","availableFontFamilies","outline","reduce","acc","availableFontFaces","length","fontStyle","fontWeight","getActivatedFontsOutline","isFontActivated","style","weight","includes","getFontFacesActivated","installFonts","fontFamiliesToInstall","fontFamiliesToActivate","installationErrors","fontFamilyToInstall","isANewFontFamily","installedFontFamily","alreadyInstalledFontFaces","filter","fontFaceToInstall","sucessfullyInstalledFontFaces","unsucessfullyInstalledFontFaces","response","successes","errors","push","concat","activateCustomFontFamilies","Error","errorMessageCollection","error","message","uninstallFontFamily","fontFamilyToUninstall","uninstalledFontFamily","deleted","deactivateFontFamily","console","_fontFamilies$font$so","initialCustomFonts","newCustomFonts","forEach","fontsToAdd","src","toggleActivateFont","_fontFamilies$font$so2","initialFonts","newFonts","isFaceActivated","loadFontFaceAsset","has","add","collections","setFontCollections","getFontCollections","getFontCollection","hasData","collection","font_families","updatedCollections","e","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 { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tfetchGetFontFamilyBySlug,\n\tfetchInstallFontFamily,\n\tfetchUninstallFontFamily,\n\tfetchFontCollections,\n\tfetchFontCollection,\n} from './resolvers';\nimport { unlock } from '../../../lock-unlock';\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\nimport {\n\tsetUIValuesNeeded,\n\tmergeFontFamilies,\n\tloadFontFaceInBrowser,\n\tunloadFontFaceInBrowser,\n\tgetDisplaySrcFromFontFace,\n\tmakeFontFacesFormData,\n\tmakeFontFamilyFormData,\n\tbatchInstallFontFaces,\n\tcheckFontFaceInstalled,\n} from './utils';\nimport { toggleFont } from './utils/toggleFont';\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\tconst [ notice, setNotice ] = useState( null );\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', {\n\t\trefreshKey,\n\t\t_embed: true,\n\t} );\n\n\tconst libraryFonts =\n\t\t( libraryPosts || [] ).map( ( fontFamilyPost ) => {\n\t\t\treturn {\n\t\t\t\tid: fontFamilyPost.id,\n\t\t\t\t...fontFamilyPost.font_family_settings,\n\t\t\t\tfontFace:\n\t\t\t\t\tfontFamilyPost?._embedded?.font_faces.map(\n\t\t\t\t\t\t( face ) => face.font_face_settings\n\t\t\t\t\t) || [],\n\t\t\t};\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\tsetNotice( null );\n\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\tconst getAvailableFontsOutline = ( availableFontFamilies ) => {\n\t\tconst outline = availableFontFamilies.reduce( ( acc, font ) => {\n\t\t\tconst availableFontFaces =\n\t\t\t\tfont?.fontFace && font.fontFace?.length > 0\n\t\t\t\t\t? font?.fontFace.map(\n\t\t\t\t\t\t\t( face ) => `${ face.fontStyle + face.fontWeight }`\n\t\t\t\t\t )\n\t\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( fontFamiliesToInstall ) {\n\t\tsetIsInstalling( true );\n\t\ttry {\n\t\t\tconst fontFamiliesToActivate = [];\n\t\t\tlet installationErrors = [];\n\n\t\t\tfor ( const fontFamilyToInstall of fontFamiliesToInstall ) {\n\t\t\t\tlet isANewFontFamily = false;\n\n\t\t\t\t// Get the font family if it already exists.\n\t\t\t\tlet installedFontFamily = await fetchGetFontFamilyBySlug(\n\t\t\t\t\tfontFamilyToInstall.slug\n\t\t\t\t);\n\n\t\t\t\t// Otherwise create it.\n\t\t\t\tif ( ! installedFontFamily ) {\n\t\t\t\t\tisANewFontFamily = true;\n\t\t\t\t\t// Prepare font family form data to install.\n\t\t\t\t\tinstalledFontFamily = await fetchInstallFontFamily(\n\t\t\t\t\t\tmakeFontFamilyFormData( fontFamilyToInstall )\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Collect font faces that have already been installed (to be activated later)\n\t\t\t\tconst alreadyInstalledFontFaces =\n\t\t\t\t\tinstalledFontFamily.fontFace && fontFamilyToInstall.fontFace\n\t\t\t\t\t\t? installedFontFamily.fontFace.filter(\n\t\t\t\t\t\t\t\t( fontFaceToInstall ) =>\n\t\t\t\t\t\t\t\t\tcheckFontFaceInstalled(\n\t\t\t\t\t\t\t\t\t\tfontFaceToInstall,\n\t\t\t\t\t\t\t\t\t\tfontFamilyToInstall.fontFace\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: [];\n\n\t\t\t\t// Filter out Font Faces that have already been installed (so that they are not re-installed)\n\t\t\t\tif (\n\t\t\t\t\tinstalledFontFamily.fontFace &&\n\t\t\t\t\tfontFamilyToInstall.fontFace\n\t\t\t\t) {\n\t\t\t\t\tfontFamilyToInstall.fontFace =\n\t\t\t\t\t\tfontFamilyToInstall.fontFace.filter(\n\t\t\t\t\t\t\t( fontFaceToInstall ) =>\n\t\t\t\t\t\t\t\t! checkFontFaceInstalled(\n\t\t\t\t\t\t\t\t\tfontFaceToInstall,\n\t\t\t\t\t\t\t\t\tinstalledFontFamily.fontFace\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Install the fonts (upload the font files to the server and create the post in the database).\n\t\t\t\tlet sucessfullyInstalledFontFaces = [];\n\t\t\t\tlet unsucessfullyInstalledFontFaces = [];\n\t\t\t\tif ( fontFamilyToInstall?.fontFace?.length > 0 ) {\n\t\t\t\t\tconst response = await batchInstallFontFaces(\n\t\t\t\t\t\tinstalledFontFamily.id,\n\t\t\t\t\t\tmakeFontFacesFormData( fontFamilyToInstall )\n\t\t\t\t\t);\n\t\t\t\t\tsucessfullyInstalledFontFaces = response?.successes;\n\t\t\t\t\tunsucessfullyInstalledFontFaces = response?.errors;\n\t\t\t\t}\n\n\t\t\t\t// Use the sucessfully installed font faces\n\t\t\t\t// As well as any font faces that were already installed (those will be activated)\n\t\t\t\tif (\n\t\t\t\t\tsucessfullyInstalledFontFaces?.length > 0 ||\n\t\t\t\t\talreadyInstalledFontFaces?.length > 0\n\t\t\t\t) {\n\t\t\t\t\tfontFamilyToInstall.fontFace = [\n\t\t\t\t\t\t...sucessfullyInstalledFontFaces,\n\t\t\t\t\t\t...alreadyInstalledFontFaces,\n\t\t\t\t\t];\n\t\t\t\t\tfontFamiliesToActivate.push( fontFamilyToInstall );\n\t\t\t\t} else if ( isANewFontFamily ) {\n\t\t\t\t\t// If the font family is new, delete it to avoid having font families without font faces.\n\t\t\t\t\tawait fetchUninstallFontFamily( installedFontFamily.id );\n\t\t\t\t}\n\n\t\t\t\tinstallationErrors = installationErrors.concat(\n\t\t\t\t\tunsucessfullyInstalledFontFaces\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif ( fontFamiliesToActivate.length > 0 ) {\n\t\t\t\t// Activate the font family (add the font family to the global styles).\n\t\t\t\tactivateCustomFontFamilies( fontFamiliesToActivate );\n\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\n\t\t\t\trefreshLibrary();\n\t\t\t}\n\n\t\t\tif ( installationErrors.length > 0 ) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t/* translators: %s: Specific error message returned from server. */\n\t\t\t\t\t\t__( 'There were some errors installing fonts. %s' ),\n\t\t\t\t\t\tinstallationErrors.reduce(\n\t\t\t\t\t\t\t( errorMessageCollection, error ) => {\n\t\t\t\t\t\t\t\treturn `${ errorMessageCollection } ${ error.message }`;\n\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)\n\t\t\t\t);\n\t\t\t}\n\t\t} finally {\n\t\t\tsetIsInstalling( false );\n\t\t}\n\t}\n\n\tasync function uninstallFontFamily( fontFamilyToUninstall ) {\n\t\ttry {\n\t\t\t// Uninstall the font family.\n\t\t\t// (Removes the font files from the server and the posts from the database).\n\t\t\tconst uninstalledFontFamily = await fetchUninstallFontFamily(\n\t\t\t\tfontFamilyToUninstall.id\n\t\t\t);\n\n\t\t\t// Deactivate the font family if delete request is successful\n\t\t\t// (Removes the font family from the global styles).\n\t\t\tif ( uninstalledFontFamily.deleted ) {\n\t\t\t\tdeactivateFontFamily( fontFamilyToUninstall );\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\n\t\t\t// Refresh the library (the library font families from database).\n\t\t\trefreshLibrary();\n\n\t\t\treturn uninstalledFontFamily;\n\t\t} catch ( error ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(\n\t\t\t\t`There was an error uninstalling the font family:`,\n\t\t\t\terror\n\t\t\t);\n\t\t\tthrow error;\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\n\t\tif ( font.fontFace ) {\n\t\t\tfont.fontFace.forEach( ( face ) => {\n\t\t\t\tunloadFontFaceInBrowser( face, 'all' );\n\t\t\t} );\n\t\t}\n\t};\n\n\tconst activateCustomFontFamilies = ( fontsToAdd ) => {\n\t\t// Merge the existing custom fonts with the new fonts.\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: mergeFontFamilies( fontFamilies?.custom, fontsToAdd ),\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'all'\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\n\t\tconst isFaceActivated = isFontActivated(\n\t\t\tfont.slug,\n\t\t\tface.fontStyle,\n\t\t\tface.fontWeight,\n\t\t\tfont.source\n\t\t);\n\n\t\tif ( isFaceActivated ) {\n\t\t\tloadFontFaceInBrowser(\n\t\t\t\tface,\n\t\t\t\tgetDisplaySrcFromFontFace( face.src ),\n\t\t\t\t'all'\n\t\t\t);\n\t\t} else {\n\t\t\tunloadFontFaceInBrowser( face, 'all' );\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 );\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 ( slug ) => {\n\t\ttry {\n\t\t\tconst hasData = !! collections.find(\n\t\t\t\t( collection ) => collection.slug === slug\n\t\t\t)?.font_families;\n\t\t\tif ( hasData ) return;\n\t\t\tconst response = await fetchFontCollection( slug );\n\t\t\tconst updatedCollections = collections.map( ( collection ) =>\n\t\t\t\tcollection.slug === slug\n\t\t\t\t\t? { ...collection, ...response }\n\t\t\t\t\t: collection\n\t\t\t);\n\t\t\tsetFontCollections( updatedCollections );\n\t\t} catch ( e ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error( e );\n\t\t\tthrow e;\n\t\t}\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\tuninstallFontFamily,\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\tnotice,\n\t\t\t\tsetNotice,\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":";AAAA;AACA;AACA;AACA,SAASA,aAAa,EAAEC,QAAQ,EAAEC,SAAS,QAAQ,oBAAoB;AACvE,SAASC,WAAW,IAAIC,sBAAsB,QAAQ,yBAAyB;AAC/E,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SACCC,eAAe,EACfC,gBAAgB,EAChBC,KAAK,IAAIC,SAAS,QACZ,sBAAsB;AAC7B,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;;AAE7C;AACA;AACA;AACA,SACCC,wBAAwB,EACxBC,sBAAsB,EACtBC,wBAAwB,EACxBC,oBAAoB,EACpBC,mBAAmB,QACb,aAAa;AACpB,SAASC,MAAM,QAAQ,sBAAsB;AAC7C,MAAM;EAAEC;AAAiB,CAAC,GAAGD,MAAM,CAAEd,sBAAuB,CAAC;AAC7D,SACCgB,iBAAiB,EACjBC,iBAAiB,EACjBC,qBAAqB,EACrBC,uBAAuB,EACvBC,yBAAyB,EACzBC,qBAAqB,EACrBC,sBAAsB,EACtBC,qBAAqB,EACrBC,sBAAsB,QAChB,SAAS;AAChB,SAASC,UAAU,QAAQ,oBAAoB;AAE/C,OAAO,MAAMC,kBAAkB,GAAG9B,aAAa,CAAE,CAAC,CAAE,CAAC;AAErD,SAAS+B,mBAAmBA,CAAE;EAAEC;AAAS,CAAC,EAAG;EAC5C,MAAM;IAAEC,sCAAsC,EAAEC;EAAyB,CAAC,GACzE5B,WAAW,CAAEI,SAAU,CAAC;EACzB,MAAM;IAAEyB;EAAe,CAAC,GAAG9B,SAAS,CAAI+B,MAAM,IAAM;IACnD,MAAM;MAAEC;IAAuC,CAAC,GAAGD,MAAM,CAAE1B,SAAU,CAAC;IACtE,OAAO;MAAEyB,cAAc,EAAEE,sCAAsC,CAAC;IAAE,CAAC;EACpE,CAAE,CAAC;EAEH,MAAMC,YAAY,GAAG/B,eAAe,CACnC,MAAM,EACN,cAAc,EACd4B,cACD,CAAC;EACD,MAAMI,sBAAsB,GAC3B,CAAC,CAAED,YAAY,EAAEE,KAAK,EAAEC,QAAQ,EAAEC,UAAU,EAAEC,YAAY;EAE3D,MAAM,CAAEC,YAAY,EAAEC,eAAe,CAAE,GAAG5C,QAAQ,CAAE,KAAM,CAAC;EAC3D,MAAM,CAAE6C,UAAU,EAAEC,aAAa,CAAE,GAAG9C,QAAQ,CAAE,CAAE,CAAC;EACnD,MAAM,CAAE+C,MAAM,EAAEC,SAAS,CAAE,GAAGhD,QAAQ,CAAE,IAAK,CAAC;EAE9C,MAAMiD,cAAc,GAAGA,CAAA,KAAM;IAC5BH,aAAa,CAAEI,IAAI,CAACC,GAAG,CAAC,CAAE,CAAC;EAC5B,CAAC;EAED,MAAM;IACLC,OAAO,EAAEC,YAAY,GAAG,EAAE;IAC1BC,WAAW,EAAEC,kBAAkB;IAC/BC,WAAW,EAAEC;EACd,CAAC,GAAGlD,gBAAgB,CAAE,UAAU,EAAE,gBAAgB,EAAE;IACnDsC,UAAU;IACVa,MAAM,EAAE;EACT,CAAE,CAAC;EAEH,MAAMC,YAAY,GACjB,CAAEN,YAAY,IAAI,EAAE,EAAGO,GAAG,CAAIC,cAAc,IAAM;IACjD,OAAO;MACNC,EAAE,EAAED,cAAc,CAACC,EAAE;MACrB,GAAGD,cAAc,CAACE,oBAAoB;MACtCC,QAAQ,EACPH,cAAc,EAAEI,SAAS,EAAEC,UAAU,CAACN,GAAG,CACtCO,IAAI,IAAMA,IAAI,CAACC,kBAClB,CAAC,IAAI;IACP,CAAC;EACF,CAAE,CAAC,IAAI,EAAE;;EAEV;EACA,MAAM,CAAE1B,YAAY,EAAE2B,eAAe,CAAE,GAAGnD,gBAAgB,CACzD,yBACD,CAAC;EACD;EACA,MAAM,CAAEoD,gBAAgB,CAAE,GAAGpD,gBAAgB,CAC5C,yBAAyB,EACzBqD,SAAS,EACT,MACD,CAAC;;EAED;EACA,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;IAC9BvC,wBAAwB,CAAE,MAAM,EAAE,cAAc,EAAEC,cAAc,EAAE,CACjE,kCAAkC,CACjC,CAAC;EACJ,CAAC;;EAED;EACA,MAAM,CAAEuC,YAAY,EAAEC,eAAe,CAAE,GAAG1E,QAAQ,CAAE,KAAM,CAAC;EAC3D,MAAM,CAAE2E,mBAAmB,EAAEC,sBAAsB,CAAE,GAAG5E,QAAQ,CAAE,IAAK,CAAC;EAExE,MAAM6E,cAAc,GAAGP,gBAAgB,EAAEQ,KAAK,GAC3CR,gBAAgB,CAACQ,KAAK,CACrBlB,GAAG,CAAImB,CAAC,IAAM5D,iBAAiB,CAAE4D,CAAC,EAAE;IAAEC,MAAM,EAAE;EAAQ,CAAE,CAAE,CAAC,CAC3DC,IAAI,CAAE,CAAEC,CAAC,EAAEC,CAAC,KAAMD,CAAC,CAACE,IAAI,CAACC,aAAa,CAAEF,CAAC,CAACC,IAAK,CAAE,CAAC,GACnD,EAAE;EAEL,MAAME,UAAU,GAAG5C,YAAY,EAAEoC,KAAK,GACnCpC,YAAY,CAACoC,KAAK,CACjBlB,GAAG,CAAImB,CAAC,IAAM5D,iBAAiB,CAAE4D,CAAC,EAAE;IAAEC,MAAM,EAAE;EAAQ,CAAE,CAAE,CAAC,CAC3DC,IAAI,CAAE,CAAEC,CAAC,EAAEC,CAAC,KAAMD,CAAC,CAACE,IAAI,CAACC,aAAa,CAAEF,CAAC,CAACC,IAAK,CAAE,CAAC,GACnD,EAAE;EAEL,MAAMG,WAAW,GAAG7C,YAAY,EAAE8C,MAAM,GACrC9C,YAAY,CAAC8C,MAAM,CAClB5B,GAAG,CAAImB,CAAC,IAAM5D,iBAAiB,CAAE4D,CAAC,EAAE;IAAEC,MAAM,EAAE;EAAS,CAAE,CAAE,CAAC,CAC5DC,IAAI,CAAE,CAAEC,CAAC,EAAEC,CAAC,KAAMD,CAAC,CAACE,IAAI,CAACC,aAAa,CAAEF,CAAC,CAACC,IAAK,CAAE,CAAC,GACnD,EAAE;EAEL,MAAMK,eAAe,GAAG9B,YAAY,GACjCA,YAAY,CACXC,GAAG,CAAImB,CAAC,IAAM5D,iBAAiB,CAAE4D,CAAC,EAAE;IAAEC,MAAM,EAAE;EAAS,CAAE,CAAE,CAAC,CAC5DC,IAAI,CAAE,CAAEC,CAAC,EAAEC,CAAC,KAAMD,CAAC,CAACE,IAAI,CAACC,aAAa,CAAEF,CAAC,CAACC,IAAK,CAAE,CAAC,GACnD,EAAE;EAELnF,SAAS,CAAE,MAAM;IAChB,IAAK,CAAEwE,YAAY,EAAG;MACrBG,sBAAsB,CAAE,IAAK,CAAC;IAC/B;EACD,CAAC,EAAE,CAAEH,YAAY,CAAG,CAAC;EAErB,MAAMiB,4BAA4B,GAAKC,IAAI,IAAM;IAChD3C,SAAS,CAAE,IAAK,CAAC;;IAEjB;IACA,IAAK,CAAE2C,IAAI,EAAG;MACbf,sBAAsB,CAAE,IAAK,CAAC;MAC9B;IACD;IAEA,MAAMgB,KAAK,GACVD,IAAI,CAACX,MAAM,KAAK,OAAO,GAAGH,cAAc,GAAGY,eAAe;;IAE3D;IACA,MAAMI,YAAY,GAAGD,KAAK,CAACE,IAAI,CAAIf,CAAC,IAAMA,CAAC,CAACgB,IAAI,KAAKJ,IAAI,CAACI,IAAK,CAAC;IAChE;IACAnB,sBAAsB,CAAE;MACvB,IAAKiB,YAAY,IAAIF,IAAI,CAAE;MAC3BX,MAAM,EAAEW,IAAI,CAACX;IACd,CAAE,CAAC;EACJ,CAAC;EAED,MAAMgB,WAAW,GAAKC,OAAO,IAAM;IAClCvB,eAAe,CAAEuB,OAAO,IAAI,IAAK,CAAC;EACnC,CAAC;;EAED;EACA,MAAM,CAAEC,cAAc,CAAE,GAAGlG,QAAQ,CAAE,IAAImG,GAAG,CAAC,CAAE,CAAC;EAEhD,MAAMC,wBAAwB,GAAKC,qBAAqB,IAAM;IAC7D,MAAMC,OAAO,GAAGD,qBAAqB,CAACE,MAAM,CAAE,CAAEC,GAAG,EAAEb,IAAI,KAAM;MAC9D,MAAMc,kBAAkB,GACvBd,IAAI,EAAE3B,QAAQ,IAAI2B,IAAI,CAAC3B,QAAQ,EAAE0C,MAAM,GAAG,CAAC,GACxCf,IAAI,EAAE3B,QAAQ,CAACJ,GAAG,CAChBO,IAAI,IAAO,GAAGA,IAAI,CAACwC,SAAS,GAAGxC,IAAI,CAACyC,UAAY,EAClD,CAAC,GACD,CAAE,WAAW,CAAE,CAAC,CAAC;;MAErBJ,GAAG,CAAEb,IAAI,CAACI,IAAI,CAAE,GAAGU,kBAAkB;MACrC,OAAOD,GAAG;IACX,CAAC,EAAE,CAAC,CAAE,CAAC;IACP,OAAOF,OAAO;EACf,CAAC;EAED,MAAMO,wBAAwB,GAAK7B,MAAM,IAAM;IAC9C,QAASA,MAAM;MACd,KAAK,OAAO;QACX,OAAOoB,wBAAwB,CAAEd,UAAW,CAAC;MAC9C,KAAK,QAAQ;MACb;QACC,OAAOc,wBAAwB,CAAEb,WAAY,CAAC;IAChD;EACD,CAAC;EAED,MAAMuB,eAAe,GAAGA,CAAEf,IAAI,EAAEgB,KAAK,EAAEC,MAAM,EAAEhC,MAAM,KAAM;IAC1D,IAAK,CAAE+B,KAAK,IAAI,CAAEC,MAAM,EAAG;MAC1B,OAAO,CAAC,CAAEH,wBAAwB,CAAE7B,MAAO,CAAC,CAAEe,IAAI,CAAE;IACrD;IACA,OAAO,CAAC,CAAEc,wBAAwB,CAAE7B,MAAO,CAAC,CAAEe,IAAI,CAAE,EAAEkB,QAAQ,CAC7DF,KAAK,GAAGC,MACT,CAAC;EACF,CAAC;EAED,MAAME,qBAAqB,GAAGA,CAAEnB,IAAI,EAAEf,MAAM,KAAM;IACjD,OAAO6B,wBAAwB,CAAE7B,MAAO,CAAC,CAAEe,IAAI,CAAE,IAAI,EAAE;EACxD,CAAC;EAED,eAAeoB,YAAYA,CAAEC,qBAAqB,EAAG;IACpDxE,eAAe,CAAE,IAAK,CAAC;IACvB,IAAI;MACH,MAAMyE,sBAAsB,GAAG,EAAE;MACjC,IAAIC,kBAAkB,GAAG,EAAE;MAE3B,KAAM,MAAMC,mBAAmB,IAAIH,qBAAqB,EAAG;QAC1D,IAAII,gBAAgB,GAAG,KAAK;;QAE5B;QACA,IAAIC,mBAAmB,GAAG,MAAM7G,wBAAwB,CACvD2G,mBAAmB,CAACxB,IACrB,CAAC;;QAED;QACA,IAAK,CAAE0B,mBAAmB,EAAG;UAC5BD,gBAAgB,GAAG,IAAI;UACvB;UACAC,mBAAmB,GAAG,MAAM5G,sBAAsB,CACjDY,sBAAsB,CAAE8F,mBAAoB,CAC7C,CAAC;QACF;;QAEA;QACA,MAAMG,yBAAyB,GAC9BD,mBAAmB,CAACzD,QAAQ,IAAIuD,mBAAmB,CAACvD,QAAQ,GACzDyD,mBAAmB,CAACzD,QAAQ,CAAC2D,MAAM,CACjCC,iBAAiB,IAClBjG,sBAAsB,CACrBiG,iBAAiB,EACjBL,mBAAmB,CAACvD,QACrB,CACD,CAAC,GACD,EAAE;;QAEN;QACA,IACCyD,mBAAmB,CAACzD,QAAQ,IAC5BuD,mBAAmB,CAACvD,QAAQ,EAC3B;UACDuD,mBAAmB,CAACvD,QAAQ,GAC3BuD,mBAAmB,CAACvD,QAAQ,CAAC2D,MAAM,CAChCC,iBAAiB,IAClB,CAAEjG,sBAAsB,CACvBiG,iBAAiB,EACjBH,mBAAmB,CAACzD,QACrB,CACF,CAAC;QACH;;QAEA;QACA,IAAI6D,6BAA6B,GAAG,EAAE;QACtC,IAAIC,+BAA+B,GAAG,EAAE;QACxC,IAAKP,mBAAmB,EAAEvD,QAAQ,EAAE0C,MAAM,GAAG,CAAC,EAAG;UAChD,MAAMqB,QAAQ,GAAG,MAAMrG,qBAAqB,CAC3C+F,mBAAmB,CAAC3D,EAAE,EACtBtC,qBAAqB,CAAE+F,mBAAoB,CAC5C,CAAC;UACDM,6BAA6B,GAAGE,QAAQ,EAAEC,SAAS;UACnDF,+BAA+B,GAAGC,QAAQ,EAAEE,MAAM;QACnD;;QAEA;QACA;QACA,IACCJ,6BAA6B,EAAEnB,MAAM,GAAG,CAAC,IACzCgB,yBAAyB,EAAEhB,MAAM,GAAG,CAAC,EACpC;UACDa,mBAAmB,CAACvD,QAAQ,GAAG,CAC9B,GAAG6D,6BAA6B,EAChC,GAAGH,yBAAyB,CAC5B;UACDL,sBAAsB,CAACa,IAAI,CAAEX,mBAAoB,CAAC;QACnD,CAAC,MAAM,IAAKC,gBAAgB,EAAG;UAC9B;UACA,MAAM1G,wBAAwB,CAAE2G,mBAAmB,CAAC3D,EAAG,CAAC;QACzD;QAEAwD,kBAAkB,GAAGA,kBAAkB,CAACa,MAAM,CAC7CL,+BACD,CAAC;MACF;MAEA,IAAKT,sBAAsB,CAACX,MAAM,GAAG,CAAC,EAAG;QACxC;QACA0B,0BAA0B,CAAEf,sBAAuB,CAAC;;QAEpD;QACA,MAAMpF,wBAAwB,CAC7B,MAAM,EACN,cAAc,EACdC,cAAc,EACd,CAAE,kCAAkC,CACrC,CAAC;QAEDe,cAAc,CAAC,CAAC;MACjB;MAEA,IAAKqE,kBAAkB,CAACZ,MAAM,GAAG,CAAC,EAAG;QACpC,MAAM,IAAI2B,KAAK,CACd1H,OAAO,EACN;QACAD,EAAE,CAAE,6CAA8C,CAAC,EACnD4G,kBAAkB,CAACf,MAAM,CACxB,CAAE+B,sBAAsB,EAAEC,KAAK,KAAM;UACpC,OAAQ,GAAGD,sBAAwB,IAAIC,KAAK,CAACC,OAAS,EAAC;QACxD,CAAC,EACD,EACD,CACD,CACD,CAAC;MACF;IACD,CAAC,SAAS;MACT5F,eAAe,CAAE,KAAM,CAAC;IACzB;EACD;EAEA,eAAe6F,mBAAmBA,CAAEC,qBAAqB,EAAG;IAC3D,IAAI;MACH;MACA;MACA,MAAMC,qBAAqB,GAAG,MAAM7H,wBAAwB,CAC3D4H,qBAAqB,CAAC5E,EACvB,CAAC;;MAED;MACA;MACA,IAAK6E,qBAAqB,CAACC,OAAO,EAAG;QACpCC,oBAAoB,CAAEH,qBAAsB,CAAC;QAC7C;QACA,MAAMzG,wBAAwB,CAC7B,MAAM,EACN,cAAc,EACdC,cAAc,EACd,CAAE,kCAAkC,CACrC,CAAC;MACF;;MAEA;MACAe,cAAc,CAAC,CAAC;MAEhB,OAAO0F,qBAAqB;IAC7B,CAAC,CAAC,OAAQJ,KAAK,EAAG;MACjB;MACAO,OAAO,CAACP,KAAK,CACX,kDAAiD,EAClDA,KACD,CAAC;MACD,MAAMA,KAAK;IACZ;EACD;EAEA,MAAMM,oBAAoB,GAAKlD,IAAI,IAAM;IAAA,IAAAoD,qBAAA;IACxC;IACA;IACA,MAAMC,kBAAkB,IAAAD,qBAAA,GAAGrG,YAAY,GAAIiD,IAAI,CAACX,MAAM,CAAE,cAAA+D,qBAAA,cAAAA,qBAAA,GAAI,EAAE;IAC9D,MAAME,cAAc,GAAGD,kBAAkB,CAACrB,MAAM,CAC7C5C,CAAC,IAAMA,CAAC,CAACgB,IAAI,KAAKJ,IAAI,CAACI,IAC1B,CAAC;IACD1B,eAAe,CAAE;MAChB,GAAG3B,YAAY;MACf,CAAEiD,IAAI,CAACX,MAAM,GAAIiE;IAClB,CAAE,CAAC;IAEH,IAAKtD,IAAI,CAAC3B,QAAQ,EAAG;MACpB2B,IAAI,CAAC3B,QAAQ,CAACkF,OAAO,CAAI/E,IAAI,IAAM;QAClC7C,uBAAuB,CAAE6C,IAAI,EAAE,KAAM,CAAC;MACvC,CAAE,CAAC;IACJ;EACD,CAAC;EAED,MAAMiE,0BAA0B,GAAKe,UAAU,IAAM;IACpD;IACA;IACA9E,eAAe,CAAE;MAChB,GAAG3B,YAAY;MACf8C,MAAM,EAAEpE,iBAAiB,CAAEsB,YAAY,EAAE8C,MAAM,EAAE2D,UAAW;IAC7D,CAAE,CAAC;IACH;IACAA,UAAU,CAACD,OAAO,CAAIvD,IAAI,IAAM;MAC/B,IAAKA,IAAI,CAAC3B,QAAQ,EAAG;QACpB2B,IAAI,CAAC3B,QAAQ,CAACkF,OAAO,CAAI/E,IAAI,IAAM;UAClC;UACA9C,qBAAqB,CACpB8C,IAAI,EACJ5C,yBAAyB,CAAE4C,IAAI,CAACiF,GAAI,CAAC,EACrC,KACD,CAAC;QACF,CAAE,CAAC;MACJ;IACD,CAAE,CAAC;EACJ,CAAC;EAED,MAAMC,kBAAkB,GAAGA,CAAE1D,IAAI,EAAExB,IAAI,KAAM;IAAA,IAAAmF,sBAAA;IAC5C;IACA;IACA,MAAMC,YAAY,IAAAD,sBAAA,GAAG5G,YAAY,GAAIiD,IAAI,CAACX,MAAM,CAAE,cAAAsE,sBAAA,cAAAA,sBAAA,GAAI,EAAE;IACxD;IACA,MAAME,QAAQ,GAAG5H,UAAU,CAAE+D,IAAI,EAAExB,IAAI,EAAEoF,YAAa,CAAC;IACvD;IACAlF,eAAe,CAAE;MAChB,GAAG3B,YAAY;MACf,CAAEiD,IAAI,CAACX,MAAM,GAAIwE;IAClB,CAAE,CAAC;IAEH,MAAMC,eAAe,GAAG3C,eAAe,CACtCnB,IAAI,CAACI,IAAI,EACT5B,IAAI,CAACwC,SAAS,EACdxC,IAAI,CAACyC,UAAU,EACfjB,IAAI,CAACX,MACN,CAAC;IAED,IAAKyE,eAAe,EAAG;MACtBpI,qBAAqB,CACpB8C,IAAI,EACJ5C,yBAAyB,CAAE4C,IAAI,CAACiF,GAAI,CAAC,EACrC,KACD,CAAC;IACF,CAAC,MAAM;MACN9H,uBAAuB,CAAE6C,IAAI,EAAE,KAAM,CAAC;IACvC;EACD,CAAC;EAED,MAAMuF,iBAAiB,GAAG,MAAQ1F,QAAQ,IAAM;IAC/C;IACA,IAAK,CAAEA,QAAQ,CAACoF,GAAG,EAAG;IACtB;IACA,MAAMA,GAAG,GAAG7H,yBAAyB,CAAEyC,QAAQ,CAACoF,GAAI,CAAC;IACrD;IACA,IAAK,CAAEA,GAAG,IAAIlD,cAAc,CAACyD,GAAG,CAAEP,GAAI,CAAC,EAAG;IAC1C;IACA/H,qBAAqB,CAAE2C,QAAQ,EAAEoF,GAAG,EAAE,UAAW,CAAC;IAClD;IACAlD,cAAc,CAAC0D,GAAG,CAAER,GAAI,CAAC;EAC1B,CAAC;;EAED;EACA,MAAM,CAAES,WAAW,EAAEC,kBAAkB,CAAE,GAAG9J,QAAQ,CAAE,EAAG,CAAC;EAC1D,MAAM+J,kBAAkB,GAAG,MAAAA,CAAA,KAAY;IACtC,MAAMhC,QAAQ,GAAG,MAAMhH,oBAAoB,CAAC,CAAC;IAC7C+I,kBAAkB,CAAE/B,QAAS,CAAC;EAC/B,CAAC;EACD,MAAMiC,iBAAiB,GAAG,MAAQjE,IAAI,IAAM;IAC3C,IAAI;MACH,MAAMkE,OAAO,GAAG,CAAC,CAAEJ,WAAW,CAAC/D,IAAI,CAChCoE,UAAU,IAAMA,UAAU,CAACnE,IAAI,KAAKA,IACvC,CAAC,EAAEoE,aAAa;MAChB,IAAKF,OAAO,EAAG;MACf,MAAMlC,QAAQ,GAAG,MAAM/G,mBAAmB,CAAE+E,IAAK,CAAC;MAClD,MAAMqE,kBAAkB,GAAGP,WAAW,CAACjG,GAAG,CAAIsG,UAAU,IACvDA,UAAU,CAACnE,IAAI,KAAKA,IAAI,GACrB;QAAE,GAAGmE,UAAU;QAAE,GAAGnC;MAAS,CAAC,GAC9BmC,UACJ,CAAC;MACDJ,kBAAkB,CAAEM,kBAAmB,CAAC;IACzC,CAAC,CAAC,OAAQC,CAAC,EAAG;MACb;MACAvB,OAAO,CAACP,KAAK,CAAE8B,CAAE,CAAC;MAClB,MAAMA,CAAC;IACR;EACD,CAAC;EAEDpK,SAAS,CAAE,MAAM;IAChB8J,kBAAkB,CAAC,CAAC;EACrB,CAAC,EAAE,EAAG,CAAC;EAEP,OACCO,aAAA,CAACzI,kBAAkB,CAAC0I,QAAQ;IAC3BC,KAAK,EAAG;MACP7F,mBAAmB;MACnBe,4BAA4B;MAC5BJ,UAAU;MACVT,cAAc;MACdU,WAAW;MACXE,eAAe;MACfqB,eAAe;MACfI,qBAAqB;MACrBwC,iBAAiB;MACjBvC,YAAY;MACZsB,mBAAmB;MACnBY,kBAAkB;MAClBjD,wBAAwB;MACxB3B,YAAY;MACZuB,WAAW;MACX/C,cAAc;MACdF,MAAM;MACNC,SAAS;MACTwB,gBAAgB;MAChBlC,sBAAsB;MACtBiB,kBAAkB;MAClBE,kBAAkB;MAClBd,YAAY;MACZkH,WAAW;MACXG;IACD;EAAG,GAEDjI,QAC0B,CAAC;AAEhC;AAEA,eAAeD,mBAAmB"}
1
+ {"version":3,"names":["createContext","useState","useEffect","privateApis","blockEditorPrivateApis","useSelect","useDispatch","useEntityRecord","useEntityRecords","store","coreStore","__","fetchGetFontFamilyBySlug","fetchInstallFontFamily","fetchUninstallFontFamily","fetchFontCollections","fetchFontCollection","unlock","useGlobalSetting","setUIValuesNeeded","mergeFontFamilies","loadFontFaceInBrowser","unloadFontFaceInBrowser","getDisplaySrcFromFontFace","makeFontFacesFormData","makeFontFamilyFormData","batchInstallFontFaces","checkFontFaceInstalled","toggleFont","FontLibraryContext","FontLibraryProvider","children","__experimentalSaveSpecifiedEntityEdits","saveSpecifiedEntityEdits","globalStylesId","select","__experimentalGetCurrentGlobalStylesId","globalStyles","fontFamiliesHasChanges","edits","settings","typography","fontFamilies","isInstalling","setIsInstalling","refreshKey","setRefreshKey","notice","setNotice","refreshLibrary","Date","now","records","libraryPosts","isResolving","isResolvingLibrary","hasResolved","hasResolvedLibrary","_embed","libraryFonts","map","fontFamilyPost","id","font_family_settings","fontFace","_embedded","font_faces","face","font_face_settings","setFontFamilies","baseFontFamilies","undefined","saveFontFamilies","modalTabOpen","setModalTabOpen","libraryFontSelected","setLibraryFontSelected","themeFonts","theme","f","source","sort","a","b","name","localeCompare","themeFontsSlugs","Set","slug","baseThemeFonts","concat","filter","has","customFonts","custom","baseCustomFonts","handleSetLibraryFontSelected","font","fonts","fontSelected","find","toggleModal","tabName","loadedFontUrls","getAvailableFontsOutline","availableFontFamilies","outline","reduce","acc","availableFontFaces","length","fontStyle","fontWeight","getActivatedFontsOutline","isFontActivated","style","weight","includes","getFontFacesActivated","installFonts","fontFamiliesToInstall","fontFamiliesToActivate","installationErrors","fontFamilyToInstall","isANewFontFamily","installedFontFamily","alreadyInstalledFontFaces","fontFaceToInstall","sucessfullyInstalledFontFaces","unsucessfullyInstalledFontFaces","response","successes","errors","push","unique","item","message","activateCustomFontFamilies","installError","Error","uninstallFontFamily","fontFamilyToUninstall","uninstalledFontFamily","deleted","deactivateFontFamily","error","console","_fontFamilies$font$so","initialCustomFonts","newCustomFonts","forEach","fontsToAdd","fontsToActivate","_familyDbId","_faceDbId","src","toggleActivateFont","_fontFamilies$font$so2","initialFonts","newFonts","isFaceActivated","loadFontFaceAsset","add","collections","setFontCollections","getFontCollections","getFontCollection","hasData","collection","font_families","updatedCollections","e","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 { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tfetchGetFontFamilyBySlug,\n\tfetchInstallFontFamily,\n\tfetchUninstallFontFamily,\n\tfetchFontCollections,\n\tfetchFontCollection,\n} from './resolvers';\nimport { unlock } from '../../../lock-unlock';\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\nimport {\n\tsetUIValuesNeeded,\n\tmergeFontFamilies,\n\tloadFontFaceInBrowser,\n\tunloadFontFaceInBrowser,\n\tgetDisplaySrcFromFontFace,\n\tmakeFontFacesFormData,\n\tmakeFontFamilyFormData,\n\tbatchInstallFontFaces,\n\tcheckFontFaceInstalled,\n} from './utils';\nimport { toggleFont } from './utils/toggleFont';\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\tconst [ notice, setNotice ] = useState( null );\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', {\n\t\trefreshKey,\n\t\t_embed: true,\n\t} );\n\n\tconst libraryFonts =\n\t\t( libraryPosts || [] ).map( ( fontFamilyPost ) => {\n\t\t\treturn {\n\t\t\t\tid: fontFamilyPost.id,\n\t\t\t\t...fontFamilyPost.font_family_settings,\n\t\t\t\tfontFace:\n\t\t\t\t\tfontFamilyPost?._embedded?.font_faces.map(\n\t\t\t\t\t\t( face ) => face.font_face_settings\n\t\t\t\t\t) || [],\n\t\t\t};\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\t// Themes Fonts are the fonts defined in the global styles (database persisted theme.json data).\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 themeFontsSlugs = new Set( themeFonts.map( ( f ) => f.slug ) );\n\n\t/*\n\t * Base Theme Fonts are the fonts defined in the theme.json *file*.\n\t *\n\t * Uses the fonts from global styles + the ones from the theme.json file that hasn't repeated slugs.\n\t * Avoids incosistencies with the fonts listed in the font library modal as base (unactivated).\n\t * These inconsistencies can happen when the active theme fonts in global styles aren't defined in theme.json file as when a theme style variation is applied.\n\t */\n\tconst baseThemeFonts = baseFontFamilies?.theme\n\t\t? themeFonts.concat(\n\t\t\t\tbaseFontFamilies.theme\n\t\t\t\t\t.filter( ( f ) => ! themeFontsSlugs.has( f.slug ) )\n\t\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'theme' } ) )\n\t\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t )\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\tsetNotice( null );\n\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 = font.source === 'theme' ? themeFonts : 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\tconst getAvailableFontsOutline = ( availableFontFamilies ) => {\n\t\tconst outline = availableFontFamilies.reduce( ( acc, font ) => {\n\t\t\tconst availableFontFaces =\n\t\t\t\tfont?.fontFace && font.fontFace?.length > 0\n\t\t\t\t\t? font?.fontFace.map(\n\t\t\t\t\t\t\t( face ) => `${ face.fontStyle + face.fontWeight }`\n\t\t\t\t\t )\n\t\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( fontFamiliesToInstall ) {\n\t\tsetIsInstalling( true );\n\t\ttry {\n\t\t\tconst fontFamiliesToActivate = [];\n\t\t\tlet installationErrors = [];\n\n\t\t\tfor ( const fontFamilyToInstall of fontFamiliesToInstall ) {\n\t\t\t\tlet isANewFontFamily = false;\n\n\t\t\t\t// Get the font family if it already exists.\n\t\t\t\tlet installedFontFamily = await fetchGetFontFamilyBySlug(\n\t\t\t\t\tfontFamilyToInstall.slug\n\t\t\t\t);\n\n\t\t\t\t// Otherwise create it.\n\t\t\t\tif ( ! installedFontFamily ) {\n\t\t\t\t\tisANewFontFamily = true;\n\t\t\t\t\t// Prepare font family form data to install.\n\t\t\t\t\tinstalledFontFamily = await fetchInstallFontFamily(\n\t\t\t\t\t\tmakeFontFamilyFormData( fontFamilyToInstall )\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Collect font faces that have already been installed (to be activated later)\n\t\t\t\tconst alreadyInstalledFontFaces =\n\t\t\t\t\tinstalledFontFamily.fontFace && fontFamilyToInstall.fontFace\n\t\t\t\t\t\t? installedFontFamily.fontFace.filter(\n\t\t\t\t\t\t\t\t( fontFaceToInstall ) =>\n\t\t\t\t\t\t\t\t\tcheckFontFaceInstalled(\n\t\t\t\t\t\t\t\t\t\tfontFaceToInstall,\n\t\t\t\t\t\t\t\t\t\tfontFamilyToInstall.fontFace\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: [];\n\n\t\t\t\t// Filter out Font Faces that have already been installed (so that they are not re-installed)\n\t\t\t\tif (\n\t\t\t\t\tinstalledFontFamily.fontFace &&\n\t\t\t\t\tfontFamilyToInstall.fontFace\n\t\t\t\t) {\n\t\t\t\t\tfontFamilyToInstall.fontFace =\n\t\t\t\t\t\tfontFamilyToInstall.fontFace.filter(\n\t\t\t\t\t\t\t( fontFaceToInstall ) =>\n\t\t\t\t\t\t\t\t! checkFontFaceInstalled(\n\t\t\t\t\t\t\t\t\tfontFaceToInstall,\n\t\t\t\t\t\t\t\t\tinstalledFontFamily.fontFace\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Install the fonts (upload the font files to the server and create the post in the database).\n\t\t\t\tlet sucessfullyInstalledFontFaces = [];\n\t\t\t\tlet unsucessfullyInstalledFontFaces = [];\n\t\t\t\tif ( fontFamilyToInstall?.fontFace?.length > 0 ) {\n\t\t\t\t\tconst response = await batchInstallFontFaces(\n\t\t\t\t\t\tinstalledFontFamily.id,\n\t\t\t\t\t\tmakeFontFacesFormData( fontFamilyToInstall )\n\t\t\t\t\t);\n\t\t\t\t\tsucessfullyInstalledFontFaces = response?.successes;\n\t\t\t\t\tunsucessfullyInstalledFontFaces = response?.errors;\n\t\t\t\t}\n\n\t\t\t\t// Use the sucessfully installed font faces\n\t\t\t\t// As well as any font faces that were already installed (those will be activated)\n\t\t\t\tif (\n\t\t\t\t\tsucessfullyInstalledFontFaces?.length > 0 ||\n\t\t\t\t\talreadyInstalledFontFaces?.length > 0\n\t\t\t\t) {\n\t\t\t\t\t// Use font data from REST API not from client to ensure\n\t\t\t\t\t// correct font information is used.\n\t\t\t\t\tinstalledFontFamily.fontFace = [\n\t\t\t\t\t\t...sucessfullyInstalledFontFaces,\n\t\t\t\t\t];\n\n\t\t\t\t\tfontFamiliesToActivate.push( installedFontFamily );\n\t\t\t\t}\n\n\t\t\t\t// If it's a system font but was installed successfully, activate it.\n\t\t\t\tif (\n\t\t\t\t\tinstalledFontFamily &&\n\t\t\t\t\t! fontFamilyToInstall?.fontFace?.length\n\t\t\t\t) {\n\t\t\t\t\tfontFamiliesToActivate.push( installedFontFamily );\n\t\t\t\t}\n\n\t\t\t\t// If the font family is new and is not a system font, delete it to avoid having font families without font faces.\n\t\t\t\tif (\n\t\t\t\t\tisANewFontFamily &&\n\t\t\t\t\tfontFamilyToInstall?.fontFace?.length > 0 &&\n\t\t\t\t\tsucessfullyInstalledFontFaces?.length === 0\n\t\t\t\t) {\n\t\t\t\t\tawait fetchUninstallFontFamily( installedFontFamily.id );\n\t\t\t\t}\n\n\t\t\t\tinstallationErrors = installationErrors.concat(\n\t\t\t\t\tunsucessfullyInstalledFontFaces\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tinstallationErrors = installationErrors.reduce(\n\t\t\t\t( unique, item ) =>\n\t\t\t\t\tunique.includes( item.message )\n\t\t\t\t\t\t? unique\n\t\t\t\t\t\t: [ ...unique, item.message ],\n\t\t\t\t[]\n\t\t\t);\n\n\t\t\tif ( fontFamiliesToActivate.length > 0 ) {\n\t\t\t\t// Activate the font family (add the font family to the global styles).\n\t\t\t\tactivateCustomFontFamilies( fontFamiliesToActivate );\n\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\n\t\t\t\trefreshLibrary();\n\t\t\t}\n\n\t\t\tif ( installationErrors.length > 0 ) {\n\t\t\t\tconst installError = new Error(\n\t\t\t\t\t__( 'There was an error installing fonts.' )\n\t\t\t\t);\n\n\t\t\t\tinstallError.installationErrors = installationErrors;\n\n\t\t\t\tthrow installError;\n\t\t\t}\n\t\t} finally {\n\t\t\tsetIsInstalling( false );\n\t\t}\n\t}\n\n\tasync function uninstallFontFamily( fontFamilyToUninstall ) {\n\t\ttry {\n\t\t\t// Uninstall the font family.\n\t\t\t// (Removes the font files from the server and the posts from the database).\n\t\t\tconst uninstalledFontFamily = await fetchUninstallFontFamily(\n\t\t\t\tfontFamilyToUninstall.id\n\t\t\t);\n\n\t\t\t// Deactivate the font family if delete request is successful\n\t\t\t// (Removes the font family from the global styles).\n\t\t\tif ( uninstalledFontFamily.deleted ) {\n\t\t\t\tdeactivateFontFamily( fontFamilyToUninstall );\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\n\t\t\t// Refresh the library (the library font families from database).\n\t\t\trefreshLibrary();\n\n\t\t\treturn uninstalledFontFamily;\n\t\t} catch ( error ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(\n\t\t\t\t`There was an error uninstalling the font family:`,\n\t\t\t\terror\n\t\t\t);\n\t\t\tthrow error;\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\n\t\tif ( font.fontFace ) {\n\t\t\tfont.fontFace.forEach( ( face ) => {\n\t\t\t\tunloadFontFaceInBrowser( face, 'all' );\n\t\t\t} );\n\t\t}\n\t};\n\n\tconst activateCustomFontFamilies = ( fontsToAdd ) => {\n\t\t// Removes the id from the families and faces to avoid saving that to global styles post content.\n\t\tconst fontsToActivate = fontsToAdd.map(\n\t\t\t( { id: _familyDbId, fontFace, ...font } ) => ( {\n\t\t\t\t...font,\n\t\t\t\t...( fontFace && fontFace.length > 0\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tfontFace: fontFace.map(\n\t\t\t\t\t\t\t\t( { id: _faceDbId, ...face } ) => face\n\t\t\t\t\t\t\t),\n\t\t\t\t\t }\n\t\t\t\t\t: {} ),\n\t\t\t} )\n\t\t);\n\n\t\t// Activate the fonts by set the new custom fonts array.\n\t\tsetFontFamilies( {\n\t\t\t...fontFamilies,\n\t\t\t// Merge the existing custom fonts with the new fonts.\n\t\t\tcustom: mergeFontFamilies( fontFamilies?.custom, fontsToActivate ),\n\t\t} );\n\n\t\t// Add custom fonts to the browser.\n\t\tfontsToActivate.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'all'\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\n\t\tconst isFaceActivated = isFontActivated(\n\t\t\tfont.slug,\n\t\t\tface?.fontStyle,\n\t\t\tface?.fontWeight,\n\t\t\tfont.source\n\t\t);\n\n\t\tif ( isFaceActivated ) {\n\t\t\tloadFontFaceInBrowser(\n\t\t\t\tface,\n\t\t\t\tgetDisplaySrcFromFontFace( face?.src ),\n\t\t\t\t'all'\n\t\t\t);\n\t\t} else {\n\t\t\tunloadFontFaceInBrowser( face, 'all' );\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 );\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 ( slug ) => {\n\t\ttry {\n\t\t\tconst hasData = !! collections.find(\n\t\t\t\t( collection ) => collection.slug === slug\n\t\t\t)?.font_families;\n\t\t\tif ( hasData ) return;\n\t\t\tconst response = await fetchFontCollection( slug );\n\t\t\tconst updatedCollections = collections.map( ( collection ) =>\n\t\t\t\tcollection.slug === slug\n\t\t\t\t\t? { ...collection, ...response }\n\t\t\t\t\t: collection\n\t\t\t);\n\t\t\tsetFontCollections( updatedCollections );\n\t\t} catch ( e ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error( e );\n\t\t\tthrow e;\n\t\t}\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\tuninstallFontFamily,\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\tnotice,\n\t\t\t\tsetNotice,\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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"}