@wordpress/edit-site 6.17.1 → 6.18.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 (387) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-pattern/index.js +0 -1
  3. package/build/components/add-new-pattern/index.js.map +1 -1
  4. package/build/components/add-new-template/add-custom-template-modal-content.js +0 -1
  5. package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  6. package/build/components/add-new-template/index.js +0 -1
  7. package/build/components/add-new-template/index.js.map +1 -1
  8. package/build/components/add-new-template/utils.js +0 -1
  9. package/build/components/add-new-template/utils.js.map +1 -1
  10. package/build/components/editor/index.js +7 -5
  11. package/build/components/editor/index.js.map +1 -1
  12. package/build/components/{maybe-editor/index.js → editor/site-preview.js} +9 -25
  13. package/build/components/editor/site-preview.js.map +1 -0
  14. package/build/components/editor-canvas-container/index.js +0 -1
  15. package/build/components/editor-canvas-container/index.js.map +1 -1
  16. package/build/components/global-styles/font-families.js +0 -1
  17. package/build/components/global-styles/font-families.js.map +1 -1
  18. package/build/components/global-styles/font-library-modal/collection-font-variant.js +2 -5
  19. package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  20. package/build/components/global-styles/font-library-modal/context.js +0 -1
  21. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  22. package/build/components/global-styles/font-library-modal/font-collection.js +0 -1
  23. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  24. package/build/components/global-styles/font-library-modal/font-demo.js +0 -1
  25. package/build/components/global-styles/font-library-modal/font-demo.js.map +1 -1
  26. package/build/components/global-styles/font-library-modal/index.js +0 -1
  27. package/build/components/global-styles/font-library-modal/index.js.map +1 -1
  28. package/build/components/global-styles/font-library-modal/installed-fonts.js +0 -1
  29. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  30. package/build/components/global-styles/font-library-modal/library-font-details.js +0 -1
  31. package/build/components/global-styles/font-library-modal/library-font-details.js.map +1 -1
  32. package/build/components/global-styles/font-library-modal/library-font-variant.js +1 -5
  33. package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  34. package/build/components/global-styles/font-library-modal/upload-fonts.js +0 -1
  35. package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  36. package/build/components/global-styles/font-library-modal/utils/filter-fonts.js +0 -1
  37. package/build/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -1
  38. package/build/components/global-styles/font-library-modal/utils/fonts-outline.js +0 -1
  39. package/build/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -1
  40. package/build/components/global-styles/font-library-modal/utils/index.js +0 -1
  41. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  42. package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js +0 -1
  43. package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +1 -1
  44. package/build/components/global-styles/font-library-modal/utils/preview-styles.js +0 -1
  45. package/build/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
  46. package/build/components/global-styles/font-library-modal/utils/toggleFont.js +0 -1
  47. package/build/components/global-styles/font-library-modal/utils/toggleFont.js.map +1 -1
  48. package/build/components/global-styles/font-sizes/font-size.js +0 -1
  49. package/build/components/global-styles/font-sizes/font-size.js.map +1 -1
  50. package/build/components/global-styles/font-sizes/font-sizes.js +0 -1
  51. package/build/components/global-styles/font-sizes/font-sizes.js.map +1 -1
  52. package/build/components/global-styles/highlighted-colors.js +0 -1
  53. package/build/components/global-styles/highlighted-colors.js.map +1 -1
  54. package/build/components/global-styles/hooks.js +0 -1
  55. package/build/components/global-styles/hooks.js.map +1 -1
  56. package/build/components/global-styles/palette.js +0 -1
  57. package/build/components/global-styles/palette.js.map +1 -1
  58. package/build/components/global-styles/preset-colors.js +0 -1
  59. package/build/components/global-styles/preset-colors.js.map +1 -1
  60. package/build/components/global-styles/preview-styles.js +0 -1
  61. package/build/components/global-styles/preview-styles.js.map +1 -1
  62. package/build/components/global-styles/preview-wrapper.js +0 -1
  63. package/build/components/global-styles/preview-wrapper.js.map +1 -1
  64. package/build/components/global-styles/screen-block-list.js +9 -3
  65. package/build/components/global-styles/screen-block-list.js.map +1 -1
  66. package/build/components/global-styles/screen-css.js +9 -1
  67. package/build/components/global-styles/screen-css.js.map +1 -1
  68. package/build/components/global-styles/screen-revisions/revisions-buttons.js +0 -1
  69. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  70. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +0 -1
  71. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  72. package/build/components/global-styles/screen-root.js +1 -0
  73. package/build/components/global-styles/screen-root.js.map +1 -1
  74. package/build/components/global-styles/shadow-utils.js +0 -1
  75. package/build/components/global-styles/shadow-utils.js.map +1 -1
  76. package/build/components/global-styles/shadows-edit-panel.js +0 -1
  77. package/build/components/global-styles/shadows-edit-panel.js.map +1 -1
  78. package/build/components/global-styles/shadows-panel.js +0 -1
  79. package/build/components/global-styles/shadows-panel.js.map +1 -1
  80. package/build/components/global-styles/style-variations-container.js +0 -1
  81. package/build/components/global-styles/style-variations-container.js.map +1 -1
  82. package/build/components/global-styles/typeset.js +0 -1
  83. package/build/components/global-styles/typeset.js.map +1 -1
  84. package/build/components/global-styles/ui.js +0 -1
  85. package/build/components/global-styles/ui.js.map +1 -1
  86. package/build/components/global-styles/utils.js +0 -1
  87. package/build/components/global-styles/utils.js.map +1 -1
  88. package/build/components/global-styles/variations/variations-color.js +0 -1
  89. package/build/components/global-styles/variations/variations-color.js.map +1 -1
  90. package/build/components/global-styles/variations/variations-panel.js +0 -1
  91. package/build/components/global-styles/variations/variations-panel.js.map +1 -1
  92. package/build/components/global-styles/variations/variations-typography.js +0 -1
  93. package/build/components/global-styles/variations/variations-typography.js.map +1 -1
  94. package/build/components/global-styles-renderer/index.js +0 -1
  95. package/build/components/global-styles-renderer/index.js.map +1 -1
  96. package/build/components/media/index.js +2 -3
  97. package/build/components/media/index.js.map +1 -1
  98. package/build/components/page-patterns/fields.js +0 -1
  99. package/build/components/page-patterns/fields.js.map +1 -1
  100. package/build/components/page-patterns/header.js +0 -1
  101. package/build/components/page-patterns/header.js.map +1 -1
  102. package/build/components/page-patterns/index.js +0 -1
  103. package/build/components/page-patterns/index.js.map +1 -1
  104. package/build/components/page-patterns/search-items.js +0 -1
  105. package/build/components/page-patterns/search-items.js.map +1 -1
  106. package/build/components/page-patterns/use-pattern-settings.js +0 -1
  107. package/build/components/page-patterns/use-pattern-settings.js.map +1 -1
  108. package/build/components/page-patterns/use-patterns.js +0 -1
  109. package/build/components/page-patterns/use-patterns.js.map +1 -1
  110. package/build/components/page-templates/index.js +0 -1
  111. package/build/components/page-templates/index.js.map +1 -1
  112. package/build/components/post-edit/index.js +0 -1
  113. package/build/components/post-edit/index.js.map +1 -1
  114. package/build/components/post-list/index.js +0 -1
  115. package/build/components/post-list/index.js.map +1 -1
  116. package/build/components/posts-app-routes/index.js +0 -1
  117. package/build/components/posts-app-routes/index.js.map +1 -1
  118. package/build/components/resizable-frame/index.js +1 -1
  119. package/build/components/resizable-frame/index.js.map +1 -1
  120. package/build/components/save-button/index.js +0 -1
  121. package/build/components/save-button/index.js.map +1 -1
  122. package/build/components/save-hub/index.js +0 -1
  123. package/build/components/save-hub/index.js.map +1 -1
  124. package/build/components/save-keyboard-shortcut/index.js +0 -1
  125. package/build/components/save-keyboard-shortcut/index.js.map +1 -1
  126. package/build/components/save-panel/index.js +0 -1
  127. package/build/components/save-panel/index.js.map +1 -1
  128. package/build/components/sidebar/index.js +0 -1
  129. package/build/components/sidebar/index.js.map +1 -1
  130. package/build/components/sidebar-dataviews/custom-dataviews-list.js +0 -1
  131. package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
  132. package/build/components/sidebar-dataviews/dataview-item.js +0 -1
  133. package/build/components/sidebar-dataviews/dataview-item.js.map +1 -1
  134. package/build/components/sidebar-dataviews/index.js +0 -1
  135. package/build/components/sidebar-dataviews/index.js.map +1 -1
  136. package/build/components/sidebar-navigation-screen/index.js +0 -6
  137. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  138. package/build/components/sidebar-navigation-screen-main/index.js +12 -2
  139. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  140. package/build/components/sidebar-navigation-screen-patterns/index.js +0 -1
  141. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  142. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +0 -1
  143. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  144. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +0 -1
  145. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
  146. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +0 -1
  147. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  148. package/build/components/sidebar-navigation-screen-templates-browse/content.js +0 -1
  149. package/build/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  150. package/build/components/site-editor-routes/home.js +3 -3
  151. package/build/components/site-editor-routes/home.js.map +1 -1
  152. package/build/components/site-editor-routes/index.js +2 -2
  153. package/build/components/site-editor-routes/index.js.map +1 -1
  154. package/build/components/site-editor-routes/notfound.js +33 -0
  155. package/build/components/site-editor-routes/notfound.js.map +1 -0
  156. package/build/components/site-editor-routes/template-item.js +3 -3
  157. package/build/components/site-editor-routes/template-item.js.map +1 -1
  158. package/build/components/site-editor-routes/template-part-item.js +3 -3
  159. package/build/components/site-editor-routes/template-part-item.js.map +1 -1
  160. package/build/components/style-book/categories.js +0 -1
  161. package/build/components/style-book/categories.js.map +1 -1
  162. package/build/components/style-book/color-examples.js +0 -1
  163. package/build/components/style-book/color-examples.js.map +1 -1
  164. package/build/components/style-book/duotone-examples.js +0 -1
  165. package/build/components/style-book/duotone-examples.js.map +1 -1
  166. package/build/components/style-book/examples.js +0 -1
  167. package/build/components/style-book/examples.js.map +1 -1
  168. package/build/components/style-book/index.js +7 -18
  169. package/build/components/style-book/index.js.map +1 -1
  170. package/build/index.js +0 -1
  171. package/build/index.js.map +1 -1
  172. package/build/posts.js +0 -1
  173. package/build/posts.js.map +1 -1
  174. package/build/store/reducer.js +0 -1
  175. package/build/store/reducer.js.map +1 -1
  176. package/build/utils/get-filtered-template-parts.js +0 -1
  177. package/build/utils/get-filtered-template-parts.js.map +1 -1
  178. package/build/utils/set-nested-value.js +0 -1
  179. package/build/utils/set-nested-value.js.map +1 -1
  180. package/build-module/components/add-new-pattern/index.js +0 -1
  181. package/build-module/components/add-new-pattern/index.js.map +1 -1
  182. package/build-module/components/add-new-template/add-custom-template-modal-content.js +0 -1
  183. package/build-module/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  184. package/build-module/components/add-new-template/index.js +0 -1
  185. package/build-module/components/add-new-template/index.js.map +1 -1
  186. package/build-module/components/add-new-template/utils.js +0 -1
  187. package/build-module/components/add-new-template/utils.js.map +1 -1
  188. package/build-module/components/editor/index.js +7 -5
  189. package/build-module/components/editor/index.js.map +1 -1
  190. package/build-module/components/{maybe-editor/index.js → editor/site-preview.js} +8 -25
  191. package/build-module/components/editor/site-preview.js.map +1 -0
  192. package/build-module/components/editor-canvas-container/index.js +0 -1
  193. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  194. package/build-module/components/global-styles/font-families.js +0 -1
  195. package/build-module/components/global-styles/font-families.js.map +1 -1
  196. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js +3 -6
  197. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  198. package/build-module/components/global-styles/font-library-modal/context.js +0 -1
  199. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  200. package/build-module/components/global-styles/font-library-modal/font-collection.js +0 -1
  201. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  202. package/build-module/components/global-styles/font-library-modal/font-demo.js +0 -1
  203. package/build-module/components/global-styles/font-library-modal/font-demo.js.map +1 -1
  204. package/build-module/components/global-styles/font-library-modal/index.js +0 -1
  205. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
  206. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +0 -1
  207. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  208. package/build-module/components/global-styles/font-library-modal/library-font-details.js +0 -1
  209. package/build-module/components/global-styles/font-library-modal/library-font-details.js.map +1 -1
  210. package/build-module/components/global-styles/font-library-modal/library-font-variant.js +3 -7
  211. package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  212. package/build-module/components/global-styles/font-library-modal/upload-fonts.js +0 -1
  213. package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  214. package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js +0 -1
  215. package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -1
  216. package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js +0 -1
  217. package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -1
  218. package/build-module/components/global-styles/font-library-modal/utils/index.js +0 -1
  219. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  220. package/build-module/components/global-styles/font-library-modal/utils/make-families-from-faces.js +0 -1
  221. package/build-module/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +1 -1
  222. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js +0 -1
  223. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
  224. package/build-module/components/global-styles/font-library-modal/utils/toggleFont.js +0 -1
  225. package/build-module/components/global-styles/font-library-modal/utils/toggleFont.js.map +1 -1
  226. package/build-module/components/global-styles/font-sizes/font-size.js +0 -1
  227. package/build-module/components/global-styles/font-sizes/font-size.js.map +1 -1
  228. package/build-module/components/global-styles/font-sizes/font-sizes.js +0 -1
  229. package/build-module/components/global-styles/font-sizes/font-sizes.js.map +1 -1
  230. package/build-module/components/global-styles/highlighted-colors.js +0 -1
  231. package/build-module/components/global-styles/highlighted-colors.js.map +1 -1
  232. package/build-module/components/global-styles/hooks.js +0 -1
  233. package/build-module/components/global-styles/hooks.js.map +1 -1
  234. package/build-module/components/global-styles/palette.js +0 -1
  235. package/build-module/components/global-styles/palette.js.map +1 -1
  236. package/build-module/components/global-styles/preset-colors.js +0 -1
  237. package/build-module/components/global-styles/preset-colors.js.map +1 -1
  238. package/build-module/components/global-styles/preview-styles.js +0 -1
  239. package/build-module/components/global-styles/preview-styles.js.map +1 -1
  240. package/build-module/components/global-styles/preview-wrapper.js +0 -1
  241. package/build-module/components/global-styles/preview-wrapper.js.map +1 -1
  242. package/build-module/components/global-styles/screen-block-list.js +10 -4
  243. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  244. package/build-module/components/global-styles/screen-css.js +9 -1
  245. package/build-module/components/global-styles/screen-css.js.map +1 -1
  246. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +0 -1
  247. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  248. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +0 -1
  249. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  250. package/build-module/components/global-styles/screen-root.js +1 -0
  251. package/build-module/components/global-styles/screen-root.js.map +1 -1
  252. package/build-module/components/global-styles/shadow-utils.js +0 -1
  253. package/build-module/components/global-styles/shadow-utils.js.map +1 -1
  254. package/build-module/components/global-styles/shadows-edit-panel.js +0 -1
  255. package/build-module/components/global-styles/shadows-edit-panel.js.map +1 -1
  256. package/build-module/components/global-styles/shadows-panel.js +0 -1
  257. package/build-module/components/global-styles/shadows-panel.js.map +1 -1
  258. package/build-module/components/global-styles/style-variations-container.js +0 -1
  259. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  260. package/build-module/components/global-styles/typeset.js +0 -1
  261. package/build-module/components/global-styles/typeset.js.map +1 -1
  262. package/build-module/components/global-styles/ui.js +0 -1
  263. package/build-module/components/global-styles/ui.js.map +1 -1
  264. package/build-module/components/global-styles/utils.js +0 -1
  265. package/build-module/components/global-styles/utils.js.map +1 -1
  266. package/build-module/components/global-styles/variations/variations-color.js +0 -1
  267. package/build-module/components/global-styles/variations/variations-color.js.map +1 -1
  268. package/build-module/components/global-styles/variations/variations-panel.js +0 -1
  269. package/build-module/components/global-styles/variations/variations-panel.js.map +1 -1
  270. package/build-module/components/global-styles/variations/variations-typography.js +0 -1
  271. package/build-module/components/global-styles/variations/variations-typography.js.map +1 -1
  272. package/build-module/components/global-styles-renderer/index.js +0 -1
  273. package/build-module/components/global-styles-renderer/index.js.map +1 -1
  274. package/build-module/components/media/index.js +2 -3
  275. package/build-module/components/media/index.js.map +1 -1
  276. package/build-module/components/page-patterns/fields.js +0 -1
  277. package/build-module/components/page-patterns/fields.js.map +1 -1
  278. package/build-module/components/page-patterns/header.js +0 -1
  279. package/build-module/components/page-patterns/header.js.map +1 -1
  280. package/build-module/components/page-patterns/index.js +0 -1
  281. package/build-module/components/page-patterns/index.js.map +1 -1
  282. package/build-module/components/page-patterns/search-items.js +0 -1
  283. package/build-module/components/page-patterns/search-items.js.map +1 -1
  284. package/build-module/components/page-patterns/use-pattern-settings.js +0 -1
  285. package/build-module/components/page-patterns/use-pattern-settings.js.map +1 -1
  286. package/build-module/components/page-patterns/use-patterns.js +0 -1
  287. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  288. package/build-module/components/page-templates/index.js +0 -1
  289. package/build-module/components/page-templates/index.js.map +1 -1
  290. package/build-module/components/post-edit/index.js +0 -1
  291. package/build-module/components/post-edit/index.js.map +1 -1
  292. package/build-module/components/post-list/index.js +0 -1
  293. package/build-module/components/post-list/index.js.map +1 -1
  294. package/build-module/components/posts-app-routes/index.js +0 -1
  295. package/build-module/components/posts-app-routes/index.js.map +1 -1
  296. package/build-module/components/resizable-frame/index.js +1 -1
  297. package/build-module/components/resizable-frame/index.js.map +1 -1
  298. package/build-module/components/save-button/index.js +0 -1
  299. package/build-module/components/save-button/index.js.map +1 -1
  300. package/build-module/components/save-hub/index.js +0 -1
  301. package/build-module/components/save-hub/index.js.map +1 -1
  302. package/build-module/components/save-keyboard-shortcut/index.js +0 -1
  303. package/build-module/components/save-keyboard-shortcut/index.js.map +1 -1
  304. package/build-module/components/save-panel/index.js +0 -1
  305. package/build-module/components/save-panel/index.js.map +1 -1
  306. package/build-module/components/sidebar/index.js +0 -1
  307. package/build-module/components/sidebar/index.js.map +1 -1
  308. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +0 -1
  309. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
  310. package/build-module/components/sidebar-dataviews/dataview-item.js +0 -1
  311. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
  312. package/build-module/components/sidebar-dataviews/index.js +0 -1
  313. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  314. package/build-module/components/sidebar-navigation-screen/index.js +0 -6
  315. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  316. package/build-module/components/sidebar-navigation-screen-main/index.js +12 -2
  317. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  318. package/build-module/components/sidebar-navigation-screen-patterns/index.js +0 -1
  319. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  320. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +0 -1
  321. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  322. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +0 -1
  323. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
  324. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +0 -1
  325. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  326. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +0 -1
  327. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  328. package/build-module/components/site-editor-routes/home.js +3 -3
  329. package/build-module/components/site-editor-routes/home.js.map +1 -1
  330. package/build-module/components/site-editor-routes/index.js +2 -2
  331. package/build-module/components/site-editor-routes/index.js.map +1 -1
  332. package/build-module/components/site-editor-routes/notfound.js +25 -0
  333. package/build-module/components/site-editor-routes/notfound.js.map +1 -0
  334. package/build-module/components/site-editor-routes/template-item.js +3 -3
  335. package/build-module/components/site-editor-routes/template-item.js.map +1 -1
  336. package/build-module/components/site-editor-routes/template-part-item.js +3 -3
  337. package/build-module/components/site-editor-routes/template-part-item.js.map +1 -1
  338. package/build-module/components/style-book/categories.js +0 -1
  339. package/build-module/components/style-book/categories.js.map +1 -1
  340. package/build-module/components/style-book/color-examples.js +0 -1
  341. package/build-module/components/style-book/color-examples.js.map +1 -1
  342. package/build-module/components/style-book/duotone-examples.js +0 -1
  343. package/build-module/components/style-book/duotone-examples.js.map +1 -1
  344. package/build-module/components/style-book/examples.js +0 -1
  345. package/build-module/components/style-book/examples.js.map +1 -1
  346. package/build-module/components/style-book/index.js +7 -18
  347. package/build-module/components/style-book/index.js.map +1 -1
  348. package/build-module/index.js +0 -1
  349. package/build-module/index.js.map +1 -1
  350. package/build-module/posts.js +0 -1
  351. package/build-module/posts.js.map +1 -1
  352. package/build-module/store/reducer.js +0 -1
  353. package/build-module/store/reducer.js.map +1 -1
  354. package/build-module/utils/get-filtered-template-parts.js +0 -1
  355. package/build-module/utils/get-filtered-template-parts.js.map +1 -1
  356. package/build-module/utils/set-nested-value.js +0 -1
  357. package/build-module/utils/set-nested-value.js.map +1 -1
  358. package/build-style/posts-rtl.css +8 -4
  359. package/build-style/posts.css +8 -4
  360. package/build-style/style-rtl.css +17 -24
  361. package/build-style/style.css +17 -24
  362. package/package.json +42 -42
  363. package/src/components/editor/index.js +12 -6
  364. package/src/components/{maybe-editor/index.js → editor/site-preview.js} +7 -20
  365. package/src/components/global-styles/font-library-modal/collection-font-variant.js +3 -11
  366. package/src/components/global-styles/font-library-modal/library-font-variant.js +3 -12
  367. package/src/components/global-styles/screen-block-list.js +15 -6
  368. package/src/components/global-styles/screen-css.js +9 -0
  369. package/src/components/global-styles/screen-root.js +1 -0
  370. package/src/components/global-styles/style.scss +5 -0
  371. package/src/components/layout/style.scss +4 -0
  372. package/src/components/media/index.js +2 -2
  373. package/src/components/page-patterns/style.scss +2 -0
  374. package/src/components/page-templates/style.scss +2 -0
  375. package/src/components/resizable-frame/index.js +1 -1
  376. package/src/components/sidebar-navigation-screen/index.js +0 -9
  377. package/src/components/sidebar-navigation-screen/style.scss +0 -23
  378. package/src/components/sidebar-navigation-screen-main/index.js +15 -10
  379. package/src/components/site-editor-routes/home.js +2 -2
  380. package/src/components/site-editor-routes/index.js +2 -0
  381. package/src/components/site-editor-routes/notfound.js +27 -0
  382. package/src/components/site-editor-routes/template-item.js +3 -3
  383. package/src/components/site-editor-routes/template-part-item.js +3 -3
  384. package/src/components/style-book/index.js +1 -13
  385. package/tsconfig.tsbuildinfo +1 -1
  386. package/build/components/maybe-editor/index.js.map +0 -1
  387. package/build-module/components/maybe-editor/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["Children","cloneElement","useState","Button","__experimentalUseSlotFills","useSlotFills","ESCAPE","__","useDispatch","useSelect","closeSmall","useFocusOnMount","useFocusReturn","store","preferencesStore","editorStore","privateApis","editorPrivateApis","unlock","editSiteStore","jsx","_jsx","jsxs","_jsxs","EditorContentSlotFill","ResizableEditor","getEditorCanvasContainerTitle","view","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","Fill","className","onKeyDown","size","icon","label","onClick","useHasEditorCanvasContainer","fills","name","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\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 {\n\tstore as editorStore,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\n\nconst { EditorContentSlotFill, ResizableEditor } = unlock( editorPrivateApis );\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 {Object} Translated string for the view title and associated icon, both defaulting to ''.\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\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<EditorContentSlotFill.Fill>\n\t\t\t<div className=\"edit-site-editor-canvas-container\">\n\t\t\t\t<ResizableEditor enableResizing={ enableResizing }>\n\t\t\t\t\t{ /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */ }\n\t\t\t\t\t<section\n\t\t\t\t\t\tclassName=\"edit-site-editor-canvas-container__section\"\n\t\t\t\t\t\tref={ shouldShowCloseButton ? focusOnMountRef : null }\n\t\t\t\t\t\tonKeyDown={ closeOnEscape }\n\t\t\t\t\t\taria-label={ title }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ shouldShowCloseButton && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\tclassName=\"edit-site-editor-canvas-container__close-button\"\n\t\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\t\tlabel={ closeButtonLabel || __( 'Close' ) }\n\t\t\t\t\t\t\t\tonClick={ onCloseContainer }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ childrenWithProps }\n\t\t\t\t\t</section>\n\t\t\t\t</ResizableEditor>\n\t\t\t</div>\n\t\t</EditorContentSlotFill.Fill>\n\t);\n}\n\nfunction useHasEditorCanvasContainer() {\n\tconst fills = useSlotFills( EditorContentSlotFill.name );\n\treturn !! fills?.length;\n}\n\nexport default EditorCanvasContainer;\nexport { useHasEditorCanvasContainer, getEditorCanvasContainerTitle };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Children","cloneElement","useState","Button","__experimentalUseSlotFills","useSlotFills","ESCAPE","__","useDispatch","useSelect","closeSmall","useFocusOnMount","useFocusReturn","store","preferencesStore","editorStore","privateApis","editorPrivateApis","unlock","editSiteStore","jsx","_jsx","jsxs","_jsxs","EditorContentSlotFill","ResizableEditor","getEditorCanvasContainerTitle","view","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","Fill","className","onKeyDown","size","icon","label","onClick","useHasEditorCanvasContainer","fills","name","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\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 {\n\tstore as editorStore,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\n\nconst { EditorContentSlotFill, ResizableEditor } = unlock( editorPrivateApis );\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 {Object} Translated string for the view title and associated icon, both defaulting to ''.\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\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<EditorContentSlotFill.Fill>\n\t\t\t<div className=\"edit-site-editor-canvas-container\">\n\t\t\t\t<ResizableEditor enableResizing={ enableResizing }>\n\t\t\t\t\t{ /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */ }\n\t\t\t\t\t<section\n\t\t\t\t\t\tclassName=\"edit-site-editor-canvas-container__section\"\n\t\t\t\t\t\tref={ shouldShowCloseButton ? focusOnMountRef : null }\n\t\t\t\t\t\tonKeyDown={ closeOnEscape }\n\t\t\t\t\t\taria-label={ title }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ shouldShowCloseButton && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\tclassName=\"edit-site-editor-canvas-container__close-button\"\n\t\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\t\tlabel={ closeButtonLabel || __( 'Close' ) }\n\t\t\t\t\t\t\t\tonClick={ onCloseContainer }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ childrenWithProps }\n\t\t\t\t\t</section>\n\t\t\t\t</ResizableEditor>\n\t\t\t</div>\n\t\t</EditorContentSlotFill.Fill>\n\t);\n}\n\nfunction useHasEditorCanvasContainer() {\n\tconst fills = useSlotFills( EditorContentSlotFill.name );\n\treturn !! fills?.length;\n}\n\nexport default EditorCanvasContainer;\nexport { useHasEditorCanvasContainer, getEditorCanvasContainerTitle };\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["__","__experimentalText","Text","__experimentalItemGroup","ItemGroup","__experimentalVStack","VStack","__experimentalHStack","HStack","Button","privateApis","blockEditorPrivateApis","settings","useContext","FontLibraryProvider","FontLibraryContext","FontLibraryModal","FontFamilyItem","Subtitle","setUIValuesNeeded","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useGlobalSetting","mapFontsWithSource","fonts","source","map","f","FontFamilies","baseCustomFonts","modalTabOpen","setModalTabOpen","fontFamilies","baseFontFamilies","undefined","themeFonts","theme","customFonts","custom","activeFonts","sort","a","b","name","localeCompare","hasFonts","length","hasInstalledFonts","children","onRequestClose","defaultTabId","spacing","justify","level","onClick","label","icon","size","isBordered","isSeparated","font","slug","as","className","variant","__next40pxDefaultSize","props"],"sources":["@wordpress/edit-site/src/components/global-styles/font-families.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalText as Text,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\tButton,\n} from '@wordpress/components';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\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';\nimport { setUIValuesNeeded } from './font-library-modal/utils';\nimport { unlock } from '../../lock-unlock';\n\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\n\n/**\n * Maps the fonts with the source, if available.\n *\n * @param {Array} fonts The fonts to map.\n * @param {string} source The source of the fonts.\n * @return {Array} The mapped fonts.\n */\nfunction mapFontsWithSource( fonts, source ) {\n\treturn fonts\n\t\t? fonts.map( ( f ) => setUIValuesNeeded( f, { source } ) )\n\t\t: [];\n}\n\nfunction FontFamilies() {\n\tconst { baseCustomFonts, modalTabOpen, setModalTabOpen } =\n\t\tuseContext( FontLibraryContext );\n\tconst [ fontFamilies ] = useGlobalSetting( 'typography.fontFamilies' );\n\tconst [ baseFontFamilies ] = useGlobalSetting(\n\t\t'typography.fontFamilies',\n\t\tundefined,\n\t\t'base'\n\t);\n\tconst themeFonts = mapFontsWithSource( fontFamilies?.theme, 'theme' );\n\tconst customFonts = mapFontsWithSource( fontFamilies?.custom, 'custom' );\n\tconst activeFonts = [ ...themeFonts, ...customFonts ].sort( ( a, b ) =>\n\t\ta.name.localeCompare( b.name )\n\t);\n\tconst hasFonts = 0 < activeFonts.length;\n\tconst hasInstalledFonts =\n\t\thasFonts ||\n\t\tbaseFontFamilies?.theme?.length > 0 ||\n\t\tbaseCustomFonts?.length > 0;\n\n\treturn (\n\t\t<>\n\t\t\t{ !! modalTabOpen && (\n\t\t\t\t<FontLibraryModal\n\t\t\t\t\tonRequestClose={ () => setModalTabOpen( null ) }\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<Button\n\t\t\t\t\t\tonClick={ () => setModalTabOpen( 'installed-fonts' ) }\n\t\t\t\t\t\tlabel={ __( 'Manage fonts' ) }\n\t\t\t\t\t\ticon={ settings }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t\t{ activeFonts.length > 0 && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<ItemGroup size=\"large\" isBordered isSeparated>\n\t\t\t\t\t\t\t{ activeFonts.map( ( font ) => (\n\t\t\t\t\t\t\t\t<FontFamilyItem\n\t\t\t\t\t\t\t\t\tkey={ font.slug }\n\t\t\t\t\t\t\t\t\tfont={ font }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ ! hasFonts && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Text as=\"p\">\n\t\t\t\t\t\t\t{ hasInstalledFonts\n\t\t\t\t\t\t\t\t? __( 'No fonts activated.' )\n\t\t\t\t\t\t\t\t: __( 'No fonts installed.' ) }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-font-families__manage-fonts\"\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetModalTabOpen(\n\t\t\t\t\t\t\t\t\thasInstalledFonts\n\t\t\t\t\t\t\t\t\t\t? 'installed-fonts'\n\t\t\t\t\t\t\t\t\t\t: 'upload-fonts'\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\t\t{ hasInstalledFonts\n\t\t\t\t\t\t\t\t? __( 'Manage fonts' )\n\t\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":"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","ignoreList":[]}
