@wordpress/edit-site 5.18.1-next.5a1d1283.0 → 5.19.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 (425) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-pattern/index.js +62 -1
  3. package/build/components/add-new-pattern/index.js.map +1 -1
  4. package/build/components/add-new-template/index.js +3 -2
  5. package/build/components/add-new-template/index.js.map +1 -1
  6. package/build/components/add-new-template/new-template.js +6 -1
  7. package/build/components/add-new-template/new-template.js.map +1 -1
  8. package/build/components/add-new-template/utils.js +6 -1
  9. package/build/components/add-new-template/utils.js.map +1 -1
  10. package/build/components/app/index.js +2 -7
  11. package/build/components/app/index.js.map +1 -1
  12. package/build/components/block-editor/back-button.js +3 -2
  13. package/build/components/block-editor/back-button.js.map +1 -1
  14. package/build/components/block-editor/editor-canvas.js +20 -16
  15. package/build/components/block-editor/editor-canvas.js.map +1 -1
  16. package/build/components/block-editor/site-editor-canvas.js +1 -3
  17. package/build/components/block-editor/site-editor-canvas.js.map +1 -1
  18. package/build/components/block-editor/use-site-editor-settings.js +8 -4
  19. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  20. package/build/components/canvas-loader/index.js +18 -1
  21. package/build/components/canvas-loader/index.js.map +1 -1
  22. package/build/components/editor/index.js +3 -8
  23. package/build/components/editor/index.js.map +1 -1
  24. package/build/components/global-styles/dimensions-panel.js +5 -4
  25. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  26. package/build/components/global-styles/font-families.js +68 -0
  27. package/build/components/global-styles/font-families.js.map +1 -0
  28. package/build/components/global-styles/font-family-item.js +47 -0
  29. package/build/components/global-styles/font-family-item.js.map +1 -0
  30. package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js +31 -0
  31. package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +1 -0
  32. package/build/components/global-styles/font-library-modal/context.js +285 -0
  33. package/build/components/global-styles/font-library-modal/context.js.map +1 -0
  34. package/build/components/global-styles/font-library-modal/font-card.js +58 -0
  35. package/build/components/global-styles/font-library-modal/font-card.js.map +1 -0
  36. package/build/components/global-styles/font-library-modal/font-demo.js +69 -0
  37. package/build/components/global-styles/font-library-modal/font-demo.js.map +1 -0
  38. package/build/components/global-styles/font-library-modal/font-variant.js +51 -0
  39. package/build/components/global-styles/font-library-modal/font-variant.js.map +1 -0
  40. package/build/components/global-styles/font-library-modal/fonts-grid.js +54 -0
  41. package/build/components/global-styles/font-library-modal/fonts-grid.js.map +1 -0
  42. package/build/components/global-styles/font-library-modal/index.js +47 -0
  43. package/build/components/global-styles/font-library-modal/index.js.map +1 -0
  44. package/build/components/global-styles/font-library-modal/installed-fonts.js +128 -0
  45. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -0
  46. package/build/components/global-styles/font-library-modal/library-font-card.js +44 -0
  47. package/build/components/global-styles/font-library-modal/library-font-card.js.map +1 -0
  48. package/build/components/global-styles/font-library-modal/library-font-details.js +43 -0
  49. package/build/components/global-styles/font-library-modal/library-font-details.js.map +1 -0
  50. package/build/components/global-styles/font-library-modal/library-font-variant.js +59 -0
  51. package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -0
  52. package/build/components/global-styles/font-library-modal/local-fonts.js +143 -0
  53. package/build/components/global-styles/font-library-modal/local-fonts.js.map +1 -0
  54. package/build/components/global-styles/font-library-modal/resolvers.js +37 -0
  55. package/build/components/global-styles/font-library-modal/resolvers.js.map +1 -0
  56. package/build/components/global-styles/font-library-modal/tab-layout.js +45 -0
  57. package/build/components/global-styles/font-library-modal/tab-layout.js.map +1 -0
  58. package/build/components/global-styles/font-library-modal/utils/constants.js +37 -0
  59. package/build/components/global-styles/font-library-modal/utils/constants.js.map +1 -0
  60. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +58 -0
  61. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -0
  62. package/build/components/global-styles/font-library-modal/utils/index.js +205 -0
  63. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -0
  64. package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js +22 -0
  65. package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +1 -0
  66. package/build/components/global-styles/font-library-modal/utils/toggleFont.js +92 -0
  67. package/build/components/global-styles/font-library-modal/utils/toggleFont.js.map +1 -0
  68. package/build/components/global-styles/global-styles-provider.js +7 -12
  69. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  70. package/build/components/global-styles/screen-block.js +34 -21
  71. package/build/components/global-styles/screen-block.js.map +1 -1
  72. package/build/components/global-styles/screen-revisions/index.js +1 -3
  73. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  74. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +0 -1
  75. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  76. package/build/components/global-styles/screen-typography.js +4 -72
  77. package/build/components/global-styles/screen-typography.js.map +1 -1
  78. package/build/components/global-styles/style-variations-container.js +3 -5
  79. package/build/components/global-styles/style-variations-container.js.map +1 -1
  80. package/build/components/global-styles/typogrphy-elements.js +96 -0
  81. package/build/components/global-styles/typogrphy-elements.js.map +1 -0
  82. package/build/components/page-patterns/duplicate-menu-item.js +52 -16
  83. package/build/components/page-patterns/duplicate-menu-item.js.map +1 -1
  84. package/build/components/page-patterns/grid-item.js +46 -20
  85. package/build/components/page-patterns/grid-item.js.map +1 -1
  86. package/build/components/page-patterns/header.js +3 -7
  87. package/build/components/page-patterns/header.js.map +1 -1
  88. package/build/components/page-patterns/index.js +3 -3
  89. package/build/components/page-patterns/index.js.map +1 -1
  90. package/build/components/page-patterns/patterns-list.js +7 -7
  91. package/build/components/page-patterns/patterns-list.js.map +1 -1
  92. package/build/components/page-patterns/rename-menu-item.js +6 -5
  93. package/build/components/page-patterns/rename-menu-item.js.map +1 -1
  94. package/build/components/page-patterns/search-items.js +8 -2
  95. package/build/components/page-patterns/search-items.js.map +1 -1
  96. package/build/components/page-patterns/use-patterns.js +53 -27
  97. package/build/components/page-patterns/use-patterns.js.map +1 -1
  98. package/build/components/page-patterns/utils.js +1 -20
  99. package/build/components/page-patterns/utils.js.map +1 -1
  100. package/build/components/sidebar-edit-mode/page-panels/edit-template.js +33 -24
  101. package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  102. package/build/components/sidebar-edit-mode/page-panels/hooks.js +64 -0
  103. package/build/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -0
  104. package/build/components/sidebar-edit-mode/page-panels/index.js +1 -4
  105. package/build/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
  106. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +2 -1
  107. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  108. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +56 -0
  109. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -0
  110. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js +91 -0
  111. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -0
  112. package/build/components/sidebar-edit-mode/template-panel/index.js +11 -9
  113. package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  114. package/build/components/sidebar-edit-mode/template-panel/last-revision.js +6 -4
  115. package/build/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -1
  116. package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js +211 -0
  117. package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -0
  118. package/build/components/sidebar-navigation-screen/index.js +6 -4
  119. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  120. package/build/components/sidebar-navigation-screen-details-footer/index.js +32 -4
  121. package/build/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
  122. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +4 -2
  123. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -1
  124. package/build/components/sidebar-navigation-screen-global-styles/index.js +4 -31
  125. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  126. package/build/components/sidebar-navigation-screen-page/index.js +3 -3
  127. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
  128. package/build/components/sidebar-navigation-screen-pattern/index.js +18 -8
  129. package/build/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  130. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +34 -5
  131. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  132. package/build/components/sidebar-navigation-screen-patterns/index.js +7 -35
  133. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  134. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +38 -4
  135. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  136. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -1
  137. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  138. package/build/components/sidebar-navigation-screen-template/index.js +2 -2
  139. package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
  140. package/build/components/sidebar-navigation-screen-templates/index.js +1 -1
  141. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  142. package/build/components/template-actions/index.js +7 -4
  143. package/build/components/template-actions/index.js.map +1 -1
  144. package/build/components/template-actions/rename-menu-item.js +3 -2
  145. package/build/components/template-actions/rename-menu-item.js.map +1 -1
  146. package/build/components/welcome-guide/styles.js +2 -2
  147. package/build/components/welcome-guide/styles.js.map +1 -1
  148. package/build/hooks/push-changes-to-global-styles/index.js +5 -37
  149. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  150. package/build/store/actions.js +29 -6
  151. package/build/store/actions.js.map +1 -1
  152. package/build/utils/constants.js +45 -2
  153. package/build/utils/constants.js.map +1 -1
  154. package/build/utils/is-template-removable.js +6 -1
  155. package/build/utils/is-template-removable.js.map +1 -1
  156. package/build/utils/is-template-revertable.js +6 -1
  157. package/build/utils/is-template-revertable.js.map +1 -1
  158. package/build-module/components/add-new-pattern/index.js +66 -5
  159. package/build-module/components/add-new-pattern/index.js.map +1 -1
  160. package/build-module/components/add-new-template/index.js +3 -2
  161. package/build-module/components/add-new-template/index.js.map +1 -1
  162. package/build-module/components/add-new-template/new-template.js +6 -1
  163. package/build-module/components/add-new-template/new-template.js.map +1 -1
  164. package/build-module/components/add-new-template/utils.js +6 -1
  165. package/build-module/components/add-new-template/utils.js.map +1 -1
  166. package/build-module/components/app/index.js +2 -7
  167. package/build-module/components/app/index.js.map +1 -1
  168. package/build-module/components/block-editor/back-button.js +3 -2
  169. package/build-module/components/block-editor/back-button.js.map +1 -1
  170. package/build-module/components/block-editor/editor-canvas.js +21 -17
  171. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  172. package/build-module/components/block-editor/site-editor-canvas.js +3 -5
  173. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
  174. package/build-module/components/block-editor/use-site-editor-settings.js +8 -4
  175. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  176. package/build-module/components/canvas-loader/index.js +18 -1
  177. package/build-module/components/canvas-loader/index.js.map +1 -1
  178. package/build-module/components/editor/index.js +3 -8
  179. package/build-module/components/editor/index.js.map +1 -1
  180. package/build-module/components/global-styles/dimensions-panel.js +5 -4
  181. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  182. package/build-module/components/global-styles/font-families.js +58 -0
  183. package/build-module/components/global-styles/font-families.js.map +1 -0
  184. package/build-module/components/global-styles/font-family-item.js +40 -0
  185. package/build-module/components/global-styles/font-family-item.js.map +1 -0
  186. package/build-module/components/global-styles/font-library-modal/confirm-delete-dialog.js +23 -0
  187. package/build-module/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +1 -0
  188. package/build-module/components/global-styles/font-library-modal/context.js +276 -0
  189. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -0
  190. package/build-module/components/global-styles/font-library-modal/font-card.js +49 -0
  191. package/build-module/components/global-styles/font-library-modal/font-card.js.map +1 -0
  192. package/build-module/components/global-styles/font-library-modal/font-demo.js +62 -0
  193. package/build-module/components/global-styles/font-library-modal/font-demo.js.map +1 -0
  194. package/build-module/components/global-styles/font-library-modal/font-variant.js +42 -0
  195. package/build-module/components/global-styles/font-library-modal/font-variant.js.map +1 -0
  196. package/build-module/components/global-styles/font-library-modal/fonts-grid.js +47 -0
  197. package/build-module/components/global-styles/font-library-modal/fonts-grid.js.map +1 -0
  198. package/build-module/components/global-styles/font-library-modal/index.js +38 -0
  199. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -0
  200. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +120 -0
  201. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -0
  202. package/build-module/components/global-styles/font-library-modal/library-font-card.js +36 -0
  203. package/build-module/components/global-styles/font-library-modal/library-font-card.js.map +1 -0
  204. package/build-module/components/global-styles/font-library-modal/library-font-details.js +34 -0
  205. package/build-module/components/global-styles/font-library-modal/library-font-details.js.map +1 -0
  206. package/build-module/components/global-styles/font-library-modal/library-font-variant.js +50 -0
  207. package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -0
  208. package/build-module/components/global-styles/font-library-modal/local-fonts.js +135 -0
  209. package/build-module/components/global-styles/font-library-modal/local-fonts.js.map +1 -0
  210. package/build-module/components/global-styles/font-library-modal/resolvers.js +28 -0
  211. package/build-module/components/global-styles/font-library-modal/resolvers.js.map +1 -0
  212. package/build-module/components/global-styles/font-library-modal/tab-layout.js +37 -0
  213. package/build-module/components/global-styles/font-library-modal/tab-layout.js.map +1 -0
  214. package/build-module/components/global-styles/font-library-modal/utils/constants.js +26 -0
  215. package/build-module/components/global-styles/font-library-modal/utils/constants.js.map +1 -0
  216. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +52 -0
  217. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -0
  218. package/build-module/components/global-styles/font-library-modal/utils/index.js +190 -0
  219. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -0
  220. package/build-module/components/global-styles/font-library-modal/utils/make-families-from-faces.js +16 -0
  221. package/build-module/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +1 -0
  222. package/build-module/components/global-styles/font-library-modal/utils/toggleFont.js +86 -0
  223. package/build-module/components/global-styles/font-library-modal/utils/toggleFont.js.map +1 -0
  224. package/build-module/components/global-styles/global-styles-provider.js +7 -12
  225. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  226. package/build-module/components/global-styles/screen-block.js +34 -21
  227. package/build-module/components/global-styles/screen-block.js.map +1 -1
  228. package/build-module/components/global-styles/screen-revisions/index.js +1 -3
  229. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  230. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +0 -1
  231. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  232. package/build-module/components/global-styles/screen-typography.js +6 -74
  233. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  234. package/build-module/components/global-styles/style-variations-container.js +3 -5
  235. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  236. package/build-module/components/global-styles/typogrphy-elements.js +87 -0
  237. package/build-module/components/global-styles/typogrphy-elements.js.map +1 -0
  238. package/build-module/components/page-patterns/duplicate-menu-item.js +51 -16
  239. package/build-module/components/page-patterns/duplicate-menu-item.js.map +1 -1
  240. package/build-module/components/page-patterns/grid-item.js +47 -21
  241. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  242. package/build-module/components/page-patterns/header.js +3 -7
  243. package/build-module/components/page-patterns/header.js.map +1 -1
  244. package/build-module/components/page-patterns/index.js +3 -3
  245. package/build-module/components/page-patterns/index.js.map +1 -1
  246. package/build-module/components/page-patterns/patterns-list.js +7 -7
  247. package/build-module/components/page-patterns/patterns-list.js.map +1 -1
  248. package/build-module/components/page-patterns/rename-menu-item.js +6 -5
  249. package/build-module/components/page-patterns/rename-menu-item.js.map +1 -1
  250. package/build-module/components/page-patterns/search-items.js +8 -2
  251. package/build-module/components/page-patterns/search-items.js.map +1 -1
  252. package/build-module/components/page-patterns/use-patterns.js +54 -28
  253. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  254. package/build-module/components/page-patterns/utils.js +0 -11
  255. package/build-module/components/page-patterns/utils.js.map +1 -1
  256. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +34 -27
  257. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  258. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js +54 -0
  259. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -0
  260. package/build-module/components/sidebar-edit-mode/page-panels/index.js +1 -4
  261. package/build-module/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
  262. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +2 -1
  263. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  264. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +49 -0
  265. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -0
  266. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js +85 -0
  267. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -0
  268. package/build-module/components/sidebar-edit-mode/template-panel/index.js +12 -10
  269. package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  270. package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js +8 -6
  271. package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -1
  272. package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js +202 -0
  273. package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -0
  274. package/build-module/components/sidebar-navigation-screen/index.js +6 -4
  275. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  276. package/build-module/components/sidebar-navigation-screen-details-footer/index.js +32 -5
  277. package/build-module/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
  278. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +4 -2
  279. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -1
  280. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +6 -33
  281. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  282. package/build-module/components/sidebar-navigation-screen-page/index.js +3 -3
  283. package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
  284. package/build-module/components/sidebar-navigation-screen-pattern/index.js +19 -9
  285. package/build-module/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  286. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +34 -5
  287. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  288. package/build-module/components/sidebar-navigation-screen-patterns/index.js +10 -38
  289. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  290. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +38 -4
  291. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  292. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +3 -2
  293. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  294. package/build-module/components/sidebar-navigation-screen-template/index.js +2 -2
  295. package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
  296. package/build-module/components/sidebar-navigation-screen-templates/index.js +1 -1
  297. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  298. package/build-module/components/template-actions/index.js +7 -4
  299. package/build-module/components/template-actions/index.js.map +1 -1
  300. package/build-module/components/template-actions/rename-menu-item.js +3 -2
  301. package/build-module/components/template-actions/rename-menu-item.js.map +1 -1
  302. package/build-module/components/welcome-guide/styles.js +2 -2
  303. package/build-module/components/welcome-guide/styles.js.map +1 -1
  304. package/build-module/hooks/push-changes-to-global-styles/index.js +5 -37
  305. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  306. package/build-module/store/actions.js +30 -7
  307. package/build-module/store/actions.js.map +1 -1
  308. package/build-module/utils/constants.js +35 -1
  309. package/build-module/utils/constants.js.map +1 -1
  310. package/build-module/utils/is-template-removable.js +6 -1
  311. package/build-module/utils/is-template-removable.js.map +1 -1
  312. package/build-module/utils/is-template-revertable.js +6 -1
  313. package/build-module/utils/is-template-revertable.js.map +1 -1
  314. package/build-style/style-rtl.css +244 -37
  315. package/build-style/style.css +244 -37
  316. package/lib/inflate.js +4082 -0
  317. package/lib/lib-font.browser.js +3831 -0
  318. package/lib/unbrotli.js +2679 -0
  319. package/package.json +40 -40
  320. package/src/components/add-new-pattern/index.js +83 -5
  321. package/src/components/add-new-template/index.js +3 -2
  322. package/src/components/add-new-template/new-template.js +6 -1
  323. package/src/components/add-new-template/utils.js +12 -3
  324. package/src/components/app/index.js +9 -12
  325. package/src/components/block-editor/back-button.js +6 -2
  326. package/src/components/block-editor/editor-canvas.js +31 -19
  327. package/src/components/block-editor/site-editor-canvas.js +2 -10
  328. package/src/components/block-editor/style.scss +88 -1
  329. package/src/components/block-editor/use-site-editor-settings.js +26 -19
  330. package/src/components/canvas-loader/index.js +12 -1
  331. package/src/components/canvas-loader/style.scss +1 -1
  332. package/src/components/editor/index.js +3 -8
  333. package/src/components/global-styles/dimensions-panel.js +8 -4
  334. package/src/components/global-styles/font-families.js +71 -0
  335. package/src/components/global-styles/font-family-item.js +44 -0
  336. package/src/components/global-styles/font-library-modal/confirm-delete-dialog.js +33 -0
  337. package/src/components/global-styles/font-library-modal/context.js +347 -0
  338. package/src/components/global-styles/font-library-modal/font-card.js +70 -0
  339. package/src/components/global-styles/font-library-modal/font-demo.js +57 -0
  340. package/src/components/global-styles/font-library-modal/font-variant.js +53 -0
  341. package/src/components/global-styles/font-library-modal/fonts-grid.js +55 -0
  342. package/src/components/global-styles/font-library-modal/index.js +42 -0
  343. package/src/components/global-styles/font-library-modal/installed-fonts.js +174 -0
  344. package/src/components/global-styles/font-library-modal/library-font-card.js +40 -0
  345. package/src/components/global-styles/font-library-modal/library-font-details.js +46 -0
  346. package/src/components/global-styles/font-library-modal/library-font-variant.js +54 -0
  347. package/src/components/global-styles/font-library-modal/local-fonts.js +160 -0
  348. package/src/components/global-styles/font-library-modal/resolvers.js +29 -0
  349. package/src/components/global-styles/font-library-modal/style.scss +113 -0
  350. package/src/components/global-styles/font-library-modal/tab-layout.js +50 -0
  351. package/src/components/global-styles/font-library-modal/utils/constants.js +31 -0
  352. package/src/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +58 -0
  353. package/src/components/global-styles/font-library-modal/utils/index.js +213 -0
  354. package/src/components/global-styles/font-library-modal/utils/make-families-from-faces.js +15 -0
  355. package/src/components/global-styles/font-library-modal/utils/test/getDisplaySrcFromFontFace.spec.js +53 -0
  356. package/src/components/global-styles/font-library-modal/utils/test/getFontFaceVariantName.spec.js +30 -0
  357. package/src/components/global-styles/font-library-modal/utils/test/getIntersectingFontFaces.spec.js +240 -0
  358. package/src/components/global-styles/font-library-modal/utils/test/getPreviewStyle.spec.js +121 -0
  359. package/src/components/global-styles/font-library-modal/utils/test/isUrlEncoded.spec.js +31 -0
  360. package/src/components/global-styles/font-library-modal/utils/test/makeFamiliesFromFaces.spec.js +57 -0
  361. package/src/components/global-styles/font-library-modal/utils/test/makeFormDataFromFontFamilies.spec.js +62 -0
  362. package/src/components/global-styles/font-library-modal/utils/test/mergeFontFaces.spec.js +56 -0
  363. package/src/components/global-styles/font-library-modal/utils/test/mergeFontFamilies.spec.js +108 -0
  364. package/src/components/global-styles/font-library-modal/utils/test/setUIValuesNeeded.spec.js +41 -0
  365. package/src/components/global-styles/font-library-modal/utils/test/toggleFont.spec.js +141 -0
  366. package/src/components/global-styles/font-library-modal/utils/toggleFont.js +90 -0
  367. package/src/components/global-styles/global-styles-provider.js +2 -7
  368. package/src/components/global-styles/screen-block.js +42 -20
  369. package/src/components/global-styles/screen-revisions/index.js +0 -2
  370. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +0 -1
  371. package/src/components/global-styles/screen-typography.js +7 -95
  372. package/src/components/global-styles/style-variations-container.js +0 -2
  373. package/src/components/global-styles/typogrphy-elements.js +110 -0
  374. package/src/components/list/style.scss +2 -0
  375. package/src/components/page-patterns/duplicate-menu-item.js +63 -20
  376. package/src/components/page-patterns/grid-item.js +77 -30
  377. package/src/components/page-patterns/header.js +3 -12
  378. package/src/components/page-patterns/index.js +3 -3
  379. package/src/components/page-patterns/patterns-list.js +7 -7
  380. package/src/components/page-patterns/rename-menu-item.js +18 -7
  381. package/src/components/page-patterns/search-items.js +14 -2
  382. package/src/components/page-patterns/style.scss +1 -5
  383. package/src/components/page-patterns/use-patterns.js +67 -33
  384. package/src/components/page-patterns/utils.js +0 -19
  385. package/src/components/sidebar-edit-mode/page-panels/edit-template.js +47 -33
  386. package/src/components/sidebar-edit-mode/page-panels/hooks.js +83 -0
  387. package/src/components/sidebar-edit-mode/page-panels/index.js +0 -4
  388. package/src/components/sidebar-edit-mode/page-panels/page-summary.js +2 -0
  389. package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +44 -0
  390. package/src/components/sidebar-edit-mode/page-panels/style.scss +41 -10
  391. package/src/components/sidebar-edit-mode/page-panels/swap-template-button.js +82 -0
  392. package/src/components/sidebar-edit-mode/template-panel/index.js +28 -24
  393. package/src/components/sidebar-edit-mode/template-panel/last-revision.js +19 -15
  394. package/src/components/sidebar-edit-mode/template-panel/pattern-categories.js +270 -0
  395. package/src/components/sidebar-navigation-screen/index.js +4 -9
  396. package/src/components/sidebar-navigation-screen/style.scss +7 -1
  397. package/src/components/sidebar-navigation-screen-details-footer/index.js +38 -10
  398. package/src/components/sidebar-navigation-screen-details-footer/style.scss +10 -3
  399. package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +2 -0
  400. package/src/components/sidebar-navigation-screen-global-styles/index.js +6 -44
  401. package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +0 -4
  402. package/src/components/sidebar-navigation-screen-page/index.js +3 -3
  403. package/src/components/sidebar-navigation-screen-pattern/index.js +20 -7
  404. package/src/components/sidebar-navigation-screen-pattern/style.scss +0 -3
  405. package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +46 -13
  406. package/src/components/sidebar-navigation-screen-patterns/index.js +14 -49
  407. package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +48 -6
  408. package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +3 -5
  409. package/src/components/sidebar-navigation-screen-template/index.js +2 -4
  410. package/src/components/sidebar-navigation-screen-templates/index.js +1 -1
  411. package/src/components/template-actions/index.js +14 -8
  412. package/src/components/template-actions/rename-menu-item.js +15 -4
  413. package/src/components/welcome-guide/styles.js +2 -2
  414. package/src/hooks/push-changes-to-global-styles/index.js +6 -49
  415. package/src/store/actions.js +39 -13
  416. package/src/style.scss +1 -1
  417. package/src/utils/constants.js +38 -3
  418. package/src/utils/is-template-removable.js +8 -1
  419. package/src/utils/is-template-revertable.js +8 -1
  420. package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js +0 -30
  421. package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +0 -1
  422. package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js +0 -23
  423. package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +0 -1
  424. package/src/components/sidebar-navigation-screen-global-styles/style.scss +0 -12
  425. package/src/components/sidebar-navigation-screen-patterns/use-my-patterns.js +0 -24
