@wordpress/edit-site 6.12.1-next.082ed6819.0 → 6.13.1-next.cd6172eb0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (443) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-pattern/index.js +3 -16
  3. package/build/components/add-new-pattern/index.js.map +1 -1
  4. package/build/components/add-new-template/index.js +1 -5
  5. package/build/components/add-new-template/index.js.map +1 -1
  6. package/build/components/app/index.js +31 -29
  7. package/build/components/app/index.js.map +1 -1
  8. package/build/components/block-editor/use-editor-iframe-props.js +8 -8
  9. package/build/components/block-editor/use-editor-iframe-props.js.map +1 -1
  10. package/build/components/block-editor/use-navigate-to-entity-record.js +1 -5
  11. package/build/components/block-editor/use-navigate-to-entity-record.js.map +1 -1
  12. package/build/components/block-editor/use-site-editor-settings.js +4 -4
  13. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  14. package/build/components/dataviews-actions/index.js +1 -5
  15. package/build/components/dataviews-actions/index.js.map +1 -1
  16. package/build/components/editor/index.js +38 -22
  17. package/build/components/editor/index.js.map +1 -1
  18. package/build/components/editor/use-editor-title.js +5 -0
  19. package/build/components/editor/use-editor-title.js.map +1 -1
  20. package/build/components/editor/use-resolve-edited-entity.js +19 -4
  21. package/build/components/editor/use-resolve-edited-entity.js.map +1 -1
  22. package/build/components/global-styles/font-library-modal/context.js +0 -1
  23. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  24. package/build/components/global-styles/font-library-modal/font-collection.js +36 -26
  25. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  26. package/build/components/global-styles/font-library-modal/installed-fonts.js +0 -1
  27. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  28. package/build/components/global-styles/font-library-modal/upload-fonts.js +0 -1
  29. package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  30. package/build/components/global-styles-sidebar/index.js +5 -5
  31. package/build/components/global-styles-sidebar/index.js.map +1 -1
  32. package/build/components/layout/index.js +31 -13
  33. package/build/components/layout/index.js.map +1 -1
  34. package/build/components/page-patterns/delete-category-menu-item.js +1 -4
  35. package/build/components/page-patterns/delete-category-menu-item.js.map +1 -1
  36. package/build/components/page-patterns/fields.js +6 -11
  37. package/build/components/page-patterns/fields.js.map +1 -1
  38. package/build/components/page-patterns/index.js +14 -16
  39. package/build/components/page-patterns/index.js.map +1 -1
  40. package/build/components/page-templates/fields.js +8 -17
  41. package/build/components/page-templates/fields.js.map +1 -1
  42. package/build/components/page-templates/index.js +13 -12
  43. package/build/components/page-templates/index.js.map +1 -1
  44. package/build/components/post-edit/index.js +38 -3
  45. package/build/components/post-edit/index.js.map +1 -1
  46. package/build/components/post-list/index.js +25 -39
  47. package/build/components/post-list/index.js.map +1 -1
  48. package/build/components/posts-app/index.js +10 -16
  49. package/build/components/posts-app/index.js.map +1 -1
  50. package/build/components/posts-app-routes/index.js +3 -7
  51. package/build/components/posts-app-routes/index.js.map +1 -1
  52. package/build/components/posts-app-routes/{posts-edit.js → post-item.js} +9 -13
  53. package/build/components/posts-app-routes/post-item.js.map +1 -0
  54. package/build/components/posts-app-routes/posts.js +89 -0
  55. package/build/components/posts-app-routes/posts.js.map +1 -0
  56. package/build/components/resizable-frame/index.js +6 -5
  57. package/build/components/resizable-frame/index.js.map +1 -1
  58. package/build/components/save-panel/index.js +9 -6
  59. package/build/components/save-panel/index.js.map +1 -1
  60. package/build/components/sidebar-dataviews/add-new-view.js +7 -8
  61. package/build/components/sidebar-dataviews/add-new-view.js.map +1 -1
  62. package/build/components/sidebar-dataviews/dataview-item.js +5 -8
  63. package/build/components/sidebar-dataviews/dataview-item.js.map +1 -1
  64. package/build/components/sidebar-dataviews/index.js +4 -3
  65. package/build/components/sidebar-dataviews/index.js.map +1 -1
  66. package/build/components/sidebar-global-styles-wrapper/index.js +18 -18
  67. package/build/components/sidebar-global-styles-wrapper/index.js.map +1 -1
  68. package/build/components/sidebar-navigation-item/index.js +8 -5
  69. package/build/components/sidebar-navigation-item/index.js.map +1 -1
  70. package/build/components/sidebar-navigation-screen/index.js +2 -2
  71. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  72. package/build/components/sidebar-navigation-screen-global-styles/index.js +8 -19
  73. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  74. package/build/components/sidebar-navigation-screen-main/index.js +6 -14
  75. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  76. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -5
  77. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  78. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +2 -7
  79. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  80. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +1 -6
  81. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  82. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +14 -20
  83. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  84. package/build/components/sidebar-navigation-screen-patterns/category-item.js +5 -7
  85. package/build/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -1
  86. package/build/components/sidebar-navigation-screen-patterns/index.js +4 -5
  87. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  88. package/build/components/sidebar-navigation-screen-templates-browse/content.js +25 -16
  89. package/build/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  90. package/build/components/sidebar-navigation-screen-templates-browse/index.js +1 -14
  91. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  92. package/build/components/site-editor-routes/{home-view.js → home.js} +7 -8
  93. package/build/components/site-editor-routes/home.js.map +1 -0
  94. package/build/components/site-editor-routes/index.js +12 -18
  95. package/build/components/site-editor-routes/index.js.map +1 -1
  96. package/build/components/site-editor-routes/navigation-item.js +49 -0
  97. package/build/components/site-editor-routes/navigation-item.js.map +1 -0
  98. package/build/components/{posts-app-routes/home.js → site-editor-routes/navigation.js} +16 -18
  99. package/build/components/site-editor-routes/navigation.js.map +1 -0
  100. package/build/components/site-editor-routes/{pages-edit.js → page-item.js} +10 -17
  101. package/build/components/site-editor-routes/page-item.js.map +1 -0
  102. package/build/components/site-editor-routes/pages.js +87 -0
  103. package/build/components/site-editor-routes/pages.js.map +1 -0
  104. package/build/components/site-editor-routes/{home-edit.js → pattern-item.js} +11 -11
  105. package/build/components/site-editor-routes/pattern-item.js.map +1 -0
  106. package/build/components/site-editor-routes/{patterns-view.js → patterns.js} +6 -9
  107. package/build/components/site-editor-routes/patterns.js.map +1 -0
  108. package/build/components/site-editor-routes/{styles-view.js → styles.js} +28 -9
  109. package/build/components/site-editor-routes/styles.js.map +1 -0
  110. package/build/components/site-editor-routes/{templates-edit.js → template-item.js} +6 -11
  111. package/build/components/site-editor-routes/template-item.js.map +1 -0
  112. package/build/components/site-editor-routes/{patterns-edit.js → template-part-item.js} +6 -11
  113. package/build/components/site-editor-routes/template-part-item.js.map +1 -0
  114. package/build/components/site-editor-routes/{templates-list-view.js → templates.js} +20 -13
  115. package/build/components/site-editor-routes/templates.js.map +1 -0
  116. package/build/components/site-hub/index.js +3 -3
  117. package/build/components/site-hub/index.js.map +1 -1
  118. package/build/components/style-book/constants.js +8 -19
  119. package/build/components/style-book/constants.js.map +1 -1
  120. package/build/components/style-book/index.js +5 -0
  121. package/build/components/style-book/index.js.map +1 -1
  122. package/build/hooks/commands/use-common-commands.js +12 -48
  123. package/build/hooks/commands/use-common-commands.js.map +1 -1
  124. package/build/hooks/commands/use-set-command-context.js +2 -2
  125. package/build/hooks/commands/use-set-command-context.js.map +1 -1
  126. package/build/store/private-actions.js +7 -0
  127. package/build/store/private-actions.js.map +1 -1
  128. package/build/store/reducer.js +2 -0
  129. package/build/store/reducer.js.map +1 -1
  130. package/build/utils/is-previewing-theme.js +1 -1
  131. package/build/utils/is-previewing-theme.js.map +1 -1
  132. package/build/utils/use-activate-theme.js +9 -8
  133. package/build/utils/use-activate-theme.js.map +1 -1
  134. package/build-module/components/add-new-pattern/index.js +3 -16
  135. package/build-module/components/add-new-pattern/index.js.map +1 -1
  136. package/build-module/components/add-new-template/index.js +1 -5
  137. package/build-module/components/add-new-template/index.js.map +1 -1
  138. package/build-module/components/app/index.js +33 -31
  139. package/build-module/components/app/index.js.map +1 -1
  140. package/build-module/components/block-editor/use-editor-iframe-props.js +8 -8
  141. package/build-module/components/block-editor/use-editor-iframe-props.js.map +1 -1
  142. package/build-module/components/block-editor/use-navigate-to-entity-record.js +1 -5
  143. package/build-module/components/block-editor/use-navigate-to-entity-record.js.map +1 -1
  144. package/build-module/components/block-editor/use-site-editor-settings.js +4 -4
  145. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  146. package/build-module/components/dataviews-actions/index.js +1 -5
  147. package/build-module/components/dataviews-actions/index.js.map +1 -1
  148. package/build-module/components/editor/index.js +38 -22
  149. package/build-module/components/editor/index.js.map +1 -1
  150. package/build-module/components/editor/use-editor-title.js +5 -0
  151. package/build-module/components/editor/use-editor-title.js.map +1 -1
  152. package/build-module/components/editor/use-resolve-edited-entity.js +19 -4
  153. package/build-module/components/editor/use-resolve-edited-entity.js.map +1 -1
  154. package/build-module/components/global-styles/font-library-modal/context.js +0 -1
  155. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  156. package/build-module/components/global-styles/font-library-modal/font-collection.js +37 -27
  157. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  158. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +0 -1
  159. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  160. package/build-module/components/global-styles/font-library-modal/upload-fonts.js +0 -1
  161. package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  162. package/build-module/components/global-styles-sidebar/index.js +5 -5
  163. package/build-module/components/global-styles-sidebar/index.js.map +1 -1
  164. package/build-module/components/layout/index.js +33 -15
  165. package/build-module/components/layout/index.js.map +1 -1
  166. package/build-module/components/page-patterns/delete-category-menu-item.js +1 -4
  167. package/build-module/components/page-patterns/delete-category-menu-item.js.map +1 -1
  168. package/build-module/components/page-patterns/fields.js +6 -11
  169. package/build-module/components/page-patterns/fields.js.map +1 -1
  170. package/build-module/components/page-patterns/index.js +14 -16
  171. package/build-module/components/page-patterns/index.js.map +1 -1
  172. package/build-module/components/page-templates/fields.js +7 -14
  173. package/build-module/components/page-templates/fields.js.map +1 -1
  174. package/build-module/components/page-templates/index.js +13 -12
  175. package/build-module/components/page-templates/index.js.map +1 -1
  176. package/build-module/components/post-edit/index.js +38 -3
  177. package/build-module/components/post-edit/index.js.map +1 -1
  178. package/build-module/components/post-list/index.js +25 -39
  179. package/build-module/components/post-list/index.js.map +1 -1
  180. package/build-module/components/posts-app/index.js +11 -17
  181. package/build-module/components/posts-app/index.js.map +1 -1
  182. package/build-module/components/posts-app-routes/index.js +3 -7
  183. package/build-module/components/posts-app-routes/index.js.map +1 -1
  184. package/build-module/components/posts-app-routes/{posts-edit.js → post-item.js} +8 -12
  185. package/build-module/components/posts-app-routes/post-item.js.map +1 -0
  186. package/build-module/components/posts-app-routes/posts.js +81 -0
  187. package/build-module/components/posts-app-routes/posts.js.map +1 -0
  188. package/build-module/components/resizable-frame/index.js +6 -5
  189. package/build-module/components/resizable-frame/index.js.map +1 -1
  190. package/build-module/components/save-panel/index.js +9 -6
  191. package/build-module/components/save-panel/index.js.map +1 -1
  192. package/build-module/components/sidebar-dataviews/add-new-view.js +7 -8
  193. package/build-module/components/sidebar-dataviews/add-new-view.js.map +1 -1
  194. package/build-module/components/sidebar-dataviews/dataview-item.js +5 -8
  195. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
  196. package/build-module/components/sidebar-dataviews/index.js +4 -3
  197. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  198. package/build-module/components/sidebar-global-styles-wrapper/index.js +18 -18
  199. package/build-module/components/sidebar-global-styles-wrapper/index.js.map +1 -1
  200. package/build-module/components/sidebar-navigation-item/index.js +8 -5
  201. package/build-module/components/sidebar-navigation-item/index.js.map +1 -1
  202. package/build-module/components/sidebar-navigation-screen/index.js +2 -2
  203. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  204. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +9 -20
  205. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  206. package/build-module/components/sidebar-navigation-screen-main/index.js +6 -14
  207. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  208. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -5
  209. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  210. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +2 -7
  211. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  212. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +1 -6
  213. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  214. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +14 -20
  215. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  216. package/build-module/components/sidebar-navigation-screen-patterns/category-item.js +5 -7
  217. package/build-module/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -1
  218. package/build-module/components/sidebar-navigation-screen-patterns/index.js +4 -5
  219. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  220. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +25 -16
  221. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  222. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +1 -14
  223. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  224. package/build-module/components/site-editor-routes/{home-edit.js → home.js} +5 -7
  225. package/build-module/components/site-editor-routes/home.js.map +1 -0
  226. package/build-module/components/site-editor-routes/index.js +12 -18
  227. package/build-module/components/site-editor-routes/index.js.map +1 -1
  228. package/build-module/components/site-editor-routes/navigation-item.js +41 -0
  229. package/build-module/components/site-editor-routes/navigation-item.js.map +1 -0
  230. package/build-module/components/site-editor-routes/navigation.js +38 -0
  231. package/build-module/components/site-editor-routes/navigation.js.map +1 -0
  232. package/build-module/components/site-editor-routes/{pages-edit.js → page-item.js} +9 -16
  233. package/build-module/components/site-editor-routes/page-item.js.map +1 -0
  234. package/build-module/components/site-editor-routes/pages.js +79 -0
  235. package/build-module/components/site-editor-routes/pages.js.map +1 -0
  236. package/build-module/components/site-editor-routes/pattern-item.js +18 -0
  237. package/build-module/components/site-editor-routes/pattern-item.js.map +1 -0
  238. package/build-module/components/site-editor-routes/{patterns-view.js → patterns.js} +5 -8
  239. package/build-module/components/site-editor-routes/patterns.js.map +1 -0
  240. package/build-module/components/site-editor-routes/styles.js +44 -0
  241. package/build-module/components/site-editor-routes/styles.js.map +1 -0
  242. package/build-module/components/site-editor-routes/{templates-edit.js → template-item.js} +5 -10
  243. package/build-module/components/site-editor-routes/template-item.js.map +1 -0
  244. package/build-module/components/site-editor-routes/template-part-item.js +18 -0
  245. package/build-module/components/site-editor-routes/template-part-item.js.map +1 -0
  246. package/build-module/components/site-editor-routes/templates.js +33 -0
  247. package/build-module/components/site-editor-routes/templates.js.map +1 -0
  248. package/build-module/components/site-hub/index.js +3 -3
  249. package/build-module/components/site-hub/index.js.map +1 -1
  250. package/build-module/components/style-book/constants.js +8 -19
  251. package/build-module/components/style-book/constants.js.map +1 -1
  252. package/build-module/components/style-book/index.js +5 -0
  253. package/build-module/components/style-book/index.js.map +1 -1
  254. package/build-module/hooks/commands/use-common-commands.js +12 -48
  255. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  256. package/build-module/hooks/commands/use-set-command-context.js +2 -2
  257. package/build-module/hooks/commands/use-set-command-context.js.map +1 -1
  258. package/build-module/store/private-actions.js +6 -0
  259. package/build-module/store/private-actions.js.map +1 -1
  260. package/build-module/store/reducer.js +2 -0
  261. package/build-module/store/reducer.js.map +1 -1
  262. package/build-module/utils/is-previewing-theme.js +1 -1
  263. package/build-module/utils/is-previewing-theme.js.map +1 -1
  264. package/build-module/utils/use-activate-theme.js +9 -8
  265. package/build-module/utils/use-activate-theme.js.map +1 -1
  266. package/build-style/style-rtl.css +94 -12
  267. package/build-style/style.css +94 -12
  268. package/package.json +40 -40
  269. package/src/components/add-new-pattern/index.js +9 -17
  270. package/src/components/add-new-template/index.js +3 -5
  271. package/src/components/app/index.js +34 -35
  272. package/src/components/block-editor/use-editor-iframe-props.js +5 -4
  273. package/src/components/block-editor/use-navigate-to-entity-record.js +3 -1
  274. package/src/components/block-editor/use-site-editor-settings.js +6 -6
  275. package/src/components/dataviews-actions/index.js +1 -5
  276. package/src/components/editor/index.js +64 -29
  277. package/src/components/editor/use-editor-title.js +4 -0
  278. package/src/components/editor/use-resolve-edited-entity.js +17 -2
  279. package/src/components/global-styles/font-library-modal/font-collection.js +40 -27
  280. package/src/components/global-styles/font-library-modal/style.scss +12 -5
  281. package/src/components/global-styles/style.scss +4 -0
  282. package/src/components/global-styles-sidebar/index.js +4 -4
  283. package/src/components/layout/index.js +36 -6
  284. package/src/components/page-patterns/delete-category-menu-item.js +3 -4
  285. package/src/components/page-patterns/fields.js +12 -11
  286. package/src/components/page-patterns/index.js +16 -14
  287. package/src/components/page-templates/fields.js +4 -15
  288. package/src/components/page-templates/index.js +18 -13
  289. package/src/components/post-edit/index.js +36 -2
  290. package/src/components/post-list/index.js +43 -39
  291. package/src/components/posts-app/index.js +9 -18
  292. package/src/components/posts-app-routes/index.js +3 -14
  293. package/src/components/posts-app-routes/{posts-edit.js → post-item.js} +5 -9
  294. package/src/components/posts-app-routes/posts.js +66 -0
  295. package/src/components/resizable-frame/index.js +6 -7
  296. package/src/components/save-panel/index.js +11 -5
  297. package/src/components/sidebar-dataviews/add-new-view.js +9 -9
  298. package/src/components/sidebar-dataviews/dataview-item.js +5 -8
  299. package/src/components/sidebar-dataviews/index.js +2 -2
  300. package/src/components/sidebar-dataviews/style.scss +2 -2
  301. package/src/components/sidebar-global-styles-wrapper/index.js +24 -30
  302. package/src/components/sidebar-navigation-item/index.js +7 -5
  303. package/src/components/sidebar-navigation-item/style.scss +1 -2
  304. package/src/components/sidebar-navigation-screen/index.js +2 -2
  305. package/src/components/sidebar-navigation-screen/style.scss +2 -2
  306. package/src/components/sidebar-navigation-screen-global-styles/index.js +13 -34
  307. package/src/components/sidebar-navigation-screen-main/index.js +6 -10
  308. package/src/components/sidebar-navigation-screen-navigation-menu/more-menu.js +3 -5
  309. package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +2 -2
  310. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +6 -6
  311. package/src/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +9 -21
  312. package/src/components/sidebar-navigation-screen-patterns/category-item.js +5 -20
  313. package/src/components/sidebar-navigation-screen-patterns/index.js +3 -4
  314. package/src/components/sidebar-navigation-screen-templates-browse/content.js +24 -18
  315. package/src/components/sidebar-navigation-screen-templates-browse/index.js +1 -14
  316. package/src/components/site-editor-routes/{home-view.js → home.js} +4 -5
  317. package/src/components/site-editor-routes/index.js +22 -34
  318. package/src/components/site-editor-routes/navigation-item.js +39 -0
  319. package/src/components/site-editor-routes/navigation.js +34 -0
  320. package/src/components/site-editor-routes/{pages-edit.js → page-item.js} +6 -14
  321. package/src/components/site-editor-routes/pages.js +66 -0
  322. package/src/components/site-editor-routes/pattern-item.js +15 -0
  323. package/src/components/site-editor-routes/patterns.js +15 -0
  324. package/src/components/site-editor-routes/styles.js +39 -0
  325. package/src/components/site-editor-routes/template-item.js +15 -0
  326. package/src/components/site-editor-routes/template-part-item.js +15 -0
  327. package/src/components/site-editor-routes/templates.js +26 -0
  328. package/src/components/site-hub/index.js +3 -6
  329. package/src/components/style-book/constants.ts +8 -19
  330. package/src/components/style-book/index.js +5 -0
  331. package/src/hooks/commands/use-common-commands.js +14 -72
  332. package/src/hooks/commands/use-set-command-context.js +2 -2
  333. package/src/store/private-actions.js +7 -0
  334. package/src/store/reducer.js +2 -0
  335. package/src/utils/is-previewing-theme.js +1 -3
  336. package/src/utils/use-activate-theme.js +4 -3
  337. package/build/components/layout/router.js +0 -92
  338. package/build/components/layout/router.js.map +0 -1
  339. package/build/components/posts-app-routes/home.js.map +0 -1
  340. package/build/components/posts-app-routes/posts-edit.js.map +0 -1
  341. package/build/components/posts-app-routes/posts-list-view-quick-edit.js +0 -63
  342. package/build/components/posts-app-routes/posts-list-view-quick-edit.js.map +0 -1
  343. package/build/components/posts-app-routes/posts-list-view.js +0 -48
  344. package/build/components/posts-app-routes/posts-list-view.js.map +0 -1
  345. package/build/components/posts-app-routes/posts-view-quick-edit.js +0 -60
  346. package/build/components/posts-app-routes/posts-view-quick-edit.js.map +0 -1
  347. package/build/components/posts-app-routes/posts-view.js +0 -41
  348. package/build/components/posts-app-routes/posts-view.js.map +0 -1
  349. package/build/components/routes/link.js +0 -69
  350. package/build/components/routes/link.js.map +0 -1
  351. package/build/components/site-editor-routes/home-edit.js.map +0 -1
  352. package/build/components/site-editor-routes/home-view.js.map +0 -1
  353. package/build/components/site-editor-routes/navigation-edit.js +0 -29
  354. package/build/components/site-editor-routes/navigation-edit.js.map +0 -1
  355. package/build/components/site-editor-routes/navigation-item-edit.js +0 -31
  356. package/build/components/site-editor-routes/navigation-item-edit.js.map +0 -1
  357. package/build/components/site-editor-routes/navigation-item-view.js +0 -30
  358. package/build/components/site-editor-routes/navigation-item-view.js.map +0 -1
  359. package/build/components/site-editor-routes/navigation-view.js +0 -28
  360. package/build/components/site-editor-routes/navigation-view.js.map +0 -1
  361. package/build/components/site-editor-routes/pages-edit.js.map +0 -1
  362. package/build/components/site-editor-routes/pages-list-view-quick-edit.js +0 -64
  363. package/build/components/site-editor-routes/pages-list-view-quick-edit.js.map +0 -1
  364. package/build/components/site-editor-routes/pages-list-view.js +0 -47
  365. package/build/components/site-editor-routes/pages-list-view.js.map +0 -1
  366. package/build/components/site-editor-routes/pages-view-quick-edit.js +0 -61
  367. package/build/components/site-editor-routes/pages-view-quick-edit.js.map +0 -1
  368. package/build/components/site-editor-routes/pages-view.js +0 -42
  369. package/build/components/site-editor-routes/pages-view.js.map +0 -1
  370. package/build/components/site-editor-routes/patterns-edit.js.map +0 -1
  371. package/build/components/site-editor-routes/patterns-view.js.map +0 -1
  372. package/build/components/site-editor-routes/styles-view.js.map +0 -1
  373. package/build/components/site-editor-routes/templates-edit.js.map +0 -1
  374. package/build/components/site-editor-routes/templates-list-view.js.map +0 -1
  375. package/build/components/site-editor-routes/templates-view.js +0 -29
  376. package/build/components/site-editor-routes/templates-view.js.map +0 -1
  377. package/build-module/components/layout/router.js +0 -84
  378. package/build-module/components/layout/router.js.map +0 -1
  379. package/build-module/components/posts-app-routes/home.js +0 -40
  380. package/build-module/components/posts-app-routes/home.js.map +0 -1
  381. package/build-module/components/posts-app-routes/posts-edit.js.map +0 -1
  382. package/build-module/components/posts-app-routes/posts-list-view-quick-edit.js +0 -55
  383. package/build-module/components/posts-app-routes/posts-list-view-quick-edit.js.map +0 -1
  384. package/build-module/components/posts-app-routes/posts-list-view.js +0 -40
  385. package/build-module/components/posts-app-routes/posts-list-view.js.map +0 -1
  386. package/build-module/components/posts-app-routes/posts-view-quick-edit.js +0 -52
  387. package/build-module/components/posts-app-routes/posts-view-quick-edit.js.map +0 -1
  388. package/build-module/components/posts-app-routes/posts-view.js +0 -33
  389. package/build-module/components/posts-app-routes/posts-view.js.map +0 -1
  390. package/build-module/components/routes/link.js +0 -61
  391. package/build-module/components/routes/link.js.map +0 -1
  392. package/build-module/components/site-editor-routes/home-edit.js.map +0 -1
  393. package/build-module/components/site-editor-routes/home-view.js +0 -17
  394. package/build-module/components/site-editor-routes/home-view.js.map +0 -1
  395. package/build-module/components/site-editor-routes/navigation-edit.js +0 -21
  396. package/build-module/components/site-editor-routes/navigation-edit.js.map +0 -1
  397. package/build-module/components/site-editor-routes/navigation-item-edit.js +0 -23
  398. package/build-module/components/site-editor-routes/navigation-item-edit.js.map +0 -1
  399. package/build-module/components/site-editor-routes/navigation-item-view.js +0 -22
  400. package/build-module/components/site-editor-routes/navigation-item-view.js.map +0 -1
  401. package/build-module/components/site-editor-routes/navigation-view.js +0 -20
  402. package/build-module/components/site-editor-routes/navigation-view.js.map +0 -1
  403. package/build-module/components/site-editor-routes/pages-edit.js.map +0 -1
  404. package/build-module/components/site-editor-routes/pages-list-view-quick-edit.js +0 -56
  405. package/build-module/components/site-editor-routes/pages-list-view-quick-edit.js.map +0 -1
  406. package/build-module/components/site-editor-routes/pages-list-view.js +0 -39
  407. package/build-module/components/site-editor-routes/pages-list-view.js.map +0 -1
  408. package/build-module/components/site-editor-routes/pages-view-quick-edit.js +0 -53
  409. package/build-module/components/site-editor-routes/pages-view-quick-edit.js.map +0 -1
  410. package/build-module/components/site-editor-routes/pages-view.js +0 -34
  411. package/build-module/components/site-editor-routes/pages-view.js.map +0 -1
  412. package/build-module/components/site-editor-routes/patterns-edit.js +0 -23
  413. package/build-module/components/site-editor-routes/patterns-edit.js.map +0 -1
  414. package/build-module/components/site-editor-routes/patterns-view.js.map +0 -1
  415. package/build-module/components/site-editor-routes/styles-view.js +0 -25
  416. package/build-module/components/site-editor-routes/styles-view.js.map +0 -1
  417. package/build-module/components/site-editor-routes/templates-edit.js.map +0 -1
  418. package/build-module/components/site-editor-routes/templates-list-view.js +0 -26
  419. package/build-module/components/site-editor-routes/templates-list-view.js.map +0 -1
  420. package/build-module/components/site-editor-routes/templates-view.js +0 -21
  421. package/build-module/components/site-editor-routes/templates-view.js.map +0 -1
  422. package/src/components/layout/router.js +0 -86
  423. package/src/components/posts-app-routes/home.js +0 -36
  424. package/src/components/posts-app-routes/posts-list-view-quick-edit.js +0 -52
  425. package/src/components/posts-app-routes/posts-list-view.js +0 -40
  426. package/src/components/posts-app-routes/posts-view-quick-edit.js +0 -49
  427. package/src/components/posts-app-routes/posts-view.js +0 -35
  428. package/src/components/routes/link.js +0 -68
  429. package/src/components/site-editor-routes/home-edit.js +0 -17
  430. package/src/components/site-editor-routes/navigation-edit.js +0 -22
  431. package/src/components/site-editor-routes/navigation-item-edit.js +0 -26
  432. package/src/components/site-editor-routes/navigation-item-view.js +0 -25
  433. package/src/components/site-editor-routes/navigation-view.js +0 -21
  434. package/src/components/site-editor-routes/pages-list-view-quick-edit.js +0 -56
  435. package/src/components/site-editor-routes/pages-list-view.js +0 -44
  436. package/src/components/site-editor-routes/pages-view-quick-edit.js +0 -53
  437. package/src/components/site-editor-routes/pages-view.js +0 -39
  438. package/src/components/site-editor-routes/patterns-edit.js +0 -24
  439. package/src/components/site-editor-routes/patterns-view.js +0 -22
  440. package/src/components/site-editor-routes/styles-view.js +0 -26
  441. package/src/components/site-editor-routes/templates-edit.js +0 -22
  442. package/src/components/site-editor-routes/templates-list-view.js +0 -28
  443. package/src/components/site-editor-routes/templates-view.js +0 -22