1
+ {"version":3,"names":["__","__experimentalText","Text","__experimentalItemGroup","ItemGroup","__experimentalVStack","VStack","__experimentalHStack","HStack","Button","privateApis","blockEditorPrivateApis","settings","useContext","FontLibraryProvider","FontLibraryContext","FontLibraryModal","FontFamilyItem","Subtitle","setUIValuesNeeded","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useGlobalSetting","mapFontsWithSource","fonts","source","map","f","FontFamilies","baseCustomFonts","modalTabOpen","setModalTabOpen","fontFamilies","baseFontFamilies","undefined","themeFonts","theme","customFonts","custom","activeFonts","sort","a","b","name","localeCompare","hasFonts","length","hasInstalledFonts","children","onRequestClose","defaultTabId","spacing","justify","level","onClick","label","icon","size","isBordered","isSeparated","font","slug","as","className","variant","__next40pxDefaultSize","props"],"sources":["@wordpress/edit-site/src/components/global-styles/font-families.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalText as Text,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\tButton,\n} from '@wordpress/components';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\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';\nimport { setUIValuesNeeded } from './font-library-modal/utils';\nimport { unlock } from '../../lock-unlock';\n\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\n\n/**\n * Maps the fonts with the source, if available.\n *\n * @param {Array} fonts The fonts to map.\n * @param {string} source The source of the fonts.\n * @return {Array} The mapped fonts.\n */\nfunction mapFontsWithSource( fonts, source ) {\n\treturn fonts\n\t\t? fonts.map( ( f ) => setUIValuesNeeded( f, { source } ) )\n\t\t: [];\n}\n\nfunction FontFamilies() {\n\tconst { baseCustomFonts, modalTabOpen, setModalTabOpen } =\n\t\tuseContext( FontLibraryContext );\n\tconst [ fontFamilies ] = useGlobalSetting( 'typography.fontFamilies' );\n\tconst [ baseFontFamilies ] = useGlobalSetting(\n\t\t'typography.fontFamilies',\n\t\tundefined,\n\t\t'base'\n\t);\n\tconst themeFonts = mapFontsWithSource( fontFamilies?.theme, 'theme' );\n\tconst customFonts = mapFontsWithSource( fontFamilies?.custom, 'custom' );\n\tconst activeFonts = [ ...themeFonts, ...customFonts ].sort( ( a, b ) =>\n\t\ta.name.localeCompare( b.name )\n\t);\n\tconst hasFonts = 0 < activeFonts.length;\n\tconst hasInstalledFonts =\n\t\thasFonts ||\n\t\tbaseFontFamilies?.theme?.length > 0 ||\n\t\tbaseCustomFonts?.length > 0;\n\n\treturn (\n\t\t<>\n\t\t\t{ !! modalTabOpen && (\n\t\t\t\t<FontLibraryModal\n\t\t\t\t\tonRequestClose={ () => setModalTabOpen( null ) }\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<Button\n\t\t\t\t\t\tonClick={ () => setModalTabOpen( 'installed-fonts' ) }\n\t\t\t\t\t\tlabel={ __( 'Manage fonts' ) }\n\t\t\t\t\t\ticon={ settings }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t\t{ activeFonts.length > 0 && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<ItemGroup size=\"large\" isBordered isSeparated>\n\t\t\t\t\t\t\t{ activeFonts.map( ( font ) => (\n\t\t\t\t\t\t\t\t<FontFamilyItem\n\t\t\t\t\t\t\t\t\tkey={ font.slug }\n\t\t\t\t\t\t\t\t\tfont={ font }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ ! hasFonts && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Text as=\"p\">\n\t\t\t\t\t\t\t{ hasInstalledFonts\n\t\t\t\t\t\t\t\t? __( 'No fonts activated.' )\n\t\t\t\t\t\t\t\t: __( 'No fonts installed.' ) }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-font-families__manage-fonts\"\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetModalTabOpen(\n\t\t\t\t\t\t\t\t\thasInstalledFonts\n\t\t\t\t\t\t\t\t\t\t? 'installed-fonts'\n\t\t\t\t\t\t\t\t\t\t: 'upload-fonts'\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\t\t{ hasInstalledFonts\n\t\t\t\t\t\t\t\t? __( 'Manage fonts' )\n\t\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":"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","ignoreList":[]}
@@ -1,18 +1,15 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { CheckboxControl, Flex, privateApis as componentsPrivateApis } from '@wordpress/components';
4
+ import { useId } from '@wordpress/element';
5
+ import { CheckboxControl, Flex } from '@wordpress/components';
5
6
 
6
7
  /**
7
8
  * Internal dependencies
8
9
  */
9
10
  import { getFontFaceVariantName } from './utils';
10
11
  import FontDemo from './font-demo';
11
- import { unlock } from '../../../lock-unlock';
12
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
- const {
14
- kebabCase
15
- } = unlock(componentsPrivateApis);
16
13
  function CollectionFontVariant({
17
14
  face,
18
15
  font,
@@ -27,7 +24,7 @@ function CollectionFontVariant({
27
24
  handleToggleVariant(font);
28
25
  };
29
26
  const displayName = font.name + ' ' + getFontFaceVariantName(face);
30
- const checkboxId = kebabCase(`${font.slug}-${getFontFaceVariantName(face)}`);
27
+ const checkboxId = useId();
31
28
  return /*#__PURE__*/_jsx("div", {
32
29
  className: "font-library-modal__font-card",
33
30
  children: /*#__PURE__*/_jsxs(Flex, {
@@ -1 +1 @@
1
- {"version":3,"names":["CheckboxControl","Flex","privateApis","componentsPrivateApis","getFontFaceVariantName","FontDemo","unlock","jsx","_jsx","jsxs","_jsxs","kebabCase","CollectionFontVariant","face","font","handleToggleVariant","selected","handleToggleActivation","fontFace","displayName","name","checkboxId","slug","className","children","justify","align","gap","checked","onChange","__nextHasNoMarginBottom","id","htmlFor","text","onClick"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/collection-font-variant.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tCheckboxControl,\n\tFlex,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { getFontFaceVariantName } from './utils';\nimport FontDemo from './font-demo';\nimport { unlock } from '../../../lock-unlock';\n\nconst { kebabCase } = unlock( componentsPrivateApis );\n\nfunction CollectionFontVariant( {\n\tface,\n\tfont,\n\thandleToggleVariant,\n\tselected,\n} ) {\n\tconst handleToggleActivation = () => {\n\t\tif ( font?.fontFace ) {\n\t\t\thandleToggleVariant( font, face );\n\t\t\treturn;\n\t\t}\n\t\thandleToggleVariant( font );\n\t};\n\n\tconst displayName = font.name + ' ' + getFontFaceVariantName( face );\n\tconst checkboxId = kebabCase(\n\t\t`${ font.slug }-${ getFontFaceVariantName( face ) }`\n\t);\n\n\treturn (\n\t\t<div className=\"font-library-modal__font-card\">\n\t\t\t<Flex justify=\"flex-start\" align=\"center\" gap=\"1rem\">\n\t\t\t\t<CheckboxControl\n\t\t\t\t\tchecked={ selected }\n\t\t\t\t\tonChange={ handleToggleActivation }\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tid={ checkboxId }\n\t\t\t\t/>\n\t\t\t\t<label htmlFor={ checkboxId }>\n\t\t\t\t\t<FontDemo\n\t\t\t\t\t\tfont={ face }\n\t\t\t\t\t\ttext={ displayName }\n\t\t\t\t\t\tonClick={ handleToggleActivation }\n\t\t\t\t\t/>\n\t\t\t\t</label>\n\t\t\t</Flex>\n\t\t</div>\n\t);\n}\n\nexport default CollectionFontVariant;\n"],"mappings":"AAAA;AACA;AACA;AACA,SACCA,eAAe,EACfC,IAAI,EACJC,WAAW,IAAIC,qBAAqB,QAC9B,uBAAuB;;AAE9B;AACA;AACA;AACA,SAASC,sBAAsB,QAAQ,SAAS;AAChD,OAAOC,QAAQ,MAAM,aAAa;AAClC,SAASC,MAAM,QAAQ,sBAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGL,MAAM,CAAEH,qBAAsB,CAAC;AAErD,SAASS,qBAAqBA,CAAE;EAC/BC,IAAI;EACJC,IAAI;EACJC,mBAAmB;EACnBC;AACD,CAAC,EAAG;EACH,MAAMC,sBAAsB,GAAGA,CAAA,KAAM;IACpC,IAAKH,IAAI,EAAEI,QAAQ,EAAG;MACrBH,mBAAmB,CAAED,IAAI,EAAED,IAAK,CAAC;MACjC;IACD;IACAE,mBAAmB,CAAED,IAAK,CAAC;EAC5B,CAAC;EAED,MAAMK,WAAW,GAAGL,IAAI,CAACM,IAAI,GAAG,GAAG,GAAGhB,sBAAsB,CAAES,IAAK,CAAC;EACpE,MAAMQ,UAAU,GAAGV,SAAS,CAC3B,GAAIG,IAAI,CAACQ,IAAI,IAAMlB,sBAAsB,CAAES,IAAK,CAAC,EAClD,CAAC;EAED,oBACCL,IAAA;IAAKe,SAAS,EAAC,+BAA+B;IAAAC,QAAA,eAC7Cd,KAAA,CAACT,IAAI;MAACwB,OAAO,EAAC,YAAY;MAACC,KAAK,EAAC,QAAQ;MAACC,GAAG,EAAC,MAAM;MAAAH,QAAA,gBACnDhB,IAAA,CAACR,eAAe;QACf4B,OAAO,EAAGZ,QAAU;QACpBa,QAAQ,EAAGZ,sBAAwB;QACnCa,uBAAuB;QACvBC,EAAE,EAAGV;MAAY,CACjB,CAAC,eACFb,IAAA;QAAOwB,OAAO,EAAGX,UAAY;QAAAG,QAAA,eAC5BhB,IAAA,CAACH,QAAQ;UACRS,IAAI,EAAGD,IAAM;UACboB,IAAI,EAAGd,WAAa;UACpBe,OAAO,EAAGjB;QAAwB,CAClC;MAAC,CACI,CAAC;IAAA,CACH;EAAC,CACH,CAAC;AAER;AAEA,eAAeL,qBAAqB","ignoreList":[]}
1
+ {"version":3,"names":["useId","CheckboxControl","Flex","getFontFaceVariantName","FontDemo","jsx","_jsx","jsxs","_jsxs","CollectionFontVariant","face","font","handleToggleVariant","selected","handleToggleActivation","fontFace","displayName","name","checkboxId","className","children","justify","align","gap","checked","onChange","__nextHasNoMarginBottom","id","htmlFor","text","onClick"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/collection-font-variant.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useId } from '@wordpress/element';\nimport { CheckboxControl, Flex } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { getFontFaceVariantName } from './utils';\nimport FontDemo from './font-demo';\n\nfunction CollectionFontVariant( {\n\tface,\n\tfont,\n\thandleToggleVariant,\n\tselected,\n} ) {\n\tconst handleToggleActivation = () => {\n\t\tif ( font?.fontFace ) {\n\t\t\thandleToggleVariant( font, face );\n\t\t\treturn;\n\t\t}\n\t\thandleToggleVariant( font );\n\t};\n\n\tconst displayName = font.name + ' ' + getFontFaceVariantName( face );\n\tconst checkboxId = useId();\n\n\treturn (\n\t\t<div className=\"font-library-modal__font-card\">\n\t\t\t<Flex justify=\"flex-start\" align=\"center\" gap=\"1rem\">\n\t\t\t\t<CheckboxControl\n\t\t\t\t\tchecked={ selected }\n\t\t\t\t\tonChange={ handleToggleActivation }\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tid={ checkboxId }\n\t\t\t\t/>\n\t\t\t\t<label htmlFor={ checkboxId }>\n\t\t\t\t\t<FontDemo\n\t\t\t\t\t\tfont={ face }\n\t\t\t\t\t\ttext={ displayName }\n\t\t\t\t\t\tonClick={ handleToggleActivation }\n\t\t\t\t\t/>\n\t\t\t\t</label>\n\t\t\t</Flex>\n\t\t</div>\n\t);\n}\n\nexport default CollectionFontVariant;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,QAAQ,oBAAoB;AAC1C,SAASC,eAAe,EAAEC,IAAI,QAAQ,uBAAuB;;AAE7D;AACA;AACA;AACA,SAASC,sBAAsB,QAAQ,SAAS;AAChD,OAAOC,QAAQ,MAAM,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEnC,SAASC,qBAAqBA,CAAE;EAC/BC,IAAI;EACJC,IAAI;EACJC,mBAAmB;EACnBC;AACD,CAAC,EAAG;EACH,MAAMC,sBAAsB,GAAGA,CAAA,KAAM;IACpC,IAAKH,IAAI,EAAEI,QAAQ,EAAG;MACrBH,mBAAmB,CAAED,IAAI,EAAED,IAAK,CAAC;MACjC;IACD;IACAE,mBAAmB,CAAED,IAAK,CAAC;EAC5B,CAAC;EAED,MAAMK,WAAW,GAAGL,IAAI,CAACM,IAAI,GAAG,GAAG,GAAGd,sBAAsB,CAAEO,IAAK,CAAC;EACpE,MAAMQ,UAAU,GAAGlB,KAAK,CAAC,CAAC;EAE1B,oBACCM,IAAA;IAAKa,SAAS,EAAC,+BAA+B;IAAAC,QAAA,eAC7CZ,KAAA,CAACN,IAAI;MAACmB,OAAO,EAAC,YAAY;MAACC,KAAK,EAAC,QAAQ;MAACC,GAAG,EAAC,MAAM;MAAAH,QAAA,gBACnDd,IAAA,CAACL,eAAe;QACfuB,OAAO,EAAGX,QAAU;QACpBY,QAAQ,EAAGX,sBAAwB;QACnCY,uBAAuB;QACvBC,EAAE,EAAGT;MAAY,CACjB,CAAC,eACFZ,IAAA;QAAOsB,OAAO,EAAGV,UAAY;QAAAE,QAAA,eAC5Bd,IAAA,CAACF,QAAQ;UACRO,IAAI,EAAGD,IAAM;UACbmB,IAAI,EAAGb,WAAa;UACpBc,OAAO,EAAGhB;QAAwB,CAClC;MAAC,CACI,CAAC;IAAA,CACH;EAAC,CACH,CAAC;AAER;AAEA,eAAeL,qBAAqB","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -1 +1 @@
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","setNestedValue","jsx","_jsx","FontLibraryContext","FontLibraryProvider","children","saveEntityRecord","globalStylesId","select","__experimentalGetCurrentGlobalStylesId","globalStyles","isInstalling","setIsInstalling","refreshKey","setRefreshKey","refreshLibrary","Date","now","records","libraryPosts","isResolving","isResolvingLibrary","_embed","libraryFonts","map","fontFamilyPost","id","font_family_settings","fontFace","_embedded","font_faces","face","font_face_settings","fontFamilies","setFontFamilies","saveFontFamilies","fonts","updatedGlobalStyles","record","modalTabOpen","setModalTabOpen","libraryFontSelected","setLibraryFontSelected","themeFonts","theme","f","source","sort","a","b","name","localeCompare","customFonts","custom","baseCustomFonts","handleSetLibraryFontSelected","font","fontSelected","find","slug","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","successfullyInstalledFontFaces","unsuccessfullyInstalledFontFaces","response","successes","errors","push","concat","unique","item","message","activeFonts","activateCustomFontFamilies","installError","Error","uninstallFontFamily","fontFamilyToUninstall","uninstalledFontFamily","deleted","deactivateFontFamily","error","console","_fontFamilies$font$so","initialCustomFonts","newCustomFonts","forEach","fontsToAdd","fontsToActivate","cleanFontsForSave","loadFontsInBrowser","_familyDbId","_faceDbId","src","toggleActivateFont","_fontFamilies$font$so2","initialFonts","newFonts","isFaceActivated","loadFontFaceAsset","has","add","collections","setFontCollections","getFontCollections","getFontCollection","hasData","collection","font_families","updatedCollections","e","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';\nimport setNestedValue from '../../../utils/set-nested-value';\n\nexport const FontLibraryContext = createContext( {} );\n\nfunction FontLibraryProvider( { children } ) {\n\tconst { saveEntityRecord } = useDispatch( 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\n\tconst [ isInstalling, setIsInstalling ] = useState( false );\n\tconst [ refreshKey, setRefreshKey ] = useState( 0 );\n\n\tconst refreshLibrary = () => {\n\t\tsetRefreshKey( Date.now() );\n\t};\n\n\tconst { records: libraryPosts = [], isResolving: isResolvingLibrary } =\n\t\tuseEntityRecords( 'postType', 'wp_font_family', {\n\t\t\trefreshKey,\n\t\t\t_embed: true,\n\t\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\n\t/*\n\t * Save the font families to the database.\n\n\t * This function is called when the user activates or deactivates a font family.\n\t * It only updates the global styles post content in the database for new font families.\n\t * This avoids saving other styles/settings changed by the user using other parts of the editor.\n\t *\n\t * It uses the font families from the param to avoid using the font families from an outdated state.\n\t *\n\t * @param {Array} fonts - The font families that will be saved to the database.\n\t */\n\tconst saveFontFamilies = async ( fonts ) => {\n\t\t// Gets the global styles database post content.\n\t\tconst updatedGlobalStyles = globalStyles.record;\n\n\t\t// Updates the database version of global styles with the edited font families in the client.\n\t\tsetNestedValue(\n\t\t\tupdatedGlobalStyles,\n\t\t\t[ 'settings', 'typography', 'fontFamilies' ],\n\t\t\tfonts\n\t\t);\n\n\t\t// Saves a new version of the global styles in the database.\n\t\tawait saveEntityRecord( 'root', 'globalStyles', updatedGlobalStyles );\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 customFonts = fontFamilies?.custom\n\t\t? fontFamilies.custom\n\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'custom' } ) )\n\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t: [];\n\n\tconst baseCustomFonts = libraryFonts\n\t\t? libraryFonts\n\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'custom' } ) )\n\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t: [];\n\n\tuseEffect( () => {\n\t\tif ( ! modalTabOpen ) {\n\t\t\tsetLibraryFontSelected( null );\n\t\t}\n\t}, [ modalTabOpen ] );\n\n\tconst handleSetLibraryFontSelected = ( font ) => {\n\t\t// If font is null, reset the selected font\n\t\tif ( ! font ) {\n\t\t\tsetLibraryFontSelected( null );\n\t\t\treturn;\n\t\t}\n\n\t\tconst fonts = 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\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 successfullyInstalledFontFaces = [];\n\t\t\t\tlet unsuccessfullyInstalledFontFaces = [];\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\tsuccessfullyInstalledFontFaces = response?.successes;\n\t\t\t\t\tunsuccessfullyInstalledFontFaces = response?.errors;\n\t\t\t\t}\n\n\t\t\t\t// Use the successfully 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\tsuccessfullyInstalledFontFaces?.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...successfullyInstalledFontFaces,\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\tsuccessfullyInstalledFontFaces?.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\tunsuccessfullyInstalledFontFaces\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\tconst activeFonts = activateCustomFontFamilies(\n\t\t\t\t\tfontFamiliesToActivate\n\t\t\t\t);\n\t\t\t\t// Save the global styles to the database.\n\t\t\t\tawait saveFontFamilies( activeFonts );\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\tconst activeFonts = deactivateFontFamily(\n\t\t\t\t\tfontFamilyToUninstall\n\t\t\t\t);\n\t\t\t\t// Save the global styles to the database.\n\t\t\t\tawait saveFontFamilies( activeFonts );\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\tconst activeFonts = {\n\t\t\t...fontFamilies,\n\t\t\t[ font.source ]: newCustomFonts,\n\t\t};\n\t\tsetFontFamilies( activeFonts );\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\treturn activeFonts;\n\t};\n\n\tconst activateCustomFontFamilies = ( fontsToAdd ) => {\n\t\tconst fontsToActivate = cleanFontsForSave( fontsToAdd );\n\n\t\tconst activeFonts = {\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// Activate the fonts by set the new custom fonts array.\n\t\tsetFontFamilies( activeFonts );\n\n\t\tloadFontsInBrowser( fontsToActivate );\n\n\t\treturn activeFonts;\n\t};\n\n\t// Removes the id from the families and faces to avoid saving that to global styles post content.\n\tconst cleanFontsForSave = ( fonts ) => {\n\t\treturn fonts.map( ( { id: _familyDbId, fontFace, ...font } ) => ( {\n\t\t\t...font,\n\t\t\t...( fontFace && fontFace.length > 0\n\t\t\t\t? {\n\t\t\t\t\t\tfontFace: fontFace.map(\n\t\t\t\t\t\t\t( { id: _faceDbId, ...face } ) => face\n\t\t\t\t\t\t),\n\t\t\t\t }\n\t\t\t\t: {} ),\n\t\t} ) );\n\t};\n\n\tconst loadFontsInBrowser = ( fonts ) => {\n\t\t// Add custom fonts to the browser.\n\t\tfonts.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\tunloadFontFaceInBrowser( face, 'all' );\n\t\t} else {\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}\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 ) {\n\t\t\treturn;\n\t\t}\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 ) ) {\n\t\t\treturn;\n\t\t}\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 ) {\n\t\t\t\treturn;\n\t\t\t}\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\tfontFamilies,\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\tsetModalTabOpen,\n\t\t\t\trefreshLibrary,\n\t\t\t\tsaveFontFamilies,\n\t\t\t\tisResolvingLibrary,\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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","ignoreList":[]}
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","setNestedValue","jsx","_jsx","FontLibraryContext","FontLibraryProvider","children","saveEntityRecord","globalStylesId","select","__experimentalGetCurrentGlobalStylesId","globalStyles","isInstalling","setIsInstalling","refreshKey","setRefreshKey","refreshLibrary","Date","now","records","libraryPosts","isResolving","isResolvingLibrary","_embed","libraryFonts","map","fontFamilyPost","id","font_family_settings","fontFace","_embedded","font_faces","face","font_face_settings","fontFamilies","setFontFamilies","saveFontFamilies","fonts","updatedGlobalStyles","record","modalTabOpen","setModalTabOpen","libraryFontSelected","setLibraryFontSelected","themeFonts","theme","f","source","sort","a","b","name","localeCompare","customFonts","custom","baseCustomFonts","handleSetLibraryFontSelected","font","fontSelected","find","slug","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","successfullyInstalledFontFaces","unsuccessfullyInstalledFontFaces","response","successes","errors","push","concat","unique","item","message","activeFonts","activateCustomFontFamilies","installError","Error","uninstallFontFamily","fontFamilyToUninstall","uninstalledFontFamily","deleted","deactivateFontFamily","error","console","_fontFamilies$font$so","initialCustomFonts","newCustomFonts","forEach","fontsToAdd","fontsToActivate","cleanFontsForSave","loadFontsInBrowser","_familyDbId","_faceDbId","src","toggleActivateFont","_fontFamilies$font$so2","initialFonts","newFonts","isFaceActivated","loadFontFaceAsset","has","add","collections","setFontCollections","getFontCollections","getFontCollection","hasData","collection","font_families","updatedCollections","e","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';\nimport setNestedValue from '../../../utils/set-nested-value';\n\nexport const FontLibraryContext = createContext( {} );\n\nfunction FontLibraryProvider( { children } ) {\n\tconst { saveEntityRecord } = useDispatch( 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\n\tconst [ isInstalling, setIsInstalling ] = useState( false );\n\tconst [ refreshKey, setRefreshKey ] = useState( 0 );\n\n\tconst refreshLibrary = () => {\n\t\tsetRefreshKey( Date.now() );\n\t};\n\n\tconst { records: libraryPosts = [], isResolving: isResolvingLibrary } =\n\t\tuseEntityRecords( 'postType', 'wp_font_family', {\n\t\t\trefreshKey,\n\t\t\t_embed: true,\n\t\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\n\t/*\n\t * Save the font families to the database.\n\n\t * This function is called when the user activates or deactivates a font family.\n\t * It only updates the global styles post content in the database for new font families.\n\t * This avoids saving other styles/settings changed by the user using other parts of the editor.\n\t *\n\t * It uses the font families from the param to avoid using the font families from an outdated state.\n\t *\n\t * @param {Array} fonts - The font families that will be saved to the database.\n\t */\n\tconst saveFontFamilies = async ( fonts ) => {\n\t\t// Gets the global styles database post content.\n\t\tconst updatedGlobalStyles = globalStyles.record;\n\n\t\t// Updates the database version of global styles with the edited font families in the client.\n\t\tsetNestedValue(\n\t\t\tupdatedGlobalStyles,\n\t\t\t[ 'settings', 'typography', 'fontFamilies' ],\n\t\t\tfonts\n\t\t);\n\n\t\t// Saves a new version of the global styles in the database.\n\t\tawait saveEntityRecord( 'root', 'globalStyles', updatedGlobalStyles );\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 customFonts = fontFamilies?.custom\n\t\t? fontFamilies.custom\n\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'custom' } ) )\n\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t: [];\n\n\tconst baseCustomFonts = libraryFonts\n\t\t? libraryFonts\n\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'custom' } ) )\n\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t: [];\n\n\tuseEffect( () => {\n\t\tif ( ! modalTabOpen ) {\n\t\t\tsetLibraryFontSelected( null );\n\t\t}\n\t}, [ modalTabOpen ] );\n\n\tconst handleSetLibraryFontSelected = ( font ) => {\n\t\t// If font is null, reset the selected font\n\t\tif ( ! font ) {\n\t\t\tsetLibraryFontSelected( null );\n\t\t\treturn;\n\t\t}\n\n\t\tconst fonts = 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\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 successfullyInstalledFontFaces = [];\n\t\t\t\tlet unsuccessfullyInstalledFontFaces = [];\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\tsuccessfullyInstalledFontFaces = response?.successes;\n\t\t\t\t\tunsuccessfullyInstalledFontFaces = response?.errors;\n\t\t\t\t}\n\n\t\t\t\t// Use the successfully 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\tsuccessfullyInstalledFontFaces?.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...successfullyInstalledFontFaces,\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\tsuccessfullyInstalledFontFaces?.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\tunsuccessfullyInstalledFontFaces\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\tconst activeFonts = activateCustomFontFamilies(\n\t\t\t\t\tfontFamiliesToActivate\n\t\t\t\t);\n\t\t\t\t// Save the global styles to the database.\n\t\t\t\tawait saveFontFamilies( activeFonts );\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\tconst activeFonts = deactivateFontFamily(\n\t\t\t\t\tfontFamilyToUninstall\n\t\t\t\t);\n\t\t\t\t// Save the global styles to the database.\n\t\t\t\tawait saveFontFamilies( activeFonts );\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\tconst activeFonts = {\n\t\t\t...fontFamilies,\n\t\t\t[ font.source ]: newCustomFonts,\n\t\t};\n\t\tsetFontFamilies( activeFonts );\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\treturn activeFonts;\n\t};\n\n\tconst activateCustomFontFamilies = ( fontsToAdd ) => {\n\t\tconst fontsToActivate = cleanFontsForSave( fontsToAdd );\n\n\t\tconst activeFonts = {\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// Activate the fonts by set the new custom fonts array.\n\t\tsetFontFamilies( activeFonts );\n\n\t\tloadFontsInBrowser( fontsToActivate );\n\n\t\treturn activeFonts;\n\t};\n\n\t// Removes the id from the families and faces to avoid saving that to global styles post content.\n\tconst cleanFontsForSave = ( fonts ) => {\n\t\treturn fonts.map( ( { id: _familyDbId, fontFace, ...font } ) => ( {\n\t\t\t...font,\n\t\t\t...( fontFace && fontFace.length > 0\n\t\t\t\t? {\n\t\t\t\t\t\tfontFace: fontFace.map(\n\t\t\t\t\t\t\t( { id: _faceDbId, ...face } ) => face\n\t\t\t\t\t\t),\n\t\t\t\t }\n\t\t\t\t: {} ),\n\t\t} ) );\n\t};\n\n\tconst loadFontsInBrowser = ( fonts ) => {\n\t\t// Add custom fonts to the browser.\n\t\tfonts.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\tunloadFontFaceInBrowser( face, 'all' );\n\t\t} else {\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}\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 ) {\n\t\t\treturn;\n\t\t}\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 ) ) {\n\t\t\treturn;\n\t\t}\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 ) {\n\t\t\t\treturn;\n\t\t\t}\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\tfontFamilies,\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\tsetModalTabOpen,\n\t\t\t\trefreshLibrary,\n\t\t\t\tsaveFontFamilies,\n\t\t\t\tisResolvingLibrary,\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,QAAQ,iBAAiB;;AAEpC;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,CAAEb,sBAAuB,CAAC;AAC7D,SACCe,iBAAiB,EACjBC,iBAAiB,EACjBC,qBAAqB,EACrBC,uBAAuB,EACvBC,yBAAyB,EACzBC,qBAAqB,EACrBC,sBAAsB,EACtBC,qBAAqB,EACrBC,sBAAsB,QAChB,SAAS;AAChB,SAASC,UAAU,QAAQ,oBAAoB;AAC/C,OAAOC,cAAc,MAAM,iCAAiC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE7D,OAAO,MAAMC,kBAAkB,GAAGhC,aAAa,CAAE,CAAC,CAAE,CAAC;AAErD,SAASiC,mBAAmBA,CAAE;EAAEC;AAAS,CAAC,EAAG;EAC5C,MAAM;IAAEC;EAAiB,CAAC,GAAG7B,WAAW,CAAEI,SAAU,CAAC;EACrD,MAAM;IAAE0B;EAAe,CAAC,GAAG/B,SAAS,CAAIgC,MAAM,IAAM;IACnD,MAAM;MAAEC;IAAuC,CAAC,GAAGD,MAAM,CAAE3B,SAAU,CAAC;IACtE,OAAO;MAAE0B,cAAc,EAAEE,sCAAsC,CAAC;IAAE,CAAC;EACpE,CAAE,CAAC;EAEH,MAAMC,YAAY,GAAGhC,eAAe,CACnC,MAAM,EACN,cAAc,EACd6B,cACD,CAAC;EAED,MAAM,CAAEI,YAAY,EAAEC,eAAe,CAAE,GAAGxC,QAAQ,CAAE,KAAM,CAAC;EAC3D,MAAM,CAAEyC,UAAU,EAAEC,aAAa,CAAE,GAAG1C,QAAQ,CAAE,CAAE,CAAC;EAEnD,MAAM2C,cAAc,GAAGA,CAAA,KAAM;IAC5BD,aAAa,CAAEE,IAAI,CAACC,GAAG,CAAC,CAAE,CAAC;EAC5B,CAAC;EAED,MAAM;IAAEC,OAAO,EAAEC,YAAY,GAAG,EAAE;IAAEC,WAAW,EAAEC;EAAmB,CAAC,GACpE1C,gBAAgB,CAAE,UAAU,EAAE,gBAAgB,EAAE;IAC/CkC,UAAU;IACVS,MAAM,EAAE;EACT,CAAE,CAAC;EAEJ,MAAMC,YAAY,GACjB,CAAEJ,YAAY,IAAI,EAAE,EAAGK,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,CAAEC,YAAY,EAAEC,eAAe,CAAE,GAAG7C,gBAAgB,CACzD,yBACD,CAAC;;EAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAEC,MAAM8C,gBAAgB,GAAG,MAAQC,KAAK,IAAM;IAC3C;IACA,MAAMC,mBAAmB,GAAG3B,YAAY,CAAC4B,MAAM;;IAE/C;IACAtC,cAAc,CACbqC,mBAAmB,EACnB,CAAE,UAAU,EAAE,YAAY,EAAE,cAAc,CAAE,EAC5CD,KACD,CAAC;;IAED;IACA,MAAM9B,gBAAgB,CAAE,MAAM,EAAE,cAAc,EAAE+B,mBAAoB,CAAC;EACtE,CAAC;;EAED;EACA,MAAM,CAAEE,YAAY,EAAEC,eAAe,CAAE,GAAGpE,QAAQ,CAAE,KAAM,CAAC;EAC3D,MAAM,CAAEqE,mBAAmB,EAAEC,sBAAsB,CAAE,GAAGtE,QAAQ,CAAE,IAAK,CAAC;;EAExE;EACA,MAAMuE,UAAU,GAAGV,YAAY,EAAEW,KAAK,GACnCX,YAAY,CAACW,KAAK,CACjBpB,GAAG,CAAIqB,CAAC,IAAMvD,iBAAiB,CAAEuD,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,WAAW,GAAGnB,YAAY,EAAEoB,MAAM,GACrCpB,YAAY,CAACoB,MAAM,CAClB7B,GAAG,CAAIqB,CAAC,IAAMvD,iBAAiB,CAAEuD,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,MAAMI,eAAe,GAAG/B,YAAY,GACjCA,YAAY,CACXC,GAAG,CAAIqB,CAAC,IAAMvD,iBAAiB,CAAEuD,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;EAEL7E,SAAS,CAAE,MAAM;IAChB,IAAK,CAAEkE,YAAY,EAAG;MACrBG,sBAAsB,CAAE,IAAK,CAAC;IAC/B;EACD,CAAC,EAAE,CAAEH,YAAY,CAAG,CAAC;EAErB,MAAMgB,4BAA4B,GAAKC,IAAI,IAAM;IAChD;IACA,IAAK,CAAEA,IAAI,EAAG;MACbd,sBAAsB,CAAE,IAAK,CAAC;MAC9B;IACD;IAEA,MAAMN,KAAK,GAAGoB,IAAI,CAACV,MAAM,KAAK,OAAO,GAAGH,UAAU,GAAGW,eAAe;;IAEpE;IACA,MAAMG,YAAY,GAAGrB,KAAK,CAACsB,IAAI,CAAIb,CAAC,IAAMA,CAAC,CAACc,IAAI,KAAKH,IAAI,CAACG,IAAK,CAAC;IAChE;IACAjB,sBAAsB,CAAE;MACvB,IAAKe,YAAY,IAAID,IAAI,CAAE;MAC3BV,MAAM,EAAEU,IAAI,CAACV;IACd,CAAE,CAAC;EACJ,CAAC;;EAED;EACA,MAAM,CAAEc,cAAc,CAAE,GAAGxF,QAAQ,CAAE,IAAIyF,GAAG,CAAC,CAAE,CAAC;EAEhD,MAAMC,wBAAwB,GAAKC,qBAAqB,IAAM;IAC7D,MAAMC,OAAO,GAAGD,qBAAqB,CAACE,MAAM,CAAE,CAAEC,GAAG,EAAEV,IAAI,KAAM;MAC9D,MAAMW,kBAAkB,GACvBX,IAAI,EAAE5B,QAAQ,IAAI4B,IAAI,CAAC5B,QAAQ,EAAEwC,MAAM,GAAG,CAAC,GACxCZ,IAAI,EAAE5B,QAAQ,CAACJ,GAAG,CAChBO,IAAI,IAAM,GAAIA,IAAI,CAACsC,SAAS,GAAGtC,IAAI,CAACuC,UAAU,EAChD,CAAC,GACD,CAAE,WAAW,CAAE,CAAC,CAAC;;MAErBJ,GAAG,CAAEV,IAAI,CAACG,IAAI,CAAE,GAAGQ,kBAAkB;MACrC,OAAOD,GAAG;IACX,CAAC,EAAE,CAAC,CAAE,CAAC;IACP,OAAOF,OAAO;EACf,CAAC;EAED,MAAMO,wBAAwB,GAAKzB,MAAM,IAAM;IAC9C,QAASA,MAAM;MACd,KAAK,OAAO;QACX,OAAOgB,wBAAwB,CAAEnB,UAAW,CAAC;MAC9C,KAAK,QAAQ;MACb;QACC,OAAOmB,wBAAwB,CAAEV,WAAY,CAAC;IAChD;EACD,CAAC;EAED,MAAMoB,eAAe,GAAGA,CAAEb,IAAI,EAAEc,KAAK,EAAEC,MAAM,EAAE5B,MAAM,KAAM;IAC1D,IAAK,CAAE2B,KAAK,IAAI,CAAEC,MAAM,EAAG;MAC1B,OAAO,CAAC,CAAEH,wBAAwB,CAAEzB,MAAO,CAAC,CAAEa,IAAI,CAAE;IACrD;IACA,OAAO,CAAC,CAAEY,wBAAwB,CAAEzB,MAAO,CAAC,CAAEa,IAAI,CAAE,EAAEgB,QAAQ,CAC7DF,KAAK,GAAGC,MACT,CAAC;EACF,CAAC;EAED,MAAME,qBAAqB,GAAGA,CAAEjB,IAAI,EAAEb,MAAM,KAAM;IACjD,OAAOyB,wBAAwB,CAAEzB,MAAO,CAAC,CAAEa,IAAI,CAAE,IAAI,EAAE;EACxD,CAAC;EAED,eAAekB,YAAYA,CAAEC,qBAAqB,EAAG;IACpDlE,eAAe,CAAE,IAAK,CAAC;IACvB,IAAI;MACH,MAAMmE,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,MAAMpG,wBAAwB,CACvDkG,mBAAmB,CAACtB,IACrB,CAAC;;QAED;QACA,IAAK,CAAEwB,mBAAmB,EAAG;UAC5BD,gBAAgB,GAAG,IAAI;UACvB;UACAC,mBAAmB,GAAG,MAAMnG,sBAAsB,CACjDY,sBAAsB,CAAEqF,mBAAoB,CAC7C,CAAC;QACF;;QAEA;QACA,MAAMG,yBAAyB,GAC9BD,mBAAmB,CAACvD,QAAQ,IAAIqD,mBAAmB,CAACrD,QAAQ,GACzDuD,mBAAmB,CAACvD,QAAQ,CAACyD,MAAM,CACjCC,iBAAiB,IAClBxF,sBAAsB,CACrBwF,iBAAiB,EACjBL,mBAAmB,CAACrD,QACrB,CACD,CAAC,GACD,EAAE;;QAEN;QACA,IACCuD,mBAAmB,CAACvD,QAAQ,IAC5BqD,mBAAmB,CAACrD,QAAQ,EAC3B;UACDqD,mBAAmB,CAACrD,QAAQ,GAC3BqD,mBAAmB,CAACrD,QAAQ,CAACyD,MAAM,CAChCC,iBAAiB,IAClB,CAAExF,sBAAsB,CACvBwF,iBAAiB,EACjBH,mBAAmB,CAACvD,QACrB,CACF,CAAC;QACH;;QAEA;QACA,IAAI2D,8BAA8B,GAAG,EAAE;QACvC,IAAIC,gCAAgC,GAAG,EAAE;QACzC,IAAKP,mBAAmB,EAAErD,QAAQ,EAAEwC,MAAM,GAAG,CAAC,EAAG;UAChD,MAAMqB,QAAQ,GAAG,MAAM5F,qBAAqB,CAC3CsF,mBAAmB,CAACzD,EAAE,EACtB/B,qBAAqB,CAAEsF,mBAAoB,CAC5C,CAAC;UACDM,8BAA8B,GAAGE,QAAQ,EAAEC,SAAS;UACpDF,gCAAgC,GAAGC,QAAQ,EAAEE,MAAM;QACpD;;QAEA;QACA;QACA,IACCJ,8BAA8B,EAAEnB,MAAM,GAAG,CAAC,IAC1CgB,yBAAyB,EAAEhB,MAAM,GAAG,CAAC,EACpC;UACD;UACA;UACAe,mBAAmB,CAACvD,QAAQ,GAAG,CAC9B,GAAG2D,8BAA8B,CACjC;UAEDR,sBAAsB,CAACa,IAAI,CAAET,mBAAoB,CAAC;QACnD;;QAEA;QACA,IACCA,mBAAmB,IACnB,CAAEF,mBAAmB,EAAErD,QAAQ,EAAEwC,MAAM,EACtC;UACDW,sBAAsB,CAACa,IAAI,CAAET,mBAAoB,CAAC;QACnD;;QAEA;QACA,IACCD,gBAAgB,IAChBD,mBAAmB,EAAErD,QAAQ,EAAEwC,MAAM,GAAG,CAAC,IACzCmB,8BAA8B,EAAEnB,MAAM,KAAK,CAAC,EAC3C;UACD,MAAMnF,wBAAwB,CAAEkG,mBAAmB,CAACzD,EAAG,CAAC;QACzD;QAEAsD,kBAAkB,GAAGA,kBAAkB,CAACa,MAAM,CAC7CL,gCACD,CAAC;MACF;MAEAR,kBAAkB,GAAGA,kBAAkB,CAACf,MAAM,CAC7C,CAAE6B,MAAM,EAAEC,IAAI,KACbD,MAAM,CAACnB,QAAQ,CAAEoB,IAAI,CAACC,OAAQ,CAAC,GAC5BF,MAAM,GACN,CAAE,GAAGA,MAAM,EAAEC,IAAI,CAACC,OAAO,CAAE,EAC/B,EACD,CAAC;MAED,IAAKjB,sBAAsB,CAACX,MAAM,GAAG,CAAC,EAAG;QACxC;QACA,MAAM6B,WAAW,GAAGC,0BAA0B,CAC7CnB,sBACD,CAAC;QACD;QACA,MAAM5C,gBAAgB,CAAE8D,WAAY,CAAC;QAErClF,cAAc,CAAC,CAAC;MACjB;MAEA,IAAKiE,kBAAkB,CAACZ,MAAM,GAAG,CAAC,EAAG;QACpC,MAAM+B,YAAY,GAAG,IAAIC,KAAK,CAC7BtH,EAAE,CAAE,sCAAuC,CAC5C,CAAC;QAEDqH,YAAY,CAACnB,kBAAkB,GAAGA,kBAAkB;QAEpD,MAAMmB,YAAY;MACnB;IACD,CAAC,SAAS;MACTvF,eAAe,CAAE,KAAM,CAAC;IACzB;EACD;EAEA,eAAeyF,mBAAmBA,CAAEC,qBAAqB,EAAG;IAC3D,IAAI;MACH;MACA;MACA,MAAMC,qBAAqB,GAAG,MAAMtH,wBAAwB,CAC3DqH,qBAAqB,CAAC5E,EACvB,CAAC;;MAED;MACA;MACA,IAAK6E,qBAAqB,CAACC,OAAO,EAAG;QACpC,MAAMP,WAAW,GAAGQ,oBAAoB,CACvCH,qBACD,CAAC;QACD;QACA,MAAMnE,gBAAgB,CAAE8D,WAAY,CAAC;MACtC;;MAEA;MACAlF,cAAc,CAAC,CAAC;MAEhB,OAAOwF,qBAAqB;IAC7B,CAAC,CAAC,OAAQG,KAAK,EAAG;MACjB;MACAC,OAAO,CAACD,KAAK,CACZ,kDAAkD,EAClDA,KACD,CAAC;MACD,MAAMA,KAAK;IACZ;EACD;EAEA,MAAMD,oBAAoB,GAAKjD,IAAI,IAAM;IAAA,IAAAoD,qBAAA;IACxC;IACA;IACA,MAAMC,kBAAkB,IAAAD,qBAAA,GAAG3E,YAAY,GAAIuB,IAAI,CAACV,MAAM,CAAE,cAAA8D,qBAAA,cAAAA,qBAAA,GAAI,EAAE;IAC9D,MAAME,cAAc,GAAGD,kBAAkB,CAACxB,MAAM,CAC7CxC,CAAC,IAAMA,CAAC,CAACc,IAAI,KAAKH,IAAI,CAACG,IAC1B,CAAC;IACD,MAAMsC,WAAW,GAAG;MACnB,GAAGhE,YAAY;MACf,CAAEuB,IAAI,CAACV,MAAM,GAAIgE;IAClB,CAAC;IACD5E,eAAe,CAAE+D,WAAY,CAAC;IAE9B,IAAKzC,IAAI,CAAC5B,QAAQ,EAAG;MACpB4B,IAAI,CAAC5B,QAAQ,CAACmF,OAAO,CAAIhF,IAAI,IAAM;QAClCtC,uBAAuB,CAAEsC,IAAI,EAAE,KAAM,CAAC;MACvC,CAAE,CAAC;IACJ;IACA,OAAOkE,WAAW;EACnB,CAAC;EAED,MAAMC,0BAA0B,GAAKc,UAAU,IAAM;IACpD,MAAMC,eAAe,GAAGC,iBAAiB,CAAEF,UAAW,CAAC;IAEvD,MAAMf,WAAW,GAAG;MACnB,GAAGhE,YAAY;MACf;MACAoB,MAAM,EAAE9D,iBAAiB,CAAE0C,YAAY,EAAEoB,MAAM,EAAE4D,eAAgB;IAClE,CAAC;;IAED;IACA/E,eAAe,CAAE+D,WAAY,CAAC;IAE9BkB,kBAAkB,CAAEF,eAAgB,CAAC;IAErC,OAAOhB,WAAW;EACnB,CAAC;;EAED;EACA,MAAMiB,iBAAiB,GAAK9E,KAAK,IAAM;IACtC,OAAOA,KAAK,CAACZ,GAAG,CAAE,CAAE;MAAEE,EAAE,EAAE0F,WAAW;MAAExF,QAAQ;MAAE,GAAG4B;IAAK,CAAC,MAAQ;MACjE,GAAGA,IAAI;MACP,IAAK5B,QAAQ,IAAIA,QAAQ,CAACwC,MAAM,GAAG,CAAC,GACjC;QACAxC,QAAQ,EAAEA,QAAQ,CAACJ,GAAG,CACrB,CAAE;UAAEE,EAAE,EAAE2F,SAAS;UAAE,GAAGtF;QAAK,CAAC,KAAMA,IACnC;MACA,CAAC,GACD,CAAC,CAAC;IACN,CAAC,CAAG,CAAC;EACN,CAAC;EAED,MAAMoF,kBAAkB,GAAK/E,KAAK,IAAM;IACvC;IACAA,KAAK,CAAC2E,OAAO,CAAIvD,IAAI,IAAM;MAC1B,IAAKA,IAAI,CAAC5B,QAAQ,EAAG;QACpB4B,IAAI,CAAC5B,QAAQ,CAACmF,OAAO,CAAIhF,IAAI,IAAM;UAClC;UACAvC,qBAAqB,CACpBuC,IAAI,EACJrC,yBAAyB,CAAEqC,IAAI,CAACuF,GAAI,CAAC,EACrC,KACD,CAAC;QACF,CAAE,CAAC;MACJ;IACD,CAAE,CAAC;EACJ,CAAC;EAED,MAAMC,kBAAkB,GAAGA,CAAE/D,IAAI,EAAEzB,IAAI,KAAM;IAAA,IAAAyF,sBAAA;IAC5C;IACA;IACA,MAAMC,YAAY,IAAAD,sBAAA,GAAGvF,YAAY,GAAIuB,IAAI,CAACV,MAAM,CAAE,cAAA0E,sBAAA,cAAAA,sBAAA,GAAI,EAAE;IACxD;IACA,MAAME,QAAQ,GAAG3H,UAAU,CAAEyD,IAAI,EAAEzB,IAAI,EAAE0F,YAAa,CAAC;IACvD;IACAvF,eAAe,CAAE;MAChB,GAAGD,YAAY;MACf,CAAEuB,IAAI,CAACV,MAAM,GAAI4E;IAClB,CAAE,CAAC;IAEH,MAAMC,eAAe,GAAGnD,eAAe,CACtChB,IAAI,CAACG,IAAI,EACT5B,IAAI,EAAEsC,SAAS,EACftC,IAAI,EAAEuC,UAAU,EAChBd,IAAI,CAACV,MACN,CAAC;IAED,IAAK6E,eAAe,EAAG;MACtBlI,uBAAuB,CAAEsC,IAAI,EAAE,KAAM,CAAC;IACvC,CAAC,MAAM;MACNvC,qBAAqB,CACpBuC,IAAI,EACJrC,yBAAyB,CAAEqC,IAAI,EAAEuF,GAAI,CAAC,EACtC,KACD,CAAC;IACF;EACD,CAAC;EAED,MAAMM,iBAAiB,GAAG,MAAQhG,QAAQ,IAAM;IAC/C;IACA,IAAK,CAAEA,QAAQ,CAAC0F,GAAG,EAAG;MACrB;IACD;IACA;IACA,MAAMA,GAAG,GAAG5H,yBAAyB,CAAEkC,QAAQ,CAAC0F,GAAI,CAAC;IACrD;IACA,IAAK,CAAEA,GAAG,IAAI1D,cAAc,CAACiE,GAAG,CAAEP,GAAI,CAAC,EAAG;MACzC;IACD;IACA;IACA9H,qBAAqB,CAAEoC,QAAQ,EAAE0F,GAAG,EAAE,UAAW,CAAC;IAClD;IACA1D,cAAc,CAACkE,GAAG,CAAER,GAAI,CAAC;EAC1B,CAAC;;EAED;EACA,MAAM,CAAES,WAAW,EAAEC,kBAAkB,CAAE,GAAG5J,QAAQ,CAAE,EAAG,CAAC;EAC1D,MAAM6J,kBAAkB,GAAG,MAAAA,CAAA,KAAY;IACtC,MAAMxC,QAAQ,GAAG,MAAMvG,oBAAoB,CAAC,CAAC;IAC7C8I,kBAAkB,CAAEvC,QAAS,CAAC;EAC/B,CAAC;EACD,MAAMyC,iBAAiB,GAAG,MAAQvE,IAAI,IAAM;IAC3C,IAAI;MACH,MAAMwE,OAAO,GAAG,CAAC,CAAEJ,WAAW,CAACrE,IAAI,CAChC0E,UAAU,IAAMA,UAAU,CAACzE,IAAI,KAAKA,IACvC,CAAC,EAAE0E,aAAa;MAChB,IAAKF,OAAO,EAAG;QACd;MACD;MACA,MAAM1C,QAAQ,GAAG,MAAMtG,mBAAmB,CAAEwE,IAAK,CAAC;MAClD,MAAM2E,kBAAkB,GAAGP,WAAW,CAACvG,GAAG,CAAI4G,UAAU,IACvDA,UAAU,CAACzE,IAAI,KAAKA,IAAI,GACrB;QAAE,GAAGyE,UAAU;QAAE,GAAG3C;MAAS,CAAC,GAC9B2C,UACJ,CAAC;MACDJ,kBAAkB,CAAEM,kBAAmB,CAAC;IACzC,CAAC,CAAC,OAAQC,CAAC,EAAG;MACb;MACA5B,OAAO,CAACD,KAAK,CAAE6B,CAAE,CAAC;MAClB,MAAMA,CAAC;IACR;EACD,CAAC;EAEDlK,SAAS,CAAE,MAAM;IAChB4J,kBAAkB,CAAC,CAAC;EACrB,CAAC,EAAE,EAAG,CAAC;EAEP,oBACC/H,IAAA,CAACC,kBAAkB,CAACqI,QAAQ;IAC3BC,KAAK,EAAG;MACPhG,mBAAmB;MACnBc,4BAA4B;MAC5BtB,YAAY;MACZqB,eAAe;MACfkB,eAAe;MACfI,qBAAqB;MACrBgD,iBAAiB;MACjB/C,YAAY;MACZwB,mBAAmB;MACnBkB,kBAAkB;MAClBzD,wBAAwB;MACxBvB,YAAY;MACZC,eAAe;MACfzB,cAAc;MACdoB,gBAAgB;MAChBd,kBAAkB;MAClBV,YAAY;MACZoH,WAAW;MACXG;IACD,CAAG;IAAA7H,QAAA,EAEDA;EAAQ,CACkB,CAAC;AAEhC;AAEA,eAAeD,mBAAmB","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["useContext","useEffect","useState","useMemo","createInterpolateElement","__experimentalSpacer","Spacer","__experimentalText","Text","__experimentalHStack","HStack","__experimentalVStack","VStack","Navigator","__experimentalHeading","Heading","Notice","SelectControl","FlexItem","Flex","Button","DropdownMenu","SearchControl","ProgressBar","CheckboxControl","debounce","sprintf","__","_x","isRTL","moreVertical","next","previous","chevronLeft","chevronRight","FontLibraryContext","FontCard","filterFonts","toggleFont","getFontsOutline","isFontFontFaceInOutline","GoogleFontsConfirmDialog","downloadFontFaceAssets","sortFontFaces","CollectionFontVariant","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DEFAULT_CATEGORY","slug","name","LOCAL_STORAGE_ITEM","MIN_WINDOW_HEIGHT","FontCollection","_selectedCollection$c","requiresPermission","getGoogleFontsPermissionFromStorage","window","localStorage","getItem","selectedFont","setSelectedFont","notice","setNotice","fontsToInstall","setFontsToInstall","page","setPage","filters","setFilters","renderConfirmDialog","setRenderConfirmDialog","collections","getFontCollection","installFonts","isInstalling","selectedCollection","find","collection","handleStorage","addEventListener","removeEventListener","revokeAccess","setItem","dispatchEvent","Event","fetchFontCollection","resetFilters","e","type","message","collectionFonts","_selectedCollection$f","font_families","collectionCategories","categories","fonts","isLoading","windowHeight","Math","max","innerHeight","pageSize","floor","totalPages","ceil","length","itemsStart","itemsLimit","items","slice","handleCategoryFilter","category","handleUpdateSearchInput","value","search","debouncedUpdateSearchInput","handleToggleVariant","font","face","newFontsToInstall","fontToInstallOutline","resetFontsToInstall","selectFontCount","fontFace","isIndeterminate","isSelectAllChecked","toggleSelectAll","newFonts","handleInstall","fontFamily","Promise","all","map","src","file","error","getSortedFontFaces","fontStyle","fontWeight","ActionsComponent","icon","label","popoverProps","position","controls","title","onClick","className","children","initialPath","Screen","path","justify","level","size","description","margin","placeholder","onChange","__nextHasNoMarginBottom","hideLabelFromVision","__next40pxDefaultSize","role","font_family_settings","navigatorPath","BackButton","status","onRemove","checked","indeterminate","spacing","i","selected","variant","isBusy","disabled","accessibleWhenDisabled","expanded","div","CurrentPage","options","Array","newPage","parseInt","showTooltip","tooltipPosition"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/font-collection.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tuseContext,\n\tuseEffect,\n\tuseState,\n\tuseMemo,\n\tcreateInterpolateElement,\n} from '@wordpress/element';\nimport {\n\t__experimentalSpacer as Spacer,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tNavigator,\n\t__experimentalHeading as Heading,\n\tNotice,\n\tSelectControl,\n\tFlexItem,\n\tFlex,\n\tButton,\n\tDropdownMenu,\n\tSearchControl,\n\tProgressBar,\n\tCheckboxControl,\n} from '@wordpress/components';\nimport { debounce } from '@wordpress/compose';\nimport { sprintf, __, _x, isRTL } from '@wordpress/i18n';\nimport {\n\tmoreVertical,\n\tnext,\n\tprevious,\n\tchevronLeft,\n\tchevronRight,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { FontLibraryContext } from './context';\nimport FontCard from './font-card';\nimport filterFonts from './utils/filter-fonts';\nimport { toggleFont } from './utils/toggleFont';\nimport {\n\tgetFontsOutline,\n\tisFontFontFaceInOutline,\n} from './utils/fonts-outline';\nimport GoogleFontsConfirmDialog from './google-fonts-confirm-dialog';\nimport { downloadFontFaceAssets } from './utils';\nimport { sortFontFaces } from './utils/sort-font-faces';\nimport CollectionFontVariant from './collection-font-variant';\n\nconst DEFAULT_CATEGORY = {\n\tslug: 'all',\n\tname: _x( 'All', 'font categories' ),\n};\n\nconst LOCAL_STORAGE_ITEM = 'wp-font-library-google-fonts-permission';\nconst MIN_WINDOW_HEIGHT = 500;\n\nfunction FontCollection( { slug } ) {\n\tconst requiresPermission = slug === 'google-fonts';\n\n\tconst getGoogleFontsPermissionFromStorage = () => {\n\t\treturn window.localStorage.getItem( LOCAL_STORAGE_ITEM ) === 'true';\n\t};\n\n\tconst [ selectedFont, setSelectedFont ] = useState( null );\n\tconst [ notice, setNotice ] = useState( false );\n\tconst [ fontsToInstall, setFontsToInstall ] = useState( [] );\n\tconst [ page, setPage ] = useState( 1 );\n\tconst [ filters, setFilters ] = useState( {} );\n\tconst [ renderConfirmDialog, setRenderConfirmDialog ] = useState(\n\t\trequiresPermission && ! getGoogleFontsPermissionFromStorage()\n\t);\n\tconst { collections, getFontCollection, installFonts, isInstalling } =\n\t\tuseContext( FontLibraryContext );\n\tconst selectedCollection = collections.find(\n\t\t( collection ) => collection.slug === slug\n\t);\n\n\tuseEffect( () => {\n\t\tconst handleStorage = () => {\n\t\t\tsetRenderConfirmDialog(\n\t\t\t\trequiresPermission && ! getGoogleFontsPermissionFromStorage()\n\t\t\t);\n\t\t};\n\t\thandleStorage();\n\t\twindow.addEventListener( 'storage', handleStorage );\n\t\treturn () => window.removeEventListener( 'storage', handleStorage );\n\t}, [ slug, requiresPermission ] );\n\n\tconst revokeAccess = () => {\n\t\twindow.localStorage.setItem( LOCAL_STORAGE_ITEM, 'false' );\n\t\twindow.dispatchEvent( new Event( 'storage' ) );\n\t};\n\n\tuseEffect( () => {\n\t\tconst fetchFontCollection = async () => {\n\t\t\ttry {\n\t\t\t\tawait getFontCollection( slug );\n\t\t\t\tresetFilters();\n\t\t\t} catch ( e ) {\n\t\t\t\tif ( ! notice ) {\n\t\t\t\t\tsetNotice( {\n\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\tmessage: e?.message,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tfetchFontCollection();\n\t}, [ slug, getFontCollection, setNotice, notice ] );\n\n\tuseEffect( () => {\n\t\tsetSelectedFont( null );\n\t}, [ slug ] );\n\n\tuseEffect( () => {\n\t\t// If the selected fonts change, reset the selected fonts to install\n\t\tsetFontsToInstall( [] );\n\t}, [ selectedFont ] );\n\n\tconst collectionFonts = useMemo(\n\t\t() => selectedCollection?.font_families ?? [],\n\t\t[ selectedCollection ]\n\t);\n\tconst collectionCategories = selectedCollection?.categories ?? [];\n\n\tconst categories = [ DEFAULT_CATEGORY, ...collectionCategories ];\n\n\tconst fonts = useMemo(\n\t\t() => filterFonts( collectionFonts, filters ),\n\t\t[ collectionFonts, filters ]\n\t);\n\n\tconst isLoading = ! selectedCollection?.font_families && ! notice;\n\n\t// NOTE: The height of the font library modal unavailable to use for rendering font family items is roughly 417px\n\t// The height of each font family item is 61px.\n\tconst windowHeight = Math.max( window.innerHeight, MIN_WINDOW_HEIGHT );\n\tconst pageSize = Math.floor( ( windowHeight - 417 ) / 61 );\n\tconst totalPages = Math.ceil( fonts.length / pageSize );\n\tconst itemsStart = ( page - 1 ) * pageSize;\n\tconst itemsLimit = page * pageSize;\n\tconst items = fonts.slice( itemsStart, itemsLimit );\n\n\tconst handleCategoryFilter = ( category ) => {\n\t\tsetFilters( { ...filters, category } );\n\t\tsetPage( 1 );\n\t};\n\n\tconst handleUpdateSearchInput = ( value ) => {\n\t\tsetFilters( { ...filters, search: value } );\n\t\tsetPage( 1 );\n\t};\n\n\tconst debouncedUpdateSearchInput = debounce( handleUpdateSearchInput, 300 );\n\n\tconst resetFilters = () => {\n\t\tsetFilters( {} );\n\t\tsetPage( 1 );\n\t};\n\n\tconst handleToggleVariant = ( font, face ) => {\n\t\tconst newFontsToInstall = toggleFont( font, face, fontsToInstall );\n\t\tsetFontsToInstall( newFontsToInstall );\n\t};\n\n\tconst fontToInstallOutline = getFontsOutline( fontsToInstall );\n\n\tconst resetFontsToInstall = () => {\n\t\tsetFontsToInstall( [] );\n\t};\n\n\tconst selectFontCount =\n\t\tfontsToInstall.length > 0 ? fontsToInstall[ 0 ]?.fontFace?.length : 0;\n\n\t// Check if any fonts are selected.\n\tconst isIndeterminate =\n\t\tselectFontCount > 0 &&\n\t\tselectFontCount !== selectedFont?.fontFace?.length;\n\n\t// Check if all fonts are selected.\n\tconst isSelectAllChecked =\n\t\tselectFontCount === selectedFont?.fontFace?.length;\n\n\t// Toggle select all fonts.\n\tconst toggleSelectAll = () => {\n\t\tconst newFonts = isSelectAllChecked ? [] : [ selectedFont ];\n\n\t\tsetFontsToInstall( newFonts );\n\t};\n\n\tconst handleInstall = async () => {\n\t\tsetNotice( null );\n\n\t\tconst fontFamily = fontsToInstall[ 0 ];\n\n\t\ttry {\n\t\t\tif ( fontFamily?.fontFace ) {\n\t\t\t\tawait Promise.all(\n\t\t\t\t\tfontFamily.fontFace.map( async ( fontFace ) => {\n\t\t\t\t\t\tif ( fontFace.src ) {\n\t\t\t\t\t\t\tfontFace.file = await downloadFontFaceAssets(\n\t\t\t\t\t\t\t\tfontFace.src\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} catch ( error ) {\n\t\t\t// If any of the fonts fail to download,\n\t\t\t// show an error notice and stop the request from being sent.\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: __(\n\t\t\t\t\t'Error installing the fonts, could not be downloaded.'\n\t\t\t\t),\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tawait installFonts( [ fontFamily ] );\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'success',\n\t\t\t\tmessage: __( 'Fonts were installed successfully.' ),\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: error.message,\n\t\t\t} );\n\t\t}\n\t\tresetFontsToInstall();\n\t};\n\n\tconst getSortedFontFaces = ( fontFamily ) => {\n\t\tif ( ! fontFamily ) {\n\t\t\treturn [];\n\t\t}\n\t\tif ( ! fontFamily.fontFace || ! fontFamily.fontFace.length ) {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tfontFamily: fontFamily.fontFamily,\n\t\t\t\t\tfontStyle: 'normal',\n\t\t\t\t\tfontWeight: '400',\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\t\treturn sortFontFaces( fontFamily.fontFace );\n\t};\n\n\tif ( renderConfirmDialog ) {\n\t\treturn <GoogleFontsConfirmDialog />;\n\t}\n\n\tconst ActionsComponent = () => {\n\t\tif ( slug !== 'google-fonts' || renderConfirmDialog || selectedFont ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<DropdownMenu\n\t\t\t\ticon={ moreVertical }\n\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\tpopoverProps={ {\n\t\t\t\t\tposition: 'bottom left',\n\t\t\t\t} }\n\t\t\t\tcontrols={ [\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: __( 'Revoke access to Google Fonts' ),\n\t\t\t\t\t\tonClick: revokeAccess,\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t/>\n\t\t);\n\t};\n\n\treturn (\n\t\t<div className=\"font-library-modal__tabpanel-layout\">\n\t\t\t{ isLoading && (\n\t\t\t\t<div className=\"font-library-modal__loading\">\n\t\t\t\t\t<ProgressBar />\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ ! isLoading && (\n\t\t\t\t<>\n\t\t\t\t\t<Navigator\n\t\t\t\t\t\tinitialPath=\"/\"\n\t\t\t\t\t\tclassName=\"font-library-modal__tabpanel-layout\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Navigator.Screen path=\"/\">\n\t\t\t\t\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t\t\t\t\t<VStack>\n\t\t\t\t\t\t\t\t\t<Heading level={ 2 } size={ 13 }>\n\t\t\t\t\t\t\t\t\t\t{ selectedCollection.name }\n\t\t\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t\t\t\t<Text>\n\t\t\t\t\t\t\t\t\t\t{ selectedCollection.description }\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t\t<ActionsComponent />\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t<Spacer margin={ 4 } />\n\t\t\t\t\t\t\t<Flex>\n\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t<SearchControl\n\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__search\"\n\t\t\t\t\t\t\t\t\t\tvalue={ filters.search }\n\t\t\t\t\t\t\t\t\t\tplaceholder={ __( 'Font name…' ) }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Search' ) }\n\t\t\t\t\t\t\t\t\t\tonChange={ debouncedUpdateSearchInput }\n\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\thideLabelFromVision={ false }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Category' ) }\n\t\t\t\t\t\t\t\t\t\tvalue={ filters.category }\n\t\t\t\t\t\t\t\t\t\tonChange={ handleCategoryFilter }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ categories &&\n\t\t\t\t\t\t\t\t\t\t\tcategories.map( ( category ) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<option\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={ category.slug }\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ category.slug }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ category.name }\n\t\t\t\t\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t\t</SelectControl>\n\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t</Flex>\n\n\t\t\t\t\t\t\t<Spacer margin={ 4 } />\n\n\t\t\t\t\t\t\t{ !! selectedCollection?.font_families?.length &&\n\t\t\t\t\t\t\t\t! fonts.length && (\n\t\t\t\t\t\t\t\t\t<Text>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'No fonts found. Try with a different search term'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t\t<div className=\"font-library-modal__fonts-grid__main\">\n\t\t\t\t\t\t\t\t{ /*\n\t\t\t\t\t\t\t\t * Disable reason: The `list` ARIA role is redundant but\n\t\t\t\t\t\t\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\t\trole=\"list\"\n\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ items.map( ( font ) => (\n\t\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\t\tkey={\n\t\t\t\t\t\t\t\t\t\t\t\tfont.font_family_settings.slug\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list-item\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<FontCard\n\t\t\t\t\t\t\t\t\t\t\t\tfont={\n\t\t\t\t\t\t\t\t\t\t\t\t\tfont.font_family_settings\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tnavigatorPath=\"/fontFamily\"\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetSelectedFont(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont.font_family_settings\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</Navigator.Screen>\n\n\t\t\t\t\t\t<Navigator.Screen path=\"/fontFamily\">\n\t\t\t\t\t\t\t<Flex justify=\"flex-start\">\n\t\t\t\t\t\t\t\t<Navigator.BackButton\n\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\tisRTL() ? chevronRight : chevronLeft\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetSelectedFont( null );\n\t\t\t\t\t\t\t\t\t\tsetNotice( null );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Back' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<Heading\n\t\t\t\t\t\t\t\t\tlevel={ 2 }\n\t\t\t\t\t\t\t\t\tsize={ 13 }\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-header\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ selectedFont?.name }\n\t\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t{ notice && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<Spacer margin={ 1 } />\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tstatus={ notice.type }\n\t\t\t\t\t\t\t\t\t\tonRemove={ () => setNotice( null ) }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ notice.message }\n\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t<Spacer margin={ 1 } />\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<Spacer margin={ 4 } />\n\t\t\t\t\t\t\t<Text>\n\t\t\t\t\t\t\t\t{ __( 'Select font variants to install.' ) }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Spacer margin={ 4 } />\n\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\tclassName=\"font-library-modal__select-all\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Select all' ) }\n\t\t\t\t\t\t\t\tchecked={ isSelectAllChecked }\n\t\t\t\t\t\t\t\tonChange={ toggleSelectAll }\n\t\t\t\t\t\t\t\tindeterminate={ isIndeterminate }\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<VStack spacing={ 0 }>\n\t\t\t\t\t\t\t\t{ /*\n\t\t\t\t\t\t\t\t * Disable reason: The `list` ARIA role is redundant but\n\t\t\t\t\t\t\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\t\trole=\"list\"\n\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ getSortedFontFaces( selectedFont ).map(\n\t\t\t\t\t\t\t\t\t\t( face, i ) => (\n\t\t\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ `face${ i }` }\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list-item\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<CollectionFontVariant\n\t\t\t\t\t\t\t\t\t\t\t\t\tfont={ selectedFont }\n\t\t\t\t\t\t\t\t\t\t\t\t\tface={ face }\n\t\t\t\t\t\t\t\t\t\t\t\t\thandleToggleVariant={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleToggleVariant\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tselected={ isFontFontFaceInOutline(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedFont.slug,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedFont.fontFace\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? face\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: null, // If the font has no fontFace, we want to check if the font is in the outline\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfontToInstallOutline\n\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t<Spacer margin={ 16 } />\n\t\t\t\t\t\t</Navigator.Screen>\n\t\t\t\t\t</Navigator>\n\n\t\t\t\t\t{ selectedFont && (\n\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\t\tclassName=\"font-library-modal__footer\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tonClick={ handleInstall }\n\t\t\t\t\t\t\t\tisBusy={ isInstalling }\n\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\tfontsToInstall.length === 0 || isInstalling\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Install' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</Flex>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! selectedFont && (\n\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\t\tclassName=\"font-library-modal__footer\"\n\t\t\t\t\t\t\tjustify=\"end\"\n\t\t\t\t\t\t\tspacing={ 6 }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\t\t\tclassName=\"font-library-modal__page-selection\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: 1: Current page number, 2: Total number of pages.\n\t\t\t\t\t\t\t\t\t\t_x(\n\t\t\t\t\t\t\t\t\t\t\t'<div>Page</div>%1$s<div>of %2$s</div>',\n\t\t\t\t\t\t\t\t\t\t\t'paging'\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t'<CurrentPage />',\n\t\t\t\t\t\t\t\t\t\ttotalPages\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tdiv: <div aria-hidden />,\n\t\t\t\t\t\t\t\t\t\tCurrentPage: (\n\t\t\t\t\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Current page'\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={ page }\n\t\t\t\t\t\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t\t\t\t\t\t...Array( totalPages ),\n\t\t\t\t\t\t\t\t\t\t\t\t].map( ( e, i ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: i + 1,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: i + 1,\n\t\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={ ( newPage ) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetPage(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tparseInt( newPage )\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"minimal\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t<HStack expanded={ false } spacing={ 1 }>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tonClick={ () => setPage( page - 1 ) }\n\t\t\t\t\t\t\t\t\tdisabled={ page === 1 }\n\t\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Previous page' ) }\n\t\t\t\t\t\t\t\t\ticon={ isRTL() ? next : previous }\n\t\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tonClick={ () => setPage( page + 1 ) }\n\t\t\t\t\t\t\t\t\tdisabled={ page === totalPages }\n\t\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Next page' ) }\n\t\t\t\t\t\t\t\t\ticon={ isRTL() ? previous : next }\n\t\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default FontCollection;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useContext","useEffect","useState","useMemo","createInterpolateElement","__experimentalSpacer","Spacer","__experimentalText","Text","__experimentalHStack","HStack","__experimentalVStack","VStack","Navigator","__experimentalHeading","Heading","Notice","SelectControl","FlexItem","Flex","Button","DropdownMenu","SearchControl","ProgressBar","CheckboxControl","debounce","sprintf","__","_x","isRTL","moreVertical","next","previous","chevronLeft","chevronRight","FontLibraryContext","FontCard","filterFonts","toggleFont","getFontsOutline","isFontFontFaceInOutline","GoogleFontsConfirmDialog","downloadFontFaceAssets","sortFontFaces","CollectionFontVariant","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DEFAULT_CATEGORY","slug","name","LOCAL_STORAGE_ITEM","MIN_WINDOW_HEIGHT","FontCollection","_selectedCollection$c","requiresPermission","getGoogleFontsPermissionFromStorage","window","localStorage","getItem","selectedFont","setSelectedFont","notice","setNotice","fontsToInstall","setFontsToInstall","page","setPage","filters","setFilters","renderConfirmDialog","setRenderConfirmDialog","collections","getFontCollection","installFonts","isInstalling","selectedCollection","find","collection","handleStorage","addEventListener","removeEventListener","revokeAccess","setItem","dispatchEvent","Event","fetchFontCollection","resetFilters","e","type","message","collectionFonts","_selectedCollection$f","font_families","collectionCategories","categories","fonts","isLoading","windowHeight","Math","max","innerHeight","pageSize","floor","totalPages","ceil","length","itemsStart","itemsLimit","items","slice","handleCategoryFilter","category","handleUpdateSearchInput","value","search","debouncedUpdateSearchInput","handleToggleVariant","font","face","newFontsToInstall","fontToInstallOutline","resetFontsToInstall","selectFontCount","fontFace","isIndeterminate","isSelectAllChecked","toggleSelectAll","newFonts","handleInstall","fontFamily","Promise","all","map","src","file","error","getSortedFontFaces","fontStyle","fontWeight","ActionsComponent","icon","label","popoverProps","position","controls","title","onClick","className","children","initialPath","Screen","path","justify","level","size","description","margin","placeholder","onChange","__nextHasNoMarginBottom","hideLabelFromVision","__next40pxDefaultSize","role","font_family_settings","navigatorPath","BackButton","status","onRemove","checked","indeterminate","spacing","i","selected","variant","isBusy","disabled","accessibleWhenDisabled","expanded","div","CurrentPage","options","Array","newPage","parseInt","showTooltip","tooltipPosition"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/font-collection.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tuseContext,\n\tuseEffect,\n\tuseState,\n\tuseMemo,\n\tcreateInterpolateElement,\n} from '@wordpress/element';\nimport {\n\t__experimentalSpacer as Spacer,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tNavigator,\n\t__experimentalHeading as Heading,\n\tNotice,\n\tSelectControl,\n\tFlexItem,\n\tFlex,\n\tButton,\n\tDropdownMenu,\n\tSearchControl,\n\tProgressBar,\n\tCheckboxControl,\n} from '@wordpress/components';\nimport { debounce } from '@wordpress/compose';\nimport { sprintf, __, _x, isRTL } from '@wordpress/i18n';\nimport {\n\tmoreVertical,\n\tnext,\n\tprevious,\n\tchevronLeft,\n\tchevronRight,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { FontLibraryContext } from './context';\nimport FontCard from './font-card';\nimport filterFonts from './utils/filter-fonts';\nimport { toggleFont } from './utils/toggleFont';\nimport {\n\tgetFontsOutline,\n\tisFontFontFaceInOutline,\n} from './utils/fonts-outline';\nimport GoogleFontsConfirmDialog from './google-fonts-confirm-dialog';\nimport { downloadFontFaceAssets } from './utils';\nimport { sortFontFaces } from './utils/sort-font-faces';\nimport CollectionFontVariant from './collection-font-variant';\n\nconst DEFAULT_CATEGORY = {\n\tslug: 'all',\n\tname: _x( 'All', 'font categories' ),\n};\n\nconst LOCAL_STORAGE_ITEM = 'wp-font-library-google-fonts-permission';\nconst MIN_WINDOW_HEIGHT = 500;\n\nfunction FontCollection( { slug } ) {\n\tconst requiresPermission = slug === 'google-fonts';\n\n\tconst getGoogleFontsPermissionFromStorage = () => {\n\t\treturn window.localStorage.getItem( LOCAL_STORAGE_ITEM ) === 'true';\n\t};\n\n\tconst [ selectedFont, setSelectedFont ] = useState( null );\n\tconst [ notice, setNotice ] = useState( false );\n\tconst [ fontsToInstall, setFontsToInstall ] = useState( [] );\n\tconst [ page, setPage ] = useState( 1 );\n\tconst [ filters, setFilters ] = useState( {} );\n\tconst [ renderConfirmDialog, setRenderConfirmDialog ] = useState(\n\t\trequiresPermission && ! getGoogleFontsPermissionFromStorage()\n\t);\n\tconst { collections, getFontCollection, installFonts, isInstalling } =\n\t\tuseContext( FontLibraryContext );\n\tconst selectedCollection = collections.find(\n\t\t( collection ) => collection.slug === slug\n\t);\n\n\tuseEffect( () => {\n\t\tconst handleStorage = () => {\n\t\t\tsetRenderConfirmDialog(\n\t\t\t\trequiresPermission && ! getGoogleFontsPermissionFromStorage()\n\t\t\t);\n\t\t};\n\t\thandleStorage();\n\t\twindow.addEventListener( 'storage', handleStorage );\n\t\treturn () => window.removeEventListener( 'storage', handleStorage );\n\t}, [ slug, requiresPermission ] );\n\n\tconst revokeAccess = () => {\n\t\twindow.localStorage.setItem( LOCAL_STORAGE_ITEM, 'false' );\n\t\twindow.dispatchEvent( new Event( 'storage' ) );\n\t};\n\n\tuseEffect( () => {\n\t\tconst fetchFontCollection = async () => {\n\t\t\ttry {\n\t\t\t\tawait getFontCollection( slug );\n\t\t\t\tresetFilters();\n\t\t\t} catch ( e ) {\n\t\t\t\tif ( ! notice ) {\n\t\t\t\t\tsetNotice( {\n\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\tmessage: e?.message,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tfetchFontCollection();\n\t}, [ slug, getFontCollection, setNotice, notice ] );\n\n\tuseEffect( () => {\n\t\tsetSelectedFont( null );\n\t}, [ slug ] );\n\n\tuseEffect( () => {\n\t\t// If the selected fonts change, reset the selected fonts to install\n\t\tsetFontsToInstall( [] );\n\t}, [ selectedFont ] );\n\n\tconst collectionFonts = useMemo(\n\t\t() => selectedCollection?.font_families ?? [],\n\t\t[ selectedCollection ]\n\t);\n\tconst collectionCategories = selectedCollection?.categories ?? [];\n\n\tconst categories = [ DEFAULT_CATEGORY, ...collectionCategories ];\n\n\tconst fonts = useMemo(\n\t\t() => filterFonts( collectionFonts, filters ),\n\t\t[ collectionFonts, filters ]\n\t);\n\n\tconst isLoading = ! selectedCollection?.font_families && ! notice;\n\n\t// NOTE: The height of the font library modal unavailable to use for rendering font family items is roughly 417px\n\t// The height of each font family item is 61px.\n\tconst windowHeight = Math.max( window.innerHeight, MIN_WINDOW_HEIGHT );\n\tconst pageSize = Math.floor( ( windowHeight - 417 ) / 61 );\n\tconst totalPages = Math.ceil( fonts.length / pageSize );\n\tconst itemsStart = ( page - 1 ) * pageSize;\n\tconst itemsLimit = page * pageSize;\n\tconst items = fonts.slice( itemsStart, itemsLimit );\n\n\tconst handleCategoryFilter = ( category ) => {\n\t\tsetFilters( { ...filters, category } );\n\t\tsetPage( 1 );\n\t};\n\n\tconst handleUpdateSearchInput = ( value ) => {\n\t\tsetFilters( { ...filters, search: value } );\n\t\tsetPage( 1 );\n\t};\n\n\tconst debouncedUpdateSearchInput = debounce( handleUpdateSearchInput, 300 );\n\n\tconst resetFilters = () => {\n\t\tsetFilters( {} );\n\t\tsetPage( 1 );\n\t};\n\n\tconst handleToggleVariant = ( font, face ) => {\n\t\tconst newFontsToInstall = toggleFont( font, face, fontsToInstall );\n\t\tsetFontsToInstall( newFontsToInstall );\n\t};\n\n\tconst fontToInstallOutline = getFontsOutline( fontsToInstall );\n\n\tconst resetFontsToInstall = () => {\n\t\tsetFontsToInstall( [] );\n\t};\n\n\tconst selectFontCount =\n\t\tfontsToInstall.length > 0 ? fontsToInstall[ 0 ]?.fontFace?.length : 0;\n\n\t// Check if any fonts are selected.\n\tconst isIndeterminate =\n\t\tselectFontCount > 0 &&\n\t\tselectFontCount !== selectedFont?.fontFace?.length;\n\n\t// Check if all fonts are selected.\n\tconst isSelectAllChecked =\n\t\tselectFontCount === selectedFont?.fontFace?.length;\n\n\t// Toggle select all fonts.\n\tconst toggleSelectAll = () => {\n\t\tconst newFonts = isSelectAllChecked ? [] : [ selectedFont ];\n\n\t\tsetFontsToInstall( newFonts );\n\t};\n\n\tconst handleInstall = async () => {\n\t\tsetNotice( null );\n\n\t\tconst fontFamily = fontsToInstall[ 0 ];\n\n\t\ttry {\n\t\t\tif ( fontFamily?.fontFace ) {\n\t\t\t\tawait Promise.all(\n\t\t\t\t\tfontFamily.fontFace.map( async ( fontFace ) => {\n\t\t\t\t\t\tif ( fontFace.src ) {\n\t\t\t\t\t\t\tfontFace.file = await downloadFontFaceAssets(\n\t\t\t\t\t\t\t\tfontFace.src\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} catch ( error ) {\n\t\t\t// If any of the fonts fail to download,\n\t\t\t// show an error notice and stop the request from being sent.\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: __(\n\t\t\t\t\t'Error installing the fonts, could not be downloaded.'\n\t\t\t\t),\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tawait installFonts( [ fontFamily ] );\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'success',\n\t\t\t\tmessage: __( 'Fonts were installed successfully.' ),\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: error.message,\n\t\t\t} );\n\t\t}\n\t\tresetFontsToInstall();\n\t};\n\n\tconst getSortedFontFaces = ( fontFamily ) => {\n\t\tif ( ! fontFamily ) {\n\t\t\treturn [];\n\t\t}\n\t\tif ( ! fontFamily.fontFace || ! fontFamily.fontFace.length ) {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tfontFamily: fontFamily.fontFamily,\n\t\t\t\t\tfontStyle: 'normal',\n\t\t\t\t\tfontWeight: '400',\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\t\treturn sortFontFaces( fontFamily.fontFace );\n\t};\n\n\tif ( renderConfirmDialog ) {\n\t\treturn <GoogleFontsConfirmDialog />;\n\t}\n\n\tconst ActionsComponent = () => {\n\t\tif ( slug !== 'google-fonts' || renderConfirmDialog || selectedFont ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<DropdownMenu\n\t\t\t\ticon={ moreVertical }\n\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\tpopoverProps={ {\n\t\t\t\t\tposition: 'bottom left',\n\t\t\t\t} }\n\t\t\t\tcontrols={ [\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: __( 'Revoke access to Google Fonts' ),\n\t\t\t\t\t\tonClick: revokeAccess,\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t/>\n\t\t);\n\t};\n\n\treturn (\n\t\t<div className=\"font-library-modal__tabpanel-layout\">\n\t\t\t{ isLoading && (\n\t\t\t\t<div className=\"font-library-modal__loading\">\n\t\t\t\t\t<ProgressBar />\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ ! isLoading && (\n\t\t\t\t<>\n\t\t\t\t\t<Navigator\n\t\t\t\t\t\tinitialPath=\"/\"\n\t\t\t\t\t\tclassName=\"font-library-modal__tabpanel-layout\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Navigator.Screen path=\"/\">\n\t\t\t\t\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t\t\t\t\t<VStack>\n\t\t\t\t\t\t\t\t\t<Heading level={ 2 } size={ 13 }>\n\t\t\t\t\t\t\t\t\t\t{ selectedCollection.name }\n\t\t\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t\t\t\t<Text>\n\t\t\t\t\t\t\t\t\t\t{ selectedCollection.description }\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t\t<ActionsComponent />\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t<Spacer margin={ 4 } />\n\t\t\t\t\t\t\t<Flex>\n\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t<SearchControl\n\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__search\"\n\t\t\t\t\t\t\t\t\t\tvalue={ filters.search }\n\t\t\t\t\t\t\t\t\t\tplaceholder={ __( 'Font name…' ) }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Search' ) }\n\t\t\t\t\t\t\t\t\t\tonChange={ debouncedUpdateSearchInput }\n\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\thideLabelFromVision={ false }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Category' ) }\n\t\t\t\t\t\t\t\t\t\tvalue={ filters.category }\n\t\t\t\t\t\t\t\t\t\tonChange={ handleCategoryFilter }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ categories &&\n\t\t\t\t\t\t\t\t\t\t\tcategories.map( ( category ) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<option\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={ category.slug }\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ category.slug }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ category.name }\n\t\t\t\t\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t\t</SelectControl>\n\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t</Flex>\n\n\t\t\t\t\t\t\t<Spacer margin={ 4 } />\n\n\t\t\t\t\t\t\t{ !! selectedCollection?.font_families?.length &&\n\t\t\t\t\t\t\t\t! fonts.length && (\n\t\t\t\t\t\t\t\t\t<Text>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'No fonts found. Try with a different search term'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t\t<div className=\"font-library-modal__fonts-grid__main\">\n\t\t\t\t\t\t\t\t{ /*\n\t\t\t\t\t\t\t\t * Disable reason: The `list` ARIA role is redundant but\n\t\t\t\t\t\t\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\t\trole=\"list\"\n\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ items.map( ( font ) => (\n\t\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\t\tkey={\n\t\t\t\t\t\t\t\t\t\t\t\tfont.font_family_settings.slug\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list-item\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<FontCard\n\t\t\t\t\t\t\t\t\t\t\t\tfont={\n\t\t\t\t\t\t\t\t\t\t\t\t\tfont.font_family_settings\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tnavigatorPath=\"/fontFamily\"\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetSelectedFont(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont.font_family_settings\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</Navigator.Screen>\n\n\t\t\t\t\t\t<Navigator.Screen path=\"/fontFamily\">\n\t\t\t\t\t\t\t<Flex justify=\"flex-start\">\n\t\t\t\t\t\t\t\t<Navigator.BackButton\n\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\tisRTL() ? chevronRight : chevronLeft\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetSelectedFont( null );\n\t\t\t\t\t\t\t\t\t\tsetNotice( null );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Back' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<Heading\n\t\t\t\t\t\t\t\t\tlevel={ 2 }\n\t\t\t\t\t\t\t\t\tsize={ 13 }\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-header\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ selectedFont?.name }\n\t\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t{ notice && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<Spacer margin={ 1 } />\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tstatus={ notice.type }\n\t\t\t\t\t\t\t\t\t\tonRemove={ () => setNotice( null ) }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ notice.message }\n\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t<Spacer margin={ 1 } />\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<Spacer margin={ 4 } />\n\t\t\t\t\t\t\t<Text>\n\t\t\t\t\t\t\t\t{ __( 'Select font variants to install.' ) }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Spacer margin={ 4 } />\n\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\tclassName=\"font-library-modal__select-all\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Select all' ) }\n\t\t\t\t\t\t\t\tchecked={ isSelectAllChecked }\n\t\t\t\t\t\t\t\tonChange={ toggleSelectAll }\n\t\t\t\t\t\t\t\tindeterminate={ isIndeterminate }\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<VStack spacing={ 0 }>\n\t\t\t\t\t\t\t\t{ /*\n\t\t\t\t\t\t\t\t * Disable reason: The `list` ARIA role is redundant but\n\t\t\t\t\t\t\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\t\trole=\"list\"\n\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ getSortedFontFaces( selectedFont ).map(\n\t\t\t\t\t\t\t\t\t\t( face, i ) => (\n\t\t\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ `face${ i }` }\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list-item\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<CollectionFontVariant\n\t\t\t\t\t\t\t\t\t\t\t\t\tfont={ selectedFont }\n\t\t\t\t\t\t\t\t\t\t\t\t\tface={ face }\n\t\t\t\t\t\t\t\t\t\t\t\t\thandleToggleVariant={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleToggleVariant\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tselected={ isFontFontFaceInOutline(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedFont.slug,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedFont.fontFace\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? face\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: null, // If the font has no fontFace, we want to check if the font is in the outline\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfontToInstallOutline\n\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t<Spacer margin={ 16 } />\n\t\t\t\t\t\t</Navigator.Screen>\n\t\t\t\t\t</Navigator>\n\n\t\t\t\t\t{ selectedFont && (\n\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\t\tclassName=\"font-library-modal__footer\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tonClick={ handleInstall }\n\t\t\t\t\t\t\t\tisBusy={ isInstalling }\n\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\tfontsToInstall.length === 0 || isInstalling\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Install' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</Flex>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! selectedFont && (\n\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\t\tclassName=\"font-library-modal__footer\"\n\t\t\t\t\t\t\tjustify=\"end\"\n\t\t\t\t\t\t\tspacing={ 6 }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\t\t\tclassName=\"font-library-modal__page-selection\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: 1: Current page number, 2: Total number of pages.\n\t\t\t\t\t\t\t\t\t\t_x(\n\t\t\t\t\t\t\t\t\t\t\t'<div>Page</div>%1$s<div>of %2$s</div>',\n\t\t\t\t\t\t\t\t\t\t\t'paging'\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t'<CurrentPage />',\n\t\t\t\t\t\t\t\t\t\ttotalPages\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tdiv: <div aria-hidden />,\n\t\t\t\t\t\t\t\t\t\tCurrentPage: (\n\t\t\t\t\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Current page'\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={ page }\n\t\t\t\t\t\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t\t\t\t\t\t...Array( totalPages ),\n\t\t\t\t\t\t\t\t\t\t\t\t].map( ( e, i ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: i + 1,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: i + 1,\n\t\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={ ( newPage ) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetPage(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tparseInt( newPage )\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"minimal\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t<HStack expanded={ false } spacing={ 1 }>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tonClick={ () => setPage( page - 1 ) }\n\t\t\t\t\t\t\t\t\tdisabled={ page === 1 }\n\t\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Previous page' ) }\n\t\t\t\t\t\t\t\t\ticon={ isRTL() ? next : previous }\n\t\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tonClick={ () => setPage( page + 1 ) }\n\t\t\t\t\t\t\t\t\tdisabled={ page === totalPages }\n\t\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Next page' ) }\n\t\t\t\t\t\t\t\t\ticon={ isRTL() ? previous : next }\n\t\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default FontCollection;\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["__experimentalText","Text","useContext","useEffect","useState","useRef","FontLibraryContext","getFacePreviewStyle","getFamilyPreviewStyle","jsx","_jsx","getPreviewUrl","fontFace","preview","src","Array","isArray","getDisplayFontFace","font","fontStyle","fontWeight","length","find","face","fontFamily","fake","FontDemo","text","ref","style","name","customPreviewUrl","isIntersecting","setIsIntersecting","isAssetLoaded","setIsAssetLoaded","loadFontFaceAsset","previewUrl","isPreviewImage","match","faceStyles","textDemoStyle","fontSize","lineHeight","opacity","observer","window","IntersectionObserver","entry","observe","current","disconnect","loadAsset","children","loading","alt","className"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/font-demo.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalText as Text } from '@wordpress/components';\nimport { useContext, useEffect, useState, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { FontLibraryContext } from './context';\nimport {\n\tgetFacePreviewStyle,\n\tgetFamilyPreviewStyle,\n} from './utils/preview-styles';\n\nfunction getPreviewUrl( fontFace ) {\n\tif ( fontFace.preview ) {\n\t\treturn fontFace.preview;\n\t}\n\tif ( fontFace.src ) {\n\t\treturn Array.isArray( fontFace.src ) ? fontFace.src[ 0 ] : fontFace.src;\n\t}\n}\n\nfunction getDisplayFontFace( font ) {\n\t// if this IS a font face return it\n\tif ( font.fontStyle || font.fontWeight ) {\n\t\treturn font;\n\t}\n\t// if this is a font family with a collection of font faces\n\t// return the first one that is normal and 400 OR just the first one\n\tif ( font.fontFace && font.fontFace.length ) {\n\t\treturn (\n\t\t\tfont.fontFace.find(\n\t\t\t\t( face ) =>\n\t\t\t\t\tface.fontStyle === 'normal' && face.fontWeight === '400'\n\t\t\t) || font.fontFace[ 0 ]\n\t\t);\n\t}\n\t// This must be a font family with no font faces\n\t// return a fake font face\n\treturn {\n\t\tfontStyle: 'normal',\n\t\tfontWeight: '400',\n\t\tfontFamily: font.fontFamily,\n\t\tfake: true,\n\t};\n}\n\nfunction FontDemo( { font, text } ) {\n\tconst ref = useRef( null );\n\n\tconst fontFace = getDisplayFontFace( font );\n\tconst style = getFamilyPreviewStyle( font );\n\ttext = text || font.name;\n\tconst customPreviewUrl = font.preview;\n\n\tconst [ isIntersecting, setIsIntersecting ] = useState( false );\n\tconst [ isAssetLoaded, setIsAssetLoaded ] = useState( false );\n\tconst { loadFontFaceAsset } = useContext( FontLibraryContext );\n\n\tconst previewUrl = customPreviewUrl ?? getPreviewUrl( fontFace );\n\tconst isPreviewImage =\n\t\tpreviewUrl && previewUrl.match( /\\.(png|jpg|jpeg|gif|svg)$/i );\n\n\tconst faceStyles = getFacePreviewStyle( fontFace );\n\tconst textDemoStyle = {\n\t\tfontSize: '18px',\n\t\tlineHeight: 1,\n\t\topacity: isAssetLoaded ? '1' : '0',\n\t\t...style,\n\t\t...faceStyles,\n\t};\n\n\tuseEffect( () => {\n\t\tconst observer = new window.IntersectionObserver( ( [ entry ] ) => {\n\t\t\tsetIsIntersecting( entry.isIntersecting );\n\t\t}, {} );\n\t\tobserver.observe( ref.current );\n\t\treturn () => observer.disconnect();\n\t}, [ ref ] );\n\n\tuseEffect( () => {\n\t\tconst loadAsset = async () => {\n\t\t\tif ( isIntersecting ) {\n\t\t\t\tif ( ! isPreviewImage && fontFace.src ) {\n\t\t\t\t\tawait loadFontFaceAsset( fontFace );\n\t\t\t\t}\n\t\t\t\tsetIsAssetLoaded( true );\n\t\t\t}\n\t\t};\n\t\tloadAsset();\n\t}, [ fontFace, isIntersecting, loadFontFaceAsset, isPreviewImage ] );\n\n\treturn (\n\t\t<div ref={ ref }>\n\t\t\t{ isPreviewImage ? (\n\t\t\t\t<img\n\t\t\t\t\tsrc={ previewUrl }\n\t\t\t\t\tloading=\"lazy\"\n\t\t\t\t\talt={ text }\n\t\t\t\t\tclassName=\"font-library-modal__font-variant_demo-image\"\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<Text\n\t\t\t\t\tstyle={ textDemoStyle }\n\t\t\t\t\tclassName=\"font-library-modal__font-variant_demo-text\"\n\t\t\t\t>\n\t\t\t\t\t{ text }\n\t\t\t\t</Text>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default FontDemo;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__experimentalText","Text","useContext","useEffect","useState","useRef","FontLibraryContext","getFacePreviewStyle","getFamilyPreviewStyle","jsx","_jsx","getPreviewUrl","fontFace","preview","src","Array","isArray","getDisplayFontFace","font","fontStyle","fontWeight","length","find","face","fontFamily","fake","FontDemo","text","ref","style","name","customPreviewUrl","isIntersecting","setIsIntersecting","isAssetLoaded","setIsAssetLoaded","loadFontFaceAsset","previewUrl","isPreviewImage","match","faceStyles","textDemoStyle","fontSize","lineHeight","opacity","observer","window","IntersectionObserver","entry","observe","current","disconnect","loadAsset","children","loading","alt","className"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/font-demo.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalText as Text } from '@wordpress/components';\nimport { useContext, useEffect, useState, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { FontLibraryContext } from './context';\nimport {\n\tgetFacePreviewStyle,\n\tgetFamilyPreviewStyle,\n} from './utils/preview-styles';\n\nfunction getPreviewUrl( fontFace ) {\n\tif ( fontFace.preview ) {\n\t\treturn fontFace.preview;\n\t}\n\tif ( fontFace.src ) {\n\t\treturn Array.isArray( fontFace.src ) ? fontFace.src[ 0 ] : fontFace.src;\n\t}\n}\n\nfunction getDisplayFontFace( font ) {\n\t// if this IS a font face return it\n\tif ( font.fontStyle || font.fontWeight ) {\n\t\treturn font;\n\t}\n\t// if this is a font family with a collection of font faces\n\t// return the first one that is normal and 400 OR just the first one\n\tif ( font.fontFace && font.fontFace.length ) {\n\t\treturn (\n\t\t\tfont.fontFace.find(\n\t\t\t\t( face ) =>\n\t\t\t\t\tface.fontStyle === 'normal' && face.fontWeight === '400'\n\t\t\t) || font.fontFace[ 0 ]\n\t\t);\n\t}\n\t// This must be a font family with no font faces\n\t// return a fake font face\n\treturn {\n\t\tfontStyle: 'normal',\n\t\tfontWeight: '400',\n\t\tfontFamily: font.fontFamily,\n\t\tfake: true,\n\t};\n}\n\nfunction FontDemo( { font, text } ) {\n\tconst ref = useRef( null );\n\n\tconst fontFace = getDisplayFontFace( font );\n\tconst style = getFamilyPreviewStyle( font );\n\ttext = text || font.name;\n\tconst customPreviewUrl = font.preview;\n\n\tconst [ isIntersecting, setIsIntersecting ] = useState( false );\n\tconst [ isAssetLoaded, setIsAssetLoaded ] = useState( false );\n\tconst { loadFontFaceAsset } = useContext( FontLibraryContext );\n\n\tconst previewUrl = customPreviewUrl ?? getPreviewUrl( fontFace );\n\tconst isPreviewImage =\n\t\tpreviewUrl && previewUrl.match( /\\.(png|jpg|jpeg|gif|svg)$/i );\n\n\tconst faceStyles = getFacePreviewStyle( fontFace );\n\tconst textDemoStyle = {\n\t\tfontSize: '18px',\n\t\tlineHeight: 1,\n\t\topacity: isAssetLoaded ? '1' : '0',\n\t\t...style,\n\t\t...faceStyles,\n\t};\n\n\tuseEffect( () => {\n\t\tconst observer = new window.IntersectionObserver( ( [ entry ] ) => {\n\t\t\tsetIsIntersecting( entry.isIntersecting );\n\t\t}, {} );\n\t\tobserver.observe( ref.current );\n\t\treturn () => observer.disconnect();\n\t}, [ ref ] );\n\n\tuseEffect( () => {\n\t\tconst loadAsset = async () => {\n\t\t\tif ( isIntersecting ) {\n\t\t\t\tif ( ! isPreviewImage && fontFace.src ) {\n\t\t\t\t\tawait loadFontFaceAsset( fontFace );\n\t\t\t\t}\n\t\t\t\tsetIsAssetLoaded( true );\n\t\t\t}\n\t\t};\n\t\tloadAsset();\n\t}, [ fontFace, isIntersecting, loadFontFaceAsset, isPreviewImage ] );\n\n\treturn (\n\t\t<div ref={ ref }>\n\t\t\t{ isPreviewImage ? (\n\t\t\t\t<img\n\t\t\t\t\tsrc={ previewUrl }\n\t\t\t\t\tloading=\"lazy\"\n\t\t\t\t\talt={ text }\n\t\t\t\t\tclassName=\"font-library-modal__font-variant_demo-image\"\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<Text\n\t\t\t\t\tstyle={ textDemoStyle }\n\t\t\t\t\tclassName=\"font-library-modal__font-variant_demo-text\"\n\t\t\t\t>\n\t\t\t\t\t{ text }\n\t\t\t\t</Text>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default FontDemo;\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["__","_x","Modal","privateApis","componentsPrivateApis","store","coreStore","useSelect","useContext","InstalledFonts","FontCollection","UploadFonts","FontLibraryContext","unlock","jsx","_jsx","jsxs","_jsxs","Tabs","DEFAULT_TAB","id","title","UPLOAD_TAB","tabsFromCollections","collections","map","slug","name","length","FontLibraryModal","onRequestClose","defaultTabId","canUserCreate","select","canUser","kind","tabs","push","isFullScreen","className","children","TabList","Tab","tabId","contents","TabPanel","focusable"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tModal,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport InstalledFonts from './installed-fonts';\nimport FontCollection from './font-collection';\nimport UploadFonts from './upload-fonts';\nimport { FontLibraryContext } from './context';\nimport { unlock } from '../../../lock-unlock';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nconst DEFAULT_TAB = {\n\tid: 'installed-fonts',\n\ttitle: _x( 'Library', 'Font library' ),\n};\n\nconst UPLOAD_TAB = {\n\tid: 'upload-fonts',\n\ttitle: _x( 'Upload', 'noun' ),\n};\n\nconst tabsFromCollections = ( collections ) =>\n\tcollections.map( ( { slug, name } ) => ( {\n\t\tid: slug,\n\t\ttitle:\n\t\t\tcollections.length === 1 && slug === 'google-fonts'\n\t\t\t\t? __( 'Install Fonts' )\n\t\t\t\t: name,\n\t} ) );\n\nfunction FontLibraryModal( {\n\tonRequestClose,\n\tdefaultTabId = 'installed-fonts',\n} ) {\n\tconst { collections } = useContext( FontLibraryContext );\n\tconst canUserCreate = useSelect( ( select ) => {\n\t\treturn select( coreStore ).canUser( 'create', {\n\t\t\tkind: 'postType',\n\t\t\tname: 'wp_font_family',\n\t\t} );\n\t}, [] );\n\n\tconst tabs = [ DEFAULT_TAB ];\n\n\tif ( canUserCreate ) {\n\t\ttabs.push( UPLOAD_TAB );\n\t\ttabs.push( ...tabsFromCollections( collections || [] ) );\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Fonts' ) }\n\t\t\tonRequestClose={ onRequestClose }\n\t\t\tisFullScreen\n\t\t\tclassName=\"font-library-modal\"\n\t\t>\n\t\t\t<Tabs defaultTabId={ defaultTabId }>\n\t\t\t\t<div className=\"font-library-modal__tablist-container\">\n\t\t\t\t\t<Tabs.TabList>\n\t\t\t\t\t\t{ tabs.map( ( { id, title } ) => (\n\t\t\t\t\t\t\t<Tabs.Tab key={ id } tabId={ id }>\n\t\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</Tabs.TabList>\n\t\t\t\t</div>\n\t\t\t\t{ tabs.map( ( { id } ) => {\n\t\t\t\t\tlet contents;\n\t\t\t\t\tswitch ( id ) {\n\t\t\t\t\t\tcase 'upload-fonts':\n\t\t\t\t\t\t\tcontents = <UploadFonts />;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'installed-fonts':\n\t\t\t\t\t\t\tcontents = <InstalledFonts />;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tcontents = <FontCollection slug={ id } />;\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\t\ttabId={ id }\n\t\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ contents }\n\t\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</Tabs>\n\t\t</Modal>\n\t);\n}\n\nexport default FontLibraryModal;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__","_x","Modal","privateApis","componentsPrivateApis","store","coreStore","useSelect","useContext","InstalledFonts","FontCollection","UploadFonts","FontLibraryContext","unlock","jsx","_jsx","jsxs","_jsxs","Tabs","DEFAULT_TAB","id","title","UPLOAD_TAB","tabsFromCollections","collections","map","slug","name","length","FontLibraryModal","onRequestClose","defaultTabId","canUserCreate","select","canUser","kind","tabs","push","isFullScreen","className","children","TabList","Tab","tabId","contents","TabPanel","focusable"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tModal,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport InstalledFonts from './installed-fonts';\nimport FontCollection from './font-collection';\nimport UploadFonts from './upload-fonts';\nimport { FontLibraryContext } from './context';\nimport { unlock } from '../../../lock-unlock';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nconst DEFAULT_TAB = {\n\tid: 'installed-fonts',\n\ttitle: _x( 'Library', 'Font library' ),\n};\n\nconst UPLOAD_TAB = {\n\tid: 'upload-fonts',\n\ttitle: _x( 'Upload', 'noun' ),\n};\n\nconst tabsFromCollections = ( collections ) =>\n\tcollections.map( ( { slug, name } ) => ( {\n\t\tid: slug,\n\t\ttitle:\n\t\t\tcollections.length === 1 && slug === 'google-fonts'\n\t\t\t\t? __( 'Install Fonts' )\n\t\t\t\t: name,\n\t} ) );\n\nfunction FontLibraryModal( {\n\tonRequestClose,\n\tdefaultTabId = 'installed-fonts',\n} ) {\n\tconst { collections } = useContext( FontLibraryContext );\n\tconst canUserCreate = useSelect( ( select ) => {\n\t\treturn select( coreStore ).canUser( 'create', {\n\t\t\tkind: 'postType',\n\t\t\tname: 'wp_font_family',\n\t\t} );\n\t}, [] );\n\n\tconst tabs = [ DEFAULT_TAB ];\n\n\tif ( canUserCreate ) {\n\t\ttabs.push( UPLOAD_TAB );\n\t\ttabs.push( ...tabsFromCollections( collections || [] ) );\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Fonts' ) }\n\t\t\tonRequestClose={ onRequestClose }\n\t\t\tisFullScreen\n\t\t\tclassName=\"font-library-modal\"\n\t\t>\n\t\t\t<Tabs defaultTabId={ defaultTabId }>\n\t\t\t\t<div className=\"font-library-modal__tablist-container\">\n\t\t\t\t\t<Tabs.TabList>\n\t\t\t\t\t\t{ tabs.map( ( { id, title } ) => (\n\t\t\t\t\t\t\t<Tabs.Tab key={ id } tabId={ id }>\n\t\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</Tabs.TabList>\n\t\t\t\t</div>\n\t\t\t\t{ tabs.map( ( { id } ) => {\n\t\t\t\t\tlet contents;\n\t\t\t\t\tswitch ( id ) {\n\t\t\t\t\t\tcase 'upload-fonts':\n\t\t\t\t\t\t\tcontents = <UploadFonts />;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'installed-fonts':\n\t\t\t\t\t\t\tcontents = <InstalledFonts />;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tcontents = <FontCollection slug={ id } />;\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\t\ttabId={ id }\n\t\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ contents }\n\t\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</Tabs>\n\t\t</Modal>\n\t);\n}\n\nexport default FontLibraryModal;\n"],"mappings":"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","ignoreList":[]}