@@ -8,11 +8,9 @@ exports.default = void 0;
8
8
  var _element = require("@wordpress/element");
9
9
  var _i18n = require("@wordpress/i18n");
10
10
  var _components = require("@wordpress/components");
11
- var _blockEditor = require("@wordpress/block-editor");
11
+ var _typogrphyElements = _interopRequireDefault(require("./typogrphy-elements"));
12
+ var _fontFamilies = _interopRequireDefault(require("./font-families"));
12
13
  var _header = _interopRequireDefault(require("./header"));
13
- var _navigationButton = require("./navigation-button");
14
- var _subtitle = _interopRequireDefault(require("./subtitle"));
15
- var _lockUnlock = require("../../lock-unlock");
16
14
  /**
17
15
  * WordPress dependencies
18
16
  */
@@ -21,81 +19,15 @@ var _lockUnlock = require("../../lock-unlock");
21
19
  * Internal dependencies
22
20
  */
23
21
 
24
- const {
25
- useGlobalStyle
26
- } = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
27
- function Item({
28
- parentMenu,
29
- element,
30
- label
31
- }) {
32
- const prefix = element === 'text' || !element ? '' : `elements.${element}.`;
33
- const extraStyles = element === 'link' ? {
34
- textDecoration: 'underline'
35
- } : {};
36
- const [fontFamily] = useGlobalStyle(prefix + 'typography.fontFamily');
37
- const [fontStyle] = useGlobalStyle(prefix + 'typography.fontStyle');
38
- const [fontWeight] = useGlobalStyle(prefix + 'typography.fontWeight');
39
- const [letterSpacing] = useGlobalStyle(prefix + 'typography.letterSpacing');
40
- const [backgroundColor] = useGlobalStyle(prefix + 'color.background');
41
- const [gradientValue] = useGlobalStyle(prefix + 'color.gradient');
42
- const [color] = useGlobalStyle(prefix + 'color.text');
43
- const navigationButtonLabel = (0, _i18n.sprintf)(
44
- // translators: %s: is a subset of Typography, e.g., 'text' or 'links'.
45
- (0, _i18n.__)('Typography %s styles'), label);
46
- return (0, _element.createElement)(_navigationButton.NavigationButtonAsItem, {
47
- path: parentMenu + '/typography/' + element,
48
- "aria-label": navigationButtonLabel
49
- }, (0, _element.createElement)(_components.__experimentalHStack, {
50
- justify: "flex-start"
51
- }, (0, _element.createElement)(_components.FlexItem, {
52
- className: "edit-site-global-styles-screen-typography__indicator",
53
- style: {
54
- fontFamily: fontFamily !== null && fontFamily !== void 0 ? fontFamily : 'serif',
55
- background: gradientValue !== null && gradientValue !== void 0 ? gradientValue : backgroundColor,
56
- color,
57
- fontStyle,
58
- fontWeight,
59
- letterSpacing,
60
- ...extraStyles
61
- }
62
- }, (0, _i18n.__)('Aa')), (0, _element.createElement)(_components.FlexItem, null, label)));
63
- }
64
22
  function ScreenTypography() {
65
- const parentMenu = '';
66
23
  return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_header.default, {
67
24
  title: (0, _i18n.__)('Typography'),
68
25
  description: (0, _i18n.__)('Manage the typography settings for different elements.')
69
26
  }), (0, _element.createElement)("div", {
70
27
  className: "edit-site-global-styles-screen-typography"
71
28
  }, (0, _element.createElement)(_components.__experimentalVStack, {
72
- spacing: 3
73
- }, (0, _element.createElement)(_subtitle.default, {
74
- level: 3
75
- }, (0, _i18n.__)('Elements')), (0, _element.createElement)(_components.__experimentalItemGroup, {
76
- isBordered: true,
77
- isSeparated: true
78
- }, (0, _element.createElement)(Item, {
79
- parentMenu: parentMenu,
80
- element: "text",
81
- label: (0, _i18n.__)('Text')
82
- }), (0, _element.createElement)(Item, {
83
- parentMenu: parentMenu,
84
- element: "link",
85
- label: (0, _i18n.__)('Links')
86
- }), (0, _element.createElement)(Item, {
87
- parentMenu: parentMenu,
88
- element: "heading",
89
- label: (0, _i18n.__)('Headings')
90
- }), (0, _element.createElement)(Item, {
91
- parentMenu: parentMenu,
92
- element: "caption",
93
- label: (0, _i18n.__)('Captions')
94
- }), (0, _element.createElement)(Item, {
95
- parentMenu: parentMenu,
96
- element: "button",
97
- label: (0, _i18n.__)('Buttons')
98
- })))));
29
+ spacing: 6
30
+ }, window.__experimentalFontLibrary && (0, _element.createElement)(_fontFamilies.default, null), (0, _element.createElement)(_typogrphyElements.default, null))));
99
31
  }