@@ -40,6 +40,7 @@ var _hooks = require("../layout/hooks");
40
40
  var _useAdaptEditorToCanvas = require("./use-adapt-editor-to-canvas");
41
41
  var _constants = require("../../utils/constants");
42
42
  var _useResolveEditedEntity = require("./use-resolve-edited-entity");
43
+ var _url = require("@wordpress/url");
43
44
  var _jsxRuntime = require("react/jsx-runtime");
44
45
  /**
45
46
  * External dependencies
@@ -86,16 +87,43 @@ const siteIconVariants = {
86
87
  clipPath: 'inset(0% round 0px)'
87
88
  }
88
89
  };
90
+ function getListPathForPostType(postType) {
91
+ switch (postType) {
92
+ case 'navigation':
93
+ return '/navigation';
94
+ case 'wp_block':
95
+ return '/pattern?postType=wp_block';
96
+ case 'wp_template_part':
97
+ return '/pattern?postType=wp_template_part';
98
+ case 'wp_template':
99
+ return '/template';
100
+ case 'page':
101
+ return '/page';
102
+ case 'post':
103
+ return '/';
104
+ }
105
+ throw 'Unknown post type';
106
+ }
107
+ function getNavigationPath(location, postType) {
108
+ const {
109
+ path,
110
+ name
111
+ } = location;
112
+ if (['pattern-item', 'template-part-item', 'page-item', 'template-item', 'post-item'].includes(name)) {
113
+ return getListPathForPostType(postType);
114
+ }
115
+ return (0, _url.addQueryArgs)(path, {
116
+ canvas: undefined
117
+ });
118
+ }
89
119
  function EditSiteEditor({
90
120
  isPostsList = false
91
121
  }) {
92
122
  const disableMotion = (0, _compose.useReducedMotion)();
93
- const {
94
- params
95
- } = useLocation();
123
+ const location = useLocation();
96
124
  const {
97
125
  canvas = 'view'
98
- } = params;
126
+ } = location.query;
99
127
  const isLoading = (0, _hooks.useIsSiteEditorLoading)();
100
128
  (0, _useAdaptEditorToCanvas.useAdaptEditorToCanvas)(canvas);
101
129
  const entity = (0, _useResolveEditedEntity.useResolveEditedEntity)();
@@ -157,9 +185,7 @@ function EditSiteEditor({
157
185
  case 'move-to-trash':
158
186
  case 'delete-post':
159
187
  {
160
- history.push({
161
- postType: items[0].type
162
- });
188
+ history.navigate(getListPathForPostType(postWithTemplate ? context.postType : postType));
163
189
  }
164
190
  break;
165
191
  case 'duplicate-post':
@@ -174,18 +200,14 @@ function EditSiteEditor({
174
200
  actions: [{
175
201
  label: (0, _i18n.__)('Edit'),
176
202
  onClick: () => {
177
- history.push({
178
- postId: newItem.id,
179
- postType: newItem.type,
180
- canvas: 'edit'
181
- });
203
+ history.navigate(`/${newItem.type}/${newItem.id}?canvas=edit`);
182
204
  }
183
205
  }]
184
206
  });
185
207
  }
186
208
  break;
187
209
  }
188
- }, [history, createSuccessNotice]);
210
+ }, [postType, context?.postType, postWithTemplate, history, createSuccessNotice]);
189
211
 
190
212
  // Replace the title and icon displayed in the DocumentBar when there's an overlay visible.
191
213
  const title = (0, _editorCanvasContainer.getEditorCanvasContainerTitle)(editorCanvasView);
@@ -238,18 +260,12 @@ function EditSiteEditor({
238
260
 
239
261
  // TODO: this is a temporary solution to navigate to the posts list if we are
240
262
  // come here through `posts list` and are in focus mode editing a template, template part etc..
241
- if (isPostsList && params?.focusMode) {
242
- history.push({
243
- page: 'gutenberg-posts-dashboard',
244
- postType: 'post'
245
- }, undefined, {
263
+ if (isPostsList && location.query?.focusMode) {
264
+ history.navigate('/', {
246
265
  transition: 'canvas-mode-view-transition'
247
266
  });
248
267
  } else {
249
- history.push({
250
- ...params,
251
- canvas: undefined
252
- }, undefined, {
268
+ history.navigate(getNavigationPath(location, postWithTemplate ? context.postType : postType), {
253
269
  transition: 'canvas-mode-view-transition'
254
270
  });
255
271
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_data","_components","_compose","_editor","_i18n","_coreData","_blockLibrary","_element","_notices","_router","_preferences","_htmlEntities","_icons","_blockEditor","_welcomeGuide","_store","_globalStylesRenderer","_canvasLoader","_lockUnlock","_useSiteEditorSettings","_pluginTemplateSettingPanel","_globalStylesSidebar","_isPreviewingTheme2","_editorCanvasContainer","_saveButton","_savePanel","_moreMenu","_siteIcon","_useEditorIframeProps","_useEditorTitle","_hooks","_useAdaptEditorToCanvas","_constants","_useResolveEditedEntity","_jsxRuntime","Editor","BackButton","unlock","editorPrivateApis","useHistory","useLocation","routerPrivateApis","BlockKeyboardShortcuts","blockLibraryPrivateApis","toggleHomeIconVariants","edit","opacity","scale","hover","clipPath","siteIconVariants","tap","EditSiteEditor","isPostsList","disableMotion","useReducedMotion","params","canvas","isLoading","useIsSiteEditorLoading","useAdaptEditorToCanvas","entity","useResolveEditedEntity","useSyncDeprecatedEntityIntoState","postType","postId","context","supportsGlobalStyles","showIconLabels","editorCanvasView","currentPostIsTrashed","hasSiteIcon","useSelect","select","getEditorCanvasContainerView","editSiteStore","get","preferencesStore","getCurrentTheme","getEntityRecord","coreDataStore","siteData","undefined","is_block_theme","editorStore","getCurrentPostAttribute","site_icon_url","postWithTemplate","useEditorTitle","_isPreviewingTheme","isPreviewingTheme","hasDefaultEditorCanvasView","useHasEditorCanvasContainer","iframeProps","useEditorIframeProps","isEditMode","loadingProgressId","useInstanceId","CanvasLoader","settings","useSpecificEditorSettings","styles","useMemo","css","resetZoomLevel","useDispatch","blockEditorStore","createSuccessNotice","noticesStore","history","onActionPerformed","useCallback","actionId","items","push","type","newItem","_title","title","rendered","sprintf","__","decodeEntities","id","actions","label","onClick","getEditorCanvasContainerTitle","isReady","transition","duration","jsxs","Fragment","children","jsx","GlobalStylesRenderer","disableRootPadding","TEMPLATE_POST_TYPE","EditorKeyboardShortcutsRegister","default","templateId","className","clsx","customSaveButton","size","customSavePanel","forceDisableBlockTools","extraSidebarPanels","Slot","length","__unstableMotion","div","animate","initial","whileHover","whileTap","Button","__next40pxDefaultSize","showTooltip","tooltipPosition","focusMode","page","variants","Icon","icon","arrowUpLeft"],"sources":["@wordpress/edit-site/src/components/editor/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { Button, __unstableMotion as motion } from '@wordpress/components';\nimport { useInstanceId, useReducedMotion } from '@wordpress/compose';\nimport {\n\tEditorKeyboardShortcutsRegister,\n\tprivateApis as editorPrivateApis,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { privateApis as blockLibraryPrivateApis } from '@wordpress/block-library';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { Icon, arrowUpLeft } from '@wordpress/icons';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport WelcomeGuide from '../welcome-guide';\nimport { store as editSiteStore } from '../../store';\nimport { GlobalStylesRenderer } from '../global-styles-renderer';\nimport CanvasLoader from '../canvas-loader';\nimport { unlock } from '../../lock-unlock';\nimport { useSpecificEditorSettings } from '../block-editor/use-site-editor-settings';\nimport PluginTemplateSettingPanel from '../plugin-template-setting-panel';\nimport GlobalStylesSidebar from '../global-styles-sidebar';\nimport { isPreviewingTheme } from '../../utils/is-previewing-theme';\nimport {\n\tgetEditorCanvasContainerTitle,\n\tuseHasEditorCanvasContainer,\n} from '../editor-canvas-container';\nimport SaveButton from '../save-button';\nimport SavePanel from '../save-panel';\nimport SiteEditorMoreMenu from '../more-menu';\nimport SiteIcon from '../site-icon';\nimport useEditorIframeProps from '../block-editor/use-editor-iframe-props';\nimport useEditorTitle from './use-editor-title';\nimport { useIsSiteEditorLoading } from '../layout/hooks';\nimport { useAdaptEditorToCanvas } from './use-adapt-editor-to-canvas';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport {\n\tuseResolveEditedEntity,\n\tuseSyncDeprecatedEntityIntoState,\n} from './use-resolve-edited-entity';\n\nconst { Editor, BackButton } = unlock( editorPrivateApis );\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\nconst { BlockKeyboardShortcuts } = unlock( blockLibraryPrivateApis );\n\nconst toggleHomeIconVariants = {\n\tedit: {\n\t\topacity: 0,\n\t\tscale: 0.2,\n\t},\n\thover: {\n\t\topacity: 1,\n\t\tscale: 1,\n\t\tclipPath: 'inset( 22% round 2px )',\n\t},\n};\n\nconst siteIconVariants = {\n\tedit: {\n\t\tclipPath: 'inset(0% round 0px)',\n\t},\n\thover: {\n\t\tclipPath: 'inset( 22% round 2px )',\n\t},\n\ttap: {\n\t\tclipPath: 'inset(0% round 0px)',\n\t},\n};\n\nexport default function EditSiteEditor( { isPostsList = false } ) {\n\tconst disableMotion = useReducedMotion();\n\tconst { params } = useLocation();\n\tconst { canvas = 'view' } = params;\n\tconst isLoading = useIsSiteEditorLoading();\n\tuseAdaptEditorToCanvas( canvas );\n\tconst entity = useResolveEditedEntity();\n\t// deprecated sync state with url\n\tuseSyncDeprecatedEntityIntoState( entity );\n\tconst { postType, postId, context } = entity;\n\tconst {\n\t\tsupportsGlobalStyles,\n\t\tshowIconLabels,\n\t\teditorCanvasView,\n\t\tcurrentPostIsTrashed,\n\t\thasSiteIcon,\n\t} = useSelect( ( select ) => {\n\t\tconst { getEditorCanvasContainerView } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { getCurrentTheme, getEntityRecord } = select( coreDataStore );\n\t\tconst siteData = getEntityRecord( 'root', '__unstableBase', undefined );\n\n\t\treturn {\n\t\t\tsupportsGlobalStyles: getCurrentTheme()?.is_block_theme,\n\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\teditorCanvasView: getEditorCanvasContainerView(),\n\t\t\tcurrentPostIsTrashed:\n\t\t\t\tselect( editorStore ).getCurrentPostAttribute( 'status' ) ===\n\t\t\t\t'trash',\n\t\t\thasSiteIcon: !! siteData?.site_icon_url,\n\t\t};\n\t}, [] );\n\tconst postWithTemplate = !! context?.postId;\n\tuseEditorTitle(\n\t\tpostWithTemplate ? context.postType : postType,\n\t\tpostWithTemplate ? context.postId : postId\n\t);\n\tconst _isPreviewingTheme = isPreviewingTheme();\n\tconst hasDefaultEditorCanvasView = ! useHasEditorCanvasContainer();\n\tconst iframeProps = useEditorIframeProps();\n\tconst isEditMode = canvas === 'edit';\n\tconst loadingProgressId = useInstanceId(\n\t\tCanvasLoader,\n\t\t'edit-site-editor__loading-progress'\n\t);\n\n\tconst settings = useSpecificEditorSettings();\n\tconst styles = useMemo(\n\t\t() => [\n\t\t\t...settings.styles,\n\t\t\t{\n\t\t\t\t// Forming a \"block formatting context\" to prevent margin collapsing.\n\t\t\t\t// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\n\t\t\t\tcss:\n\t\t\t\t\tcanvas === 'view'\n\t\t\t\t\t\t? `body{min-height: 100vh; ${\n\t\t\t\t\t\t\t\tcurrentPostIsTrashed ? '' : 'cursor: pointer;'\n\t\t\t\t\t\t }}`\n\t\t\t\t\t\t: undefined,\n\t\t\t},\n\t\t],\n\t\t[ settings.styles, canvas, currentPostIsTrashed ]\n\t);\n\tconst { resetZoomLevel } = unlock( useDispatch( blockEditorStore ) );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst history = useHistory();\n\tconst onActionPerformed = useCallback(\n\t\t( actionId, items ) => {\n\t\t\tswitch ( actionId ) {\n\t\t\t\tcase 'move-to-trash':\n\t\t\t\tcase 'delete-post':\n\t\t\t\t\t{\n\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\tpostType: items[ 0 ].type,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'duplicate-post':\n\t\t\t\t\t{\n\t\t\t\t\t\tconst newItem = items[ 0 ];\n\t\t\t\t\t\tconst _title =\n\t\t\t\t\t\t\ttypeof newItem.title === 'string'\n\t\t\t\t\t\t\t\t? newItem.title\n\t\t\t\t\t\t\t\t: newItem.title?.rendered;\n\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Title of the created post or template, e.g: \"Hello world\".\n\t\t\t\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\t\t\t\tdecodeEntities( _title )\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'duplicate-post-action',\n\t\t\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tlabel: __( 'Edit' ),\n\t\t\t\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\t\t\t\t\t\tpostId: newItem.id,\n\t\t\t\t\t\t\t\t\t\t\t\tpostType: newItem.type,\n\t\t\t\t\t\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t[ history, createSuccessNotice ]\n\t);\n\n\t// Replace the title and icon displayed in the DocumentBar when there's an overlay visible.\n\tconst title = getEditorCanvasContainerTitle( editorCanvasView );\n\n\tconst isReady = ! isLoading;\n\tconst transition = {\n\t\tduration: disableMotion ? 0 : 0.2,\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<GlobalStylesRenderer\n\t\t\t\tdisableRootPadding={ postType !== TEMPLATE_POST_TYPE }\n\t\t\t/>\n\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t{ isEditMode && <BlockKeyboardShortcuts /> }\n\t\t\t{ ! isReady ? <CanvasLoader id={ loadingProgressId } /> : null }\n\t\t\t{ isEditMode && (\n\t\t\t\t<WelcomeGuide\n\t\t\t\t\tpostType={ postWithTemplate ? context.postType : postType }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isReady && (\n\t\t\t\t<Editor\n\t\t\t\t\tpostType={ postWithTemplate ? context.postType : postType }\n\t\t\t\t\tpostId={ postWithTemplate ? context.postId : postId }\n\t\t\t\t\ttemplateId={ postWithTemplate ? postId : undefined }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tclassName={ clsx( 'edit-site-editor__editor-interface', {\n\t\t\t\t\t\t'show-icon-labels': showIconLabels,\n\t\t\t\t\t} ) }\n\t\t\t\t\tstyles={ styles }\n\t\t\t\t\tcustomSaveButton={\n\t\t\t\t\t\t_isPreviewingTheme && <SaveButton size=\"compact\" />\n\t\t\t\t\t}\n\t\t\t\t\tcustomSavePanel={ _isPreviewingTheme && <SavePanel /> }\n\t\t\t\t\tforceDisableBlockTools={ ! hasDefaultEditorCanvasView }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tiframeProps={ iframeProps }\n\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t\textraSidebarPanels={\n\t\t\t\t\t\t! postWithTemplate && (\n\t\t\t\t\t\t\t<PluginTemplateSettingPanel.Slot />\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isEditMode && (\n\t\t\t\t\t\t<BackButton>\n\t\t\t\t\t\t\t{ ( { length } ) =>\n\t\t\t\t\t\t\t\tlength <= 1 && (\n\t\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-editor__view-mode-toggle\"\n\t\t\t\t\t\t\t\t\t\ttransition={ transition }\n\t\t\t\t\t\t\t\t\t\tanimate=\"edit\"\n\t\t\t\t\t\t\t\t\t\tinitial=\"edit\"\n\t\t\t\t\t\t\t\t\t\twhileHover=\"hover\"\n\t\t\t\t\t\t\t\t\t\twhileTap=\"tap\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Open Navigation' ) }\n\t\t\t\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"middle right\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tresetZoomLevel();\n\n\t\t\t\t\t\t\t\t\t\t\t\t// TODO: this is a temporary solution to navigate to the posts list if we are\n\t\t\t\t\t\t\t\t\t\t\t\t// come here through `posts list` and are in focus mode editing a template, template part etc..\n\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\tisPostsList &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tparams?.focusMode\n\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\thistory.push(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpage: 'gutenberg-posts-dashboard',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpostType: 'post',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttransition:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'canvas-mode-view-transition',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\thistory.push(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...params,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcanvas: undefined,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttransition:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'canvas-mode-view-transition',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\t\t\t\tvariants={ siteIconVariants }\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<SiteIcon className=\"edit-site-editor__view-mode-toggle-icon\" />\n\t\t\t\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t\t\t'edit-site-editor__back-icon',\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t'has-site-icon':\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thasSiteIcon,\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tvariants={ toggleHomeIconVariants }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ arrowUpLeft } />\n\t\t\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</BackButton>\n\t\t\t\t\t) }\n\t\t\t\t\t<SiteEditorMoreMenu />\n\t\t\t\t\t{ supportsGlobalStyles && <GlobalStylesSidebar /> }\n\t\t\t\t</Editor>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_data","_components","_compose","_editor","_i18n","_coreData","_blockLibrary","_element","_notices","_router","_preferences","_htmlEntities","_icons","_blockEditor","_welcomeGuide","_store","_globalStylesRenderer","_canvasLoader","_lockUnlock","_useSiteEditorSettings","_pluginTemplateSettingPanel","_globalStylesSidebar","_isPreviewingTheme2","_editorCanvasContainer","_saveButton","_savePanel","_moreMenu","_siteIcon","_useEditorIframeProps","_useEditorTitle","_hooks","_useAdaptEditorToCanvas","_constants","_useResolveEditedEntity","_url","_jsxRuntime","Editor","BackButton","unlock","editorPrivateApis","useHistory","useLocation","routerPrivateApis","BlockKeyboardShortcuts","blockLibraryPrivateApis","toggleHomeIconVariants","edit","opacity","scale","hover","clipPath","siteIconVariants","tap","getListPathForPostType","postType","getNavigationPath","location","path","name","includes","addQueryArgs","canvas","undefined","EditSiteEditor","isPostsList","disableMotion","useReducedMotion","query","isLoading","useIsSiteEditorLoading","useAdaptEditorToCanvas","entity","useResolveEditedEntity","useSyncDeprecatedEntityIntoState","postId","context","supportsGlobalStyles","showIconLabels","editorCanvasView","currentPostIsTrashed","hasSiteIcon","useSelect","select","getEditorCanvasContainerView","editSiteStore","get","preferencesStore","getCurrentTheme","getEntityRecord","coreDataStore","siteData","is_block_theme","editorStore","getCurrentPostAttribute","site_icon_url","postWithTemplate","useEditorTitle","_isPreviewingTheme","isPreviewingTheme","hasDefaultEditorCanvasView","useHasEditorCanvasContainer","iframeProps","useEditorIframeProps","isEditMode","loadingProgressId","useInstanceId","CanvasLoader","settings","useSpecificEditorSettings","styles","useMemo","css","resetZoomLevel","useDispatch","blockEditorStore","createSuccessNotice","noticesStore","history","onActionPerformed","useCallback","actionId","items","navigate","newItem","_title","title","rendered","sprintf","__","decodeEntities","type","id","actions","label","onClick","getEditorCanvasContainerTitle","isReady","transition","duration","jsxs","Fragment","children","jsx","GlobalStylesRenderer","disableRootPadding","TEMPLATE_POST_TYPE","EditorKeyboardShortcutsRegister","default","templateId","className","clsx","customSaveButton","size","customSavePanel","forceDisableBlockTools","extraSidebarPanels","Slot","length","__unstableMotion","div","animate","initial","whileHover","whileTap","Button","__next40pxDefaultSize","showTooltip","tooltipPosition","focusMode","variants","Icon","icon","arrowUpLeft"],"sources":["@wordpress/edit-site/src/components/editor/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { Button, __unstableMotion as motion } from '@wordpress/components';\nimport { useInstanceId, useReducedMotion } from '@wordpress/compose';\nimport {\n\tEditorKeyboardShortcutsRegister,\n\tprivateApis as editorPrivateApis,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { privateApis as blockLibraryPrivateApis } from '@wordpress/block-library';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { Icon, arrowUpLeft } from '@wordpress/icons';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport WelcomeGuide from '../welcome-guide';\nimport { store as editSiteStore } from '../../store';\nimport { GlobalStylesRenderer } from '../global-styles-renderer';\nimport CanvasLoader from '../canvas-loader';\nimport { unlock } from '../../lock-unlock';\nimport { useSpecificEditorSettings } from '../block-editor/use-site-editor-settings';\nimport PluginTemplateSettingPanel from '../plugin-template-setting-panel';\nimport GlobalStylesSidebar from '../global-styles-sidebar';\nimport { isPreviewingTheme } from '../../utils/is-previewing-theme';\nimport {\n\tgetEditorCanvasContainerTitle,\n\tuseHasEditorCanvasContainer,\n} from '../editor-canvas-container';\nimport SaveButton from '../save-button';\nimport SavePanel from '../save-panel';\nimport SiteEditorMoreMenu from '../more-menu';\nimport SiteIcon from '../site-icon';\nimport useEditorIframeProps from '../block-editor/use-editor-iframe-props';\nimport useEditorTitle from './use-editor-title';\nimport { useIsSiteEditorLoading } from '../layout/hooks';\nimport { useAdaptEditorToCanvas } from './use-adapt-editor-to-canvas';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport {\n\tuseResolveEditedEntity,\n\tuseSyncDeprecatedEntityIntoState,\n} from './use-resolve-edited-entity';\nimport { addQueryArgs } from '@wordpress/url';\n\nconst { Editor, BackButton } = unlock( editorPrivateApis );\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\nconst { BlockKeyboardShortcuts } = unlock( blockLibraryPrivateApis );\n\nconst toggleHomeIconVariants = {\n\tedit: {\n\t\topacity: 0,\n\t\tscale: 0.2,\n\t},\n\thover: {\n\t\topacity: 1,\n\t\tscale: 1,\n\t\tclipPath: 'inset( 22% round 2px )',\n\t},\n};\n\nconst siteIconVariants = {\n\tedit: {\n\t\tclipPath: 'inset(0% round 0px)',\n\t},\n\thover: {\n\t\tclipPath: 'inset( 22% round 2px )',\n\t},\n\ttap: {\n\t\tclipPath: 'inset(0% round 0px)',\n\t},\n};\n\nfunction getListPathForPostType( postType ) {\n\tswitch ( postType ) {\n\t\tcase 'navigation':\n\t\t\treturn '/navigation';\n\t\tcase 'wp_block':\n\t\t\treturn '/pattern?postType=wp_block';\n\t\tcase 'wp_template_part':\n\t\t\treturn '/pattern?postType=wp_template_part';\n\t\tcase 'wp_template':\n\t\t\treturn '/template';\n\t\tcase 'page':\n\t\t\treturn '/page';\n\t\tcase 'post':\n\t\t\treturn '/';\n\t}\n\tthrow 'Unknown post type';\n}\n\nfunction getNavigationPath( location, postType ) {\n\tconst { path, name } = location;\n\tif (\n\t\t[\n\t\t\t'pattern-item',\n\t\t\t'template-part-item',\n\t\t\t'page-item',\n\t\t\t'template-item',\n\t\t\t'post-item',\n\t\t].includes( name )\n\t) {\n\t\treturn getListPathForPostType( postType );\n\t}\n\treturn addQueryArgs( path, { canvas: undefined } );\n}\n\nexport default function EditSiteEditor( { isPostsList = false } ) {\n\tconst disableMotion = useReducedMotion();\n\tconst location = useLocation();\n\tconst { canvas = 'view' } = location.query;\n\tconst isLoading = useIsSiteEditorLoading();\n\tuseAdaptEditorToCanvas( canvas );\n\tconst entity = useResolveEditedEntity();\n\t// deprecated sync state with url\n\tuseSyncDeprecatedEntityIntoState( entity );\n\tconst { postType, postId, context } = entity;\n\tconst {\n\t\tsupportsGlobalStyles,\n\t\tshowIconLabels,\n\t\teditorCanvasView,\n\t\tcurrentPostIsTrashed,\n\t\thasSiteIcon,\n\t} = useSelect( ( select ) => {\n\t\tconst { getEditorCanvasContainerView } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { getCurrentTheme, getEntityRecord } = select( coreDataStore );\n\t\tconst siteData = getEntityRecord( 'root', '__unstableBase', undefined );\n\n\t\treturn {\n\t\t\tsupportsGlobalStyles: getCurrentTheme()?.is_block_theme,\n\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\teditorCanvasView: getEditorCanvasContainerView(),\n\t\t\tcurrentPostIsTrashed:\n\t\t\t\tselect( editorStore ).getCurrentPostAttribute( 'status' ) ===\n\t\t\t\t'trash',\n\t\t\thasSiteIcon: !! siteData?.site_icon_url,\n\t\t};\n\t}, [] );\n\tconst postWithTemplate = !! context?.postId;\n\tuseEditorTitle(\n\t\tpostWithTemplate ? context.postType : postType,\n\t\tpostWithTemplate ? context.postId : postId\n\t);\n\tconst _isPreviewingTheme = isPreviewingTheme();\n\tconst hasDefaultEditorCanvasView = ! useHasEditorCanvasContainer();\n\tconst iframeProps = useEditorIframeProps();\n\tconst isEditMode = canvas === 'edit';\n\tconst loadingProgressId = useInstanceId(\n\t\tCanvasLoader,\n\t\t'edit-site-editor__loading-progress'\n\t);\n\n\tconst settings = useSpecificEditorSettings();\n\tconst styles = useMemo(\n\t\t() => [\n\t\t\t...settings.styles,\n\t\t\t{\n\t\t\t\t// Forming a \"block formatting context\" to prevent margin collapsing.\n\t\t\t\t// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\n\t\t\t\tcss:\n\t\t\t\t\tcanvas === 'view'\n\t\t\t\t\t\t? `body{min-height: 100vh; ${\n\t\t\t\t\t\t\t\tcurrentPostIsTrashed ? '' : 'cursor: pointer;'\n\t\t\t\t\t\t }}`\n\t\t\t\t\t\t: undefined,\n\t\t\t},\n\t\t],\n\t\t[ settings.styles, canvas, currentPostIsTrashed ]\n\t);\n\tconst { resetZoomLevel } = unlock( useDispatch( blockEditorStore ) );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst history = useHistory();\n\tconst onActionPerformed = useCallback(\n\t\t( actionId, items ) => {\n\t\t\tswitch ( actionId ) {\n\t\t\t\tcase 'move-to-trash':\n\t\t\t\tcase 'delete-post':\n\t\t\t\t\t{\n\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\tgetListPathForPostType(\n\t\t\t\t\t\t\t\tpostWithTemplate ? context.postType : postType\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'duplicate-post':\n\t\t\t\t\t{\n\t\t\t\t\t\tconst newItem = items[ 0 ];\n\t\t\t\t\t\tconst _title =\n\t\t\t\t\t\t\ttypeof newItem.title === 'string'\n\t\t\t\t\t\t\t\t? newItem.title\n\t\t\t\t\t\t\t\t: newItem.title?.rendered;\n\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Title of the created post or template, e.g: \"Hello world\".\n\t\t\t\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\t\t\t\tdecodeEntities( _title )\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'duplicate-post-action',\n\t\t\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tlabel: __( 'Edit' ),\n\t\t\t\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t\t\t\t\t\t`/${ newItem.type }/${ newItem.id }?canvas=edit`\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tpostType,\n\t\t\tcontext?.postType,\n\t\t\tpostWithTemplate,\n\t\t\thistory,\n\t\t\tcreateSuccessNotice,\n\t\t]\n\t);\n\n\t// Replace the title and icon displayed in the DocumentBar when there's an overlay visible.\n\tconst title = getEditorCanvasContainerTitle( editorCanvasView );\n\n\tconst isReady = ! isLoading;\n\tconst transition = {\n\t\tduration: disableMotion ? 0 : 0.2,\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<GlobalStylesRenderer\n\t\t\t\tdisableRootPadding={ postType !== TEMPLATE_POST_TYPE }\n\t\t\t/>\n\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t{ isEditMode && <BlockKeyboardShortcuts /> }\n\t\t\t{ ! isReady ? <CanvasLoader id={ loadingProgressId } /> : null }\n\t\t\t{ isEditMode && (\n\t\t\t\t<WelcomeGuide\n\t\t\t\t\tpostType={ postWithTemplate ? context.postType : postType }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isReady && (\n\t\t\t\t<Editor\n\t\t\t\t\tpostType={ postWithTemplate ? context.postType : postType }\n\t\t\t\t\tpostId={ postWithTemplate ? context.postId : postId }\n\t\t\t\t\ttemplateId={ postWithTemplate ? postId : undefined }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tclassName={ clsx( 'edit-site-editor__editor-interface', {\n\t\t\t\t\t\t'show-icon-labels': showIconLabels,\n\t\t\t\t\t} ) }\n\t\t\t\t\tstyles={ styles }\n\t\t\t\t\tcustomSaveButton={\n\t\t\t\t\t\t_isPreviewingTheme && <SaveButton size=\"compact\" />\n\t\t\t\t\t}\n\t\t\t\t\tcustomSavePanel={ _isPreviewingTheme && <SavePanel /> }\n\t\t\t\t\tforceDisableBlockTools={ ! hasDefaultEditorCanvasView }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tiframeProps={ iframeProps }\n\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t\textraSidebarPanels={\n\t\t\t\t\t\t! postWithTemplate && (\n\t\t\t\t\t\t\t<PluginTemplateSettingPanel.Slot />\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isEditMode && (\n\t\t\t\t\t\t<BackButton>\n\t\t\t\t\t\t\t{ ( { length } ) =>\n\t\t\t\t\t\t\t\tlength <= 1 && (\n\t\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-editor__view-mode-toggle\"\n\t\t\t\t\t\t\t\t\t\ttransition={ transition }\n\t\t\t\t\t\t\t\t\t\tanimate=\"edit\"\n\t\t\t\t\t\t\t\t\t\tinitial=\"edit\"\n\t\t\t\t\t\t\t\t\t\twhileHover=\"hover\"\n\t\t\t\t\t\t\t\t\t\twhileTap=\"tap\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Open Navigation' ) }\n\t\t\t\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"middle right\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tresetZoomLevel();\n\n\t\t\t\t\t\t\t\t\t\t\t\t// TODO: this is a temporary solution to navigate to the posts list if we are\n\t\t\t\t\t\t\t\t\t\t\t\t// come here through `posts list` and are in focus mode editing a template, template part etc..\n\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\tisPostsList &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tlocation.query?.focusMode\n\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\thistory.navigate( '/', {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttransition:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'canvas-mode-view-transition',\n\t\t\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tgetNavigationPath(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlocation,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpostWithTemplate\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? context.postType\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: postType\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttransition:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'canvas-mode-view-transition',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\t\t\t\tvariants={ siteIconVariants }\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<SiteIcon className=\"edit-site-editor__view-mode-toggle-icon\" />\n\t\t\t\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t\t\t'edit-site-editor__back-icon',\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t'has-site-icon':\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thasSiteIcon,\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tvariants={ toggleHomeIconVariants }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ arrowUpLeft } />\n\t\t\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</BackButton>\n\t\t\t\t\t) }\n\t\t\t\t\t<SiteEditorMoreMenu />\n\t\t\t\t\t{ supportsGlobalStyles && <GlobalStylesSidebar /> }\n\t\t\t\t</Editor>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -34,6 +34,11 @@ function useEditorTitle(postType, postId) {
34
34
  getEditedEntityRecord,
35
35
  hasFinishedResolution
36
36
  } = select(_coreData.store);
37
+ if (!postId) {
38
+ return {
39
+ isLoaded: false
40
+ };
41
+ }
37
42
  const _record = getEditedEntityRecord('postType', postType, postId);
38
43
  const {
39
44
  default_template_types: templateTypes = []
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_data","_coreData","_htmlEntities","_editor","_useTitle","_interopRequireDefault","_constants","_lockUnlock","getTemplateInfo","unlock","editorPrivateApis","useEditorTitle","postType","postId","title","isLoaded","useSelect","select","_select$getEntityReco","getEditedEntityRecord","hasFinishedResolution","coreStore","_record","default_template_types","templateTypes","getEntityRecord","templateInfo","template","_isLoaded","editorTitle","_POST_TYPE_LABELS$pos","sprintf","_x","decodeEntities","POST_TYPE_LABELS","TEMPLATE_POST_TYPE","useTitle","_default","exports","default"],"sources":["@wordpress/edit-site/src/components/editor/use-editor-title.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { _x, sprintf } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport useTitle from '../routes/use-title';\nimport { POST_TYPE_LABELS, TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\n\nconst { getTemplateInfo } = unlock( editorPrivateApis );\n\nfunction useEditorTitle( postType, postId ) {\n\tconst { title, isLoaded } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\n\t\t\tconst _record = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\n\t\t\tconst { default_template_types: templateTypes = [] } =\n\t\t\t\tselect( coreStore ).getEntityRecord(\n\t\t\t\t\t'root',\n\t\t\t\t\t'__unstableBase'\n\t\t\t\t) ?? {};\n\n\t\t\tconst templateInfo = getTemplateInfo( {\n\t\t\t\ttemplate: _record,\n\t\t\t\ttemplateTypes,\n\t\t\t} );\n\n\t\t\tconst _isLoaded = hasFinishedResolution( 'getEditedEntityRecord', [\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId,\n\t\t\t] );\n\n\t\t\treturn {\n\t\t\t\ttitle: templateInfo.title,\n\t\t\t\tisLoaded: _isLoaded,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tlet editorTitle;\n\tif ( isLoaded ) {\n\t\teditorTitle = sprintf(\n\t\t\t// translators: A breadcrumb trail for the Admin document title. 1: title of template being edited, 2: type of template (Template or Template Part).\n\t\t\t_x( '%1$s ‹ %2$s', 'breadcrumb trail' ),\n\t\t\tdecodeEntities( title ),\n\t\t\tPOST_TYPE_LABELS[ postType ] ??\n\t\t\t\tPOST_TYPE_LABELS[ TEMPLATE_POST_TYPE ]\n\t\t);\n\t}\n\n\t// Only announce the title once the editor is ready to prevent \"Replace\"\n\t// action in <URLQueryController> from double-announcing.\n\tuseTitle( isLoaded && editorTitle );\n}\n\nexport default useEditorTitle;\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAKA,IAAAK,SAAA,GAAAC,sBAAA,CAAAN,OAAA;AACA,IAAAO,UAAA,GAAAP,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AAdA;AACA;AACA;;AAOA;AACA;AACA;;AAKA,MAAM;EAAES;AAAgB,CAAC,GAAG,IAAAC,kBAAM,EAAEC,mBAAkB,CAAC;AAEvD,SAASC,cAAcA,CAAEC,QAAQ,EAAEC,MAAM,EAAG;EAC3C,MAAM;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAG,IAAAC,eAAS,EAClCC,MAAM,IAAM;IAAA,IAAAC,qBAAA;IACb,MAAM;MAAEC,qBAAqB;MAAEC;IAAsB,CAAC,GACrDH,MAAM,CAAEI,eAAU,CAAC;IAEpB,MAAMC,OAAO,GAAGH,qBAAqB,CACpC,UAAU,EACVP,QAAQ,EACRC,MACD,CAAC;IAED,MAAM;MAAEU,sBAAsB,EAAEC,aAAa,GAAG;IAAG,CAAC,IAAAN,qBAAA,GACnDD,MAAM,CAAEI,eAAU,CAAC,CAACI,eAAe,CAClC,MAAM,EACN,gBACD,CAAC,cAAAP,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC;IAER,MAAMQ,YAAY,GAAGlB,eAAe,CAAE;MACrCmB,QAAQ,EAAEL,OAAO;MACjBE;IACD,CAAE,CAAC;IAEH,MAAMI,SAAS,GAAGR,qBAAqB,CAAE,uBAAuB,EAAE,CACjE,UAAU,EACVR,QAAQ,EACRC,MAAM,CACL,CAAC;IAEH,OAAO;MACNC,KAAK,EAAEY,YAAY,CAACZ,KAAK;MACzBC,QAAQ,EAAEa;IACX,CAAC;EACF,CAAC,EACD,CAAEhB,QAAQ,EAAEC,MAAM,CACnB,CAAC;EAED,IAAIgB,WAAW;EACf,IAAKd,QAAQ,EAAG;IAAA,IAAAe,qBAAA;IACfD,WAAW,GAAG,IAAAE,aAAO;IACpB;IACA,IAAAC,QAAE,EAAE,aAAa,EAAE,kBAAmB,CAAC,EACvC,IAAAC,4BAAc,EAAEnB,KAAM,CAAC,GAAAgB,qBAAA,GACvBI,2BAAgB,CAAEtB,QAAQ,CAAE,cAAAkB,qBAAA,cAAAA,qBAAA,GAC3BI,2BAAgB,CAAEC,6BAAkB,CACtC,CAAC;EACF;;EAEA;EACA;EACA,IAAAC,iBAAQ,EAAErB,QAAQ,IAAIc,WAAY,CAAC;AACpC;AAAC,IAAAQ,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc5B,cAAc","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_data","_coreData","_htmlEntities","_editor","_useTitle","_interopRequireDefault","_constants","_lockUnlock","getTemplateInfo","unlock","editorPrivateApis","useEditorTitle","postType","postId","title","isLoaded","useSelect","select","_select$getEntityReco","getEditedEntityRecord","hasFinishedResolution","coreStore","_record","default_template_types","templateTypes","getEntityRecord","templateInfo","template","_isLoaded","editorTitle","_POST_TYPE_LABELS$pos","sprintf","_x","decodeEntities","POST_TYPE_LABELS","TEMPLATE_POST_TYPE","useTitle","_default","exports","default"],"sources":["@wordpress/edit-site/src/components/editor/use-editor-title.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { _x, sprintf } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport useTitle from '../routes/use-title';\nimport { POST_TYPE_LABELS, TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\n\nconst { getTemplateInfo } = unlock( editorPrivateApis );\n\nfunction useEditorTitle( postType, postId ) {\n\tconst { title, isLoaded } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\n\t\t\tif ( ! postId ) {\n\t\t\t\treturn { isLoaded: false };\n\t\t\t}\n\n\t\t\tconst _record = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\n\t\t\tconst { default_template_types: templateTypes = [] } =\n\t\t\t\tselect( coreStore ).getEntityRecord(\n\t\t\t\t\t'root',\n\t\t\t\t\t'__unstableBase'\n\t\t\t\t) ?? {};\n\n\t\t\tconst templateInfo = getTemplateInfo( {\n\t\t\t\ttemplate: _record,\n\t\t\t\ttemplateTypes,\n\t\t\t} );\n\n\t\t\tconst _isLoaded = hasFinishedResolution( 'getEditedEntityRecord', [\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId,\n\t\t\t] );\n\n\t\t\treturn {\n\t\t\t\ttitle: templateInfo.title,\n\t\t\t\tisLoaded: _isLoaded,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tlet editorTitle;\n\tif ( isLoaded ) {\n\t\teditorTitle = sprintf(\n\t\t\t// translators: A breadcrumb trail for the Admin document title. 1: title of template being edited, 2: type of template (Template or Template Part).\n\t\t\t_x( '%1$s ‹ %2$s', 'breadcrumb trail' ),\n\t\t\tdecodeEntities( title ),\n\t\t\tPOST_TYPE_LABELS[ postType ] ??\n\t\t\t\tPOST_TYPE_LABELS[ TEMPLATE_POST_TYPE ]\n\t\t);\n\t}\n\n\t// Only announce the title once the editor is ready to prevent \"Replace\"\n\t// action in <URLQueryController> from double-announcing.\n\tuseTitle( isLoaded && editorTitle );\n}\n\nexport default useEditorTitle;\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAKA,IAAAK,SAAA,GAAAC,sBAAA,CAAAN,OAAA;AACA,IAAAO,UAAA,GAAAP,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AAdA;AACA;AACA;;AAOA;AACA;AACA;;AAKA,MAAM;EAAES;AAAgB,CAAC,GAAG,IAAAC,kBAAM,EAAEC,mBAAkB,CAAC;AAEvD,SAASC,cAAcA,CAAEC,QAAQ,EAAEC,MAAM,EAAG;EAC3C,MAAM;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAG,IAAAC,eAAS,EAClCC,MAAM,IAAM;IAAA,IAAAC,qBAAA;IACb,MAAM;MAAEC,qBAAqB;MAAEC;IAAsB,CAAC,GACrDH,MAAM,CAAEI,eAAU,CAAC;IAEpB,IAAK,CAAER,MAAM,EAAG;MACf,OAAO;QAAEE,QAAQ,EAAE;MAAM,CAAC;IAC3B;IAEA,MAAMO,OAAO,GAAGH,qBAAqB,CACpC,UAAU,EACVP,QAAQ,EACRC,MACD,CAAC;IAED,MAAM;MAAEU,sBAAsB,EAAEC,aAAa,GAAG;IAAG,CAAC,IAAAN,qBAAA,GACnDD,MAAM,CAAEI,eAAU,CAAC,CAACI,eAAe,CAClC,MAAM,EACN,gBACD,CAAC,cAAAP,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC;IAER,MAAMQ,YAAY,GAAGlB,eAAe,CAAE;MACrCmB,QAAQ,EAAEL,OAAO;MACjBE;IACD,CAAE,CAAC;IAEH,MAAMI,SAAS,GAAGR,qBAAqB,CAAE,uBAAuB,EAAE,CACjE,UAAU,EACVR,QAAQ,EACRC,MAAM,CACL,CAAC;IAEH,OAAO;MACNC,KAAK,EAAEY,YAAY,CAACZ,KAAK;MACzBC,QAAQ,EAAEa;IACX,CAAC;EACF,CAAC,EACD,CAAEhB,QAAQ,EAAEC,MAAM,CACnB,CAAC;EAED,IAAIgB,WAAW;EACf,IAAKd,QAAQ,EAAG;IAAA,IAAAe,qBAAA;IACfD,WAAW,GAAG,IAAAE,aAAO;IACpB;IACA,IAAAC,QAAE,EAAE,aAAa,EAAE,kBAAmB,CAAC,EACvC,IAAAC,4BAAc,EAAEnB,KAAM,CAAC,GAAAgB,qBAAA,GACvBI,2BAAgB,CAAEtB,QAAQ,CAAE,cAAAkB,qBAAA,cAAAA,qBAAA,GAC3BI,2BAAgB,CAAEC,6BAAkB,CACtC,CAAC;EACF;;EAEA;EACA;EACA,IAAAC,iBAAQ,EAAErB,QAAQ,IAAIc,WAAY,CAAC;AACpC;AAAC,IAAAQ,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc5B,cAAc","ignoreList":[]}
@@ -27,12 +27,27 @@ const postTypesWithoutParentTemplate = [_constants.TEMPLATE_POST_TYPE, _constant
27
27
  const authorizedPostTypes = ['page', 'post'];
28
28
  function useResolveEditedEntity() {
29
29
  const {
30
- params = {}
30
+ name,
31
+ params = {},
32
+ query
31
33
  } = useLocation();
32
34
  const {
33
- postId,
34
- postType
35
- } = params;
35
+ postId = query?.postId
36
+ } = params; // Fallback to query param for postId for list view routes.
37
+ let postType;
38
+ if (name === 'navigation-item') {
39
+ postType = _constants.NAVIGATION_POST_TYPE;
40
+ } else if (name === 'pattern-item') {
41
+ postType = _constants.PATTERN_TYPES.user;
42
+ } else if (name === 'template-part-item') {
43
+ postType = _constants.TEMPLATE_PART_POST_TYPE;
44
+ } else if (name === 'template-item' || name === 'templates') {
45
+ postType = _constants.TEMPLATE_POST_TYPE;
46
+ } else if (name === 'page-item' || name === 'pages') {
47
+ postType = 'page';
48
+ } else if (name === 'post-item' || name === 'posts') {
49
+ postType = 'post';
50
+ }
36
51
  const homePage = (0, _data.useSelect)(select => {
37
52
  const {
38
53
  getHomePage
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_data","_coreData","_router","_store","_lockUnlock","_constants","useLocation","unlock","routerPrivateApis","postTypesWithoutParentTemplate","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","NAVIGATION_POST_TYPE","PATTERN_TYPES","user","authorizedPostTypes","useResolveEditedEntity","params","postId","postType","homePage","useSelect","select","getHomePage","coreDataStore","resolvedTemplateId","includes","getTemplateId","context","useMemo","isReady","undefined","useSyncDeprecatedEntityIntoState","setEditedEntity","useDispatch","editSiteStore","useEffect"],"sources":["@wordpress/edit-site/src/components/editor/use-resolve-edited-entity.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_TYPES,\n} from '../../utils/constants';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nconst postTypesWithoutParentTemplate = [\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_TYPES.user,\n];\n\nconst authorizedPostTypes = [ 'page', 'post' ];\n\nexport function useResolveEditedEntity() {\n\tconst { params = {} } = useLocation();\n\tconst { postId, postType } = params;\n\tconst homePage = useSelect( ( select ) => {\n\t\tconst { getHomePage } = unlock( select( coreDataStore ) );\n\t\treturn getHomePage();\n\t}, [] );\n\n\t/**\n\t * This is a hook that recreates the logic to resolve a template for a given WordPress postID postTypeId\n\t * in order to match the frontend as closely as possible in the site editor.\n\t *\n\t * It is not possible to rely on the server logic because there maybe unsaved changes that impact the template resolution.\n\t */\n\tconst resolvedTemplateId = useSelect(\n\t\t( select ) => {\n\t\t\t// If we're rendering a post type that doesn't have a template\n\t\t\t// no need to resolve its template.\n\t\t\tif (\n\t\t\t\tpostTypesWithoutParentTemplate.includes( postType ) &&\n\t\t\t\tpostId\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Don't trigger resolution for multi-selected posts.\n\t\t\tif ( postId && postId.includes( ',' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { getTemplateId } = unlock( select( coreDataStore ) );\n\n\t\t\t// If we're rendering a specific page, we need to resolve its template.\n\t\t\t// The site editor only supports pages for now, not other CPTs.\n\t\t\tif (\n\t\t\t\tpostType &&\n\t\t\t\tpostId &&\n\t\t\t\tauthorizedPostTypes.includes( postType )\n\t\t\t) {\n\t\t\t\treturn getTemplateId( postType, postId );\n\t\t\t}\n\n\t\t\t// If we're rendering the home page, and we have a static home page, resolve its template.\n\t\t\tif ( homePage?.postType === 'page' ) {\n\t\t\t\treturn getTemplateId( 'page', homePage?.postId );\n\t\t\t}\n\n\t\t\tif ( homePage?.postType === 'wp_template' ) {\n\t\t\t\treturn homePage?.postId;\n\t\t\t}\n\t\t},\n\t\t[ homePage, postId, postType ]\n\t);\n\n\tconst context = useMemo( () => {\n\t\tif ( postTypesWithoutParentTemplate.includes( postType ) && postId ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tif ( postType && postId && authorizedPostTypes.includes( postType ) ) {\n\t\t\treturn { postType, postId };\n\t\t}\n\t\t// TODO: for post types lists we should probably not render the front page, but maybe a placeholder\n\t\t// with a message like \"Select a page\" or something similar.\n\t\tif ( homePage?.postType === 'page' ) {\n\t\t\treturn { postType: 'page', postId: homePage?.postId };\n\t\t}\n\n\t\treturn {};\n\t}, [ homePage, postType, postId ] );\n\n\tif ( postTypesWithoutParentTemplate.includes( postType ) && postId ) {\n\t\treturn { isReady: true, postType, postId, context };\n\t}\n\n\tif ( !! homePage ) {\n\t\treturn {\n\t\t\tisReady: resolvedTemplateId !== undefined,\n\t\t\tpostType: TEMPLATE_POST_TYPE,\n\t\t\tpostId: resolvedTemplateId,\n\t\t\tcontext,\n\t\t};\n\t}\n\n\treturn { isReady: false };\n}\n\nexport function useSyncDeprecatedEntityIntoState( {\n\tpostType,\n\tpostId,\n\tcontext,\n\tisReady,\n} ) {\n\tconst { setEditedEntity } = useDispatch( editSiteStore );\n\n\tuseEffect( () => {\n\t\tif ( isReady ) {\n\t\t\tsetEditedEntity( postType, postId, context );\n\t\t}\n\t}, [ isReady, postType, postId, context, setEditedEntity ] );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_element","require","_data","_coreData","_router","_store","_lockUnlock","_constants","useLocation","unlock","routerPrivateApis","postTypesWithoutParentTemplate","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","NAVIGATION_POST_TYPE","PATTERN_TYPES","user","authorizedPostTypes","useResolveEditedEntity","name","params","query","postId","postType","homePage","useSelect","select","getHomePage","coreDataStore","resolvedTemplateId","includes","getTemplateId","context","useMemo","isReady","undefined","useSyncDeprecatedEntityIntoState","setEditedEntity","useDispatch","editSiteStore","useEffect"],"sources":["@wordpress/edit-site/src/components/editor/use-resolve-edited-entity.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_TYPES,\n} from '../../utils/constants';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nconst postTypesWithoutParentTemplate = [\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_TYPES.user,\n];\n\nconst authorizedPostTypes = [ 'page', 'post' ];\n\nexport function useResolveEditedEntity() {\n\tconst { name, params = {}, query } = useLocation();\n\tconst { postId = query?.postId } = params; // Fallback to query param for postId for list view routes.\n\tlet postType;\n\tif ( name === 'navigation-item' ) {\n\t\tpostType = NAVIGATION_POST_TYPE;\n\t} else if ( name === 'pattern-item' ) {\n\t\tpostType = PATTERN_TYPES.user;\n\t} else if ( name === 'template-part-item' ) {\n\t\tpostType = TEMPLATE_PART_POST_TYPE;\n\t} else if ( name === 'template-item' || name === 'templates' ) {\n\t\tpostType = TEMPLATE_POST_TYPE;\n\t} else if ( name === 'page-item' || name === 'pages' ) {\n\t\tpostType = 'page';\n\t} else if ( name === 'post-item' || name === 'posts' ) {\n\t\tpostType = 'post';\n\t}\n\n\tconst homePage = useSelect( ( select ) => {\n\t\tconst { getHomePage } = unlock( select( coreDataStore ) );\n\t\treturn getHomePage();\n\t}, [] );\n\n\t/**\n\t * This is a hook that recreates the logic to resolve a template for a given WordPress postID postTypeId\n\t * in order to match the frontend as closely as possible in the site editor.\n\t *\n\t * It is not possible to rely on the server logic because there maybe unsaved changes that impact the template resolution.\n\t */\n\tconst resolvedTemplateId = useSelect(\n\t\t( select ) => {\n\t\t\t// If we're rendering a post type that doesn't have a template\n\t\t\t// no need to resolve its template.\n\t\t\tif (\n\t\t\t\tpostTypesWithoutParentTemplate.includes( postType ) &&\n\t\t\t\tpostId\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Don't trigger resolution for multi-selected posts.\n\t\t\tif ( postId && postId.includes( ',' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { getTemplateId } = unlock( select( coreDataStore ) );\n\n\t\t\t// If we're rendering a specific page, we need to resolve its template.\n\t\t\t// The site editor only supports pages for now, not other CPTs.\n\t\t\tif (\n\t\t\t\tpostType &&\n\t\t\t\tpostId &&\n\t\t\t\tauthorizedPostTypes.includes( postType )\n\t\t\t) {\n\t\t\t\treturn getTemplateId( postType, postId );\n\t\t\t}\n\n\t\t\t// If we're rendering the home page, and we have a static home page, resolve its template.\n\t\t\tif ( homePage?.postType === 'page' ) {\n\t\t\t\treturn getTemplateId( 'page', homePage?.postId );\n\t\t\t}\n\n\t\t\tif ( homePage?.postType === 'wp_template' ) {\n\t\t\t\treturn homePage?.postId;\n\t\t\t}\n\t\t},\n\t\t[ homePage, postId, postType ]\n\t);\n\n\tconst context = useMemo( () => {\n\t\tif ( postTypesWithoutParentTemplate.includes( postType ) && postId ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tif ( postType && postId && authorizedPostTypes.includes( postType ) ) {\n\t\t\treturn { postType, postId };\n\t\t}\n\t\t// TODO: for post types lists we should probably not render the front page, but maybe a placeholder\n\t\t// with a message like \"Select a page\" or something similar.\n\t\tif ( homePage?.postType === 'page' ) {\n\t\t\treturn { postType: 'page', postId: homePage?.postId };\n\t\t}\n\n\t\treturn {};\n\t}, [ homePage, postType, postId ] );\n\n\tif ( postTypesWithoutParentTemplate.includes( postType ) && postId ) {\n\t\treturn { isReady: true, postType, postId, context };\n\t}\n\n\tif ( !! homePage ) {\n\t\treturn {\n\t\t\tisReady: resolvedTemplateId !== undefined,\n\t\t\tpostType: TEMPLATE_POST_TYPE,\n\t\t\tpostId: resolvedTemplateId,\n\t\t\tcontext,\n\t\t};\n\t}\n\n\treturn { isReady: false };\n}\n\nexport function useSyncDeprecatedEntityIntoState( {\n\tpostType,\n\tpostId,\n\tcontext,\n\tisReady,\n} ) {\n\tconst { setEditedEntity } = useDispatch( editSiteStore );\n\n\tuseEffect( () => {\n\t\tif ( isReady ) {\n\t\t\tsetEditedEntity( postType, postId, context );\n\t\t}\n\t}, [ isReady, postType, postId, context, setEditedEntity ] );\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AAbA;AACA;AACA;;AAMA;AACA;AACA;;AAUA,MAAM;EAAEO;AAAY,CAAC,GAAG,IAAAC,kBAAM,EAAEC,mBAAkB,CAAC;AAEnD,MAAMC,8BAA8B,GAAG,CACtCC,6BAAkB,EAClBC,kCAAuB,EACvBC,+BAAoB,EACpBC,wBAAa,CAACC,IAAI,CAClB;AAED,MAAMC,mBAAmB,GAAG,CAAE,MAAM,EAAE,MAAM,CAAE;AAEvC,SAASC,sBAAsBA,CAAA,EAAG;EACxC,MAAM;IAAEC,IAAI;IAAEC,MAAM,GAAG,CAAC,CAAC;IAAEC;EAAM,CAAC,GAAGb,WAAW,CAAC,CAAC;EAClD,MAAM;IAAEc,MAAM,GAAGD,KAAK,EAAEC;EAAO,CAAC,GAAGF,MAAM,CAAC,CAAC;EAC3C,IAAIG,QAAQ;EACZ,IAAKJ,IAAI,KAAK,iBAAiB,EAAG;IACjCI,QAAQ,GAAGT,+BAAoB;EAChC,CAAC,MAAM,IAAKK,IAAI,KAAK,cAAc,EAAG;IACrCI,QAAQ,GAAGR,wBAAa,CAACC,IAAI;EAC9B,CAAC,MAAM,IAAKG,IAAI,KAAK,oBAAoB,EAAG;IAC3CI,QAAQ,GAAGV,kCAAuB;EACnC,CAAC,MAAM,IAAKM,IAAI,KAAK,eAAe,IAAIA,IAAI,KAAK,WAAW,EAAG;IAC9DI,QAAQ,GAAGX,6BAAkB;EAC9B,CAAC,MAAM,IAAKO,IAAI,KAAK,WAAW,IAAIA,IAAI,KAAK,OAAO,EAAG;IACtDI,QAAQ,GAAG,MAAM;EAClB,CAAC,MAAM,IAAKJ,IAAI,KAAK,WAAW,IAAIA,IAAI,KAAK,OAAO,EAAG;IACtDI,QAAQ,GAAG,MAAM;EAClB;EAEA,MAAMC,QAAQ,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACzC,MAAM;MAAEC;IAAY,CAAC,GAAG,IAAAlB,kBAAM,EAAEiB,MAAM,CAAEE,eAAc,CAAE,CAAC;IACzD,OAAOD,WAAW,CAAC,CAAC;EACrB,CAAC,EAAE,EAAG,CAAC;;EAEP;AACD;AACA;AACA;AACA;AACA;EACC,MAAME,kBAAkB,GAAG,IAAAJ,eAAS,EACjCC,MAAM,IAAM;IACb;IACA;IACA,IACCf,8BAA8B,CAACmB,QAAQ,CAAEP,QAAS,CAAC,IACnDD,MAAM,EACL;MACD;IACD;;IAEA;IACA,IAAKA,MAAM,IAAIA,MAAM,CAACQ,QAAQ,CAAE,GAAI,CAAC,EAAG;MACvC;IACD;IAEA,MAAM;MAAEC;IAAc,CAAC,GAAG,IAAAtB,kBAAM,EAAEiB,MAAM,CAAEE,eAAc,CAAE,CAAC;;IAE3D;IACA;IACA,IACCL,QAAQ,IACRD,MAAM,IACNL,mBAAmB,CAACa,QAAQ,CAAEP,QAAS,CAAC,EACvC;MACD,OAAOQ,aAAa,CAAER,QAAQ,EAAED,MAAO,CAAC;IACzC;;IAEA;IACA,IAAKE,QAAQ,EAAED,QAAQ,KAAK,MAAM,EAAG;MACpC,OAAOQ,aAAa,CAAE,MAAM,EAAEP,QAAQ,EAAEF,MAAO,CAAC;IACjD;IAEA,IAAKE,QAAQ,EAAED,QAAQ,KAAK,aAAa,EAAG;MAC3C,OAAOC,QAAQ,EAAEF,MAAM;IACxB;EACD,CAAC,EACD,CAAEE,QAAQ,EAAEF,MAAM,EAAEC,QAAQ,CAC7B,CAAC;EAED,MAAMS,OAAO,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC9B,IAAKtB,8BAA8B,CAACmB,QAAQ,CAAEP,QAAS,CAAC,IAAID,MAAM,EAAG;MACpE,OAAO,CAAC,CAAC;IACV;IAEA,IAAKC,QAAQ,IAAID,MAAM,IAAIL,mBAAmB,CAACa,QAAQ,CAAEP,QAAS,CAAC,EAAG;MACrE,OAAO;QAAEA,QAAQ;QAAED;MAAO,CAAC;IAC5B;IACA;IACA;IACA,IAAKE,QAAQ,EAAED,QAAQ,KAAK,MAAM,EAAG;MACpC,OAAO;QAAEA,QAAQ,EAAE,MAAM;QAAED,MAAM,EAAEE,QAAQ,EAAEF;MAAO,CAAC;IACtD;IAEA,OAAO,CAAC,CAAC;EACV,CAAC,EAAE,CAAEE,QAAQ,EAAED,QAAQ,EAAED,MAAM,CAAG,CAAC;EAEnC,IAAKX,8BAA8B,CAACmB,QAAQ,CAAEP,QAAS,CAAC,IAAID,MAAM,EAAG;IACpE,OAAO;MAAEY,OAAO,EAAE,IAAI;MAAEX,QAAQ;MAAED,MAAM;MAAEU;IAAQ,CAAC;EACpD;EAEA,IAAK,CAAC,CAAER,QAAQ,EAAG;IAClB,OAAO;MACNU,OAAO,EAAEL,kBAAkB,KAAKM,SAAS;MACzCZ,QAAQ,EAAEX,6BAAkB;MAC5BU,MAAM,EAAEO,kBAAkB;MAC1BG;IACD,CAAC;EACF;EAEA,OAAO;IAAEE,OAAO,EAAE;EAAM,CAAC;AAC1B;AAEO,SAASE,gCAAgCA,CAAE;EACjDb,QAAQ;EACRD,MAAM;EACNU,OAAO;EACPE;AACD,CAAC,EAAG;EACH,MAAM;IAAEG;EAAgB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,YAAc,CAAC;EAExD,IAAAC,kBAAS,EAAE,MAAM;IAChB,IAAKN,OAAO,EAAG;MACdG,eAAe,CAAEd,QAAQ,EAAED,MAAM,EAAEU,OAAQ,CAAC;IAC7C;EACD,CAAC,EAAE,CAAEE,OAAO,EAAEX,QAAQ,EAAED,MAAM,EAAEU,OAAO,EAAEK,eAAe,CAAG,CAAC;AAC7D","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  "use strict";
3
2
 
4
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_blockEditor","_data","_coreData","_i18n","_resolvers","_lockUnlock","_utils","_toggleFont","_setNestedValue","_interopRequireDefault","_jsxRuntime","useGlobalSetting","unlock","blockEditorPrivateApis","FontLibraryContext","exports","createContext","FontLibraryProvider","children","saveEntityRecord","useDispatch","coreStore","globalStylesId","useSelect","select","__experimentalGetCurrentGlobalStylesId","globalStyles","useEntityRecord","isInstalling","setIsInstalling","useState","refreshKey","setRefreshKey","refreshLibrary","Date","now","records","libraryPosts","isResolving","isResolvingLibrary","useEntityRecords","_embed","libraryFonts","map","fontFamilyPost","id","font_family_settings","fontFace","_embedded","font_faces","face","font_face_settings","fontFamilies","setFontFamilies","saveFontFamilies","fonts","updatedGlobalStyles","record","setNestedValue","modalTabOpen","setModalTabOpen","libraryFontSelected","setLibraryFontSelected","themeFonts","theme","f","setUIValuesNeeded","source","sort","a","b","name","localeCompare","customFonts","custom","baseCustomFonts","useEffect","handleSetLibraryFontSelected","font","fontSelected","find","slug","loadedFontUrls","Set","getAvailableFontsOutline","availableFontFamilies","outline","reduce","acc","availableFontFaces","length","fontStyle","fontWeight","getActivatedFontsOutline","isFontActivated","style","weight","includes","getFontFacesActivated","installFonts","fontFamiliesToInstall","fontFamiliesToActivate","installationErrors","fontFamilyToInstall","isANewFontFamily","installedFontFamily","fetchGetFontFamilyBySlug","fetchInstallFontFamily","makeFontFamilyFormData","alreadyInstalledFontFaces","filter","fontFaceToInstall","checkFontFaceInstalled","successfullyInstalledFontFaces","unsuccessfullyInstalledFontFaces","response","batchInstallFontFaces","makeFontFacesFormData","successes","errors","push","fetchUninstallFontFamily","concat","unique","item","message","activeFonts","activateCustomFontFamilies","installError","Error","__","uninstallFontFamily","fontFamilyToUninstall","uninstalledFontFamily","deleted","deactivateFontFamily","error","console","_fontFamilies$font$so","initialCustomFonts","newCustomFonts","forEach","unloadFontFaceInBrowser","fontsToAdd","fontsToActivate","cleanFontsForSave","mergeFontFamilies","loadFontsInBrowser","_familyDbId","_faceDbId","loadFontFaceInBrowser","getDisplaySrcFromFontFace","src","toggleActivateFont","_fontFamilies$font$so2","initialFonts","newFonts","toggleFont","isFaceActivated","loadFontFaceAsset","has","add","collections","setFontCollections","getFontCollections","fetchFontCollections","getFontCollection","hasData","collection","font_families","fetchFontCollection","updatedCollections","e","jsx","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 { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tfetchGetFontFamilyBySlug,\n\tfetchInstallFontFamily,\n\tfetchUninstallFontFamily,\n\tfetchFontCollections,\n\tfetchFontCollection,\n} from './resolvers';\nimport { unlock } from '../../../lock-unlock';\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\nimport {\n\tsetUIValuesNeeded,\n\tmergeFontFamilies,\n\tloadFontFaceInBrowser,\n\tunloadFontFaceInBrowser,\n\tgetDisplaySrcFromFontFace,\n\tmakeFontFacesFormData,\n\tmakeFontFamilyFormData,\n\tbatchInstallFontFaces,\n\tcheckFontFaceInstalled,\n} from './utils';\nimport { toggleFont } from './utils/toggleFont';\nimport setNestedValue from '../../../utils/set-nested-value';\n\nexport const FontLibraryContext = createContext( {} );\n\nfunction FontLibraryProvider( { children } ) {\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { globalStylesId } = useSelect( ( select ) => {\n\t\tconst { __experimentalGetCurrentGlobalStylesId } = select( coreStore );\n\t\treturn { globalStylesId: __experimentalGetCurrentGlobalStylesId() };\n\t} );\n\n\tconst globalStyles = useEntityRecord(\n\t\t'root',\n\t\t'globalStyles',\n\t\tglobalStylesId\n\t);\n\n\tconst [ isInstalling, setIsInstalling ] = useState( false );\n\tconst [ refreshKey, setRefreshKey ] = useState( 0 );\n\n\tconst refreshLibrary = () => {\n\t\tsetRefreshKey( Date.now() );\n\t};\n\n\tconst { records: libraryPosts = [], isResolving: isResolvingLibrary } =\n\t\tuseEntityRecords( 'postType', 'wp_font_family', {\n\t\t\trefreshKey,\n\t\t\t_embed: true,\n\t\t} );\n\n\tconst libraryFonts =\n\t\t( libraryPosts || [] ).map( ( fontFamilyPost ) => {\n\t\t\treturn {\n\t\t\t\tid: fontFamilyPost.id,\n\t\t\t\t...fontFamilyPost.font_family_settings,\n\t\t\t\tfontFace:\n\t\t\t\t\tfontFamilyPost?._embedded?.font_faces.map(\n\t\t\t\t\t\t( face ) => face.font_face_settings\n\t\t\t\t\t) || [],\n\t\t\t};\n\t\t} ) || [];\n\n\t// Global Styles (settings) font families\n\tconst [ fontFamilies, setFontFamilies ] = useGlobalSetting(\n\t\t'typography.fontFamilies'\n\t);\n\n\t/*\n\t * Save the font families to the database.\n\n\t * This function is called when the user activates or deactivates a font family.\n\t * It only updates the global styles post content in the database for new font families.\n\t * This avoids saving other styles/settings changed by the user using other parts of the editor.\n\t *\n\t * It uses the font families from the param to avoid using the font families from an outdated state.\n\t *\n\t * @param {Array} fonts - The font families that will be saved to the database.\n\t */\n\tconst saveFontFamilies = async ( fonts ) => {\n\t\t// Gets the global styles database post content.\n\t\tconst updatedGlobalStyles = globalStyles.record;\n\n\t\t// Updates the database version of global styles with the edited font families in the client.\n\t\tsetNestedValue(\n\t\t\tupdatedGlobalStyles,\n\t\t\t[ 'settings', 'typography', 'fontFamilies' ],\n\t\t\tfonts\n\t\t);\n\n\t\t// Saves a new version of the global styles in the database.\n\t\tawait saveEntityRecord( 'root', 'globalStyles', updatedGlobalStyles );\n\t};\n\n\t// Library Fonts\n\tconst [ modalTabOpen, setModalTabOpen ] = useState( false );\n\tconst [ libraryFontSelected, setLibraryFontSelected ] = useState( null );\n\n\t// Themes Fonts are the fonts defined in the global styles (database persisted theme.json data).\n\tconst themeFonts = fontFamilies?.theme\n\t\t? fontFamilies.theme\n\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'theme' } ) )\n\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t: [];\n\n\tconst customFonts = fontFamilies?.custom\n\t\t? fontFamilies.custom\n\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'custom' } ) )\n\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t: [];\n\n\tconst baseCustomFonts = libraryFonts\n\t\t? libraryFonts\n\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'custom' } ) )\n\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t: [];\n\n\tuseEffect( () => {\n\t\tif ( ! modalTabOpen ) {\n\t\t\tsetLibraryFontSelected( null );\n\t\t}\n\t}, [ modalTabOpen ] );\n\n\tconst handleSetLibraryFontSelected = ( font ) => {\n\t\t// If font is null, reset the selected font\n\t\tif ( ! font ) {\n\t\t\tsetLibraryFontSelected( null );\n\t\t\treturn;\n\t\t}\n\n\t\tconst fonts = font.source === 'theme' ? themeFonts : baseCustomFonts;\n\n\t\t// Tries to find the font in the installed fonts\n\t\tconst fontSelected = fonts.find( ( f ) => f.slug === font.slug );\n\t\t// If the font is not found (it is only defined in custom styles), use the font from custom styles\n\t\tsetLibraryFontSelected( {\n\t\t\t...( fontSelected || font ),\n\t\t\tsource: font.source,\n\t\t} );\n\t};\n\n\t// Demo\n\tconst [ loadedFontUrls ] = useState( new Set() );\n\n\tconst getAvailableFontsOutline = ( availableFontFamilies ) => {\n\t\tconst outline = availableFontFamilies.reduce( ( acc, font ) => {\n\t\t\tconst availableFontFaces =\n\t\t\t\tfont?.fontFace && font.fontFace?.length > 0\n\t\t\t\t\t? font?.fontFace.map(\n\t\t\t\t\t\t\t( face ) => `${ face.fontStyle + face.fontWeight }`\n\t\t\t\t\t )\n\t\t\t\t\t: [ 'normal400' ]; // If the font doesn't have fontFace, we assume it is a system font and we add the defaults: normal 400\n\n\t\t\tacc[ font.slug ] = availableFontFaces;\n\t\t\treturn acc;\n\t\t}, {} );\n\t\treturn outline;\n\t};\n\n\tconst getActivatedFontsOutline = ( source ) => {\n\t\tswitch ( source ) {\n\t\t\tcase 'theme':\n\t\t\t\treturn getAvailableFontsOutline( themeFonts );\n\t\t\tcase 'custom':\n\t\t\tdefault:\n\t\t\t\treturn getAvailableFontsOutline( customFonts );\n\t\t}\n\t};\n\n\tconst isFontActivated = ( slug, style, weight, source ) => {\n\t\tif ( ! style && ! weight ) {\n\t\t\treturn !! getActivatedFontsOutline( source )[ slug ];\n\t\t}\n\t\treturn !! getActivatedFontsOutline( source )[ slug ]?.includes(\n\t\t\tstyle + weight\n\t\t);\n\t};\n\n\tconst getFontFacesActivated = ( slug, source ) => {\n\t\treturn getActivatedFontsOutline( source )[ slug ] || [];\n\t};\n\n\tasync function installFonts( fontFamiliesToInstall ) {\n\t\tsetIsInstalling( true );\n\t\ttry {\n\t\t\tconst fontFamiliesToActivate = [];\n\t\t\tlet installationErrors = [];\n\n\t\t\tfor ( const fontFamilyToInstall of fontFamiliesToInstall ) {\n\t\t\t\tlet isANewFontFamily = false;\n\n\t\t\t\t// Get the font family if it already exists.\n\t\t\t\tlet installedFontFamily = await fetchGetFontFamilyBySlug(\n\t\t\t\t\tfontFamilyToInstall.slug\n\t\t\t\t);\n\n\t\t\t\t// Otherwise create it.\n\t\t\t\tif ( ! installedFontFamily ) {\n\t\t\t\t\tisANewFontFamily = true;\n\t\t\t\t\t// Prepare font family form data to install.\n\t\t\t\t\tinstalledFontFamily = await fetchInstallFontFamily(\n\t\t\t\t\t\tmakeFontFamilyFormData( fontFamilyToInstall )\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Collect font faces that have already been installed (to be activated later)\n\t\t\t\tconst alreadyInstalledFontFaces =\n\t\t\t\t\tinstalledFontFamily.fontFace && fontFamilyToInstall.fontFace\n\t\t\t\t\t\t? installedFontFamily.fontFace.filter(\n\t\t\t\t\t\t\t\t( fontFaceToInstall ) =>\n\t\t\t\t\t\t\t\t\tcheckFontFaceInstalled(\n\t\t\t\t\t\t\t\t\t\tfontFaceToInstall,\n\t\t\t\t\t\t\t\t\t\tfontFamilyToInstall.fontFace\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: [];\n\n\t\t\t\t// Filter out Font Faces that have already been installed (so that they are not re-installed)\n\t\t\t\tif (\n\t\t\t\t\tinstalledFontFamily.fontFace &&\n\t\t\t\t\tfontFamilyToInstall.fontFace\n\t\t\t\t) {\n\t\t\t\t\tfontFamilyToInstall.fontFace =\n\t\t\t\t\t\tfontFamilyToInstall.fontFace.filter(\n\t\t\t\t\t\t\t( fontFaceToInstall ) =>\n\t\t\t\t\t\t\t\t! checkFontFaceInstalled(\n\t\t\t\t\t\t\t\t\tfontFaceToInstall,\n\t\t\t\t\t\t\t\t\tinstalledFontFamily.fontFace\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Install the fonts (upload the font files to the server and create the post in the database).\n\t\t\t\tlet successfullyInstalledFontFaces = [];\n\t\t\t\tlet unsuccessfullyInstalledFontFaces = [];\n\t\t\t\tif ( fontFamilyToInstall?.fontFace?.length > 0 ) {\n\t\t\t\t\tconst response = await batchInstallFontFaces(\n\t\t\t\t\t\tinstalledFontFamily.id,\n\t\t\t\t\t\tmakeFontFacesFormData( fontFamilyToInstall )\n\t\t\t\t\t);\n\t\t\t\t\tsuccessfullyInstalledFontFaces = response?.successes;\n\t\t\t\t\tunsuccessfullyInstalledFontFaces = response?.errors;\n\t\t\t\t}\n\n\t\t\t\t// Use the successfully installed font faces\n\t\t\t\t// As well as any font faces that were already installed (those will be activated)\n\t\t\t\tif (\n\t\t\t\t\tsuccessfullyInstalledFontFaces?.length > 0 ||\n\t\t\t\t\talreadyInstalledFontFaces?.length > 0\n\t\t\t\t) {\n\t\t\t\t\t// Use font data from REST API not from client to ensure\n\t\t\t\t\t// correct font information is used.\n\t\t\t\t\tinstalledFontFamily.fontFace = [\n\t\t\t\t\t\t...successfullyInstalledFontFaces,\n\t\t\t\t\t];\n\n\t\t\t\t\tfontFamiliesToActivate.push( installedFontFamily );\n\t\t\t\t}\n\n\t\t\t\t// If it's a system font but was installed successfully, activate it.\n\t\t\t\tif (\n\t\t\t\t\tinstalledFontFamily &&\n\t\t\t\t\t! fontFamilyToInstall?.fontFace?.length\n\t\t\t\t) {\n\t\t\t\t\tfontFamiliesToActivate.push( installedFontFamily );\n\t\t\t\t}\n\n\t\t\t\t// If the font family is new and is not a system font, delete it to avoid having font families without font faces.\n\t\t\t\tif (\n\t\t\t\t\tisANewFontFamily &&\n\t\t\t\t\tfontFamilyToInstall?.fontFace?.length > 0 &&\n\t\t\t\t\tsuccessfullyInstalledFontFaces?.length === 0\n\t\t\t\t) {\n\t\t\t\t\tawait fetchUninstallFontFamily( installedFontFamily.id );\n\t\t\t\t}\n\n\t\t\t\tinstallationErrors = installationErrors.concat(\n\t\t\t\t\tunsuccessfullyInstalledFontFaces\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tinstallationErrors = installationErrors.reduce(\n\t\t\t\t( unique, item ) =>\n\t\t\t\t\tunique.includes( item.message )\n\t\t\t\t\t\t? unique\n\t\t\t\t\t\t: [ ...unique, item.message ],\n\t\t\t\t[]\n\t\t\t);\n\n\t\t\tif ( fontFamiliesToActivate.length > 0 ) {\n\t\t\t\t// Activate the font family (add the font family to the global styles).\n\t\t\t\tconst activeFonts = activateCustomFontFamilies(\n\t\t\t\t\tfontFamiliesToActivate\n\t\t\t\t);\n\t\t\t\t// Save the global styles to the database.\n\t\t\t\tawait saveFontFamilies( activeFonts );\n\n\t\t\t\trefreshLibrary();\n\t\t\t}\n\n\t\t\tif ( installationErrors.length > 0 ) {\n\t\t\t\tconst installError = new Error(\n\t\t\t\t\t__( 'There was an error installing fonts.' )\n\t\t\t\t);\n\n\t\t\t\tinstallError.installationErrors = installationErrors;\n\n\t\t\t\tthrow installError;\n\t\t\t}\n\t\t} finally {\n\t\t\tsetIsInstalling( false );\n\t\t}\n\t}\n\n\tasync function uninstallFontFamily( fontFamilyToUninstall ) {\n\t\ttry {\n\t\t\t// Uninstall the font family.\n\t\t\t// (Removes the font files from the server and the posts from the database).\n\t\t\tconst uninstalledFontFamily = await fetchUninstallFontFamily(\n\t\t\t\tfontFamilyToUninstall.id\n\t\t\t);\n\n\t\t\t// Deactivate the font family if delete request is successful\n\t\t\t// (Removes the font family from the global styles).\n\t\t\tif ( uninstalledFontFamily.deleted ) {\n\t\t\t\tconst activeFonts = deactivateFontFamily(\n\t\t\t\t\tfontFamilyToUninstall\n\t\t\t\t);\n\t\t\t\t// Save the global styles to the database.\n\t\t\t\tawait saveFontFamilies( activeFonts );\n\t\t\t}\n\n\t\t\t// Refresh the library (the library font families from database).\n\t\t\trefreshLibrary();\n\n\t\t\treturn uninstalledFontFamily;\n\t\t} catch ( error ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(\n\t\t\t\t`There was an error uninstalling the font family:`,\n\t\t\t\terror\n\t\t\t);\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\tconst deactivateFontFamily = ( font ) => {\n\t\t// If the user doesn't have custom fonts defined, include as custom fonts all the theme fonts\n\t\t// We want to save as active all the theme fonts at the beginning\n\t\tconst initialCustomFonts = fontFamilies?.[ font.source ] ?? [];\n\t\tconst newCustomFonts = initialCustomFonts.filter(\n\t\t\t( f ) => f.slug !== font.slug\n\t\t);\n\t\tconst activeFonts = {\n\t\t\t...fontFamilies,\n\t\t\t[ font.source ]: newCustomFonts,\n\t\t};\n\t\tsetFontFamilies( activeFonts );\n\n\t\tif ( font.fontFace ) {\n\t\t\tfont.fontFace.forEach( ( face ) => {\n\t\t\t\tunloadFontFaceInBrowser( face, 'all' );\n\t\t\t} );\n\t\t}\n\t\treturn activeFonts;\n\t};\n\n\tconst activateCustomFontFamilies = ( fontsToAdd ) => {\n\t\tconst fontsToActivate = cleanFontsForSave( fontsToAdd );\n\n\t\tconst activeFonts = {\n\t\t\t...fontFamilies,\n\t\t\t// Merge the existing custom fonts with the new fonts.\n\t\t\tcustom: mergeFontFamilies( fontFamilies?.custom, fontsToActivate ),\n\t\t};\n\n\t\t// Activate the fonts by set the new custom fonts array.\n\t\tsetFontFamilies( activeFonts );\n\n\t\tloadFontsInBrowser( fontsToActivate );\n\n\t\treturn activeFonts;\n\t};\n\n\t// Removes the id from the families and faces to avoid saving that to global styles post content.\n\tconst cleanFontsForSave = ( fonts ) => {\n\t\treturn fonts.map( ( { id: _familyDbId, fontFace, ...font } ) => ( {\n\t\t\t...font,\n\t\t\t...( fontFace && fontFace.length > 0\n\t\t\t\t? {\n\t\t\t\t\t\tfontFace: fontFace.map(\n\t\t\t\t\t\t\t( { id: _faceDbId, ...face } ) => face\n\t\t\t\t\t\t),\n\t\t\t\t }\n\t\t\t\t: {} ),\n\t\t} ) );\n\t};\n\n\tconst loadFontsInBrowser = ( fonts ) => {\n\t\t// Add custom fonts to the browser.\n\t\tfonts.forEach( ( font ) => {\n\t\t\tif ( font.fontFace ) {\n\t\t\t\tfont.fontFace.forEach( ( face ) => {\n\t\t\t\t\t// Load font faces just in the iframe because they already are in the document.\n\t\t\t\t\tloadFontFaceInBrowser(\n\t\t\t\t\t\tface,\n\t\t\t\t\t\tgetDisplaySrcFromFontFace( face.src ),\n\t\t\t\t\t\t'all'\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t};\n\n\tconst toggleActivateFont = ( font, face ) => {\n\t\t// If the user doesn't have custom fonts defined, include as custom fonts all the theme fonts\n\t\t// We want to save as active all the theme fonts at the beginning\n\t\tconst initialFonts = fontFamilies?.[ font.source ] ?? [];\n\t\t// Toggles the received font family or font face\n\t\tconst newFonts = toggleFont( font, face, initialFonts );\n\t\t// Updates the font families activated in global settings:\n\t\tsetFontFamilies( {\n\t\t\t...fontFamilies,\n\t\t\t[ font.source ]: newFonts,\n\t\t} );\n\n\t\tconst isFaceActivated = isFontActivated(\n\t\t\tfont.slug,\n\t\t\tface?.fontStyle,\n\t\t\tface?.fontWeight,\n\t\t\tfont.source\n\t\t);\n\n\t\tif ( isFaceActivated ) {\n\t\t\tunloadFontFaceInBrowser( face, 'all' );\n\t\t} else {\n\t\t\tloadFontFaceInBrowser(\n\t\t\t\tface,\n\t\t\t\tgetDisplaySrcFromFontFace( face?.src ),\n\t\t\t\t'all'\n\t\t\t);\n\t\t}\n\t};\n\n\tconst loadFontFaceAsset = async ( fontFace ) => {\n\t\t// If the font doesn't have a src, don't load it.\n\t\tif ( ! fontFace.src ) {\n\t\t\treturn;\n\t\t}\n\t\t// Get the src of the font.\n\t\tconst src = getDisplaySrcFromFontFace( fontFace.src );\n\t\t// If the font is already loaded, don't load it again.\n\t\tif ( ! src || loadedFontUrls.has( src ) ) {\n\t\t\treturn;\n\t\t}\n\t\t// Load the font in the browser.\n\t\tloadFontFaceInBrowser( fontFace, src, 'document' );\n\t\t// Add the font to the loaded fonts list.\n\t\tloadedFontUrls.add( src );\n\t};\n\n\t// Font Collections\n\tconst [ collections, setFontCollections ] = useState( [] );\n\tconst getFontCollections = async () => {\n\t\tconst response = await fetchFontCollections();\n\t\tsetFontCollections( response );\n\t};\n\tconst getFontCollection = async ( slug ) => {\n\t\ttry {\n\t\t\tconst hasData = !! collections.find(\n\t\t\t\t( collection ) => collection.slug === slug\n\t\t\t)?.font_families;\n\t\t\tif ( hasData ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst response = await fetchFontCollection( slug );\n\t\t\tconst updatedCollections = collections.map( ( collection ) =>\n\t\t\t\tcollection.slug === slug\n\t\t\t\t\t? { ...collection, ...response }\n\t\t\t\t\t: collection\n\t\t\t);\n\t\t\tsetFontCollections( updatedCollections );\n\t\t} catch ( e ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error( e );\n\t\t\tthrow e;\n\t\t}\n\t};\n\n\tuseEffect( () => {\n\t\tgetFontCollections();\n\t}, [] );\n\n\treturn (\n\t\t<FontLibraryContext.Provider\n\t\t\tvalue={ {\n\t\t\t\tlibraryFontSelected,\n\t\t\t\thandleSetLibraryFontSelected,\n\t\t\t\tfontFamilies,\n\t\t\t\tbaseCustomFonts,\n\t\t\t\tisFontActivated,\n\t\t\t\tgetFontFacesActivated,\n\t\t\t\tloadFontFaceAsset,\n\t\t\t\tinstallFonts,\n\t\t\t\tuninstallFontFamily,\n\t\t\t\ttoggleActivateFont,\n\t\t\t\tgetAvailableFontsOutline,\n\t\t\t\tmodalTabOpen,\n\t\t\t\tsetModalTabOpen,\n\t\t\t\trefreshLibrary,\n\t\t\t\tsaveFontFamilies,\n\t\t\t\tisResolvingLibrary,\n\t\t\t\tisInstalling,\n\t\t\t\tcollections,\n\t\t\t\tgetFontCollection,\n\t\t\t} }\n\t\t>\n\t\t\t{ children }\n\t\t</FontLibraryContext.Provider>\n\t);\n}\n\nexport default FontLibraryProvider;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_element","require","_blockEditor","_data","_coreData","_i18n","_resolvers","_lockUnlock","_utils","_toggleFont","_setNestedValue","_interopRequireDefault","_jsxRuntime","useGlobalSetting","unlock","blockEditorPrivateApis","FontLibraryContext","exports","createContext","FontLibraryProvider","children","saveEntityRecord","useDispatch","coreStore","globalStylesId","useSelect","select","__experimentalGetCurrentGlobalStylesId","globalStyles","useEntityRecord","isInstalling","setIsInstalling","useState","refreshKey","setRefreshKey","refreshLibrary","Date","now","records","libraryPosts","isResolving","isResolvingLibrary","useEntityRecords","_embed","libraryFonts","map","fontFamilyPost","id","font_family_settings","fontFace","_embedded","font_faces","face","font_face_settings","fontFamilies","setFontFamilies","saveFontFamilies","fonts","updatedGlobalStyles","record","setNestedValue","modalTabOpen","setModalTabOpen","libraryFontSelected","setLibraryFontSelected","themeFonts","theme","f","setUIValuesNeeded","source","sort","a","b","name","localeCompare","customFonts","custom","baseCustomFonts","useEffect","handleSetLibraryFontSelected","font","fontSelected","find","slug","loadedFontUrls","Set","getAvailableFontsOutline","availableFontFamilies","outline","reduce","acc","availableFontFaces","length","fontStyle","fontWeight","getActivatedFontsOutline","isFontActivated","style","weight","includes","getFontFacesActivated","installFonts","fontFamiliesToInstall","fontFamiliesToActivate","installationErrors","fontFamilyToInstall","isANewFontFamily","installedFontFamily","fetchGetFontFamilyBySlug","fetchInstallFontFamily","makeFontFamilyFormData","alreadyInstalledFontFaces","filter","fontFaceToInstall","checkFontFaceInstalled","successfullyInstalledFontFaces","unsuccessfullyInstalledFontFaces","response","batchInstallFontFaces","makeFontFacesFormData","successes","errors","push","fetchUninstallFontFamily","concat","unique","item","message","activeFonts","activateCustomFontFamilies","installError","Error","__","uninstallFontFamily","fontFamilyToUninstall","uninstalledFontFamily","deleted","deactivateFontFamily","error","console","_fontFamilies$font$so","initialCustomFonts","newCustomFonts","forEach","unloadFontFaceInBrowser","fontsToAdd","fontsToActivate","cleanFontsForSave","mergeFontFamilies","loadFontsInBrowser","_familyDbId","_faceDbId","loadFontFaceInBrowser","getDisplaySrcFromFontFace","src","toggleActivateFont","_fontFamilies$font$so2","initialFonts","newFonts","toggleFont","isFaceActivated","loadFontFaceAsset","has","add","collections","setFontCollections","getFontCollections","fetchFontCollections","getFontCollection","hasData","collection","font_families","fetchFontCollection","updatedCollections","e","jsx","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 { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tfetchGetFontFamilyBySlug,\n\tfetchInstallFontFamily,\n\tfetchUninstallFontFamily,\n\tfetchFontCollections,\n\tfetchFontCollection,\n} from './resolvers';\nimport { unlock } from '../../../lock-unlock';\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\nimport {\n\tsetUIValuesNeeded,\n\tmergeFontFamilies,\n\tloadFontFaceInBrowser,\n\tunloadFontFaceInBrowser,\n\tgetDisplaySrcFromFontFace,\n\tmakeFontFacesFormData,\n\tmakeFontFamilyFormData,\n\tbatchInstallFontFaces,\n\tcheckFontFaceInstalled,\n} from './utils';\nimport { toggleFont } from './utils/toggleFont';\nimport setNestedValue from '../../../utils/set-nested-value';\n\nexport const FontLibraryContext = createContext( {} );\n\nfunction FontLibraryProvider( { children } ) {\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { globalStylesId } = useSelect( ( select ) => {\n\t\tconst { __experimentalGetCurrentGlobalStylesId } = select( coreStore );\n\t\treturn { globalStylesId: __experimentalGetCurrentGlobalStylesId() };\n\t} );\n\n\tconst globalStyles = useEntityRecord(\n\t\t'root',\n\t\t'globalStyles',\n\t\tglobalStylesId\n\t);\n\n\tconst [ isInstalling, setIsInstalling ] = useState( false );\n\tconst [ refreshKey, setRefreshKey ] = useState( 0 );\n\n\tconst refreshLibrary = () => {\n\t\tsetRefreshKey( Date.now() );\n\t};\n\n\tconst { records: libraryPosts = [], isResolving: isResolvingLibrary } =\n\t\tuseEntityRecords( 'postType', 'wp_font_family', {\n\t\t\trefreshKey,\n\t\t\t_embed: true,\n\t\t} );\n\n\tconst libraryFonts =\n\t\t( libraryPosts || [] ).map( ( fontFamilyPost ) => {\n\t\t\treturn {\n\t\t\t\tid: fontFamilyPost.id,\n\t\t\t\t...fontFamilyPost.font_family_settings,\n\t\t\t\tfontFace:\n\t\t\t\t\tfontFamilyPost?._embedded?.font_faces.map(\n\t\t\t\t\t\t( face ) => face.font_face_settings\n\t\t\t\t\t) || [],\n\t\t\t};\n\t\t} ) || [];\n\n\t// Global Styles (settings) font families\n\tconst [ fontFamilies, setFontFamilies ] = useGlobalSetting(\n\t\t'typography.fontFamilies'\n\t);\n\n\t/*\n\t * Save the font families to the database.\n\n\t * This function is called when the user activates or deactivates a font family.\n\t * It only updates the global styles post content in the database for new font families.\n\t * This avoids saving other styles/settings changed by the user using other parts of the editor.\n\t *\n\t * It uses the font families from the param to avoid using the font families from an outdated state.\n\t *\n\t * @param {Array} fonts - The font families that will be saved to the database.\n\t */\n\tconst saveFontFamilies = async ( fonts ) => {\n\t\t// Gets the global styles database post content.\n\t\tconst updatedGlobalStyles = globalStyles.record;\n\n\t\t// Updates the database version of global styles with the edited font families in the client.\n\t\tsetNestedValue(\n\t\t\tupdatedGlobalStyles,\n\t\t\t[ 'settings', 'typography', 'fontFamilies' ],\n\t\t\tfonts\n\t\t);\n\n\t\t// Saves a new version of the global styles in the database.\n\t\tawait saveEntityRecord( 'root', 'globalStyles', updatedGlobalStyles );\n\t};\n\n\t// Library Fonts\n\tconst [ modalTabOpen, setModalTabOpen ] = useState( false );\n\tconst [ libraryFontSelected, setLibraryFontSelected ] = useState( null );\n\n\t// Themes Fonts are the fonts defined in the global styles (database persisted theme.json data).\n\tconst themeFonts = fontFamilies?.theme\n\t\t? fontFamilies.theme\n\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'theme' } ) )\n\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t: [];\n\n\tconst customFonts = fontFamilies?.custom\n\t\t? fontFamilies.custom\n\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'custom' } ) )\n\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t: [];\n\n\tconst baseCustomFonts = libraryFonts\n\t\t? libraryFonts\n\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'custom' } ) )\n\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t: [];\n\n\tuseEffect( () => {\n\t\tif ( ! modalTabOpen ) {\n\t\t\tsetLibraryFontSelected( null );\n\t\t}\n\t}, [ modalTabOpen ] );\n\n\tconst handleSetLibraryFontSelected = ( font ) => {\n\t\t// If font is null, reset the selected font\n\t\tif ( ! font ) {\n\t\t\tsetLibraryFontSelected( null );\n\t\t\treturn;\n\t\t}\n\n\t\tconst fonts = font.source === 'theme' ? themeFonts : baseCustomFonts;\n\n\t\t// Tries to find the font in the installed fonts\n\t\tconst fontSelected = fonts.find( ( f ) => f.slug === font.slug );\n\t\t// If the font is not found (it is only defined in custom styles), use the font from custom styles\n\t\tsetLibraryFontSelected( {\n\t\t\t...( fontSelected || font ),\n\t\t\tsource: font.source,\n\t\t} );\n\t};\n\n\t// Demo\n\tconst [ loadedFontUrls ] = useState( new Set() );\n\n\tconst getAvailableFontsOutline = ( availableFontFamilies ) => {\n\t\tconst outline = availableFontFamilies.reduce( ( acc, font ) => {\n\t\t\tconst availableFontFaces =\n\t\t\t\tfont?.fontFace && font.fontFace?.length > 0\n\t\t\t\t\t? font?.fontFace.map(\n\t\t\t\t\t\t\t( face ) => `${ face.fontStyle + face.fontWeight }`\n\t\t\t\t\t )\n\t\t\t\t\t: [ 'normal400' ]; // If the font doesn't have fontFace, we assume it is a system font and we add the defaults: normal 400\n\n\t\t\tacc[ font.slug ] = availableFontFaces;\n\t\t\treturn acc;\n\t\t}, {} );\n\t\treturn outline;\n\t};\n\n\tconst getActivatedFontsOutline = ( source ) => {\n\t\tswitch ( source ) {\n\t\t\tcase 'theme':\n\t\t\t\treturn getAvailableFontsOutline( themeFonts );\n\t\t\tcase 'custom':\n\t\t\tdefault:\n\t\t\t\treturn getAvailableFontsOutline( customFonts );\n\t\t}\n\t};\n\n\tconst isFontActivated = ( slug, style, weight, source ) => {\n\t\tif ( ! style && ! weight ) {\n\t\t\treturn !! getActivatedFontsOutline( source )[ slug ];\n\t\t}\n\t\treturn !! getActivatedFontsOutline( source )[ slug ]?.includes(\n\t\t\tstyle + weight\n\t\t);\n\t};\n\n\tconst getFontFacesActivated = ( slug, source ) => {\n\t\treturn getActivatedFontsOutline( source )[ slug ] || [];\n\t};\n\n\tasync function installFonts( fontFamiliesToInstall ) {\n\t\tsetIsInstalling( true );\n\t\ttry {\n\t\t\tconst fontFamiliesToActivate = [];\n\t\t\tlet installationErrors = [];\n\n\t\t\tfor ( const fontFamilyToInstall of fontFamiliesToInstall ) {\n\t\t\t\tlet isANewFontFamily = false;\n\n\t\t\t\t// Get the font family if it already exists.\n\t\t\t\tlet installedFontFamily = await fetchGetFontFamilyBySlug(\n\t\t\t\t\tfontFamilyToInstall.slug\n\t\t\t\t);\n\n\t\t\t\t// Otherwise create it.\n\t\t\t\tif ( ! installedFontFamily ) {\n\t\t\t\t\tisANewFontFamily = true;\n\t\t\t\t\t// Prepare font family form data to install.\n\t\t\t\t\tinstalledFontFamily = await fetchInstallFontFamily(\n\t\t\t\t\t\tmakeFontFamilyFormData( fontFamilyToInstall )\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Collect font faces that have already been installed (to be activated later)\n\t\t\t\tconst alreadyInstalledFontFaces =\n\t\t\t\t\tinstalledFontFamily.fontFace && fontFamilyToInstall.fontFace\n\t\t\t\t\t\t? installedFontFamily.fontFace.filter(\n\t\t\t\t\t\t\t\t( fontFaceToInstall ) =>\n\t\t\t\t\t\t\t\t\tcheckFontFaceInstalled(\n\t\t\t\t\t\t\t\t\t\tfontFaceToInstall,\n\t\t\t\t\t\t\t\t\t\tfontFamilyToInstall.fontFace\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: [];\n\n\t\t\t\t// Filter out Font Faces that have already been installed (so that they are not re-installed)\n\t\t\t\tif (\n\t\t\t\t\tinstalledFontFamily.fontFace &&\n\t\t\t\t\tfontFamilyToInstall.fontFace\n\t\t\t\t) {\n\t\t\t\t\tfontFamilyToInstall.fontFace =\n\t\t\t\t\t\tfontFamilyToInstall.fontFace.filter(\n\t\t\t\t\t\t\t( fontFaceToInstall ) =>\n\t\t\t\t\t\t\t\t! checkFontFaceInstalled(\n\t\t\t\t\t\t\t\t\tfontFaceToInstall,\n\t\t\t\t\t\t\t\t\tinstalledFontFamily.fontFace\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Install the fonts (upload the font files to the server and create the post in the database).\n\t\t\t\tlet successfullyInstalledFontFaces = [];\n\t\t\t\tlet unsuccessfullyInstalledFontFaces = [];\n\t\t\t\tif ( fontFamilyToInstall?.fontFace?.length > 0 ) {\n\t\t\t\t\tconst response = await batchInstallFontFaces(\n\t\t\t\t\t\tinstalledFontFamily.id,\n\t\t\t\t\t\tmakeFontFacesFormData( fontFamilyToInstall )\n\t\t\t\t\t);\n\t\t\t\t\tsuccessfullyInstalledFontFaces = response?.successes;\n\t\t\t\t\tunsuccessfullyInstalledFontFaces = response?.errors;\n\t\t\t\t}\n\n\t\t\t\t// Use the successfully installed font faces\n\t\t\t\t// As well as any font faces that were already installed (those will be activated)\n\t\t\t\tif (\n\t\t\t\t\tsuccessfullyInstalledFontFaces?.length > 0 ||\n\t\t\t\t\talreadyInstalledFontFaces?.length > 0\n\t\t\t\t) {\n\t\t\t\t\t// Use font data from REST API not from client to ensure\n\t\t\t\t\t// correct font information is used.\n\t\t\t\t\tinstalledFontFamily.fontFace = [\n\t\t\t\t\t\t...successfullyInstalledFontFaces,\n\t\t\t\t\t];\n\n\t\t\t\t\tfontFamiliesToActivate.push( installedFontFamily );\n\t\t\t\t}\n\n\t\t\t\t// If it's a system font but was installed successfully, activate it.\n\t\t\t\tif (\n\t\t\t\t\tinstalledFontFamily &&\n\t\t\t\t\t! fontFamilyToInstall?.fontFace?.length\n\t\t\t\t) {\n\t\t\t\t\tfontFamiliesToActivate.push( installedFontFamily );\n\t\t\t\t}\n\n\t\t\t\t// If the font family is new and is not a system font, delete it to avoid having font families without font faces.\n\t\t\t\tif (\n\t\t\t\t\tisANewFontFamily &&\n\t\t\t\t\tfontFamilyToInstall?.fontFace?.length > 0 &&\n\t\t\t\t\tsuccessfullyInstalledFontFaces?.length === 0\n\t\t\t\t) {\n\t\t\t\t\tawait fetchUninstallFontFamily( installedFontFamily.id );\n\t\t\t\t}\n\n\t\t\t\tinstallationErrors = installationErrors.concat(\n\t\t\t\t\tunsuccessfullyInstalledFontFaces\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tinstallationErrors = installationErrors.reduce(\n\t\t\t\t( unique, item ) =>\n\t\t\t\t\tunique.includes( item.message )\n\t\t\t\t\t\t? unique\n\t\t\t\t\t\t: [ ...unique, item.message ],\n\t\t\t\t[]\n\t\t\t);\n\n\t\t\tif ( fontFamiliesToActivate.length > 0 ) {\n\t\t\t\t// Activate the font family (add the font family to the global styles).\n\t\t\t\tconst activeFonts = activateCustomFontFamilies(\n\t\t\t\t\tfontFamiliesToActivate\n\t\t\t\t);\n\t\t\t\t// Save the global styles to the database.\n\t\t\t\tawait saveFontFamilies( activeFonts );\n\n\t\t\t\trefreshLibrary();\n\t\t\t}\n\n\t\t\tif ( installationErrors.length > 0 ) {\n\t\t\t\tconst installError = new Error(\n\t\t\t\t\t__( 'There was an error installing fonts.' )\n\t\t\t\t);\n\n\t\t\t\tinstallError.installationErrors = installationErrors;\n\n\t\t\t\tthrow installError;\n\t\t\t}\n\t\t} finally {\n\t\t\tsetIsInstalling( false );\n\t\t}\n\t}\n\n\tasync function uninstallFontFamily( fontFamilyToUninstall ) {\n\t\ttry {\n\t\t\t// Uninstall the font family.\n\t\t\t// (Removes the font files from the server and the posts from the database).\n\t\t\tconst uninstalledFontFamily = await fetchUninstallFontFamily(\n\t\t\t\tfontFamilyToUninstall.id\n\t\t\t);\n\n\t\t\t// Deactivate the font family if delete request is successful\n\t\t\t// (Removes the font family from the global styles).\n\t\t\tif ( uninstalledFontFamily.deleted ) {\n\t\t\t\tconst activeFonts = deactivateFontFamily(\n\t\t\t\t\tfontFamilyToUninstall\n\t\t\t\t);\n\t\t\t\t// Save the global styles to the database.\n\t\t\t\tawait saveFontFamilies( activeFonts );\n\t\t\t}\n\n\t\t\t// Refresh the library (the library font families from database).\n\t\t\trefreshLibrary();\n\n\t\t\treturn uninstalledFontFamily;\n\t\t} catch ( error ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(\n\t\t\t\t`There was an error uninstalling the font family:`,\n\t\t\t\terror\n\t\t\t);\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\tconst deactivateFontFamily = ( font ) => {\n\t\t// If the user doesn't have custom fonts defined, include as custom fonts all the theme fonts\n\t\t// We want to save as active all the theme fonts at the beginning\n\t\tconst initialCustomFonts = fontFamilies?.[ font.source ] ?? [];\n\t\tconst newCustomFonts = initialCustomFonts.filter(\n\t\t\t( f ) => f.slug !== font.slug\n\t\t);\n\t\tconst activeFonts = {\n\t\t\t...fontFamilies,\n\t\t\t[ font.source ]: newCustomFonts,\n\t\t};\n\t\tsetFontFamilies( activeFonts );\n\n\t\tif ( font.fontFace ) {\n\t\t\tfont.fontFace.forEach( ( face ) => {\n\t\t\t\tunloadFontFaceInBrowser( face, 'all' );\n\t\t\t} );\n\t\t}\n\t\treturn activeFonts;\n\t};\n\n\tconst activateCustomFontFamilies = ( fontsToAdd ) => {\n\t\tconst fontsToActivate = cleanFontsForSave( fontsToAdd );\n\n\t\tconst activeFonts = {\n\t\t\t...fontFamilies,\n\t\t\t// Merge the existing custom fonts with the new fonts.\n\t\t\tcustom: mergeFontFamilies( fontFamilies?.custom, fontsToActivate ),\n\t\t};\n\n\t\t// Activate the fonts by set the new custom fonts array.\n\t\tsetFontFamilies( activeFonts );\n\n\t\tloadFontsInBrowser( fontsToActivate );\n\n\t\treturn activeFonts;\n\t};\n\n\t// Removes the id from the families and faces to avoid saving that to global styles post content.\n\tconst cleanFontsForSave = ( fonts ) => {\n\t\treturn fonts.map( ( { id: _familyDbId, fontFace, ...font } ) => ( {\n\t\t\t...font,\n\t\t\t...( fontFace && fontFace.length > 0\n\t\t\t\t? {\n\t\t\t\t\t\tfontFace: fontFace.map(\n\t\t\t\t\t\t\t( { id: _faceDbId, ...face } ) => face\n\t\t\t\t\t\t),\n\t\t\t\t }\n\t\t\t\t: {} ),\n\t\t} ) );\n\t};\n\n\tconst loadFontsInBrowser = ( fonts ) => {\n\t\t// Add custom fonts to the browser.\n\t\tfonts.forEach( ( font ) => {\n\t\t\tif ( font.fontFace ) {\n\t\t\t\tfont.fontFace.forEach( ( face ) => {\n\t\t\t\t\t// Load font faces just in the iframe because they already are in the document.\n\t\t\t\t\tloadFontFaceInBrowser(\n\t\t\t\t\t\tface,\n\t\t\t\t\t\tgetDisplaySrcFromFontFace( face.src ),\n\t\t\t\t\t\t'all'\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t};\n\n\tconst toggleActivateFont = ( font, face ) => {\n\t\t// If the user doesn't have custom fonts defined, include as custom fonts all the theme fonts\n\t\t// We want to save as active all the theme fonts at the beginning\n\t\tconst initialFonts = fontFamilies?.[ font.source ] ?? [];\n\t\t// Toggles the received font family or font face\n\t\tconst newFonts = toggleFont( font, face, initialFonts );\n\t\t// Updates the font families activated in global settings:\n\t\tsetFontFamilies( {\n\t\t\t...fontFamilies,\n\t\t\t[ font.source ]: newFonts,\n\t\t} );\n\n\t\tconst isFaceActivated = isFontActivated(\n\t\t\tfont.slug,\n\t\t\tface?.fontStyle,\n\t\t\tface?.fontWeight,\n\t\t\tfont.source\n\t\t);\n\n\t\tif ( isFaceActivated ) {\n\t\t\tunloadFontFaceInBrowser( face, 'all' );\n\t\t} else {\n\t\t\tloadFontFaceInBrowser(\n\t\t\t\tface,\n\t\t\t\tgetDisplaySrcFromFontFace( face?.src ),\n\t\t\t\t'all'\n\t\t\t);\n\t\t}\n\t};\n\n\tconst loadFontFaceAsset = async ( fontFace ) => {\n\t\t// If the font doesn't have a src, don't load it.\n\t\tif ( ! fontFace.src ) {\n\t\t\treturn;\n\t\t}\n\t\t// Get the src of the font.\n\t\tconst src = getDisplaySrcFromFontFace( fontFace.src );\n\t\t// If the font is already loaded, don't load it again.\n\t\tif ( ! src || loadedFontUrls.has( src ) ) {\n\t\t\treturn;\n\t\t}\n\t\t// Load the font in the browser.\n\t\tloadFontFaceInBrowser( fontFace, src, 'document' );\n\t\t// Add the font to the loaded fonts list.\n\t\tloadedFontUrls.add( src );\n\t};\n\n\t// Font Collections\n\tconst [ collections, setFontCollections ] = useState( [] );\n\tconst getFontCollections = async () => {\n\t\tconst response = await fetchFontCollections();\n\t\tsetFontCollections( response );\n\t};\n\tconst getFontCollection = async ( slug ) => {\n\t\ttry {\n\t\t\tconst hasData = !! collections.find(\n\t\t\t\t( collection ) => collection.slug === slug\n\t\t\t)?.font_families;\n\t\t\tif ( hasData ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst response = await fetchFontCollection( slug );\n\t\t\tconst updatedCollections = collections.map( ( collection ) =>\n\t\t\t\tcollection.slug === slug\n\t\t\t\t\t? { ...collection, ...response }\n\t\t\t\t\t: collection\n\t\t\t);\n\t\t\tsetFontCollections( updatedCollections );\n\t\t} catch ( e ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error( e );\n\t\t\tthrow e;\n\t\t}\n\t};\n\n\tuseEffect( () => {\n\t\tgetFontCollections();\n\t}, [] );\n\n\treturn (\n\t\t<FontLibraryContext.Provider\n\t\t\tvalue={ {\n\t\t\t\tlibraryFontSelected,\n\t\t\t\thandleSetLibraryFontSelected,\n\t\t\t\tfontFamilies,\n\t\t\t\tbaseCustomFonts,\n\t\t\t\tisFontActivated,\n\t\t\t\tgetFontFacesActivated,\n\t\t\t\tloadFontFaceAsset,\n\t\t\t\tinstallFonts,\n\t\t\t\tuninstallFontFamily,\n\t\t\t\ttoggleActivateFont,\n\t\t\t\tgetAvailableFontsOutline,\n\t\t\t\tmodalTabOpen,\n\t\t\t\tsetModalTabOpen,\n\t\t\t\trefreshLibrary,\n\t\t\t\tsaveFontFamilies,\n\t\t\t\tisResolvingLibrary,\n\t\t\t\tisInstalling,\n\t\t\t\tcollections,\n\t\t\t\tgetFontCollection,\n\t\t\t} }\n\t\t>\n\t\t\t{ children }\n\t\t</FontLibraryContext.Provider>\n\t);\n}\n\nexport default FontLibraryProvider;\n"],"mappings":"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","ignoreList":[]}
@@ -357,27 +357,22 @@ function FontCollection({
357
357
  children: (0, _i18n.__)('Install')
358
358
  })
359
359
  }), !selectedFont && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
360
- spacing: 4,
361
- justify: "center",
360
+ expanded: false,
362
361
  className: "font-library-modal__footer",
363
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
364
- label: (0, _i18n.__)('Previous page'),
365
- size: "compact",
366
- onClick: () => setPage(page - 1),
367
- disabled: page === 1,
368
- showTooltip: true,
369
- accessibleWhenDisabled: true,
370
- icon: (0, _i18n.isRTL)() ? _icons.chevronRight : _icons.chevronLeft,
371
- tooltipPosition: "top"
372
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalHStack, {
362
+ justify: "end",
363
+ spacing: 6,
364
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalHStack, {
373
365
  justify: "flex-start",
374
366
  expanded: false,
375
- spacing: 2,
367
+ spacing: 1,
376
368
  className: "font-library-modal__page-selection",
377
369
  children: (0, _element.createInterpolateElement)((0, _i18n.sprintf)(
378
- // translators: %s: Total number of pages.
379
- (0, _i18n._x)('Page <CurrentPageControl /> of %s', 'paging'), totalPages), {
380
- CurrentPageControl: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SelectControl, {
370
+ // translators: 1: Current page number, 2: Total number of pages.
371
+ (0, _i18n._x)('<div>Page</div>%1$s<div>of %2$s</div>', 'paging'), '<CurrentPage />', totalPages), {
372
+ div: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
373
+ "aria-hidden": true
374
+ }),
375
+ CurrentPage: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SelectControl, {
381
376
  "aria-label": (0, _i18n.__)('Current page'),
382
377
  value: page,
383
378
  options: [...Array(totalPages)].map((e, i) => {
@@ -387,18 +382,33 @@ function FontCollection({
387
382
  };
388
383
  }),
389
384
  onChange: newPage => setPage(parseInt(newPage)),
390
- size: "compact",
391
- __nextHasNoMarginBottom: true
385
+ size: "small",
386
+ __nextHasNoMarginBottom: true,
387
+ variant: "minimal"
392
388
  })
393
389
  })
394
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
395
- label: (0, _i18n.__)('Next page'),
396
- size: "compact",
397
- onClick: () => setPage(page + 1),
398
- disabled: page === totalPages,
399
- accessibleWhenDisabled: true,
400
- icon: (0, _i18n.isRTL)() ? _icons.chevronLeft : _icons.chevronRight,
401
- tooltipPosition: "top"
390
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
391
+ expanded: false,
392
+ spacing: 1,
393
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
394
+ onClick: () => setPage(page - 1),
395
+ disabled: page === 1,
396
+ accessibleWhenDisabled: true,
397
+ label: (0, _i18n.__)('Previous page'),
398
+ icon: (0, _i18n.isRTL)() ? _icons.next : _icons.previous,
399
+ showTooltip: true,
400
+ size: "compact",
401
+ tooltipPosition: "top"
402
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
403
+ onClick: () => setPage(page + 1),
404
+ disabled: page === totalPages,
405
+ accessibleWhenDisabled: true,
406
+ label: (0, _i18n.__)('Next page'),
407
+ icon: (0, _i18n.isRTL)() ? _icons.previous : _icons.next,
408
+ showTooltip: true,
409
+ size: "compact",
410
+ tooltipPosition: "top"
411
+ })]
402
412
  })]
403
413
  })]
404
414
  })]