@wordpress/edit-site 5.18.1-next.5a1d1283.0 → 5.19.1

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 (687) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-pattern/index.js +65 -4
  3. package/build/components/add-new-pattern/index.js.map +1 -1
  4. package/build/components/add-new-template/index.js +3 -2
  5. package/build/components/add-new-template/index.js.map +1 -1
  6. package/build/components/add-new-template/new-template.js +6 -1
  7. package/build/components/add-new-template/new-template.js.map +1 -1
  8. package/build/components/add-new-template/utils.js +6 -1
  9. package/build/components/add-new-template/utils.js.map +1 -1
  10. package/build/components/app/index.js +2 -7
  11. package/build/components/app/index.js.map +1 -1
  12. package/build/components/block-editor/back-button.js +3 -2
  13. package/build/components/block-editor/back-button.js.map +1 -1
  14. package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js +73 -0
  15. package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +1 -0
  16. package/build/components/block-editor/block-editor-provider/index.js +31 -0
  17. package/build/components/block-editor/block-editor-provider/index.js.map +1 -0
  18. package/build/components/block-editor/{providers → block-editor-provider}/navigation-block-editor-provider.js +2 -1
  19. package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +1 -0
  20. package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js +76 -0
  21. package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +1 -0
  22. package/build/components/block-editor/editor-canvas.js +20 -16
  23. package/build/components/block-editor/editor-canvas.js.map +1 -1
  24. package/build/components/block-editor/index.js +2 -9
  25. package/build/components/block-editor/index.js.map +1 -1
  26. package/build/components/block-editor/site-editor-canvas.js +2 -4
  27. package/build/components/block-editor/site-editor-canvas.js.map +1 -1
  28. package/build/components/block-editor/use-site-editor-settings.js +8 -4
  29. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  30. package/build/components/canvas-loader/index.js +18 -1
  31. package/build/components/canvas-loader/index.js.map +1 -1
  32. package/build/components/create-template-part-modal/index.js +8 -12
  33. package/build/components/create-template-part-modal/index.js.map +1 -1
  34. package/build/components/editor/index.js +7 -9
  35. package/build/components/editor/index.js.map +1 -1
  36. package/build/components/global-styles/dimensions-panel.js +5 -4
  37. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  38. package/build/components/global-styles/font-families.js +68 -0
  39. package/build/components/global-styles/font-families.js.map +1 -0
  40. package/build/components/global-styles/font-family-item.js +47 -0
  41. package/build/components/global-styles/font-family-item.js.map +1 -0
  42. package/build/components/global-styles/font-library-modal/collection-font-details.js +49 -0
  43. package/build/components/global-styles/font-library-modal/collection-font-details.js.map +1 -0
  44. package/build/components/global-styles/font-library-modal/collection-font-variant.js +55 -0
  45. package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -0
  46. package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js +31 -0
  47. package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +1 -0
  48. package/build/components/global-styles/font-library-modal/context.js +309 -0
  49. package/build/components/global-styles/font-library-modal/context.js.map +1 -0
  50. package/build/components/global-styles/font-library-modal/font-card.js +61 -0
  51. package/build/components/global-styles/font-library-modal/font-card.js.map +1 -0
  52. package/build/components/global-styles/font-library-modal/font-collection.js +172 -0
  53. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -0
  54. package/build/components/global-styles/font-library-modal/font-demo.js +86 -0
  55. package/build/components/global-styles/font-library-modal/font-demo.js.map +1 -0
  56. package/build/components/global-styles/font-library-modal/font-variant.js +51 -0
  57. package/build/components/global-styles/font-library-modal/font-variant.js.map +1 -0
  58. package/build/components/global-styles/font-library-modal/fonts-grid.js +54 -0
  59. package/build/components/global-styles/font-library-modal/fonts-grid.js.map +1 -0
  60. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +41 -0
  61. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -0
  62. package/build/components/global-styles/font-library-modal/index.js +65 -0
  63. package/build/components/global-styles/font-library-modal/index.js.map +1 -0
  64. package/build/components/global-styles/font-library-modal/installed-fonts.js +128 -0
  65. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -0
  66. package/build/components/global-styles/font-library-modal/library-font-card.js +39 -0
  67. package/build/components/global-styles/font-library-modal/library-font-card.js.map +1 -0
  68. package/build/components/global-styles/font-library-modal/library-font-details.js +44 -0
  69. package/build/components/global-styles/font-library-modal/library-font-details.js.map +1 -0
  70. package/build/components/global-styles/font-library-modal/library-font-variant.js +59 -0
  71. package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -0
  72. package/build/components/global-styles/font-library-modal/local-fonts.js +143 -0
  73. package/build/components/global-styles/font-library-modal/local-fonts.js.map +1 -0
  74. package/build/components/global-styles/font-library-modal/resolvers.js +53 -0
  75. package/build/components/global-styles/font-library-modal/resolvers.js.map +1 -0
  76. package/build/components/global-styles/font-library-modal/tab-layout.js +45 -0
  77. package/build/components/global-styles/font-library-modal/tab-layout.js.map +1 -0
  78. package/build/components/global-styles/font-library-modal/utils/constants.js +31 -0
  79. package/build/components/global-styles/font-library-modal/utils/constants.js.map +1 -0
  80. package/build/components/global-styles/font-library-modal/utils/filter-fonts.js +21 -0
  81. package/build/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -0
  82. package/build/components/global-styles/font-library-modal/utils/fonts-outline.js +20 -0
  83. package/build/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -0
  84. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +58 -0
  85. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -0
  86. package/build/components/global-styles/font-library-modal/utils/index.js +155 -0
  87. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -0
  88. package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js +22 -0
  89. package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +1 -0
  90. package/build/components/global-styles/font-library-modal/utils/preview-styles.js +76 -0
  91. package/build/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -0
  92. package/build/components/global-styles/font-library-modal/utils/sort-font-faces.js +36 -0
  93. package/build/components/global-styles/font-library-modal/utils/sort-font-faces.js.map +1 -0
  94. package/build/components/global-styles/font-library-modal/utils/toggleFont.js +92 -0
  95. package/build/components/global-styles/font-library-modal/utils/toggleFont.js.map +1 -0
  96. package/build/components/global-styles/global-styles-provider.js +7 -12
  97. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  98. package/build/components/global-styles/screen-block.js +34 -21
  99. package/build/components/global-styles/screen-block.js.map +1 -1
  100. package/build/components/global-styles/screen-revisions/index.js +1 -3
  101. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  102. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +0 -1
  103. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  104. package/build/components/global-styles/screen-typography.js +4 -72
  105. package/build/components/global-styles/screen-typography.js.map +1 -1
  106. package/build/components/global-styles/style-variations-container.js +3 -5
  107. package/build/components/global-styles/style-variations-container.js.map +1 -1
  108. package/build/components/global-styles/typogrphy-elements.js +96 -0
  109. package/build/components/global-styles/typogrphy-elements.js.map +1 -0
  110. package/build/components/header-edit-mode/document-actions/index.js +9 -8
  111. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  112. package/build/components/header-edit-mode/index.js +4 -1
  113. package/build/components/header-edit-mode/index.js.map +1 -1
  114. package/build/components/layout/index.js +5 -1
  115. package/build/components/layout/index.js.map +1 -1
  116. package/build/components/list/added-by.js +13 -8
  117. package/build/components/list/added-by.js.map +1 -1
  118. package/build/components/list/index.js +2 -1
  119. package/build/components/list/index.js.map +1 -1
  120. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +2 -3
  121. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  122. package/build/components/page-patterns/duplicate-menu-item.js +56 -20
  123. package/build/components/page-patterns/duplicate-menu-item.js.map +1 -1
  124. package/build/components/page-patterns/grid-item.js +48 -22
  125. package/build/components/page-patterns/grid-item.js.map +1 -1
  126. package/build/components/page-patterns/header.js +3 -7
  127. package/build/components/page-patterns/header.js.map +1 -1
  128. package/build/components/page-patterns/index.js +3 -3
  129. package/build/components/page-patterns/index.js.map +1 -1
  130. package/build/components/page-patterns/patterns-list.js +7 -7
  131. package/build/components/page-patterns/patterns-list.js.map +1 -1
  132. package/build/components/page-patterns/rename-menu-item.js +6 -5
  133. package/build/components/page-patterns/rename-menu-item.js.map +1 -1
  134. package/build/components/page-patterns/search-items.js +8 -2
  135. package/build/components/page-patterns/search-items.js.map +1 -1
  136. package/build/components/page-patterns/use-patterns.js +71 -51
  137. package/build/components/page-patterns/use-patterns.js.map +1 -1
  138. package/build/components/page-patterns/utils.js +1 -20
  139. package/build/components/page-patterns/utils.js.map +1 -1
  140. package/build/components/page-template-parts/add-new-template-part.js +3 -2
  141. package/build/components/page-template-parts/add-new-template-part.js.map +1 -1
  142. package/build/components/page-template-parts/index.js +2 -1
  143. package/build/components/page-template-parts/index.js.map +1 -1
  144. package/build/components/page-templates/index.js +3 -2
  145. package/build/components/page-templates/index.js.map +1 -1
  146. package/build/components/save-hub/index.js +2 -1
  147. package/build/components/save-hub/index.js.map +1 -1
  148. package/build/components/secondary-sidebar/list-view-sidebar.js +24 -17
  149. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  150. package/build/components/sidebar-edit-mode/page-panels/edit-template.js +53 -26
  151. package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  152. package/build/components/sidebar-edit-mode/page-panels/hooks.js +65 -0
  153. package/build/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -0
  154. package/build/components/sidebar-edit-mode/page-panels/index.js +1 -4
  155. package/build/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
  156. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +2 -1
  157. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  158. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +56 -0
  159. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -0
  160. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js +91 -0
  161. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -0
  162. package/build/components/sidebar-edit-mode/settings-header/index.js +2 -6
  163. package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  164. package/build/components/sidebar-edit-mode/template-panel/index.js +11 -9
  165. package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  166. package/build/components/sidebar-edit-mode/template-panel/last-revision.js +6 -4
  167. package/build/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -1
  168. package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js +218 -0
  169. package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -0
  170. package/build/components/sidebar-navigation-screen/index.js +6 -4
  171. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  172. package/build/components/sidebar-navigation-screen-details-footer/index.js +32 -4
  173. package/build/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
  174. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +4 -2
  175. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -1
  176. package/build/components/sidebar-navigation-screen-global-styles/index.js +4 -31
  177. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  178. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js +2 -1
  179. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -1
  180. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +2 -1
  181. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  182. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +3 -2
  183. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  184. package/build/components/sidebar-navigation-screen-page/index.js +3 -3
  185. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
  186. package/build/components/sidebar-navigation-screen-page/page-details.js +2 -1
  187. package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  188. package/build/components/sidebar-navigation-screen-pages/index.js +5 -4
  189. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  190. package/build/components/sidebar-navigation-screen-pattern/index.js +20 -9
  191. package/build/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  192. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +3 -2
  193. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
  194. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -1
  195. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  196. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +2 -1
  197. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
  198. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +41 -11
  199. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  200. package/build/components/sidebar-navigation-screen-patterns/index.js +9 -37
  201. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  202. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +44 -5
  203. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  204. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +7 -2
  205. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
  206. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -1
  207. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  208. package/build/components/sidebar-navigation-screen-template/home-template-details.js +2 -1
  209. package/build/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
  210. package/build/components/sidebar-navigation-screen-template/index.js +2 -2
  211. package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
  212. package/build/components/sidebar-navigation-screen-templates/index.js +5 -4
  213. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  214. package/build/components/sidebar-navigation-screen-templates-browse/index.js +3 -2
  215. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  216. package/build/components/start-template-options/index.js +20 -2
  217. package/build/components/start-template-options/index.js.map +1 -1
  218. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -4
  219. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  220. package/build/components/sync-state-with-url/use-sync-path-with-url.js +4 -3
  221. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  222. package/build/components/template-actions/index.js +8 -4
  223. package/build/components/template-actions/index.js.map +1 -1
  224. package/build/components/template-actions/rename-menu-item.js +9 -3
  225. package/build/components/template-actions/rename-menu-item.js.map +1 -1
  226. package/build/components/welcome-guide/styles.js +2 -2
  227. package/build/components/welcome-guide/styles.js.map +1 -1
  228. package/build/hooks/commands/use-edit-mode-commands.js +4 -3
  229. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  230. package/build/hooks/navigation-menu-edit.js +2 -1
  231. package/build/hooks/navigation-menu-edit.js.map +1 -1
  232. package/build/hooks/push-changes-to-global-styles/index.js +5 -37
  233. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  234. package/build/hooks/template-part-edit.js +2 -1
  235. package/build/hooks/template-part-edit.js.map +1 -1
  236. package/build/store/actions.js +38 -14
  237. package/build/store/actions.js.map +1 -1
  238. package/build/store/constants.js +1 -9
  239. package/build/store/constants.js.map +1 -1
  240. package/build/store/private-actions.js +21 -1
  241. package/build/store/private-actions.js.map +1 -1
  242. package/build/store/private-selectors.js +23 -0
  243. package/build/store/private-selectors.js.map +1 -1
  244. package/build/store/reducer.js +19 -1
  245. package/build/store/reducer.js.map +1 -1
  246. package/build/store/selectors.js +3 -2
  247. package/build/store/selectors.js.map +1 -1
  248. package/build/utils/constants.js +64 -2
  249. package/build/utils/constants.js.map +1 -1
  250. package/build/utils/is-template-removable.js +6 -1
  251. package/build/utils/is-template-removable.js.map +1 -1
  252. package/build/utils/is-template-revertable.js +6 -1
  253. package/build/utils/is-template-revertable.js.map +1 -1
  254. package/build/utils/template-part-create.js +6 -1
  255. package/build/utils/template-part-create.js.map +1 -1
  256. package/build-module/components/add-new-pattern/index.js +69 -8
  257. package/build-module/components/add-new-pattern/index.js.map +1 -1
  258. package/build-module/components/add-new-template/index.js +3 -2
  259. package/build-module/components/add-new-template/index.js.map +1 -1
  260. package/build-module/components/add-new-template/new-template.js +6 -1
  261. package/build-module/components/add-new-template/new-template.js.map +1 -1
  262. package/build-module/components/add-new-template/utils.js +6 -1
  263. package/build-module/components/add-new-template/utils.js.map +1 -1
  264. package/build-module/components/app/index.js +2 -7
  265. package/build-module/components/app/index.js.map +1 -1
  266. package/build-module/components/block-editor/back-button.js +3 -2
  267. package/build-module/components/block-editor/back-button.js.map +1 -1
  268. package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js +65 -0
  269. package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +1 -0
  270. package/build-module/components/block-editor/block-editor-provider/index.js +23 -0
  271. package/build-module/components/block-editor/block-editor-provider/index.js.map +1 -0
  272. package/build-module/components/block-editor/{providers → block-editor-provider}/navigation-block-editor-provider.js +2 -1
  273. package/build-module/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +1 -0
  274. package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js +70 -0
  275. package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +1 -0
  276. package/build-module/components/block-editor/editor-canvas.js +21 -17
  277. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  278. package/build-module/components/block-editor/index.js +1 -8
  279. package/build-module/components/block-editor/index.js.map +1 -1
  280. package/build-module/components/block-editor/site-editor-canvas.js +5 -7
  281. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
  282. package/build-module/components/block-editor/use-site-editor-settings.js +8 -4
  283. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  284. package/build-module/components/canvas-loader/index.js +18 -1
  285. package/build-module/components/canvas-loader/index.js.map +1 -1
  286. package/build-module/components/create-template-part-modal/index.js +8 -12
  287. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  288. package/build-module/components/editor/index.js +7 -9
  289. package/build-module/components/editor/index.js.map +1 -1
  290. package/build-module/components/global-styles/dimensions-panel.js +5 -4
  291. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  292. package/build-module/components/global-styles/font-families.js +58 -0
  293. package/build-module/components/global-styles/font-families.js.map +1 -0
  294. package/build-module/components/global-styles/font-family-item.js +40 -0
  295. package/build-module/components/global-styles/font-family-item.js.map +1 -0
  296. package/build-module/components/global-styles/font-library-modal/collection-font-details.js +40 -0
  297. package/build-module/components/global-styles/font-library-modal/collection-font-details.js.map +1 -0
  298. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js +45 -0
  299. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -0
  300. package/build-module/components/global-styles/font-library-modal/confirm-delete-dialog.js +23 -0
  301. package/build-module/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +1 -0
  302. package/build-module/components/global-styles/font-library-modal/context.js +300 -0
  303. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -0
  304. package/build-module/components/global-styles/font-library-modal/font-card.js +52 -0
  305. package/build-module/components/global-styles/font-library-modal/font-card.js.map +1 -0
  306. package/build-module/components/global-styles/font-library-modal/font-collection.js +164 -0
  307. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -0
  308. package/build-module/components/global-styles/font-library-modal/font-demo.js +79 -0
  309. package/build-module/components/global-styles/font-library-modal/font-demo.js.map +1 -0
  310. package/build-module/components/global-styles/font-library-modal/font-variant.js +42 -0
  311. package/build-module/components/global-styles/font-library-modal/font-variant.js.map +1 -0
  312. package/build-module/components/global-styles/font-library-modal/fonts-grid.js +47 -0
  313. package/build-module/components/global-styles/font-library-modal/fonts-grid.js.map +1 -0
  314. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +33 -0
  315. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -0
  316. package/build-module/components/global-styles/font-library-modal/index.js +57 -0
  317. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -0
  318. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +120 -0
  319. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -0
  320. package/build-module/components/global-styles/font-library-modal/library-font-card.js +31 -0
  321. package/build-module/components/global-styles/font-library-modal/library-font-card.js.map +1 -0
  322. package/build-module/components/global-styles/font-library-modal/library-font-details.js +35 -0
  323. package/build-module/components/global-styles/font-library-modal/library-font-details.js.map +1 -0
  324. package/build-module/components/global-styles/font-library-modal/library-font-variant.js +50 -0
  325. package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -0
  326. package/build-module/components/global-styles/font-library-modal/local-fonts.js +135 -0
  327. package/build-module/components/global-styles/font-library-modal/local-fonts.js.map +1 -0
  328. package/build-module/components/global-styles/font-library-modal/resolvers.js +42 -0
  329. package/build-module/components/global-styles/font-library-modal/resolvers.js.map +1 -0
  330. package/build-module/components/global-styles/font-library-modal/tab-layout.js +37 -0
  331. package/build-module/components/global-styles/font-library-modal/tab-layout.js.map +1 -0
  332. package/build-module/components/global-styles/font-library-modal/utils/constants.js +21 -0
  333. package/build-module/components/global-styles/font-library-modal/utils/constants.js.map +1 -0
  334. package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js +15 -0
  335. package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -0
  336. package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js +13 -0
  337. package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -0
  338. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +52 -0
  339. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -0
  340. package/build-module/components/global-styles/font-library-modal/utils/index.js +141 -0
  341. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -0
  342. package/build-module/components/global-styles/font-library-modal/utils/make-families-from-faces.js +16 -0
  343. package/build-module/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +1 -0
  344. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js +68 -0
  345. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -0
  346. package/build-module/components/global-styles/font-library-modal/utils/sort-font-faces.js +30 -0
  347. package/build-module/components/global-styles/font-library-modal/utils/sort-font-faces.js.map +1 -0
  348. package/build-module/components/global-styles/font-library-modal/utils/toggleFont.js +86 -0
  349. package/build-module/components/global-styles/font-library-modal/utils/toggleFont.js.map +1 -0
  350. package/build-module/components/global-styles/global-styles-provider.js +7 -12
  351. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  352. package/build-module/components/global-styles/screen-block.js +34 -21
  353. package/build-module/components/global-styles/screen-block.js.map +1 -1
  354. package/build-module/components/global-styles/screen-revisions/index.js +1 -3
  355. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  356. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +0 -1
  357. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  358. package/build-module/components/global-styles/screen-typography.js +6 -74
  359. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  360. package/build-module/components/global-styles/style-variations-container.js +3 -5
  361. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  362. package/build-module/components/global-styles/typogrphy-elements.js +87 -0
  363. package/build-module/components/global-styles/typogrphy-elements.js.map +1 -0
  364. package/build-module/components/header-edit-mode/document-actions/index.js +9 -8
  365. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  366. package/build-module/components/header-edit-mode/index.js +4 -1
  367. package/build-module/components/header-edit-mode/index.js.map +1 -1
  368. package/build-module/components/layout/index.js +5 -1
  369. package/build-module/components/layout/index.js.map +1 -1
  370. package/build-module/components/list/added-by.js +13 -8
  371. package/build-module/components/list/added-by.js.map +1 -1
  372. package/build-module/components/list/index.js +2 -1
  373. package/build-module/components/list/index.js.map +1 -1
  374. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +2 -3
  375. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  376. package/build-module/components/page-patterns/duplicate-menu-item.js +55 -20
  377. package/build-module/components/page-patterns/duplicate-menu-item.js.map +1 -1
  378. package/build-module/components/page-patterns/grid-item.js +49 -23
  379. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  380. package/build-module/components/page-patterns/header.js +3 -7
  381. package/build-module/components/page-patterns/header.js.map +1 -1
  382. package/build-module/components/page-patterns/index.js +3 -3
  383. package/build-module/components/page-patterns/index.js.map +1 -1
  384. package/build-module/components/page-patterns/patterns-list.js +7 -7
  385. package/build-module/components/page-patterns/patterns-list.js.map +1 -1
  386. package/build-module/components/page-patterns/rename-menu-item.js +6 -5
  387. package/build-module/components/page-patterns/rename-menu-item.js.map +1 -1
  388. package/build-module/components/page-patterns/search-items.js +8 -2
  389. package/build-module/components/page-patterns/search-items.js.map +1 -1
  390. package/build-module/components/page-patterns/use-patterns.js +71 -52
  391. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  392. package/build-module/components/page-patterns/utils.js +0 -11
  393. package/build-module/components/page-patterns/utils.js.map +1 -1
  394. package/build-module/components/page-template-parts/add-new-template-part.js +3 -2
  395. package/build-module/components/page-template-parts/add-new-template-part.js.map +1 -1
  396. package/build-module/components/page-template-parts/index.js +2 -1
  397. package/build-module/components/page-template-parts/index.js.map +1 -1
  398. package/build-module/components/page-templates/index.js +3 -2
  399. package/build-module/components/page-templates/index.js.map +1 -1
  400. package/build-module/components/save-hub/index.js +2 -1
  401. package/build-module/components/save-hub/index.js.map +1 -1
  402. package/build-module/components/secondary-sidebar/list-view-sidebar.js +26 -19
  403. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  404. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +54 -29
  405. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  406. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js +55 -0
  407. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -0
  408. package/build-module/components/sidebar-edit-mode/page-panels/index.js +1 -4
  409. package/build-module/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
  410. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +2 -1
  411. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  412. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +49 -0
  413. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -0
  414. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js +85 -0
  415. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -0
  416. package/build-module/components/sidebar-edit-mode/settings-header/index.js +2 -6
  417. package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  418. package/build-module/components/sidebar-edit-mode/template-panel/index.js +12 -10
  419. package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  420. package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js +8 -6
  421. package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -1
  422. package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js +209 -0
  423. package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -0
  424. package/build-module/components/sidebar-navigation-screen/index.js +6 -4
  425. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  426. package/build-module/components/sidebar-navigation-screen-details-footer/index.js +32 -5
  427. package/build-module/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
  428. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +4 -2
  429. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -1
  430. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +6 -33
  431. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  432. package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js +2 -1
  433. package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -1
  434. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +3 -1
  435. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  436. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +3 -2
  437. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  438. package/build-module/components/sidebar-navigation-screen-page/index.js +3 -3
  439. package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
  440. package/build-module/components/sidebar-navigation-screen-page/page-details.js +2 -1
  441. package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  442. package/build-module/components/sidebar-navigation-screen-pages/index.js +5 -4
  443. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  444. package/build-module/components/sidebar-navigation-screen-pattern/index.js +21 -10
  445. package/build-module/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  446. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +3 -2
  447. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
  448. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -1
  449. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  450. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +2 -1
  451. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
  452. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +41 -11
  453. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  454. package/build-module/components/sidebar-navigation-screen-patterns/index.js +12 -40
  455. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  456. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +44 -5
  457. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  458. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +7 -2
  459. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
  460. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +3 -2
  461. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  462. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js +2 -1
  463. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
  464. package/build-module/components/sidebar-navigation-screen-template/index.js +2 -2
  465. package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
  466. package/build-module/components/sidebar-navigation-screen-templates/index.js +5 -4
  467. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  468. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +3 -2
  469. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  470. package/build-module/components/start-template-options/index.js +20 -2
  471. package/build-module/components/start-template-options/index.js.map +1 -1
  472. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -4
  473. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  474. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +4 -3
  475. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  476. package/build-module/components/template-actions/index.js +8 -4
  477. package/build-module/components/template-actions/index.js.map +1 -1
  478. package/build-module/components/template-actions/rename-menu-item.js +9 -3
  479. package/build-module/components/template-actions/rename-menu-item.js.map +1 -1
  480. package/build-module/components/welcome-guide/styles.js +2 -2
  481. package/build-module/components/welcome-guide/styles.js.map +1 -1
  482. package/build-module/hooks/commands/use-edit-mode-commands.js +4 -3
  483. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  484. package/build-module/hooks/navigation-menu-edit.js +2 -1
  485. package/build-module/hooks/navigation-menu-edit.js.map +1 -1
  486. package/build-module/hooks/push-changes-to-global-styles/index.js +5 -37
  487. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  488. package/build-module/hooks/template-part-edit.js +2 -1
  489. package/build-module/hooks/template-part-edit.js.map +1 -1
  490. package/build-module/store/actions.js +39 -16
  491. package/build-module/store/actions.js.map +1 -1
  492. package/build-module/store/constants.js +0 -4
  493. package/build-module/store/constants.js.map +1 -1
  494. package/build-module/store/private-actions.js +19 -0
  495. package/build-module/store/private-actions.js.map +1 -1
  496. package/build-module/store/private-selectors.js +22 -0
  497. package/build-module/store/private-selectors.js.map +1 -1
  498. package/build-module/store/reducer.js +18 -1
  499. package/build-module/store/reducer.js.map +1 -1
  500. package/build-module/store/selectors.js +3 -3
  501. package/build-module/store/selectors.js.map +1 -1
  502. package/build-module/utils/constants.js +51 -1
  503. package/build-module/utils/constants.js.map +1 -1
  504. package/build-module/utils/is-template-removable.js +6 -1
  505. package/build-module/utils/is-template-removable.js.map +1 -1
  506. package/build-module/utils/is-template-revertable.js +6 -1
  507. package/build-module/utils/is-template-revertable.js.map +1 -1
  508. package/build-module/utils/template-part-create.js +6 -1
  509. package/build-module/utils/template-part-create.js.map +1 -1
  510. package/build-style/style-rtl.css +267 -37
  511. package/build-style/style.css +267 -37
  512. package/lib/inflate.js +4082 -0
  513. package/lib/lib-font.browser.js +3831 -0
  514. package/lib/unbrotli.js +2679 -0
  515. package/package.json +40 -40
  516. package/src/components/add-new-pattern/index.js +86 -8
  517. package/src/components/add-new-template/index.js +3 -2
  518. package/src/components/add-new-template/new-template.js +6 -1
  519. package/src/components/add-new-template/utils.js +12 -3
  520. package/src/components/app/index.js +9 -12
  521. package/src/components/block-editor/back-button.js +6 -2
  522. package/src/components/block-editor/block-editor-provider/default-block-editor-provider.js +70 -0
  523. package/src/components/block-editor/block-editor-provider/index.js +29 -0
  524. package/src/components/block-editor/{providers → block-editor-provider}/navigation-block-editor-provider.js +2 -1
  525. package/src/components/block-editor/block-editor-provider/test/use-page-content-blocks.js +87 -0
  526. package/src/components/block-editor/block-editor-provider/use-page-content-blocks.js +77 -0
  527. package/src/components/block-editor/editor-canvas.js +31 -19
  528. package/src/components/block-editor/index.js +1 -14
  529. package/src/components/block-editor/site-editor-canvas.js +7 -12
  530. package/src/components/block-editor/style.scss +88 -1
  531. package/src/components/block-editor/use-site-editor-settings.js +26 -19
  532. package/src/components/canvas-loader/index.js +12 -1
  533. package/src/components/canvas-loader/style.scss +1 -1
  534. package/src/components/create-template-part-modal/index.js +11 -12
  535. package/src/components/editor/index.js +9 -10
  536. package/src/components/global-styles/dimensions-panel.js +8 -4
  537. package/src/components/global-styles/font-families.js +71 -0
  538. package/src/components/global-styles/font-family-item.js +44 -0
  539. package/src/components/global-styles/font-library-modal/collection-font-details.js +56 -0
  540. package/src/components/global-styles/font-library-modal/collection-font-variant.js +45 -0
  541. package/src/components/global-styles/font-library-modal/confirm-delete-dialog.js +33 -0
  542. package/src/components/global-styles/font-library-modal/context.js +378 -0
  543. package/src/components/global-styles/font-library-modal/font-card.js +75 -0
  544. package/src/components/global-styles/font-library-modal/font-collection.js +257 -0
  545. package/src/components/global-styles/font-library-modal/font-demo.js +83 -0
  546. package/src/components/global-styles/font-library-modal/font-variant.js +53 -0
  547. package/src/components/global-styles/font-library-modal/fonts-grid.js +55 -0
  548. package/src/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +50 -0
  549. package/src/components/global-styles/font-library-modal/index.js +67 -0
  550. package/src/components/global-styles/font-library-modal/installed-fonts.js +174 -0
  551. package/src/components/global-styles/font-library-modal/library-font-card.js +33 -0
  552. package/src/components/global-styles/font-library-modal/library-font-details.js +45 -0
  553. package/src/components/global-styles/font-library-modal/library-font-variant.js +54 -0
  554. package/src/components/global-styles/font-library-modal/local-fonts.js +160 -0
  555. package/src/components/global-styles/font-library-modal/resolvers.js +45 -0
  556. package/src/components/global-styles/font-library-modal/style.scss +139 -0
  557. package/src/components/global-styles/font-library-modal/tab-layout.js +50 -0
  558. package/src/components/global-styles/font-library-modal/utils/constants.js +23 -0
  559. package/src/components/global-styles/font-library-modal/utils/filter-fonts.js +18 -0
  560. package/src/components/global-styles/font-library-modal/utils/fonts-outline.js +21 -0
  561. package/src/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +58 -0
  562. package/src/components/global-styles/font-library-modal/utils/index.js +153 -0
  563. package/src/components/global-styles/font-library-modal/utils/make-families-from-faces.js +15 -0
  564. package/src/components/global-styles/font-library-modal/utils/preview-styles.js +86 -0
  565. package/src/components/global-styles/font-library-modal/utils/sort-font-faces.js +33 -0
  566. package/src/components/global-styles/font-library-modal/utils/test/filter-fonts.spec.js +69 -0
  567. package/src/components/global-styles/font-library-modal/utils/test/fonts-outline.spec.js +109 -0
  568. package/src/components/global-styles/font-library-modal/utils/test/getDisplaySrcFromFontFace.spec.js +53 -0
  569. package/src/components/global-styles/font-library-modal/utils/test/getFontFaceVariantName.spec.js +30 -0
  570. package/src/components/global-styles/font-library-modal/utils/test/getIntersectingFontFaces.spec.js +240 -0
  571. package/src/components/global-styles/font-library-modal/utils/test/isUrlEncoded.spec.js +31 -0
  572. package/src/components/global-styles/font-library-modal/utils/test/makeFamiliesFromFaces.spec.js +57 -0
  573. package/src/components/global-styles/font-library-modal/utils/test/makeFormDataFromFontFamilies.spec.js +62 -0
  574. package/src/components/global-styles/font-library-modal/utils/test/mergeFontFaces.spec.js +56 -0
  575. package/src/components/global-styles/font-library-modal/utils/test/mergeFontFamilies.spec.js +108 -0
  576. package/src/components/global-styles/font-library-modal/utils/test/preview-styles.spec.js +161 -0
  577. package/src/components/global-styles/font-library-modal/utils/test/setUIValuesNeeded.spec.js +41 -0
  578. package/src/components/global-styles/font-library-modal/utils/test/sort-font-faces.js +74 -0
  579. package/src/components/global-styles/font-library-modal/utils/test/toggleFont.spec.js +141 -0
  580. package/src/components/global-styles/font-library-modal/utils/toggleFont.js +90 -0
  581. package/src/components/global-styles/global-styles-provider.js +2 -7
  582. package/src/components/global-styles/screen-block.js +42 -20
  583. package/src/components/global-styles/screen-revisions/index.js +0 -2
  584. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +0 -1
  585. package/src/components/global-styles/screen-typography.js +9 -95
  586. package/src/components/global-styles/style-variations-container.js +0 -2
  587. package/src/components/global-styles/typogrphy-elements.js +110 -0
  588. package/src/components/header-edit-mode/document-actions/index.js +17 -8
  589. package/src/components/header-edit-mode/index.js +2 -1
  590. package/src/components/layout/index.js +10 -1
  591. package/src/components/list/added-by.js +29 -11
  592. package/src/components/list/index.js +7 -1
  593. package/src/components/list/style.scss +2 -0
  594. package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +2 -8
  595. package/src/components/page-patterns/duplicate-menu-item.js +67 -24
  596. package/src/components/page-patterns/grid-item.js +80 -33
  597. package/src/components/page-patterns/header.js +3 -12
  598. package/src/components/page-patterns/index.js +3 -3
  599. package/src/components/page-patterns/patterns-list.js +7 -7
  600. package/src/components/page-patterns/rename-menu-item.js +18 -7
  601. package/src/components/page-patterns/search-items.js +20 -2
  602. package/src/components/page-patterns/style.scss +1 -5
  603. package/src/components/page-patterns/use-patterns.js +217 -127
  604. package/src/components/page-patterns/utils.js +0 -19
  605. package/src/components/page-template-parts/add-new-template-part.js +5 -2
  606. package/src/components/page-template-parts/index.js +2 -1
  607. package/src/components/page-templates/index.js +3 -2
  608. package/src/components/save-hub/index.js +2 -1
  609. package/src/components/secondary-sidebar/list-view-sidebar.js +31 -26
  610. package/src/components/sidebar-edit-mode/page-panels/edit-template.js +94 -52
  611. package/src/components/sidebar-edit-mode/page-panels/hooks.js +88 -0
  612. package/src/components/sidebar-edit-mode/page-panels/index.js +0 -4
  613. package/src/components/sidebar-edit-mode/page-panels/page-summary.js +2 -0
  614. package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +44 -0
  615. package/src/components/sidebar-edit-mode/page-panels/style.scss +46 -9
  616. package/src/components/sidebar-edit-mode/page-panels/swap-template-button.js +82 -0
  617. package/src/components/sidebar-edit-mode/settings-header/index.js +4 -7
  618. package/src/components/sidebar-edit-mode/template-panel/index.js +28 -24
  619. package/src/components/sidebar-edit-mode/template-panel/last-revision.js +19 -15
  620. package/src/components/sidebar-edit-mode/template-panel/pattern-categories.js +277 -0
  621. package/src/components/sidebar-navigation-screen/index.js +4 -9
  622. package/src/components/sidebar-navigation-screen/style.scss +7 -1
  623. package/src/components/sidebar-navigation-screen-details-footer/index.js +38 -10
  624. package/src/components/sidebar-navigation-screen-details-footer/style.scss +10 -3
  625. package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +2 -0
  626. package/src/components/sidebar-navigation-screen-global-styles/index.js +6 -44
  627. package/src/components/sidebar-navigation-screen-navigation-menu/edit-button.js +2 -1
  628. package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +3 -1
  629. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +3 -2
  630. package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +0 -4
  631. package/src/components/sidebar-navigation-screen-page/index.js +3 -3
  632. package/src/components/sidebar-navigation-screen-page/page-details.js +2 -1
  633. package/src/components/sidebar-navigation-screen-pages/index.js +5 -4
  634. package/src/components/sidebar-navigation-screen-pattern/index.js +22 -8
  635. package/src/components/sidebar-navigation-screen-pattern/style.scss +0 -3
  636. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +8 -2
  637. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +7 -1
  638. package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +2 -1
  639. package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +63 -20
  640. package/src/components/sidebar-navigation-screen-patterns/index.js +20 -51
  641. package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +61 -6
  642. package/src/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +12 -2
  643. package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +3 -5
  644. package/src/components/sidebar-navigation-screen-template/home-template-details.js +2 -1
  645. package/src/components/sidebar-navigation-screen-template/index.js +2 -4
  646. package/src/components/sidebar-navigation-screen-templates/index.js +5 -4
  647. package/src/components/sidebar-navigation-screen-templates-browse/index.js +6 -2
  648. package/src/components/start-template-options/index.js +39 -2
  649. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +10 -4
  650. package/src/components/sync-state-with-url/use-sync-path-with-url.js +8 -3
  651. package/src/components/template-actions/index.js +15 -8
  652. package/src/components/template-actions/rename-menu-item.js +21 -5
  653. package/src/components/welcome-guide/styles.js +2 -2
  654. package/src/hooks/commands/use-edit-mode-commands.js +4 -3
  655. package/src/hooks/navigation-menu-edit.js +2 -1
  656. package/src/hooks/push-changes-to-global-styles/index.js +6 -49
  657. package/src/hooks/template-part-edit.js +2 -1
  658. package/src/store/actions.js +56 -22
  659. package/src/store/constants.js +0 -5
  660. package/src/store/private-actions.js +19 -0
  661. package/src/store/private-selectors.js +22 -0
  662. package/src/store/reducer.js +18 -0
  663. package/src/store/selectors.js +6 -3
  664. package/src/store/test/reducer.js +18 -0
  665. package/src/style.scss +1 -1
  666. package/src/utils/constants.js +54 -3
  667. package/src/utils/is-template-removable.js +8 -1
  668. package/src/utils/is-template-revertable.js +8 -1
  669. package/src/utils/template-part-create.js +6 -1
  670. package/build/components/block-editor/get-block-editor-provider.js +0 -35
  671. package/build/components/block-editor/get-block-editor-provider.js.map +0 -1
  672. package/build/components/block-editor/providers/default-block-editor-provider.js +0 -49
  673. package/build/components/block-editor/providers/default-block-editor-provider.js.map +0 -1
  674. package/build/components/block-editor/providers/navigation-block-editor-provider.js.map +0 -1
  675. package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js +0 -30
  676. package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +0 -1
  677. package/build-module/components/block-editor/get-block-editor-provider.js +0 -28
  678. package/build-module/components/block-editor/get-block-editor-provider.js.map +0 -1
  679. package/build-module/components/block-editor/providers/default-block-editor-provider.js +0 -41
  680. package/build-module/components/block-editor/providers/default-block-editor-provider.js.map +0 -1
  681. package/build-module/components/block-editor/providers/navigation-block-editor-provider.js.map +0 -1
  682. package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js +0 -23
  683. package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +0 -1
  684. package/src/components/block-editor/get-block-editor-provider.js +0 -29
  685. package/src/components/block-editor/providers/default-block-editor-provider.js +0 -44
  686. package/src/components/sidebar-navigation-screen-global-styles/style.scss +0 -12
  687. package/src/components/sidebar-navigation-screen-patterns/use-my-patterns.js +0 -24
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _element = require("@wordpress/element");
9
+ var _components = require("@wordpress/components");
10
+ var _collectionFontVariant = _interopRequireDefault(require("./collection-font-variant"));
11
+ var _fontsOutline = require("./utils/fonts-outline");
12
+ var _sortFontFaces = require("./utils/sort-font-faces");
13
+ /**
14
+ * WordPress dependencies
15
+ */
16
+
17
+ /**
18
+ * Internal dependencies
19
+ */
20
+
21
+ function CollectionFontDetails({
22
+ font,
23
+ handleToggleVariant,
24
+ fontToInstallOutline
25
+ }) {
26
+ const fontFaces = font.fontFace && font.fontFace.length ? (0, _sortFontFaces.sortFontFaces)(font.fontFace) : [{
27
+ fontFamily: font.fontFamily,
28
+ fontStyle: 'normal',
29
+ fontWeight: '400'
30
+ }];
31
+ return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.__experimentalSpacer, {
32
+ margin: 4
33
+ }), (0, _element.createElement)(_components.__experimentalVStack, {
34
+ spacing: 0
35
+ }, (0, _element.createElement)(_components.__experimentalSpacer, {
36
+ margin: 8
37
+ }), fontFaces.map((face, i) => (0, _element.createElement)(_collectionFontVariant.default, {
38
+ font: font,
39
+ face: face,
40
+ key: `face${i}`,
41
+ handleToggleVariant: handleToggleVariant,
42
+ selected: (0, _fontsOutline.isFontFontFaceInOutline)(font.slug, face, fontToInstallOutline)
43
+ }))), (0, _element.createElement)(_components.__experimentalSpacer, {
44
+ margin: 8
45
+ }));
46
+ }
47
+ var _default = CollectionFontDetails;
48
+ exports.default = _default;
49
+ //# sourceMappingURL=collection-font-details.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_components","require","_collectionFontVariant","_interopRequireDefault","_fontsOutline","_sortFontFaces","CollectionFontDetails","font","handleToggleVariant","fontToInstallOutline","fontFaces","fontFace","length","sortFontFaces","fontFamily","fontStyle","fontWeight","_element","createElement","Fragment","__experimentalSpacer","margin","__experimentalVStack","spacing","map","face","i","default","key","selected","isFontFontFaceInOutline","slug","_default","exports"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/collection-font-details.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalSpacer as Spacer,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport CollectionFontVariant from './collection-font-variant';\nimport { isFontFontFaceInOutline } from './utils/fonts-outline';\nimport { sortFontFaces } from './utils/sort-font-faces';\n\nfunction CollectionFontDetails( {\n\tfont,\n\thandleToggleVariant,\n\tfontToInstallOutline,\n} ) {\n\tconst fontFaces =\n\t\tfont.fontFace && font.fontFace.length\n\t\t\t? sortFontFaces( font.fontFace )\n\t\t\t: [\n\t\t\t\t\t{\n\t\t\t\t\t\tfontFamily: font.fontFamily,\n\t\t\t\t\t\tfontStyle: 'normal',\n\t\t\t\t\t\tfontWeight: '400',\n\t\t\t\t\t},\n\t\t\t ];\n\n\treturn (\n\t\t<>\n\t\t\t<Spacer margin={ 4 } />\n\t\t\t<VStack spacing={ 0 }>\n\t\t\t\t<Spacer margin={ 8 } />\n\t\t\t\t{ fontFaces.map( ( face, i ) => (\n\t\t\t\t\t<CollectionFontVariant\n\t\t\t\t\t\tfont={ font }\n\t\t\t\t\t\tface={ face }\n\t\t\t\t\t\tkey={ `face${ i }` }\n\t\t\t\t\t\thandleToggleVariant={ handleToggleVariant }\n\t\t\t\t\t\tselected={ isFontFontFaceInOutline(\n\t\t\t\t\t\t\tfont.slug,\n\t\t\t\t\t\t\tface,\n\t\t\t\t\t\t\tfontToInstallOutline\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</VStack>\n\t\t\t<Spacer margin={ 8 } />\n\t\t</>\n\t);\n}\n\nexport default CollectionFontDetails;\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAQA,IAAAC,sBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AAbA;AACA;AACA;;AAMA;AACA;AACA;;AAKA,SAASK,qBAAqBA,CAAE;EAC/BC,IAAI;EACJC,mBAAmB;EACnBC;AACD,CAAC,EAAG;EACH,MAAMC,SAAS,GACdH,IAAI,CAACI,QAAQ,IAAIJ,IAAI,CAACI,QAAQ,CAACC,MAAM,GAClC,IAAAC,4BAAa,EAAEN,IAAI,CAACI,QAAS,CAAC,GAC9B,CACA;IACCG,UAAU,EAAEP,IAAI,CAACO,UAAU;IAC3BC,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE;EACb,CAAC,CACA;EAEL,OACC,IAAAC,QAAA,CAAAC,aAAA,EAAAD,QAAA,CAAAE,QAAA,QACC,IAAAF,QAAA,CAAAC,aAAA,EAAClB,WAAA,CAAAoB,oBAAM;IAACC,MAAM,EAAG;EAAG,CAAE,CAAC,EACvB,IAAAJ,QAAA,CAAAC,aAAA,EAAClB,WAAA,CAAAsB,oBAAM;IAACC,OAAO,EAAG;EAAG,GACpB,IAAAN,QAAA,CAAAC,aAAA,EAAClB,WAAA,CAAAoB,oBAAM;IAACC,MAAM,EAAG;EAAG,CAAE,CAAC,EACrBX,SAAS,CAACc,GAAG,CAAE,CAAEC,IAAI,EAAEC,CAAC,KACzB,IAAAT,QAAA,CAAAC,aAAA,EAAChB,sBAAA,CAAAyB,OAAqB;IACrBpB,IAAI,EAAGA,IAAM;IACbkB,IAAI,EAAGA,IAAM;IACbG,GAAG,EAAI,OAAOF,CAAG,EAAG;IACpBlB,mBAAmB,EAAGA,mBAAqB;IAC3CqB,QAAQ,EAAG,IAAAC,qCAAuB,EACjCvB,IAAI,CAACwB,IAAI,EACTN,IAAI,EACJhB,oBACD;EAAG,CACH,CACA,CACK,CAAC,EACT,IAAAQ,QAAA,CAAAC,aAAA,EAAClB,WAAA,CAAAoB,oBAAM;IAACC,MAAM,EAAG;EAAG,CAAE,CACrB,CAAC;AAEL;AAAC,IAAAW,QAAA,GAEc1B,qBAAqB;AAAA2B,OAAA,CAAAN,OAAA,GAAAK,QAAA"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _element = require("@wordpress/element");
9
+ var _components = require("@wordpress/components");
10
+ var _utils = require("./utils");
11
+ var _fontDemo = _interopRequireDefault(require("./font-demo"));
12
+ /**
13
+ * WordPress dependencies
14
+ */
15
+
16
+ /**
17
+ * Internal dependencies
18
+ */
19
+
20
+ /**
21
+ * Internal dependencies
22
+ */
23
+
24
+ function CollectionFontVariant({
25
+ face,
26
+ font,
27
+ handleToggleVariant,
28
+ selected
29
+ }) {
30
+ const handleToggleActivation = () => {
31
+ if (font?.fontFace) {
32
+ handleToggleVariant(font, face);
33
+ return;
34
+ }
35
+ handleToggleVariant(font);
36
+ };
37
+ const displayName = font.name + ' ' + (0, _utils.getFontFaceVariantName)(face);
38
+ return (0, _element.createElement)("div", {
39
+ className: "font-library-modal__library-font-variant"
40
+ }, (0, _element.createElement)(_components.Flex, {
41
+ justify: "space-between",
42
+ align: "center",
43
+ gap: "1rem"
44
+ }, (0, _element.createElement)(_fontDemo.default, {
45
+ fontFace: face,
46
+ text: displayName
47
+ }), (0, _element.createElement)(_components.CheckboxControl, {
48
+ checked: selected,
49
+ onChange: handleToggleActivation,
50
+ __nextHasNoMarginBottom: true
51
+ })));
52
+ }
53
+ var _default = CollectionFontVariant;
54
+ exports.default = _default;
55
+ //# sourceMappingURL=collection-font-variant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_components","require","_utils","_fontDemo","_interopRequireDefault","CollectionFontVariant","face","font","handleToggleVariant","selected","handleToggleActivation","fontFace","displayName","name","getFontFaceVariantName","_element","createElement","className","Flex","justify","align","gap","default","text","CheckboxControl","checked","onChange","__nextHasNoMarginBottom","_default","exports"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/collection-font-variant.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { CheckboxControl, Flex } from '@wordpress/components';\n/**\n * Internal dependencies\n */\nimport { getFontFaceVariantName } from './utils';\n\n/**\n * Internal dependencies\n */\nimport FontFaceDemo 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\n\treturn (\n\t\t<div className=\"font-library-modal__library-font-variant\">\n\t\t\t<Flex justify=\"space-between\" align=\"center\" gap=\"1rem\">\n\t\t\t\t<FontFaceDemo fontFace={ face } text={ displayName } />\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={ true }\n\t\t\t\t/>\n\t\t\t</Flex>\n\t\t</div>\n\t);\n}\n\nexport default CollectionFontVariant;\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,MAAA,GAAAD,OAAA;AAKA,IAAAE,SAAA,GAAAC,sBAAA,CAAAH,OAAA;AAZA;AACA;AACA;;AAEA;AACA;AACA;;AAGA;AACA;AACA;;AAGA,SAASI,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,GAAG,IAAAC,6BAAsB,EAAER,IAAK,CAAC;EAEpE,OACC,IAAAS,QAAA,CAAAC,aAAA;IAAKC,SAAS,EAAC;EAA0C,GACxD,IAAAF,QAAA,CAAAC,aAAA,EAAChB,WAAA,CAAAkB,IAAI;IAACC,OAAO,EAAC,eAAe;IAACC,KAAK,EAAC,QAAQ;IAACC,GAAG,EAAC;EAAM,GACtD,IAAAN,QAAA,CAAAC,aAAA,EAACb,SAAA,CAAAmB,OAAY;IAACX,QAAQ,EAAGL,IAAM;IAACiB,IAAI,EAAGX;EAAa,CAAE,CAAC,EACvD,IAAAG,QAAA,CAAAC,aAAA,EAAChB,WAAA,CAAAwB,eAAe;IACfC,OAAO,EAAGhB,QAAU;IACpBiB,QAAQ,EAAGhB,sBAAwB;IACnCiB,uBAAuB,EAAG;EAAM,CAChC,CACI,CACF,CAAC;AAER;AAAC,IAAAC,QAAA,GAEcvB,qBAAqB;AAAAwB,OAAA,CAAAP,OAAA,GAAAM,QAAA"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _element = require("@wordpress/element");
8
+ var _i18n = require("@wordpress/i18n");
9
+ var _components = require("@wordpress/components");
10
+ /**
11
+ * WordPress dependencies
12
+ */
13
+
14
+ function ConfirmDeleteDialog({
15
+ font,
16
+ isConfirmDeleteOpen,
17
+ handleConfirmUninstall,
18
+ handleCancelUninstall
19
+ }) {
20
+ return (0, _element.createElement)(_components.__experimentalConfirmDialog, {
21
+ isOpen: isConfirmDeleteOpen,
22
+ cancelButtonText: (0, _i18n.__)('No, keep the font'),
23
+ confirmButtonText: (0, _i18n.__)('Yes, uninstall'),
24
+ onCancel: handleCancelUninstall,
25
+ onConfirm: handleConfirmUninstall
26
+ }, font && (0, _i18n.sprintf)( /* translators: %s: Name of the font. */
27
+ (0, _i18n.__)('Would you like to remove %s and all its variants and assets?'), font.name));
28
+ }
29
+ var _default = ConfirmDeleteDialog;
30
+ exports.default = _default;
31
+ //# sourceMappingURL=confirm-delete-dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_i18n","require","_components","ConfirmDeleteDialog","font","isConfirmDeleteOpen","handleConfirmUninstall","handleCancelUninstall","_element","createElement","__experimentalConfirmDialog","isOpen","cancelButtonText","__","confirmButtonText","onCancel","onConfirm","sprintf","name","_default","exports","default"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/confirm-delete-dialog.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { __experimentalConfirmDialog as ConfirmDialog } from '@wordpress/components';\n\nfunction ConfirmDeleteDialog( {\n\tfont,\n\tisConfirmDeleteOpen,\n\thandleConfirmUninstall,\n\thandleCancelUninstall,\n} ) {\n\treturn (\n\t\t<ConfirmDialog\n\t\t\tisOpen={ isConfirmDeleteOpen }\n\t\t\tcancelButtonText={ __( 'No, keep the font' ) }\n\t\t\tconfirmButtonText={ __( 'Yes, uninstall' ) }\n\t\t\tonCancel={ handleCancelUninstall }\n\t\t\tonConfirm={ handleConfirmUninstall }\n\t\t>\n\t\t\t{ font &&\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: %s: Name of the font. */\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Would you like to remove %s and all its variants and assets?'\n\t\t\t\t\t),\n\t\t\t\t\tfont.name\n\t\t\t\t) }\n\t\t</ConfirmDialog>\n\t);\n}\n\nexport default ConfirmDeleteDialog;\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIA,SAASE,mBAAmBA,CAAE;EAC7BC,IAAI;EACJC,mBAAmB;EACnBC,sBAAsB;EACtBC;AACD,CAAC,EAAG;EACH,OACC,IAAAC,QAAA,CAAAC,aAAA,EAACP,WAAA,CAAAQ,2BAAa;IACbC,MAAM,EAAGN,mBAAqB;IAC9BO,gBAAgB,EAAG,IAAAC,QAAE,EAAE,mBAAoB,CAAG;IAC9CC,iBAAiB,EAAG,IAAAD,QAAE,EAAE,gBAAiB,CAAG;IAC5CE,QAAQ,EAAGR,qBAAuB;IAClCS,SAAS,EAAGV;EAAwB,GAElCF,IAAI,IACL,IAAAa,aAAO,GACN;EACA,IAAAJ,QAAE,EACD,8DACD,CAAC,EACDT,IAAI,CAACc,IACN,CACa,CAAC;AAElB;AAAC,IAAAC,QAAA,GAEchB,mBAAmB;AAAAiB,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -0,0 +1,309 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.FontLibraryContext = void 0;
8
+ var _element = require("@wordpress/element");
9
+ var _blockEditor = require("@wordpress/block-editor");
10
+ var _data = require("@wordpress/data");
11
+ var _coreData = require("@wordpress/core-data");
12
+ var _notices = require("@wordpress/notices");
13
+ var _i18n = require("@wordpress/i18n");
14
+ var _resolvers = require("./resolvers");
15
+ var _lockUnlock = require("../../../lock-unlock");
16
+ var _utils = require("./utils");
17
+ var _toggleFont = require("./utils/toggleFont");
18
+ var _getIntersectingFontFaces = _interopRequireDefault(require("./utils/get-intersecting-font-faces"));
19
+ /**
20
+ * WordPress dependencies
21
+ */
22
+
23
+ /**
24
+ * Internal dependencies
25
+ */
26
+
27
+ const {
28
+ useGlobalSetting
29
+ } = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
30
+ const FontLibraryContext = (0, _element.createContext)({});
31
+ exports.FontLibraryContext = FontLibraryContext;
32
+ function FontLibraryProvider({
33
+ children
34
+ }) {
35
+ const {
36
+ __experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits
37
+ } = (0, _data.useDispatch)(_coreData.store);
38
+ const {
39
+ globalStylesId
40
+ } = (0, _data.useSelect)(select => {
41
+ const {
42
+ __experimentalGetCurrentGlobalStylesId
43
+ } = select(_coreData.store);
44
+ return {
45
+ globalStylesId: __experimentalGetCurrentGlobalStylesId()
46
+ };
47
+ });
48
+ const globalStyles = (0, _coreData.useEntityRecord)('root', 'globalStyles', globalStylesId);
49
+ const fontFamiliesHasChanges = !!globalStyles?.edits?.settings?.typography?.fontFamilies;
50
+ const {
51
+ createErrorNotice
52
+ } = (0, _data.useDispatch)(_notices.store);
53
+ const [isInstalling, setIsInstalling] = (0, _element.useState)(false);
54
+ const [refreshKey, setRefreshKey] = (0, _element.useState)(0);
55
+ const refreshLibrary = () => {
56
+ setRefreshKey(Date.now());
57
+ };
58
+ const {
59
+ records: libraryPosts = [],
60
+ isResolving: isResolvingLibrary,
61
+ hasResolved: hasResolvedLibrary
62
+ } = (0, _coreData.useEntityRecords)('postType', 'wp_font_family', {
63
+ refreshKey
64
+ });
65
+ const libraryFonts = (libraryPosts || []).map(post => JSON.parse(post.content.raw)) || [];
66
+
67
+ // Global Styles (settings) font families
68
+ const [fontFamilies, setFontFamilies] = useGlobalSetting('typography.fontFamilies');
69
+ // theme.json file font families
70
+ const [baseFontFamilies] = useGlobalSetting('typography.fontFamilies', undefined, 'base');
71
+
72
+ // Save font families to the global styles post in the database.
73
+ const saveFontFamilies = () => {
74
+ saveSpecifiedEntityEdits('root', 'globalStyles', globalStylesId, ['settings.typography.fontFamilies']);
75
+ };
76
+
77
+ // Library Fonts
78
+ const [modalTabOpen, setModalTabOpen] = (0, _element.useState)(false);
79
+ const [libraryFontSelected, setLibraryFontSelected] = (0, _element.useState)(null);
80
+ const baseThemeFonts = baseFontFamilies?.theme ? baseFontFamilies.theme.map(f => (0, _utils.setUIValuesNeeded)(f, {
81
+ source: 'theme'
82
+ })).sort((a, b) => a.name.localeCompare(b.name)) : [];
83
+ const themeFonts = fontFamilies?.theme ? fontFamilies.theme.map(f => (0, _utils.setUIValuesNeeded)(f, {
84
+ source: 'theme'
85
+ })).sort((a, b) => a.name.localeCompare(b.name)) : [];
86
+ const customFonts = fontFamilies?.custom ? fontFamilies.custom.map(f => (0, _utils.setUIValuesNeeded)(f, {
87
+ source: 'custom'
88
+ })).sort((a, b) => a.name.localeCompare(b.name)) : [];
89
+ const baseCustomFonts = libraryFonts ? libraryFonts.map(f => (0, _utils.setUIValuesNeeded)(f, {
90
+ source: 'custom'
91
+ })).sort((a, b) => a.name.localeCompare(b.name)) : [];
92
+ (0, _element.useEffect)(() => {
93
+ if (!modalTabOpen) {
94
+ setLibraryFontSelected(null);
95
+ }
96
+ }, [modalTabOpen]);
97
+ const handleSetLibraryFontSelected = font => {
98
+ // If font is null, reset the selected font
99
+ if (!font) {
100
+ setLibraryFontSelected(null);
101
+ return;
102
+ }
103
+ const fonts = font.source === 'theme' ? baseThemeFonts : baseCustomFonts;
104
+
105
+ // Tries to find the font in the installed fonts
106
+ const fontSelected = fonts.find(f => f.slug === font.slug);
107
+ // If the font is not found (it is only defined in custom styles), use the font from custom styles
108
+ setLibraryFontSelected({
109
+ ...(fontSelected || font),
110
+ source: font.source
111
+ });
112
+ };
113
+ const toggleModal = tabName => {
114
+ setModalTabOpen(tabName || null);
115
+ };
116
+
117
+ // Demo
118
+ const [loadedFontUrls] = (0, _element.useState)(new Set());
119
+
120
+ // Theme data
121
+ const {
122
+ site,
123
+ currentTheme
124
+ } = (0, _data.useSelect)(select => {
125
+ return {
126
+ site: select(_coreData.store).getSite(),
127
+ currentTheme: select(_coreData.store).getCurrentTheme()
128
+ };
129
+ });
130
+ const themeUrl = site?.url + '/wp-content/themes/' + currentTheme?.stylesheet;
131
+ const getAvailableFontsOutline = availableFontFamilies => {
132
+ const outline = availableFontFamilies.reduce((acc, font) => {
133
+ const availableFontFaces = Array.isArray(font?.fontFace) ? font?.fontFace.map(face => `${face.fontStyle + face.fontWeight}`) : ['normal400']; // If the font doesn't have fontFace, we assume it is a system font and we add the defaults: normal 400
134
+
135
+ acc[font.slug] = availableFontFaces;
136
+ return acc;
137
+ }, {});
138
+ return outline;
139
+ };
140
+ const getActivatedFontsOutline = source => {
141
+ switch (source) {
142
+ case 'theme':
143
+ return getAvailableFontsOutline(themeFonts);
144
+ case 'custom':
145
+ default:
146
+ return getAvailableFontsOutline(customFonts);
147
+ }
148
+ };
149
+ const isFontActivated = (slug, style, weight, source) => {
150
+ if (!style && !weight) {
151
+ return !!getActivatedFontsOutline(source)[slug];
152
+ }
153
+ return !!getActivatedFontsOutline(source)[slug]?.includes(style + weight);
154
+ };
155
+ const getFontFacesActivated = (slug, source) => {
156
+ return getActivatedFontsOutline(source)[slug] || [];
157
+ };
158
+ async function installFonts(fonts) {
159
+ setIsInstalling(true);
160
+ try {
161
+ // Prepare formData to install.
162
+ const formData = (0, _utils.makeFormDataFromFontFamilies)(fonts);
163
+ // Install the fonts (upload the font files to the server and create the post in the database).
164
+ const fontsInstalled = await (0, _resolvers.fetchInstallFonts)(formData);
165
+ // Get intersecting font faces between the fonts we tried to installed and the fonts that were installed
166
+ // (to avoid activating a non installed font).
167
+ const fontToBeActivated = (0, _getIntersectingFontFaces.default)(fontsInstalled, fonts);
168
+ // Activate the font families (add the font families to the global styles).
169
+ activateCustomFontFamilies(fontToBeActivated);
170
+ // Save the global styles to the database.
171
+ saveSpecifiedEntityEdits('root', 'globalStyles', globalStylesId, ['settings.typography.fontFamilies']);
172
+ refreshLibrary();
173
+ setIsInstalling(false);
174
+ return true;
175
+ } catch (e) {
176
+ // eslint-disable-next-line no-console
177
+ console.error(e);
178
+ createErrorNotice((0, _i18n.__)('Error installing fonts.'), {
179
+ type: 'snackbar'
180
+ });
181
+ setIsInstalling(false);
182
+ return false;
183
+ }
184
+ }
185
+ async function uninstallFont(font) {
186
+ try {
187
+ // Uninstall the font (remove the font files from the server and the post from the database).
188
+ await (0, _resolvers.fetchUninstallFonts)([font]);
189
+ // Deactivate the font family (remove the font family from the global styles).
190
+ deactivateFontFamily(font);
191
+ // Save the global styles to the database.
192
+ await saveSpecifiedEntityEdits('root', 'globalStyles', globalStylesId, ['settings.typography.fontFamilies']);
193
+ // Refresh the library (the the library font families from database).
194
+ refreshLibrary();
195
+ return true;
196
+ } catch (e) {
197
+ // eslint-disable-next-line no-console
198
+ console.error(e);
199
+ createErrorNotice((0, _i18n.__)('Error uninstalling fonts.'), {
200
+ type: 'snackbar'
201
+ });
202
+ return false;
203
+ }
204
+ }
205
+ const deactivateFontFamily = font => {
206
+ var _fontFamilies$font$so;
207
+ // If the user doesn't have custom fonts defined, include as custom fonts all the theme fonts
208
+ // We want to save as active all the theme fonts at the beginning
209
+ const initialCustomFonts = (_fontFamilies$font$so = fontFamilies?.[font.source]) !== null && _fontFamilies$font$so !== void 0 ? _fontFamilies$font$so : [];
210
+ const newCustomFonts = initialCustomFonts.filter(f => f.slug !== font.slug);
211
+ setFontFamilies({
212
+ ...fontFamilies,
213
+ [font.source]: newCustomFonts
214
+ });
215
+ };
216
+ const activateCustomFontFamilies = fontsToAdd => {
217
+ // Merge the existing custom fonts with the new fonts.
218
+ const newCustomFonts = (0, _utils.mergeFontFamilies)(fontFamilies?.custom, fontsToAdd);
219
+ // Activate the fonts by set the new custom fonts array.
220
+ setFontFamilies({
221
+ ...fontFamilies,
222
+ custom: newCustomFonts
223
+ });
224
+ // Add custom fonts to the browser.
225
+ fontsToAdd.forEach(font => {
226
+ font.fontFace.forEach(face => {
227
+ // Load font faces just in the iframe because they already are in the document.
228
+ (0, _utils.loadFontFaceInBrowser)(face, (0, _utils.getDisplaySrcFromFontFace)(face.src), 'iframe');
229
+ });
230
+ });
231
+ };
232
+ const toggleActivateFont = (font, face) => {
233
+ var _fontFamilies$font$so2;
234
+ // If the user doesn't have custom fonts defined, include as custom fonts all the theme fonts
235
+ // We want to save as active all the theme fonts at the beginning
236
+ const initialFonts = (_fontFamilies$font$so2 = fontFamilies?.[font.source]) !== null && _fontFamilies$font$so2 !== void 0 ? _fontFamilies$font$so2 : [];
237
+ // Toggles the received font family or font face
238
+ const newFonts = (0, _toggleFont.toggleFont)(font, face, initialFonts);
239
+ // Updates the font families activated in global settings:
240
+ setFontFamilies({
241
+ ...fontFamilies,
242
+ [font.source]: newFonts
243
+ });
244
+ };
245
+ const loadFontFaceAsset = async fontFace => {
246
+ // If the font doesn't have a src, don't load it.
247
+ if (!fontFace.src) return;
248
+ // Get the src of the font.
249
+ const src = (0, _utils.getDisplaySrcFromFontFace)(fontFace.src, themeUrl);
250
+ // If the font is already loaded, don't load it again.
251
+ if (loadedFontUrls.has(src)) return;
252
+ // Load the font in the browser.
253
+ (0, _utils.loadFontFaceInBrowser)(fontFace, src, 'document');
254
+ // Add the font to the loaded fonts list.
255
+ loadedFontUrls.add(src);
256
+ };
257
+
258
+ // Font Collections
259
+ const [collections, setFontCollections] = (0, _element.useState)([]);
260
+ const getFontCollections = async () => {
261
+ const response = await (0, _resolvers.fetchFontCollections)();
262
+ setFontCollections(response);
263
+ };
264
+ const getFontCollection = async id => {
265
+ const hasData = !!collections.find(collection => collection.id === id)?.data;
266
+ if (hasData) return;
267
+ const response = await (0, _resolvers.fetchFontCollection)(id);
268
+ const updatedCollections = collections.map(collection => collection.id === id ? {
269
+ ...collection,
270
+ data: {
271
+ ...response?.data
272
+ }
273
+ } : collection);
274
+ setFontCollections(updatedCollections);
275
+ };
276
+ (0, _element.useEffect)(() => {
277
+ getFontCollections();
278
+ }, []);
279
+ return (0, _element.createElement)(FontLibraryContext.Provider, {
280
+ value: {
281
+ libraryFontSelected,
282
+ handleSetLibraryFontSelected,
283
+ themeFonts,
284
+ baseThemeFonts,
285
+ customFonts,
286
+ baseCustomFonts,
287
+ isFontActivated,
288
+ getFontFacesActivated,
289
+ loadFontFaceAsset,
290
+ installFonts,
291
+ uninstallFont,
292
+ toggleActivateFont,
293
+ getAvailableFontsOutline,
294
+ modalTabOpen,
295
+ toggleModal,
296
+ refreshLibrary,
297
+ saveFontFamilies,
298
+ fontFamiliesHasChanges,
299
+ isResolvingLibrary,
300
+ hasResolvedLibrary,
301
+ isInstalling,
302
+ collections,
303
+ getFontCollection
304
+ }
305
+ }, children);
306
+ }
307
+ var _default = FontLibraryProvider;
308
+ exports.default = _default;
309
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_element","require","_blockEditor","_data","_coreData","_notices","_i18n","_resolvers","_lockUnlock","_utils","_toggleFont","_getIntersectingFontFaces","_interopRequireDefault","useGlobalSetting","unlock","blockEditorPrivateApis","FontLibraryContext","createContext","exports","FontLibraryProvider","children","__experimentalSaveSpecifiedEntityEdits","saveSpecifiedEntityEdits","useDispatch","coreStore","globalStylesId","useSelect","select","__experimentalGetCurrentGlobalStylesId","globalStyles","useEntityRecord","fontFamiliesHasChanges","edits","settings","typography","fontFamilies","createErrorNotice","noticesStore","isInstalling","setIsInstalling","useState","refreshKey","setRefreshKey","refreshLibrary","Date","now","records","libraryPosts","isResolving","isResolvingLibrary","hasResolved","hasResolvedLibrary","useEntityRecords","libraryFonts","map","post","JSON","parse","content","raw","setFontFamilies","baseFontFamilies","undefined","saveFontFamilies","modalTabOpen","setModalTabOpen","libraryFontSelected","setLibraryFontSelected","baseThemeFonts","theme","f","setUIValuesNeeded","source","sort","a","b","name","localeCompare","themeFonts","customFonts","custom","baseCustomFonts","useEffect","handleSetLibraryFontSelected","font","fonts","fontSelected","find","slug","toggleModal","tabName","loadedFontUrls","Set","site","currentTheme","getSite","getCurrentTheme","themeUrl","url","stylesheet","getAvailableFontsOutline","availableFontFamilies","outline","reduce","acc","availableFontFaces","Array","isArray","fontFace","face","fontStyle","fontWeight","getActivatedFontsOutline","isFontActivated","style","weight","includes","getFontFacesActivated","installFonts","formData","makeFormDataFromFontFamilies","fontsInstalled","fetchInstallFonts","fontToBeActivated","getIntersectingFontFaces","activateCustomFontFamilies","e","console","error","__","type","uninstallFont","fetchUninstallFonts","deactivateFontFamily","_fontFamilies$font$so","initialCustomFonts","newCustomFonts","filter","fontsToAdd","mergeFontFamilies","forEach","loadFontFaceInBrowser","getDisplaySrcFromFontFace","src","toggleActivateFont","_fontFamilies$font$so2","initialFonts","newFonts","toggleFont","loadFontFaceAsset","has","add","collections","setFontCollections","getFontCollections","response","fetchFontCollections","getFontCollection","id","hasData","collection","data","fetchFontCollection","updatedCollections","createElement","Provider","value","_default","default"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/context.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createContext, useState, useEffect } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseEntityRecord,\n\tuseEntityRecords,\n\tstore as coreStore,\n} from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tfetchInstallFonts,\n\tfetchUninstallFonts,\n\tfetchFontCollections,\n\tfetchFontCollection,\n} from './resolvers';\nimport { unlock } from '../../../lock-unlock';\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\nimport {\n\tsetUIValuesNeeded,\n\tmergeFontFamilies,\n\tloadFontFaceInBrowser,\n\tgetDisplaySrcFromFontFace,\n\tmakeFormDataFromFontFamilies,\n} from './utils';\nimport { toggleFont } from './utils/toggleFont';\nimport getIntersectingFontFaces from './utils/get-intersecting-font-faces';\n\nexport const FontLibraryContext = createContext( {} );\n\nfunction FontLibraryProvider( { children } ) {\n\tconst { __experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits } =\n\t\tuseDispatch( coreStore );\n\tconst { globalStylesId } = useSelect( ( select ) => {\n\t\tconst { __experimentalGetCurrentGlobalStylesId } = select( coreStore );\n\t\treturn { globalStylesId: __experimentalGetCurrentGlobalStylesId() };\n\t} );\n\n\tconst globalStyles = useEntityRecord(\n\t\t'root',\n\t\t'globalStyles',\n\t\tglobalStylesId\n\t);\n\tconst fontFamiliesHasChanges =\n\t\t!! globalStyles?.edits?.settings?.typography?.fontFamilies;\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst [ isInstalling, setIsInstalling ] = useState( false );\n\tconst [ refreshKey, setRefreshKey ] = useState( 0 );\n\n\tconst refreshLibrary = () => {\n\t\tsetRefreshKey( Date.now() );\n\t};\n\n\tconst {\n\t\trecords: libraryPosts = [],\n\t\tisResolving: isResolvingLibrary,\n\t\thasResolved: hasResolvedLibrary,\n\t} = useEntityRecords( 'postType', 'wp_font_family', { refreshKey } );\n\n\tconst libraryFonts =\n\t\t( libraryPosts || [] ).map( ( post ) =>\n\t\t\tJSON.parse( post.content.raw )\n\t\t) || [];\n\n\t// Global Styles (settings) font families\n\tconst [ fontFamilies, setFontFamilies ] = useGlobalSetting(\n\t\t'typography.fontFamilies'\n\t);\n\t// theme.json file font families\n\tconst [ baseFontFamilies ] = useGlobalSetting(\n\t\t'typography.fontFamilies',\n\t\tundefined,\n\t\t'base'\n\t);\n\n\t// Save font families to the global styles post in the database.\n\tconst saveFontFamilies = () => {\n\t\tsaveSpecifiedEntityEdits( 'root', 'globalStyles', globalStylesId, [\n\t\t\t'settings.typography.fontFamilies',\n\t\t] );\n\t};\n\n\t// Library Fonts\n\tconst [ modalTabOpen, setModalTabOpen ] = useState( false );\n\tconst [ libraryFontSelected, setLibraryFontSelected ] = useState( null );\n\n\tconst baseThemeFonts = baseFontFamilies?.theme\n\t\t? baseFontFamilies.theme\n\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'theme' } ) )\n\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t: [];\n\n\tconst themeFonts = fontFamilies?.theme\n\t\t? fontFamilies.theme\n\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'theme' } ) )\n\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t: [];\n\n\tconst customFonts = fontFamilies?.custom\n\t\t? fontFamilies.custom\n\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'custom' } ) )\n\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t: [];\n\n\tconst baseCustomFonts = libraryFonts\n\t\t? libraryFonts\n\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'custom' } ) )\n\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t: [];\n\n\tuseEffect( () => {\n\t\tif ( ! modalTabOpen ) {\n\t\t\tsetLibraryFontSelected( null );\n\t\t}\n\t}, [ modalTabOpen ] );\n\n\tconst handleSetLibraryFontSelected = ( font ) => {\n\t\t// If font is null, reset the selected font\n\t\tif ( ! font ) {\n\t\t\tsetLibraryFontSelected( null );\n\t\t\treturn;\n\t\t}\n\n\t\tconst fonts =\n\t\t\tfont.source === 'theme' ? baseThemeFonts : baseCustomFonts;\n\n\t\t// Tries to find the font in the installed fonts\n\t\tconst fontSelected = fonts.find( ( f ) => f.slug === font.slug );\n\t\t// If the font is not found (it is only defined in custom styles), use the font from custom styles\n\t\tsetLibraryFontSelected( {\n\t\t\t...( fontSelected || font ),\n\t\t\tsource: font.source,\n\t\t} );\n\t};\n\n\tconst toggleModal = ( tabName ) => {\n\t\tsetModalTabOpen( tabName || null );\n\t};\n\n\t// Demo\n\tconst [ loadedFontUrls ] = useState( new Set() );\n\n\t// Theme data\n\tconst { site, currentTheme } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tsite: select( coreStore ).getSite(),\n\t\t\tcurrentTheme: select( coreStore ).getCurrentTheme(),\n\t\t};\n\t} );\n\tconst themeUrl =\n\t\tsite?.url + '/wp-content/themes/' + currentTheme?.stylesheet;\n\n\tconst getAvailableFontsOutline = ( availableFontFamilies ) => {\n\t\tconst outline = availableFontFamilies.reduce( ( acc, font ) => {\n\t\t\tconst availableFontFaces = Array.isArray( font?.fontFace )\n\t\t\t\t? font?.fontFace.map(\n\t\t\t\t\t\t( face ) => `${ face.fontStyle + face.fontWeight }`\n\t\t\t\t )\n\t\t\t\t: [ 'normal400' ]; // If the font doesn't have fontFace, we assume it is a system font and we add the defaults: normal 400\n\n\t\t\tacc[ font.slug ] = availableFontFaces;\n\t\t\treturn acc;\n\t\t}, {} );\n\t\treturn outline;\n\t};\n\n\tconst getActivatedFontsOutline = ( source ) => {\n\t\tswitch ( source ) {\n\t\t\tcase 'theme':\n\t\t\t\treturn getAvailableFontsOutline( themeFonts );\n\t\t\tcase 'custom':\n\t\t\tdefault:\n\t\t\t\treturn getAvailableFontsOutline( customFonts );\n\t\t}\n\t};\n\n\tconst isFontActivated = ( slug, style, weight, source ) => {\n\t\tif ( ! style && ! weight ) {\n\t\t\treturn !! getActivatedFontsOutline( source )[ slug ];\n\t\t}\n\t\treturn !! getActivatedFontsOutline( source )[ slug ]?.includes(\n\t\t\tstyle + weight\n\t\t);\n\t};\n\n\tconst getFontFacesActivated = ( slug, source ) => {\n\t\treturn getActivatedFontsOutline( source )[ slug ] || [];\n\t};\n\n\tasync function installFonts( fonts ) {\n\t\tsetIsInstalling( true );\n\t\ttry {\n\t\t\t// Prepare formData to install.\n\t\t\tconst formData = makeFormDataFromFontFamilies( fonts );\n\t\t\t// Install the fonts (upload the font files to the server and create the post in the database).\n\t\t\tconst fontsInstalled = await fetchInstallFonts( formData );\n\t\t\t// Get intersecting font faces between the fonts we tried to installed and the fonts that were installed\n\t\t\t// (to avoid activating a non installed font).\n\t\t\tconst fontToBeActivated = getIntersectingFontFaces(\n\t\t\t\tfontsInstalled,\n\t\t\t\tfonts\n\t\t\t);\n\t\t\t// Activate the font families (add the font families to the global styles).\n\t\t\tactivateCustomFontFamilies( fontToBeActivated );\n\t\t\t// Save the global styles to the database.\n\t\t\tsaveSpecifiedEntityEdits( 'root', 'globalStyles', globalStylesId, [\n\t\t\t\t'settings.typography.fontFamilies',\n\t\t\t] );\n\t\t\trefreshLibrary();\n\t\t\tsetIsInstalling( false );\n\t\t\treturn true;\n\t\t} catch ( e ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error( e );\n\t\t\tcreateErrorNotice( __( 'Error installing fonts.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t\tsetIsInstalling( false );\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tasync function uninstallFont( font ) {\n\t\ttry {\n\t\t\t// Uninstall the font (remove the font files from the server and the post from the database).\n\t\t\tawait fetchUninstallFonts( [ font ] );\n\t\t\t// Deactivate the font family (remove the font family from the global styles).\n\t\t\tdeactivateFontFamily( font );\n\t\t\t// Save the global styles to the database.\n\t\t\tawait saveSpecifiedEntityEdits(\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId,\n\t\t\t\t[ 'settings.typography.fontFamilies' ]\n\t\t\t);\n\t\t\t// Refresh the library (the the library font families from database).\n\t\t\trefreshLibrary();\n\t\t\treturn true;\n\t\t} catch ( e ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error( e );\n\t\t\tcreateErrorNotice( __( 'Error uninstalling fonts.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tconst deactivateFontFamily = ( font ) => {\n\t\t// If the user doesn't have custom fonts defined, include as custom fonts all the theme fonts\n\t\t// We want to save as active all the theme fonts at the beginning\n\t\tconst initialCustomFonts = fontFamilies?.[ font.source ] ?? [];\n\t\tconst newCustomFonts = initialCustomFonts.filter(\n\t\t\t( f ) => f.slug !== font.slug\n\t\t);\n\t\tsetFontFamilies( {\n\t\t\t...fontFamilies,\n\t\t\t[ font.source ]: newCustomFonts,\n\t\t} );\n\t};\n\n\tconst activateCustomFontFamilies = ( fontsToAdd ) => {\n\t\t// Merge the existing custom fonts with the new fonts.\n\t\tconst newCustomFonts = mergeFontFamilies(\n\t\t\tfontFamilies?.custom,\n\t\t\tfontsToAdd\n\t\t);\n\t\t// Activate the fonts by set the new custom fonts array.\n\t\tsetFontFamilies( {\n\t\t\t...fontFamilies,\n\t\t\tcustom: newCustomFonts,\n\t\t} );\n\t\t// Add custom fonts to the browser.\n\t\tfontsToAdd.forEach( ( font ) => {\n\t\t\tfont.fontFace.forEach( ( face ) => {\n\t\t\t\t// Load font faces just in the iframe because they already are in the document.\n\t\t\t\tloadFontFaceInBrowser(\n\t\t\t\t\tface,\n\t\t\t\t\tgetDisplaySrcFromFontFace( face.src ),\n\t\t\t\t\t'iframe'\n\t\t\t\t);\n\t\t\t} );\n\t\t} );\n\t};\n\n\tconst toggleActivateFont = ( font, face ) => {\n\t\t// If the user doesn't have custom fonts defined, include as custom fonts all the theme fonts\n\t\t// We want to save as active all the theme fonts at the beginning\n\t\tconst initialFonts = fontFamilies?.[ font.source ] ?? [];\n\t\t// Toggles the received font family or font face\n\t\tconst newFonts = toggleFont( font, face, initialFonts );\n\t\t// Updates the font families activated in global settings:\n\t\tsetFontFamilies( {\n\t\t\t...fontFamilies,\n\t\t\t[ font.source ]: newFonts,\n\t\t} );\n\t};\n\n\tconst loadFontFaceAsset = async ( fontFace ) => {\n\t\t// If the font doesn't have a src, don't load it.\n\t\tif ( ! fontFace.src ) return;\n\t\t// Get the src of the font.\n\t\tconst src = getDisplaySrcFromFontFace( fontFace.src, themeUrl );\n\t\t// If the font is already loaded, don't load it again.\n\t\tif ( loadedFontUrls.has( src ) ) return;\n\t\t// Load the font in the browser.\n\t\tloadFontFaceInBrowser( fontFace, src, 'document' );\n\t\t// Add the font to the loaded fonts list.\n\t\tloadedFontUrls.add( src );\n\t};\n\n\t// Font Collections\n\tconst [ collections, setFontCollections ] = useState( [] );\n\tconst getFontCollections = async () => {\n\t\tconst response = await fetchFontCollections();\n\t\tsetFontCollections( response );\n\t};\n\tconst getFontCollection = async ( id ) => {\n\t\tconst hasData = !! collections.find(\n\t\t\t( collection ) => collection.id === id\n\t\t)?.data;\n\t\tif ( hasData ) return;\n\t\tconst response = await fetchFontCollection( id );\n\t\tconst updatedCollections = collections.map( ( collection ) =>\n\t\t\tcollection.id === id\n\t\t\t\t? { ...collection, data: { ...response?.data } }\n\t\t\t\t: collection\n\t\t);\n\t\tsetFontCollections( updatedCollections );\n\t};\n\n\tuseEffect( () => {\n\t\tgetFontCollections();\n\t}, [] );\n\n\treturn (\n\t\t<FontLibraryContext.Provider\n\t\t\tvalue={ {\n\t\t\t\tlibraryFontSelected,\n\t\t\t\thandleSetLibraryFontSelected,\n\t\t\t\tthemeFonts,\n\t\t\t\tbaseThemeFonts,\n\t\t\t\tcustomFonts,\n\t\t\t\tbaseCustomFonts,\n\t\t\t\tisFontActivated,\n\t\t\t\tgetFontFacesActivated,\n\t\t\t\tloadFontFaceAsset,\n\t\t\t\tinstallFonts,\n\t\t\t\tuninstallFont,\n\t\t\t\ttoggleActivateFont,\n\t\t\t\tgetAvailableFontsOutline,\n\t\t\t\tmodalTabOpen,\n\t\t\t\ttoggleModal,\n\t\t\t\trefreshLibrary,\n\t\t\t\tsaveFontFamilies,\n\t\t\t\tfontFamiliesHasChanges,\n\t\t\t\tisResolvingLibrary,\n\t\t\t\thasResolvedLibrary,\n\t\t\t\tisInstalling,\n\t\t\t\tcollections,\n\t\t\t\tgetFontCollection,\n\t\t\t} }\n\t\t>\n\t\t\t{ children }\n\t\t</FontLibraryContext.Provider>\n\t);\n}\n\nexport default FontLibraryProvider;\n"],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _element = require("@wordpress/element");
9
+ var _i18n = require("@wordpress/i18n");
10
+ var _components = require("@wordpress/components");
11
+ var _fontDemo = _interopRequireDefault(require("./font-demo"));
12
+ var _previewStyles = require("./utils/preview-styles");
13
+ var _icons = require("@wordpress/icons");
14
+ /**
15
+ * WordPress dependencies
16
+ */
17
+
18
+ /**
19
+ * Internal dependencies
20
+ */
21
+
22
+ function FontCard({
23
+ font,
24
+ onClick,
25
+ variantsText
26
+ }) {
27
+ const fakeFontFace = {
28
+ fontStyle: 'normal',
29
+ fontWeight: '400',
30
+ fontFamily: font.fontFamily,
31
+ fake: true
32
+ };
33
+ const displayFontFace = font.fontFace && font.fontFace.length ? font?.fontFace?.find(face => face.fontStyle === 'normal' && face.fontWeight === '400') || font.fontFace[0] : fakeFontFace;
34
+ const demoStyle = (0, _previewStyles.getFamilyPreviewStyle)(font);
35
+ const variantsCount = font.fontFace?.length || 1;
36
+ const style = {
37
+ cursor: !!onClick ? 'pointer' : 'default'
38
+ };
39
+ return (0, _element.createElement)(_components.Button, {
40
+ onClick: onClick,
41
+ style: style,
42
+ className: "font-library-modal__font-card"
43
+ }, (0, _element.createElement)(_components.Flex, {
44
+ justify: "space-between",
45
+ wrap: false
46
+ }, (0, _element.createElement)(_fontDemo.default, {
47
+ customPreviewUrl: font.preview,
48
+ fontFace: displayFontFace,
49
+ text: font.name,
50
+ style: demoStyle
51
+ }), (0, _element.createElement)(_components.Flex, {
52
+ justify: "flex-end"
53
+ }, (0, _element.createElement)(_components.FlexItem, null, (0, _element.createElement)(_components.__experimentalText, {
54
+ className: "font-library-modal__font-card__count"
55
+ }, variantsText || variantsCount + ' ' + (0, _i18n._n)('variant', 'variants', variantsCount))), (0, _element.createElement)(_components.FlexItem, null, (0, _element.createElement)(_components.Icon, {
56
+ icon: _icons.chevronRight
57
+ })))));
58
+ }
59
+ var _default = FontCard;
60
+ exports.default = _default;
61
+ //# sourceMappingURL=font-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_i18n","require","_components","_fontDemo","_interopRequireDefault","_previewStyles","_icons","FontCard","font","onClick","variantsText","fakeFontFace","fontStyle","fontWeight","fontFamily","fake","displayFontFace","fontFace","length","find","face","demoStyle","getFamilyPreviewStyle","variantsCount","style","cursor","_element","createElement","Button","className","Flex","justify","wrap","default","customPreviewUrl","preview","text","name","FlexItem","__experimentalText","_n","Icon","icon","chevronRight","_default","exports"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/font-card.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { _n } from '@wordpress/i18n';\nimport {\n\t__experimentalText as Text,\n\tButton,\n\tFlex,\n\tFlexItem,\n\tIcon,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport FontDemo from './font-demo';\nimport { getFamilyPreviewStyle } from './utils/preview-styles';\nimport { chevronRight } from '@wordpress/icons';\n\nfunction FontCard( { font, onClick, variantsText } ) {\n\tconst fakeFontFace = {\n\t\tfontStyle: 'normal',\n\t\tfontWeight: '400',\n\t\tfontFamily: font.fontFamily,\n\t\tfake: true,\n\t};\n\n\tconst displayFontFace =\n\t\tfont.fontFace && font.fontFace.length\n\t\t\t? font?.fontFace?.find(\n\t\t\t\t\t( face ) =>\n\t\t\t\t\t\tface.fontStyle === 'normal' && face.fontWeight === '400'\n\t\t\t ) || font.fontFace[ 0 ]\n\t\t\t: fakeFontFace;\n\n\tconst demoStyle = getFamilyPreviewStyle( font );\n\n\tconst variantsCount = font.fontFace?.length || 1;\n\n\tconst style = {\n\t\tcursor: !! onClick ? 'pointer' : 'default',\n\t};\n\n\treturn (\n\t\t<Button\n\t\t\tonClick={ onClick }\n\t\t\tstyle={ style }\n\t\t\tclassName=\"font-library-modal__font-card\"\n\t\t>\n\t\t\t<Flex justify=\"space-between\" wrap={ false }>\n\t\t\t\t<FontDemo\n\t\t\t\t\tcustomPreviewUrl={ font.preview }\n\t\t\t\t\tfontFace={ displayFontFace }\n\t\t\t\t\ttext={ font.name }\n\t\t\t\t\tstyle={ demoStyle }\n\t\t\t\t/>\n\t\t\t\t<Flex justify=\"flex-end\">\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Text className=\"font-library-modal__font-card__count\">\n\t\t\t\t\t\t\t{ variantsText ||\n\t\t\t\t\t\t\t\tvariantsCount +\n\t\t\t\t\t\t\t\t\t' ' +\n\t\t\t\t\t\t\t\t\t_n( 'variant', 'variants', variantsCount ) }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Icon icon={ chevronRight } />\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t</Flex>\n\t\t</Button>\n\t);\n}\n\nexport default FontCard;\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAWA,IAAAE,SAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AAjBA;AACA;AACA;;AAUA;AACA;AACA;;AAKA,SAASM,QAAQA,CAAE;EAAEC,IAAI;EAAEC,OAAO;EAAEC;AAAa,CAAC,EAAG;EACpD,MAAMC,YAAY,GAAG;IACpBC,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE,KAAK;IACjBC,UAAU,EAAEN,IAAI,CAACM,UAAU;IAC3BC,IAAI,EAAE;EACP,CAAC;EAED,MAAMC,eAAe,GACpBR,IAAI,CAACS,QAAQ,IAAIT,IAAI,CAACS,QAAQ,CAACC,MAAM,GAClCV,IAAI,EAAES,QAAQ,EAAEE,IAAI,CAClBC,IAAI,IACLA,IAAI,CAACR,SAAS,KAAK,QAAQ,IAAIQ,IAAI,CAACP,UAAU,KAAK,KACpD,CAAC,IAAIL,IAAI,CAACS,QAAQ,CAAE,CAAC,CAAE,GACvBN,YAAY;EAEhB,MAAMU,SAAS,GAAG,IAAAC,oCAAqB,EAAEd,IAAK,CAAC;EAE/C,MAAMe,aAAa,GAAGf,IAAI,CAACS,QAAQ,EAAEC,MAAM,IAAI,CAAC;EAEhD,MAAMM,KAAK,GAAG;IACbC,MAAM,EAAE,CAAC,CAAEhB,OAAO,GAAG,SAAS,GAAG;EAClC,CAAC;EAED,OACC,IAAAiB,QAAA,CAAAC,aAAA,EAACzB,WAAA,CAAA0B,MAAM;IACNnB,OAAO,EAAGA,OAAS;IACnBe,KAAK,EAAGA,KAAO;IACfK,SAAS,EAAC;EAA+B,GAEzC,IAAAH,QAAA,CAAAC,aAAA,EAACzB,WAAA,CAAA4B,IAAI;IAACC,OAAO,EAAC,eAAe;IAACC,IAAI,EAAG;EAAO,GAC3C,IAAAN,QAAA,CAAAC,aAAA,EAACxB,SAAA,CAAA8B,OAAQ;IACRC,gBAAgB,EAAG1B,IAAI,CAAC2B,OAAS;IACjClB,QAAQ,EAAGD,eAAiB;IAC5BoB,IAAI,EAAG5B,IAAI,CAAC6B,IAAM;IAClBb,KAAK,EAAGH;EAAW,CACnB,CAAC,EACF,IAAAK,QAAA,CAAAC,aAAA,EAACzB,WAAA,CAAA4B,IAAI;IAACC,OAAO,EAAC;EAAU,GACvB,IAAAL,QAAA,CAAAC,aAAA,EAACzB,WAAA,CAAAoC,QAAQ,QACR,IAAAZ,QAAA,CAAAC,aAAA,EAACzB,WAAA,CAAAqC,kBAAI;IAACV,SAAS,EAAC;EAAsC,GACnDnB,YAAY,IACba,aAAa,GACZ,GAAG,GACH,IAAAiB,QAAE,EAAE,SAAS,EAAE,UAAU,EAAEjB,aAAc,CACtC,CACG,CAAC,EACX,IAAAG,QAAA,CAAAC,aAAA,EAACzB,WAAA,CAAAoC,QAAQ,QACR,IAAAZ,QAAA,CAAAC,aAAA,EAACzB,WAAA,CAAAuC,IAAI;IAACC,IAAI,EAAGC;EAAc,CAAE,CACpB,CACL,CACD,CACC,CAAC;AAEX;AAAC,IAAAC,QAAA,GAEcrC,QAAQ;AAAAsC,OAAA,CAAAZ,OAAA,GAAAW,QAAA"}