100
32
  var _default = ScreenTypography;
101
33
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_components","_blockEditor","_header","_interopRequireDefault","_navigationButton","_subtitle","_lockUnlock","useGlobalStyle","unlock","blockEditorPrivateApis","Item","parentMenu","element","label","prefix","extraStyles","textDecoration","fontFamily","fontStyle","fontWeight","letterSpacing","backgroundColor","gradientValue","color","navigationButtonLabel","sprintf","__","_element","createElement","NavigationButtonAsItem","path","__experimentalHStack","justify","FlexItem","className","style","background","ScreenTypography","Fragment","default","title","description","__experimentalVStack","spacing","level","__experimentalItemGroup","isBordered","isSeparated","_default","exports"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-typography.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\tFlexItem,\n} from '@wordpress/components';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport ScreenHeader from './header';\nimport { NavigationButtonAsItem } from './navigation-button';\nimport Subtitle from './subtitle';\nimport { unlock } from '../../lock-unlock';\n\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nfunction Item( { parentMenu, element, label } ) {\n\tconst prefix =\n\t\telement === 'text' || ! element ? '' : `elements.${ element }.`;\n\tconst extraStyles =\n\t\telement === 'link'\n\t\t\t? {\n\t\t\t\t\ttextDecoration: 'underline',\n\t\t\t }\n\t\t\t: {};\n\tconst [ fontFamily ] = useGlobalStyle( prefix + 'typography.fontFamily' );\n\tconst [ fontStyle ] = useGlobalStyle( prefix + 'typography.fontStyle' );\n\tconst [ fontWeight ] = useGlobalStyle( prefix + 'typography.fontWeight' );\n\tconst [ letterSpacing ] = useGlobalStyle(\n\t\tprefix + 'typography.letterSpacing'\n\t);\n\tconst [ backgroundColor ] = useGlobalStyle( prefix + 'color.background' );\n\tconst [ gradientValue ] = useGlobalStyle( prefix + 'color.gradient' );\n\tconst [ color ] = useGlobalStyle( prefix + 'color.text' );\n\n\tconst navigationButtonLabel = sprintf(\n\t\t// translators: %s: is a subset of Typography, e.g., 'text' or 'links'.\n\t\t__( 'Typography %s styles' ),\n\t\tlabel\n\t);\n\n\treturn (\n\t\t<NavigationButtonAsItem\n\t\t\tpath={ parentMenu + '/typography/' + element }\n\t\t\taria-label={ navigationButtonLabel }\n\t\t>\n\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t<FlexItem\n\t\t\t\t\tclassName=\"edit-site-global-styles-screen-typography__indicator\"\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tfontFamily: fontFamily ?? 'serif',\n\t\t\t\t\t\tbackground: gradientValue ?? backgroundColor,\n\t\t\t\t\t\tcolor,\n\t\t\t\t\t\tfontStyle,\n\t\t\t\t\t\tfontWeight,\n\t\t\t\t\t\tletterSpacing,\n\t\t\t\t\t\t...extraStyles,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Aa' ) }\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem>{ label }</FlexItem>\n\t\t\t</HStack>\n\t\t</NavigationButtonAsItem>\n\t);\n}\n\nfunction ScreenTypography() {\n\tconst parentMenu = '';\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ __( 'Typography' ) }\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Manage the typography settings for different elements.'\n\t\t\t\t) }\n\t\t\t/>\n\t\t\t<div className=\"edit-site-global-styles-screen-typography\">\n\t\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t\t<Subtitle level={ 3 }>{ __( 'Elements' ) }</Subtitle>\n\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t<Item\n\t\t\t\t\t\t\tparentMenu={ parentMenu }\n\t\t\t\t\t\t\telement=\"text\"\n\t\t\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Item\n\t\t\t\t\t\t\tparentMenu={ parentMenu }\n\t\t\t\t\t\t\telement=\"link\"\n\t\t\t\t\t\t\tlabel={ __( 'Links' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Item\n\t\t\t\t\t\t\tparentMenu={ parentMenu }\n\t\t\t\t\t\t\telement=\"heading\"\n\t\t\t\t\t\t\tlabel={ __( 'Headings' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Item\n\t\t\t\t\t\t\tparentMenu={ parentMenu }\n\t\t\t\t\t\t\telement=\"caption\"\n\t\t\t\t\t\t\tlabel={ __( 'Captions' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Item\n\t\t\t\t\t\t\tparentMenu={ parentMenu }\n\t\t\t\t\t\t\telement=\"button\"\n\t\t\t\t\t\t\tlabel={ __( 'Buttons' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ItemGroup>\n\t\t\t\t</VStack>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default ScreenTypography;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_i18n","require","_components","_typogrphyElements","_interopRequireDefault","_fontFamilies","_header","ScreenTypography","_element","createElement","Fragment","default","title","__","description","className","__experimentalVStack","spacing","window","__experimentalFontLibrary","_default","exports"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-typography.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { __experimentalVStack as VStack } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport TypographyElements from './typogrphy-elements';\nimport FontFamilies from './font-families';\nimport ScreenHeader from './header';\n\nfunction ScreenTypography() {\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ __( 'Typography' ) }\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Manage the typography settings for different elements.'\n\t\t\t\t) }\n\t\t\t/>\n\t\t\t<div className=\"edit-site-global-styles-screen-typography\">\n\t\t\t\t<VStack spacing={ 6 }>\n\t\t\t\t\t{ window.__experimentalFontLibrary && <FontFamilies /> }\n\t\t\t\t\t<TypographyElements />\n\t\t\t\t</VStack>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default ScreenTypography;\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAKA,IAAAE,kBAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,aAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,OAAA,GAAAF,sBAAA,CAAAH,OAAA;AAXA;AACA;AACA;;AAIA;AACA;AACA;;AAKA,SAASM,gBAAgBA,CAAA,EAAG;EAC3B,OACC,IAAAC,QAAA,CAAAC,aAAA,EAAAD,QAAA,CAAAE,QAAA,QACC,IAAAF,QAAA,CAAAC,aAAA,EAACH,OAAA,CAAAK,OAAY;IACZC,KAAK,EAAG,IAAAC,QAAE,EAAE,YAAa,CAAG;IAC5BC,WAAW,EAAG,IAAAD,QAAE,EACf,wDACD;EAAG,CACH,CAAC,EACF,IAAAL,QAAA,CAAAC,aAAA;IAAKM,SAAS,EAAC;EAA2C,GACzD,IAAAP,QAAA,CAAAC,aAAA,EAACP,WAAA,CAAAc,oBAAM;IAACC,OAAO,EAAG;EAAG,GAClBC,MAAM,CAACC,yBAAyB,IAAI,IAAAX,QAAA,CAAAC,aAAA,EAACJ,aAAA,CAAAM,OAAY,MAAE,CAAC,EACtD,IAAAH,QAAA,CAAAC,aAAA,EAACN,kBAAA,CAAAQ,OAAkB,MAAE,CACd,CACJ,CACJ,CAAC;AAEL;AAAC,IAAAS,QAAA,GAEcb,gBAAgB;AAAAc,OAAA,CAAAV,OAAA,GAAAS,QAAA"}
@@ -105,15 +105,13 @@ function StyleVariationsContainer() {
105
105
  return [{
106
106
  title: (0, _i18n.__)('Default'),
107
107
  settings: {},
108
- styles: {},
109
- behaviors: {}
108
+ styles: {}
110
109
  }, ...(variations !== null && variations !== void 0 ? variations : []).map(variation => {
111
- var _variation$settings2, _variation$styles2, _variation$behaviors;
110
+ var _variation$settings2, _variation$styles2;
112
111
  return {
113
112
  ...variation,
114
113
  settings: (_variation$settings2 = variation.settings) !== null && _variation$settings2 !== void 0 ? _variation$settings2 : {},
115
- styles: (_variation$styles2 = variation.styles) !== null && _variation$styles2 !== void 0 ? _variation$styles2 : {},
116
- behaviors: (_variation$behaviors = variation.behaviors) !== null && _variation$behaviors !== void 0 ? _variation$behaviors : {}
114
+ styles: (_variation$styles2 = variation.styles) !== null && _variation$styles2 !== void 0 ? _variation$styles2 : {}
117
115
  };
118
116
  })];
119
117
  }, [variations]);
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_coreData","_data","_keycodes","_components","_i18n","_blockEditor","_globalStylesProvider","_preview","_lockUnlock","GlobalStylesContext","areGlobalStyleConfigsEqual","unlock","blockEditorPrivateApis","Variation","variation","isFocused","setIsFocused","useState","base","user","setUserConfig","useContext","context","useMemo","_variation$settings","_variation$styles","settings","styles","merged","mergeBaseAndUserConfigs","selectVariation","selectOnEnter","event","keyCode","ENTER","preventDefault","isActive","label","title","description","sprintf","__","createElement","Provider","value","className","classnames","role","onClick","onKeyDown","tabIndex","onFocus","onBlur","default","withHoverView","StyleVariationsContainer","variations","useSelect","select","coreStore","__experimentalGetCurrentThemeGlobalStylesVariations","withEmptyVariation","behaviors","map","_variation$settings2","_variation$styles2","_variation$behaviors","__experimentalGrid","columns","index","key"],"sources":["@wordpress/edit-site/src/components/global-styles/style-variations-container.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo, useContext, useState } from '@wordpress/element';\nimport { ENTER } from '@wordpress/keycodes';\nimport { __experimentalGrid as Grid } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { mergeBaseAndUserConfigs } from './global-styles-provider';\nimport StylesPreview from './preview';\nimport { unlock } from '../../lock-unlock';\n\nconst { GlobalStylesContext, areGlobalStyleConfigsEqual } = unlock(\n\tblockEditorPrivateApis\n);\n\nfunction Variation( { variation } ) {\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\tconst { base, user, setUserConfig } = useContext( GlobalStylesContext );\n\tconst context = useMemo( () => {\n\t\treturn {\n\t\t\tuser: {\n\t\t\t\tsettings: variation.settings ?? {},\n\t\t\t\tstyles: variation.styles ?? {},\n\t\t\t},\n\t\t\tbase,\n\t\t\tmerged: mergeBaseAndUserConfigs( base, variation ),\n\t\t\tsetUserConfig: () => {},\n\t\t};\n\t}, [ variation, base ] );\n\n\tconst selectVariation = () => {\n\t\tsetUserConfig( () => {\n\t\t\treturn {\n\t\t\t\tsettings: variation.settings,\n\t\t\t\tstyles: variation.styles,\n\t\t\t};\n\t\t} );\n\t};\n\n\tconst selectOnEnter = ( event ) => {\n\t\tif ( event.keyCode === ENTER ) {\n\t\t\tevent.preventDefault();\n\t\t\tselectVariation();\n\t\t}\n\t};\n\n\tconst isActive = useMemo( () => {\n\t\treturn areGlobalStyleConfigsEqual( user, variation );\n\t}, [ user, variation ] );\n\n\tlet label = variation?.title;\n\tif ( variation?.description ) {\n\t\tlabel = sprintf(\n\t\t\t/* translators: %1$s: variation title. %2$s variation description. */\n\t\t\t__( '%1$s (%2$s)' ),\n\t\t\tvariation?.title,\n\t\t\tvariation?.description\n\t\t);\n\t}\n\n\treturn (\n\t\t<GlobalStylesContext.Provider value={ context }>\n\t\t\t<div\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'edit-site-global-styles-variations_item',\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-active': isActive,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t\trole=\"button\"\n\t\t\t\tonClick={ selectVariation }\n\t\t\t\tonKeyDown={ selectOnEnter }\n\t\t\t\ttabIndex=\"0\"\n\t\t\t\taria-label={ label }\n\t\t\t\taria-current={ isActive }\n\t\t\t\tonFocus={ () => setIsFocused( true ) }\n\t\t\t\tonBlur={ () => setIsFocused( false ) }\n\t\t\t>\n\t\t\t\t<div className=\"edit-site-global-styles-variations_item-preview\">\n\t\t\t\t\t<StylesPreview\n\t\t\t\t\t\tlabel={ variation?.title }\n\t\t\t\t\t\tisFocused={ isFocused }\n\t\t\t\t\t\twithHoverView\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</GlobalStylesContext.Provider>\n\t);\n}\n\nexport default function StyleVariationsContainer() {\n\tconst variations = useSelect( ( select ) => {\n\t\treturn select(\n\t\t\tcoreStore\n\t\t).__experimentalGetCurrentThemeGlobalStylesVariations();\n\t}, [] );\n\n\tconst withEmptyVariation = useMemo( () => {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttitle: __( 'Default' ),\n\t\t\t\tsettings: {},\n\t\t\t\tstyles: {},\n\t\t\t\tbehaviors: {},\n\t\t\t},\n\t\t\t...( variations ?? [] ).map( ( variation ) => ( {\n\t\t\t\t...variation,\n\t\t\t\tsettings: variation.settings ?? {},\n\t\t\t\tstyles: variation.styles ?? {},\n\t\t\t\tbehaviors: variation.behaviors ?? {},\n\t\t\t} ) ),\n\t\t];\n\t}, [ variations ] );\n\n\treturn (\n\t\t<Grid\n\t\t\tcolumns={ 2 }\n\t\t\tclassName=\"edit-site-global-styles-style-variations-container\"\n\t\t>\n\t\t\t{ withEmptyVariation.map( ( variation, index ) => (\n\t\t\t\t<Variation key={ index } variation={ variation } />\n\t\t\t) ) }\n\t\t</Grid>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_coreData","_data","_keycodes","_components","_i18n","_blockEditor","_globalStylesProvider","_preview","_lockUnlock","GlobalStylesContext","areGlobalStyleConfigsEqual","unlock","blockEditorPrivateApis","Variation","variation","isFocused","setIsFocused","useState","base","user","setUserConfig","useContext","context","useMemo","_variation$settings","_variation$styles","settings","styles","merged","mergeBaseAndUserConfigs","selectVariation","selectOnEnter","event","keyCode","ENTER","preventDefault","isActive","label","title","description","sprintf","__","createElement","Provider","value","className","classnames","role","onClick","onKeyDown","tabIndex","onFocus","onBlur","default","withHoverView","StyleVariationsContainer","variations","useSelect","select","coreStore","__experimentalGetCurrentThemeGlobalStylesVariations","withEmptyVariation","map","_variation$settings2","_variation$styles2","__experimentalGrid","columns","index","key"],"sources":["@wordpress/edit-site/src/components/global-styles/style-variations-container.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo, useContext, useState } from '@wordpress/element';\nimport { ENTER } from '@wordpress/keycodes';\nimport { __experimentalGrid as Grid } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { mergeBaseAndUserConfigs } from './global-styles-provider';\nimport StylesPreview from './preview';\nimport { unlock } from '../../lock-unlock';\n\nconst { GlobalStylesContext, areGlobalStyleConfigsEqual } = unlock(\n\tblockEditorPrivateApis\n);\n\nfunction Variation( { variation } ) {\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\tconst { base, user, setUserConfig } = useContext( GlobalStylesContext );\n\tconst context = useMemo( () => {\n\t\treturn {\n\t\t\tuser: {\n\t\t\t\tsettings: variation.settings ?? {},\n\t\t\t\tstyles: variation.styles ?? {},\n\t\t\t},\n\t\t\tbase,\n\t\t\tmerged: mergeBaseAndUserConfigs( base, variation ),\n\t\t\tsetUserConfig: () => {},\n\t\t};\n\t}, [ variation, base ] );\n\n\tconst selectVariation = () => {\n\t\tsetUserConfig( () => {\n\t\t\treturn {\n\t\t\t\tsettings: variation.settings,\n\t\t\t\tstyles: variation.styles,\n\t\t\t};\n\t\t} );\n\t};\n\n\tconst selectOnEnter = ( event ) => {\n\t\tif ( event.keyCode === ENTER ) {\n\t\t\tevent.preventDefault();\n\t\t\tselectVariation();\n\t\t}\n\t};\n\n\tconst isActive = useMemo( () => {\n\t\treturn areGlobalStyleConfigsEqual( user, variation );\n\t}, [ user, variation ] );\n\n\tlet label = variation?.title;\n\tif ( variation?.description ) {\n\t\tlabel = sprintf(\n\t\t\t/* translators: %1$s: variation title. %2$s variation description. */\n\t\t\t__( '%1$s (%2$s)' ),\n\t\t\tvariation?.title,\n\t\t\tvariation?.description\n\t\t);\n\t}\n\n\treturn (\n\t\t<GlobalStylesContext.Provider value={ context }>\n\t\t\t<div\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'edit-site-global-styles-variations_item',\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-active': isActive,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t\trole=\"button\"\n\t\t\t\tonClick={ selectVariation }\n\t\t\t\tonKeyDown={ selectOnEnter }\n\t\t\t\ttabIndex=\"0\"\n\t\t\t\taria-label={ label }\n\t\t\t\taria-current={ isActive }\n\t\t\t\tonFocus={ () => setIsFocused( true ) }\n\t\t\t\tonBlur={ () => setIsFocused( false ) }\n\t\t\t>\n\t\t\t\t<div className=\"edit-site-global-styles-variations_item-preview\">\n\t\t\t\t\t<StylesPreview\n\t\t\t\t\t\tlabel={ variation?.title }\n\t\t\t\t\t\tisFocused={ isFocused }\n\t\t\t\t\t\twithHoverView\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</GlobalStylesContext.Provider>\n\t);\n}\n\nexport default function StyleVariationsContainer() {\n\tconst variations = useSelect( ( select ) => {\n\t\treturn select(\n\t\t\tcoreStore\n\t\t).__experimentalGetCurrentThemeGlobalStylesVariations();\n\t}, [] );\n\n\tconst withEmptyVariation = useMemo( () => {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttitle: __( 'Default' ),\n\t\t\t\tsettings: {},\n\t\t\t\tstyles: {},\n\t\t\t},\n\t\t\t...( variations ?? [] ).map( ( variation ) => ( {\n\t\t\t\t...variation,\n\t\t\t\tsettings: variation.settings ?? {},\n\t\t\t\tstyles: variation.styles ?? {},\n\t\t\t} ) ),\n\t\t];\n\t}, [ variations ] );\n\n\treturn (\n\t\t<Grid\n\t\t\tcolumns={ 2 }\n\t\t\tclassName=\"edit-site-global-styles-style-variations-container\"\n\t\t>\n\t\t\t{ withEmptyVariation.map( ( variation, index ) => (\n\t\t\t\t<Variation key={ index } variation={ variation } />\n\t\t\t) ) }\n\t\t</Grid>\n\t);\n}\n"],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _element = require("@wordpress/element");
9
+ var _i18n = require("@wordpress/i18n");
10
+ var _components = require("@wordpress/components");
11
+ var _blockEditor = require("@wordpress/block-editor");
12
+ var _navigationButton = require("./navigation-button");
13
+ var _subtitle = _interopRequireDefault(require("./subtitle"));
14
+ var _lockUnlock = require("../../lock-unlock");
15
+ /**
16
+ * WordPress dependencies
17
+ */
18
+
19
+ /**
20
+ * Internal dependencies
21
+ */
22
+
23
+ const {
24
+ useGlobalStyle
25
+ } = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
26
+ function ElementItem({
27
+ parentMenu,
28
+ element,
29
+ label
30
+ }) {
31
+ const prefix = element === 'text' || !element ? '' : `elements.${element}.`;
32
+ const extraStyles = element === 'link' ? {
33
+ textDecoration: 'underline'
34
+ } : {};
35
+ const [fontFamily] = useGlobalStyle(prefix + 'typography.fontFamily');
36
+ const [fontStyle] = useGlobalStyle(prefix + 'typography.fontStyle');
37
+ const [fontWeight] = useGlobalStyle(prefix + 'typography.fontWeight');
38
+ const [letterSpacing] = useGlobalStyle(prefix + 'typography.letterSpacing');
39
+ const [backgroundColor] = useGlobalStyle(prefix + 'color.background');
40
+ const [gradientValue] = useGlobalStyle(prefix + 'color.gradient');
41
+ const [color] = useGlobalStyle(prefix + 'color.text');
42
+ const navigationButtonLabel = (0, _i18n.sprintf)(
43
+ // translators: %s: is a subset of Typography, e.g., 'text' or 'links'.
44
+ (0, _i18n.__)('Typography %s styles'), label);
45
+ return (0, _element.createElement)(_navigationButton.NavigationButtonAsItem, {
46
+ path: parentMenu + '/typography/' + element,
47
+ "aria-label": navigationButtonLabel
48
+ }, (0, _element.createElement)(_components.__experimentalHStack, {
49
+ justify: "flex-start"
50
+ }, (0, _element.createElement)(_components.FlexItem, {
51
+ className: "edit-site-global-styles-screen-typography__indicator",
52
+ style: {
53
+ fontFamily: fontFamily !== null && fontFamily !== void 0 ? fontFamily : 'serif',
54
+ background: gradientValue !== null && gradientValue !== void 0 ? gradientValue : backgroundColor,
55
+ color,
56
+ fontStyle,
57
+ fontWeight,
58
+ letterSpacing,
59
+ ...extraStyles
60
+ }
61
+ }, (0, _i18n.__)('Aa')), (0, _element.createElement)(_components.FlexItem, null, label)));
62
+ }
63
+ function TypographyElements() {
64
+ const parentMenu = '';
65
+ return (0, _element.createElement)(_components.__experimentalVStack, {
66
+ spacing: 3
67
+ }, (0, _element.createElement)(_subtitle.default, {
68
+ level: 3
69
+ }, (0, _i18n.__)('Elements')), (0, _element.createElement)(_components.__experimentalItemGroup, {
70
+ isBordered: true,
71
+ isSeparated: true
72
+ }, (0, _element.createElement)(ElementItem, {
73
+ parentMenu: parentMenu,
74
+ element: "text",
75
+ label: (0, _i18n.__)('Text')
76
+ }), (0, _element.createElement)(ElementItem, {
77
+ parentMenu: parentMenu,
78
+ element: "link",
79
+ label: (0, _i18n.__)('Links')
80
+ }), (0, _element.createElement)(ElementItem, {
81
+ parentMenu: parentMenu,
82
+ element: "heading",
83
+ label: (0, _i18n.__)('Headings')
84
+ }), (0, _element.createElement)(ElementItem, {
85
+ parentMenu: parentMenu,
86
+ element: "caption",
87
+ label: (0, _i18n.__)('Captions')
88
+ }), (0, _element.createElement)(ElementItem, {
89
+ parentMenu: parentMenu,
90
+ element: "button",
91
+ label: (0, _i18n.__)('Buttons')
92
+ })));
93
+ }
94
+ var _default = TypographyElements;
95
+ exports.default = _default;
96
+ //# sourceMappingURL=typogrphy-elements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_i18n","require","_components","_blockEditor","_navigationButton","_subtitle","_interopRequireDefault","_lockUnlock","useGlobalStyle","unlock","blockEditorPrivateApis","ElementItem","parentMenu","element","label","prefix","extraStyles","textDecoration","fontFamily","fontStyle","fontWeight","letterSpacing","backgroundColor","gradientValue","color","navigationButtonLabel","sprintf","__","_element","createElement","NavigationButtonAsItem","path","__experimentalHStack","justify","FlexItem","className","style","background","TypographyElements","__experimentalVStack","spacing","default","level","__experimentalItemGroup","isBordered","isSeparated","_default","exports"],"sources":["@wordpress/edit-site/src/components/global-styles/typogrphy-elements.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\tFlexItem,\n} from '@wordpress/components';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { NavigationButtonAsItem } from './navigation-button';\nimport Subtitle from './subtitle';\n\nimport { unlock } from '../../lock-unlock';\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nfunction ElementItem( { parentMenu, element, label } ) {\n\tconst prefix =\n\t\telement === 'text' || ! element ? '' : `elements.${ element }.`;\n\tconst extraStyles =\n\t\telement === 'link'\n\t\t\t? {\n\t\t\t\t\ttextDecoration: 'underline',\n\t\t\t }\n\t\t\t: {};\n\tconst [ fontFamily ] = useGlobalStyle( prefix + 'typography.fontFamily' );\n\tconst [ fontStyle ] = useGlobalStyle( prefix + 'typography.fontStyle' );\n\tconst [ fontWeight ] = useGlobalStyle( prefix + 'typography.fontWeight' );\n\tconst [ letterSpacing ] = useGlobalStyle(\n\t\tprefix + 'typography.letterSpacing'\n\t);\n\tconst [ backgroundColor ] = useGlobalStyle( prefix + 'color.background' );\n\tconst [ gradientValue ] = useGlobalStyle( prefix + 'color.gradient' );\n\tconst [ color ] = useGlobalStyle( prefix + 'color.text' );\n\n\tconst navigationButtonLabel = sprintf(\n\t\t// translators: %s: is a subset of Typography, e.g., 'text' or 'links'.\n\t\t__( 'Typography %s styles' ),\n\t\tlabel\n\t);\n\n\treturn (\n\t\t<NavigationButtonAsItem\n\t\t\tpath={ parentMenu + '/typography/' + element }\n\t\t\taria-label={ navigationButtonLabel }\n\t\t>\n\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t<FlexItem\n\t\t\t\t\tclassName=\"edit-site-global-styles-screen-typography__indicator\"\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tfontFamily: fontFamily ?? 'serif',\n\t\t\t\t\t\tbackground: gradientValue ?? backgroundColor,\n\t\t\t\t\t\tcolor,\n\t\t\t\t\t\tfontStyle,\n\t\t\t\t\t\tfontWeight,\n\t\t\t\t\t\tletterSpacing,\n\t\t\t\t\t\t...extraStyles,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Aa' ) }\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem>{ label }</FlexItem>\n\t\t\t</HStack>\n\t\t</NavigationButtonAsItem>\n\t);\n}\n\nfunction TypographyElements() {\n\tconst parentMenu = '';\n\n\treturn (\n\t\t<VStack spacing={ 3 }>\n\t\t\t<Subtitle level={ 3 }>{ __( 'Elements' ) }</Subtitle>\n\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t<ElementItem\n\t\t\t\t\tparentMenu={ parentMenu }\n\t\t\t\t\telement=\"text\"\n\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t/>\n\t\t\t\t<ElementItem\n\t\t\t\t\tparentMenu={ parentMenu }\n\t\t\t\t\telement=\"link\"\n\t\t\t\t\tlabel={ __( 'Links' ) }\n\t\t\t\t/>\n\t\t\t\t<ElementItem\n\t\t\t\t\tparentMenu={ parentMenu }\n\t\t\t\t\telement=\"heading\"\n\t\t\t\t\tlabel={ __( 'Headings' ) }\n\t\t\t\t/>\n\t\t\t\t<ElementItem\n\t\t\t\t\tparentMenu={ parentMenu }\n\t\t\t\t\telement=\"caption\"\n\t\t\t\t\tlabel={ __( 'Captions' ) }\n\t\t\t\t/>\n\t\t\t\t<ElementItem\n\t\t\t\t\tparentMenu={ parentMenu }\n\t\t\t\t\telement=\"button\"\n\t\t\t\t\tlabel={ __( 'Buttons' ) }\n\t\t\t\t/>\n\t\t\t</ItemGroup>\n\t\t</VStack>\n\t);\n}\n\nexport default TypographyElements;\n"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
@@ -11,9 +12,10 @@ var _data = require("@wordpress/data");
11
12
  var _i18n = require("@wordpress/i18n");
12
13
  var _notices = require("@wordpress/notices");
13
14
  var _router = require("@wordpress/router");
14
- var _utils = require("./utils");
15
+ var _constants = require("../../utils/constants");
15
16
  var _templatePartCreate = require("../../utils/template-part-create");
16
17
  var _lockUnlock = require("../../lock-unlock");
18
+ var _usePatternCategories = _interopRequireDefault(require("../sidebar-navigation-screen-patterns/use-pattern-categories"));
17
19
  /**
18
20
  * WordPress dependencies
19
21
  */
@@ -26,15 +28,15 @@ const {
26
28
  useHistory
27
29
  } = (0, _lockUnlock.unlock)(_router.privateApis);
28
30
  function getPatternMeta(item) {
29
- if (item.type === _utils.PATTERNS) {
31
+ if (item.type === _constants.PATTERN_TYPES.theme) {
30
32
  return {
31
- wp_pattern_sync_status: _utils.SYNC_TYPES.unsynced
33
+ wp_pattern_sync_status: _constants.PATTERN_SYNC_TYPES.unsynced
32
34
  };
33
35
  }
34
- const syncStatus = item.reusableBlock.wp_pattern_sync_status;
35
- const isUnsynced = syncStatus === _utils.SYNC_TYPES.unsynced;
36
+ const syncStatus = item.patternBlock.wp_pattern_sync_status;
37
+ const isUnsynced = syncStatus === _constants.PATTERN_SYNC_TYPES.unsynced;
36
38
  return {
37
- ...item.reusableBlock.meta,
39
+ ...item.patternBlock.meta,
38
40
  wp_pattern_sync_status: isUnsynced ? syncStatus : undefined
39
41
  };
40
42
  }
@@ -45,7 +47,8 @@ function DuplicateMenuItem({
45
47
  onClose
46
48
  }) {
47
49
  const {
48
- saveEntityRecord
50
+ saveEntityRecord,
51
+ invalidateResolution
49
52
  } = (0, _data.useDispatch)(_coreData.store);
50
53
  const {
51
54
  createErrorNotice,
@@ -53,6 +56,9 @@ function DuplicateMenuItem({
53
56
  } = (0, _data.useDispatch)(_notices.store);
54
57
  const history = useHistory();
55
58
  const existingTemplateParts = (0, _templatePartCreate.useExistingTemplateParts)();
59
+ const {
60
+ patternCategories
61
+ } = (0, _usePatternCategories.default)();
56
62
  async function createTemplatePart() {
57
63
  try {
58
64
  const copiedTitle = (0, _i18n.sprintf)( /* translators: %s: Existing template part title */
@@ -78,9 +84,9 @@ function DuplicateMenuItem({
78
84
  id: 'edit-site-patterns-success'
79
85
  });
80
86
  history.push({
81
- postType: _utils.TEMPLATE_PARTS,
87
+ postType: _constants.TEMPLATE_PART_POST_TYPE,
82
88
  postId: result?.id,
83
- categoryType: _utils.TEMPLATE_PARTS,
89
+ categoryType: _constants.TEMPLATE_PART_POST_TYPE,
84
90
  categoryId
85
91
  });
86
92
  onClose();
@@ -93,16 +99,46 @@ function DuplicateMenuItem({
93
99
  onClose();
94
100
  }
95
101
  }
102
+ async function findOrCreateTerm(term) {
103
+ try {
104
+ const newTerm = await saveEntityRecord('taxonomy', 'wp_pattern_category', {
105
+ name: term.label,
106
+ slug: term.name,
107
+ description: term.description
108
+ }, {
109
+ throwOnError: true
110
+ });
111
+ invalidateResolution('getUserPatternCategories');
112
+ return newTerm.id;
113
+ } catch (error) {
114
+ if (error.code !== 'term_exists') {
115
+ throw error;
116
+ }
117
+ return error.data.term_id;
118
+ }
119
+ }
120
+ async function getCategories(categories) {
121
+ const terms = categories.map(category => {
122
+ const fullCategory = patternCategories.find(cat => cat.name === category);
123
+ if (fullCategory.id) {
124
+ return fullCategory.id;
125
+ }
126
+ return findOrCreateTerm(fullCategory);
127
+ });
128
+ return Promise.all(terms);
129
+ }
96
130
  async function createPattern() {
97
131
  try {
98
- const isThemePattern = item.type === _utils.PATTERNS;
132
+ const isThemePattern = item.type === _constants.PATTERN_TYPES.theme;
99
133
  const title = (0, _i18n.sprintf)( /* translators: %s: Existing pattern title */
100
134
  (0, _i18n.__)('%s (Copy)'), item.title);
135
+ const categories = await getCategories(item.categories);
101
136
  const result = await saveEntityRecord('postType', 'wp_block', {
102
- content: isThemePattern ? item.content : item.reusableBlock.content,
137
+ content: isThemePattern ? item.content : item.patternBlock.content,
103
138
  meta: getPatternMeta(item),
104
139
  status: 'publish',
105
- title
140
+ title,
141
+ wp_pattern_category: categories
106
142
  }, {
107
143
  throwOnError: true
108
144
  });
@@ -113,9 +149,9 @@ function DuplicateMenuItem({
113
149
  id: 'edit-site-patterns-success'
114
150
  });
115
151
  history.push({
116
- categoryType: _utils.USER_PATTERNS,
117
- categoryId: _utils.USER_PATTERN_CATEGORY,
118
- postType: _utils.USER_PATTERNS,
152
+ categoryType: _constants.PATTERN_TYPES.theme,
153
+ categoryId,
154
+ postType: _constants.PATTERN_TYPES.user,
119
155
  postId: result?.id
120
156
  });
121
157
  onClose();
@@ -128,7 +164,7 @@ function DuplicateMenuItem({
128
164
  onClose();
129
165
  }
130
166
  }
131
- const createItem = item.type === _utils.TEMPLATE_PARTS ? createTemplatePart : createPattern;
167
+ const createItem = item.type === _constants.TEMPLATE_PART_POST_TYPE ? createTemplatePart : createPattern;
132
168
  return (0, _element.createElement)(_components.MenuItem, {
133
169
  onClick: createItem
134
170
  }, label);
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_coreData","_data","_i18n","_notices","_router","_utils","_templatePartCreate","_lockUnlock","useHistory","unlock","routerPrivateApis","getPatternMeta","item","type","PATTERNS","wp_pattern_sync_status","SYNC_TYPES","unsynced","syncStatus","reusableBlock","isUnsynced","meta","undefined","DuplicateMenuItem","categoryId","label","__","onClose","saveEntityRecord","useDispatch","coreStore","createErrorNotice","createSuccessNotice","noticesStore","history","existingTemplateParts","useExistingTemplateParts","createTemplatePart","copiedTitle","sprintf","title","getUniqueTemplatePartTitle","slug","getCleanTemplatePartSlug","area","content","templatePart","result","throwOnError","id","push","postType","TEMPLATE_PARTS","postId","categoryType","error","errorMessage","message","code","createPattern","isThemePattern","status","USER_PATTERNS","USER_PATTERN_CATEGORY","createItem","_element","createElement","MenuItem","onClick"],"sources":["@wordpress/edit-site/src/components/page-patterns/duplicate-menu-item.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuItem } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport {\n\tTEMPLATE_PARTS,\n\tPATTERNS,\n\tSYNC_TYPES,\n\tUSER_PATTERNS,\n\tUSER_PATTERN_CATEGORY,\n} from './utils';\nimport {\n\tuseExistingTemplateParts,\n\tgetUniqueTemplatePartTitle,\n\tgetCleanTemplatePartSlug,\n} from '../../utils/template-part-create';\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nfunction getPatternMeta( item ) {\n\tif ( item.type === PATTERNS ) {\n\t\treturn { wp_pattern_sync_status: SYNC_TYPES.unsynced };\n\t}\n\n\tconst syncStatus = item.reusableBlock.wp_pattern_sync_status;\n\tconst isUnsynced = syncStatus === SYNC_TYPES.unsynced;\n\n\treturn {\n\t\t...item.reusableBlock.meta,\n\t\twp_pattern_sync_status: isUnsynced ? syncStatus : undefined,\n\t};\n}\n\nexport default function DuplicateMenuItem( {\n\tcategoryId,\n\titem,\n\tlabel = __( 'Duplicate' ),\n\tonClose,\n} ) {\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst history = useHistory();\n\tconst existingTemplateParts = useExistingTemplateParts();\n\n\tasync function createTemplatePart() {\n\t\ttry {\n\t\t\tconst copiedTitle = sprintf(\n\t\t\t\t/* translators: %s: Existing template part title */\n\t\t\t\t__( '%s (Copy)' ),\n\t\t\t\titem.title\n\t\t\t);\n\t\t\tconst title = getUniqueTemplatePartTitle(\n\t\t\t\tcopiedTitle,\n\t\t\t\texistingTemplateParts\n\t\t\t);\n\t\t\tconst slug = getCleanTemplatePartSlug( title );\n\t\t\tconst { area, content } = item.templatePart;\n\n\t\t\tconst result = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\t{ slug, title, content, area },\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: The new template part's title e.g. 'Call to action (copy)'.\n\t\t\t\t\t__( '\"%s\" duplicated.' ),\n\t\t\t\t\titem.title\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'edit-site-patterns-success',\n\t\t\t\t}\n\t\t\t);\n\n\t\t\thistory.push( {\n\t\t\t\tpostType: TEMPLATE_PARTS,\n\t\t\t\tpostId: result?.id,\n\t\t\t\tcategoryType: TEMPLATE_PARTS,\n\t\t\t\tcategoryId,\n\t\t\t} );\n\n\t\t\tonClose();\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __(\n\t\t\t\t\t\t\t'An error occurred while creating the template part.'\n\t\t\t\t\t );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'edit-site-patterns-error',\n\t\t\t} );\n\t\t\tonClose();\n\t\t}\n\t}\n\n\tasync function createPattern() {\n\t\ttry {\n\t\t\tconst isThemePattern = item.type === PATTERNS;\n\t\t\tconst title = sprintf(\n\t\t\t\t/* translators: %s: Existing pattern title */\n\t\t\t\t__( '%s (Copy)' ),\n\t\t\t\titem.title\n\t\t\t);\n\n\t\t\tconst result = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_block',\n\t\t\t\t{\n\t\t\t\t\tcontent: isThemePattern\n\t\t\t\t\t\t? item.content\n\t\t\t\t\t\t: item.reusableBlock.content,\n\t\t\t\t\tmeta: getPatternMeta( item ),\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\ttitle,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: The new pattern's title e.g. 'Call to action (copy)'.\n\t\t\t\t\t__( '\"%s\" duplicated.' ),\n\t\t\t\t\titem.title\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'edit-site-patterns-success',\n\t\t\t\t}\n\t\t\t);\n\n\t\t\thistory.push( {\n\t\t\t\tcategoryType: USER_PATTERNS,\n\t\t\t\tcategoryId: USER_PATTERN_CATEGORY,\n\t\t\t\tpostType: USER_PATTERNS,\n\t\t\t\tpostId: result?.id,\n\t\t\t} );\n\n\t\t\tonClose();\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while creating the pattern.' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'edit-site-patterns-error',\n\t\t\t} );\n\t\t\tonClose();\n\t\t}\n\t}\n\n\tconst createItem =\n\t\titem.type === TEMPLATE_PARTS ? createTemplatePart : createPattern;\n\n\treturn <MenuItem onClick={ createItem }>{ label }</MenuItem>;\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AAKA,IAAAM,MAAA,GAAAN,OAAA;AAOA,IAAAO,mBAAA,GAAAP,OAAA;AAKA,IAAAQ,WAAA,GAAAR,OAAA;AAzBA;AACA;AACA;;AAQA;AACA;AACA;;AAeA,MAAM;EAAES;AAAW,CAAC,GAAG,IAAAC,kBAAM,EAAEC,mBAAkB,CAAC;AAElD,SAASC,cAAcA,CAAEC,IAAI,EAAG;EAC/B,IAAKA,IAAI,CAACC,IAAI,KAAKC,eAAQ,EAAG;IAC7B,OAAO;MAAEC,sBAAsB,EAAEC,iBAAU,CAACC;IAAS,CAAC;EACvD;EAEA,MAAMC,UAAU,GAAGN,IAAI,CAACO,aAAa,CAACJ,sBAAsB;EAC5D,MAAMK,UAAU,GAAGF,UAAU,KAAKF,iBAAU,CAACC,QAAQ;EAErD,OAAO;IACN,GAAGL,IAAI,CAACO,aAAa,CAACE,IAAI;IAC1BN,sBAAsB,EAAEK,UAAU,GAAGF,UAAU,GAAGI;EACnD,CAAC;AACF;AAEe,SAASC,iBAAiBA,CAAE;EAC1CC,UAAU;EACVZ,IAAI;EACJa,KAAK,GAAG,IAAAC,QAAE,EAAE,WAAY,CAAC;EACzBC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC;EAAiB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,eAAU,CAAC;EACrD,MAAM;IAAEC,iBAAiB;IAAEC;EAAoB,CAAC,GAC/C,IAAAH,iBAAW,EAAEI,cAAa,CAAC;EAE5B,MAAMC,OAAO,GAAG1B,UAAU,CAAC,CAAC;EAC5B,MAAM2B,qBAAqB,GAAG,IAAAC,4CAAwB,EAAC,CAAC;EAExD,eAAeC,kBAAkBA,CAAA,EAAG;IACnC,IAAI;MACH,MAAMC,WAAW,GAAG,IAAAC,aAAO,GAC1B;MACA,IAAAb,QAAE,EAAE,WAAY,CAAC,EACjBd,IAAI,CAAC4B,KACN,CAAC;MACD,MAAMA,KAAK,GAAG,IAAAC,8CAA0B,EACvCH,WAAW,EACXH,qBACD,CAAC;MACD,MAAMO,IAAI,GAAG,IAAAC,4CAAwB,EAAEH,KAAM,CAAC;MAC9C,MAAM;QAAEI,IAAI;QAAEC;MAAQ,CAAC,GAAGjC,IAAI,CAACkC,YAAY;MAE3C,MAAMC,MAAM,GAAG,MAAMnB,gBAAgB,CACpC,UAAU,EACV,kBAAkB,EAClB;QAAEc,IAAI;QAAEF,KAAK;QAAEK,OAAO;QAAED;MAAK,CAAC,EAC9B;QAAEI,YAAY,EAAE;MAAK,CACtB,CAAC;MAEDhB,mBAAmB,CAClB,IAAAO,aAAO;MACN;MACA,IAAAb,QAAE,EAAE,kBAAmB,CAAC,EACxBd,IAAI,CAAC4B,KACN,CAAC,EACD;QACC3B,IAAI,EAAE,UAAU;QAChBoC,EAAE,EAAE;MACL,CACD,CAAC;MAEDf,OAAO,CAACgB,IAAI,CAAE;QACbC,QAAQ,EAAEC,qBAAc;QACxBC,MAAM,EAAEN,MAAM,EAAEE,EAAE;QAClBK,YAAY,EAAEF,qBAAc;QAC5B5B;MACD,CAAE,CAAC;MAEHG,OAAO,CAAC,CAAC;IACV,CAAC,CAAC,OAAQ4B,KAAK,EAAG;MACjB,MAAMC,YAAY,GACjBD,KAAK,CAACE,OAAO,IAAIF,KAAK,CAACG,IAAI,KAAK,eAAe,GAC5CH,KAAK,CAACE,OAAO,GACb,IAAA/B,QAAE,EACF,qDACA,CAAC;MAELK,iBAAiB,CAAEyB,YAAY,EAAE;QAChC3C,IAAI,EAAE,UAAU;QAChBoC,EAAE,EAAE;MACL,CAAE,CAAC;MACHtB,OAAO,CAAC,CAAC;IACV;EACD;EAEA,eAAegC,aAAaA,CAAA,EAAG;IAC9B,IAAI;MACH,MAAMC,cAAc,GAAGhD,IAAI,CAACC,IAAI,KAAKC,eAAQ;MAC7C,MAAM0B,KAAK,GAAG,IAAAD,aAAO,GACpB;MACA,IAAAb,QAAE,EAAE,WAAY,CAAC,EACjBd,IAAI,CAAC4B,KACN,CAAC;MAED,MAAMO,MAAM,GAAG,MAAMnB,gBAAgB,CACpC,UAAU,EACV,UAAU,EACV;QACCiB,OAAO,EAAEe,cAAc,GACpBhD,IAAI,CAACiC,OAAO,GACZjC,IAAI,CAACO,aAAa,CAAC0B,OAAO;QAC7BxB,IAAI,EAAEV,cAAc,CAAEC,IAAK,CAAC;QAC5BiD,MAAM,EAAE,SAAS;QACjBrB;MACD,CAAC,EACD;QAAEQ,YAAY,EAAE;MAAK,CACtB,CAAC;MAEDhB,mBAAmB,CAClB,IAAAO,aAAO;MACN;MACA,IAAAb,QAAE,EAAE,kBAAmB,CAAC,EACxBd,IAAI,CAAC4B,KACN,CAAC,EACD;QACC3B,IAAI,EAAE,UAAU;QAChBoC,EAAE,EAAE;MACL,CACD,CAAC;MAEDf,OAAO,CAACgB,IAAI,CAAE;QACbI,YAAY,EAAEQ,oBAAa;QAC3BtC,UAAU,EAAEuC,4BAAqB;QACjCZ,QAAQ,EAAEW,oBAAa;QACvBT,MAAM,EAAEN,MAAM,EAAEE;MACjB,CAAE,CAAC;MAEHtB,OAAO,CAAC,CAAC;IACV,CAAC,CAAC,OAAQ4B,KAAK,EAAG;MACjB,MAAMC,YAAY,GACjBD,KAAK,CAACE,OAAO,IAAIF,KAAK,CAACG,IAAI,KAAK,eAAe,GAC5CH,KAAK,CAACE,OAAO,GACb,IAAA/B,QAAE,EAAE,+CAAgD,CAAC;MAEzDK,iBAAiB,CAAEyB,YAAY,EAAE;QAChC3C,IAAI,EAAE,UAAU;QAChBoC,EAAE,EAAE;MACL,CAAE,CAAC;MACHtB,OAAO,CAAC,CAAC;IACV;EACD;EAEA,MAAMqC,UAAU,GACfpD,IAAI,CAACC,IAAI,KAAKuC,qBAAc,GAAGf,kBAAkB,GAAGsB,aAAa;EAElE,OAAO,IAAAM,QAAA,CAAAC,aAAA,EAACpE,WAAA,CAAAqE,QAAQ;IAACC,OAAO,EAAGJ;EAAY,GAAGvC,KAAiB,CAAC;AAC7D"}
1
+ {"version":3,"names":["_components","require","_coreData","_data","_i18n","_notices","_router","_constants","_templatePartCreate","_lockUnlock","_usePatternCategories","_interopRequireDefault","useHistory","unlock","routerPrivateApis","getPatternMeta","item","type","PATTERN_TYPES","theme","wp_pattern_sync_status","PATTERN_SYNC_TYPES","unsynced","syncStatus","patternBlock","isUnsynced","meta","undefined","DuplicateMenuItem","categoryId","label","__","onClose","saveEntityRecord","invalidateResolution","useDispatch","coreStore","createErrorNotice","createSuccessNotice","noticesStore","history","existingTemplateParts","useExistingTemplateParts","patternCategories","usePatternCategories","createTemplatePart","copiedTitle","sprintf","title","getUniqueTemplatePartTitle","slug","getCleanTemplatePartSlug","area","content","templatePart","result","throwOnError","id","push","postType","TEMPLATE_PART_POST_TYPE","postId","categoryType","error","errorMessage","message","code","findOrCreateTerm","term","newTerm","name","description","data","term_id","getCategories","categories","terms","map","category","fullCategory","find","cat","Promise","all","createPattern","isThemePattern","status","wp_pattern_category","user","createItem","_element","createElement","MenuItem","onClick"],"sources":["@wordpress/edit-site/src/components/page-patterns/duplicate-menu-item.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuItem } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport {\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_TYPES,\n\tPATTERN_SYNC_TYPES,\n} from '../../utils/constants';\nimport {\n\tuseExistingTemplateParts,\n\tgetUniqueTemplatePartTitle,\n\tgetCleanTemplatePartSlug,\n} from '../../utils/template-part-create';\nimport { unlock } from '../../lock-unlock';\nimport usePatternCategories from '../sidebar-navigation-screen-patterns/use-pattern-categories';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nfunction getPatternMeta( item ) {\n\tif ( item.type === PATTERN_TYPES.theme ) {\n\t\treturn { wp_pattern_sync_status: PATTERN_SYNC_TYPES.unsynced };\n\t}\n\n\tconst syncStatus = item.patternBlock.wp_pattern_sync_status;\n\tconst isUnsynced = syncStatus === PATTERN_SYNC_TYPES.unsynced;\n\n\treturn {\n\t\t...item.patternBlock.meta,\n\t\twp_pattern_sync_status: isUnsynced ? syncStatus : undefined,\n\t};\n}\n\nexport default function DuplicateMenuItem( {\n\tcategoryId,\n\titem,\n\tlabel = __( 'Duplicate' ),\n\tonClose,\n} ) {\n\tconst { saveEntityRecord, invalidateResolution } = useDispatch( coreStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst history = useHistory();\n\tconst existingTemplateParts = useExistingTemplateParts();\n\tconst { patternCategories } = usePatternCategories();\n\n\tasync function createTemplatePart() {\n\t\ttry {\n\t\t\tconst copiedTitle = sprintf(\n\t\t\t\t/* translators: %s: Existing template part title */\n\t\t\t\t__( '%s (Copy)' ),\n\t\t\t\titem.title\n\t\t\t);\n\t\t\tconst title = getUniqueTemplatePartTitle(\n\t\t\t\tcopiedTitle,\n\t\t\t\texistingTemplateParts\n\t\t\t);\n\t\t\tconst slug = getCleanTemplatePartSlug( title );\n\t\t\tconst { area, content } = item.templatePart;\n\n\t\t\tconst result = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\t{ slug, title, content, area },\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: The new template part's title e.g. 'Call to action (copy)'.\n\t\t\t\t\t__( '\"%s\" duplicated.' ),\n\t\t\t\t\titem.title\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'edit-site-patterns-success',\n\t\t\t\t}\n\t\t\t);\n\n\t\t\thistory.push( {\n\t\t\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\t\t\tpostId: result?.id,\n\t\t\t\tcategoryType: TEMPLATE_PART_POST_TYPE,\n\t\t\t\tcategoryId,\n\t\t\t} );\n\n\t\t\tonClose();\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __(\n\t\t\t\t\t\t\t'An error occurred while creating the template part.'\n\t\t\t\t\t );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'edit-site-patterns-error',\n\t\t\t} );\n\t\t\tonClose();\n\t\t}\n\t}\n\n\tasync function findOrCreateTerm( term ) {\n\t\ttry {\n\t\t\tconst newTerm = await saveEntityRecord(\n\t\t\t\t'taxonomy',\n\t\t\t\t'wp_pattern_category',\n\t\t\t\t{\n\t\t\t\t\tname: term.label,\n\t\t\t\t\tslug: term.name,\n\t\t\t\t\tdescription: term.description,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tthrowOnError: true,\n\t\t\t\t}\n\t\t\t);\n\t\t\tinvalidateResolution( 'getUserPatternCategories' );\n\t\t\treturn newTerm.id;\n\t\t} catch ( error ) {\n\t\t\tif ( error.code !== 'term_exists' ) {\n\t\t\t\tthrow error;\n\t\t\t}\n\n\t\t\treturn error.data.term_id;\n\t\t}\n\t}\n\n\tasync function getCategories( categories ) {\n\t\tconst terms = categories.map( ( category ) => {\n\t\t\tconst fullCategory = patternCategories.find(\n\t\t\t\t( cat ) => cat.name === category\n\t\t\t);\n\t\t\tif ( fullCategory.id ) {\n\t\t\t\treturn fullCategory.id;\n\t\t\t}\n\t\t\treturn findOrCreateTerm( fullCategory );\n\t\t} );\n\n\t\treturn Promise.all( terms );\n\t}\n\n\tasync function createPattern() {\n\t\ttry {\n\t\t\tconst isThemePattern = item.type === PATTERN_TYPES.theme;\n\t\t\tconst title = sprintf(\n\t\t\t\t/* translators: %s: Existing pattern title */\n\t\t\t\t__( '%s (Copy)' ),\n\t\t\t\titem.title\n\t\t\t);\n\t\t\tconst categories = await getCategories( item.categories );\n\n\t\t\tconst result = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_block',\n\t\t\t\t{\n\t\t\t\t\tcontent: isThemePattern\n\t\t\t\t\t\t? item.content\n\t\t\t\t\t\t: item.patternBlock.content,\n\t\t\t\t\tmeta: getPatternMeta( item ),\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\ttitle,\n\t\t\t\t\twp_pattern_category: categories,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: The new pattern's title e.g. 'Call to action (copy)'.\n\t\t\t\t\t__( '\"%s\" duplicated.' ),\n\t\t\t\t\titem.title\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'edit-site-patterns-success',\n\t\t\t\t}\n\t\t\t);\n\n\t\t\thistory.push( {\n\t\t\t\tcategoryType: PATTERN_TYPES.theme,\n\t\t\t\tcategoryId,\n\t\t\t\tpostType: PATTERN_TYPES.user,\n\t\t\t\tpostId: result?.id,\n\t\t\t} );\n\n\t\t\tonClose();\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while creating the pattern.' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'edit-site-patterns-error',\n\t\t\t} );\n\t\t\tonClose();\n\t\t}\n\t}\n\n\tconst createItem =\n\t\titem.type === TEMPLATE_PART_POST_TYPE\n\t\t\t? createTemplatePart\n\t\t\t: createPattern;\n\n\treturn <MenuItem onClick={ createItem }>{ label }</MenuItem>;\n}\n"],"mappings":"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"}