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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (687) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-pattern/index.js +65 -4
  3. package/build/components/add-new-pattern/index.js.map +1 -1
  4. package/build/components/add-new-template/index.js +3 -2
  5. package/build/components/add-new-template/index.js.map +1 -1
  6. package/build/components/add-new-template/new-template.js +6 -1
  7. package/build/components/add-new-template/new-template.js.map +1 -1
  8. package/build/components/add-new-template/utils.js +6 -1
  9. package/build/components/add-new-template/utils.js.map +1 -1
  10. package/build/components/app/index.js +2 -7
  11. package/build/components/app/index.js.map +1 -1
  12. package/build/components/block-editor/back-button.js +3 -2
  13. package/build/components/block-editor/back-button.js.map +1 -1
  14. package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js +73 -0
  15. package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +1 -0
  16. package/build/components/block-editor/block-editor-provider/index.js +31 -0
  17. package/build/components/block-editor/block-editor-provider/index.js.map +1 -0
  18. package/build/components/block-editor/{providers → block-editor-provider}/navigation-block-editor-provider.js +2 -1
  19. package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +1 -0
  20. package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js +76 -0
  21. package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +1 -0
  22. package/build/components/block-editor/editor-canvas.js +20 -16
  23. package/build/components/block-editor/editor-canvas.js.map +1 -1
  24. package/build/components/block-editor/index.js +2 -9
  25. package/build/components/block-editor/index.js.map +1 -1
  26. package/build/components/block-editor/site-editor-canvas.js +2 -4
  27. package/build/components/block-editor/site-editor-canvas.js.map +1 -1
  28. package/build/components/block-editor/use-site-editor-settings.js +8 -4
  29. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  30. package/build/components/canvas-loader/index.js +18 -1
  31. package/build/components/canvas-loader/index.js.map +1 -1
  32. package/build/components/create-template-part-modal/index.js +8 -12
  33. package/build/components/create-template-part-modal/index.js.map +1 -1
  34. package/build/components/editor/index.js +7 -9
  35. package/build/components/editor/index.js.map +1 -1
  36. package/build/components/global-styles/dimensions-panel.js +5 -4
  37. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  38. package/build/components/global-styles/font-families.js +68 -0
  39. package/build/components/global-styles/font-families.js.map +1 -0
  40. package/build/components/global-styles/font-family-item.js +47 -0
  41. package/build/components/global-styles/font-family-item.js.map +1 -0
  42. package/build/components/global-styles/font-library-modal/collection-font-details.js +49 -0
  43. package/build/components/global-styles/font-library-modal/collection-font-details.js.map +1 -0
  44. package/build/components/global-styles/font-library-modal/collection-font-variant.js +55 -0
  45. package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -0
  46. package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js +31 -0
  47. package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +1 -0
  48. package/build/components/global-styles/font-library-modal/context.js +309 -0
  49. package/build/components/global-styles/font-library-modal/context.js.map +1 -0
  50. package/build/components/global-styles/font-library-modal/font-card.js +61 -0
  51. package/build/components/global-styles/font-library-modal/font-card.js.map +1 -0
  52. package/build/components/global-styles/font-library-modal/font-collection.js +172 -0
  53. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -0
  54. package/build/components/global-styles/font-library-modal/font-demo.js +86 -0
  55. package/build/components/global-styles/font-library-modal/font-demo.js.map +1 -0
  56. package/build/components/global-styles/font-library-modal/font-variant.js +51 -0
  57. package/build/components/global-styles/font-library-modal/font-variant.js.map +1 -0
  58. package/build/components/global-styles/font-library-modal/fonts-grid.js +54 -0
  59. package/build/components/global-styles/font-library-modal/fonts-grid.js.map +1 -0
  60. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +41 -0
  61. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -0
  62. package/build/components/global-styles/font-library-modal/index.js +65 -0
  63. package/build/components/global-styles/font-library-modal/index.js.map +1 -0
  64. package/build/components/global-styles/font-library-modal/installed-fonts.js +128 -0
  65. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -0
  66. package/build/components/global-styles/font-library-modal/library-font-card.js +39 -0
  67. package/build/components/global-styles/font-library-modal/library-font-card.js.map +1 -0
  68. package/build/components/global-styles/font-library-modal/library-font-details.js +44 -0
  69. package/build/components/global-styles/font-library-modal/library-font-details.js.map +1 -0
  70. package/build/components/global-styles/font-library-modal/library-font-variant.js +59 -0
  71. package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -0
  72. package/build/components/global-styles/font-library-modal/local-fonts.js +143 -0
  73. package/build/components/global-styles/font-library-modal/local-fonts.js.map +1 -0
  74. package/build/components/global-styles/font-library-modal/resolvers.js +53 -0
  75. package/build/components/global-styles/font-library-modal/resolvers.js.map +1 -0
  76. package/build/components/global-styles/font-library-modal/tab-layout.js +45 -0
  77. package/build/components/global-styles/font-library-modal/tab-layout.js.map +1 -0
  78. package/build/components/global-styles/font-library-modal/utils/constants.js +31 -0
  79. package/build/components/global-styles/font-library-modal/utils/constants.js.map +1 -0
  80. package/build/components/global-styles/font-library-modal/utils/filter-fonts.js +21 -0
  81. package/build/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -0
  82. package/build/components/global-styles/font-library-modal/utils/fonts-outline.js +20 -0
  83. package/build/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -0
  84. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +58 -0
  85. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -0
  86. package/build/components/global-styles/font-library-modal/utils/index.js +155 -0
  87. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -0
  88. package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js +22 -0
  89. package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +1 -0
  90. package/build/components/global-styles/font-library-modal/utils/preview-styles.js +76 -0
  91. package/build/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -0
  92. package/build/components/global-styles/font-library-modal/utils/sort-font-faces.js +36 -0
  93. package/build/components/global-styles/font-library-modal/utils/sort-font-faces.js.map +1 -0
  94. package/build/components/global-styles/font-library-modal/utils/toggleFont.js +92 -0
  95. package/build/components/global-styles/font-library-modal/utils/toggleFont.js.map +1 -0
  96. package/build/components/global-styles/global-styles-provider.js +7 -12
  97. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  98. package/build/components/global-styles/screen-block.js +34 -21
  99. package/build/components/global-styles/screen-block.js.map +1 -1
  100. package/build/components/global-styles/screen-revisions/index.js +1 -3
  101. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  102. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +0 -1
  103. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  104. package/build/components/global-styles/screen-typography.js +4 -72
  105. package/build/components/global-styles/screen-typography.js.map +1 -1
  106. package/build/components/global-styles/style-variations-container.js +3 -5
  107. package/build/components/global-styles/style-variations-container.js.map +1 -1
  108. package/build/components/global-styles/typogrphy-elements.js +96 -0
  109. package/build/components/global-styles/typogrphy-elements.js.map +1 -0
  110. package/build/components/header-edit-mode/document-actions/index.js +9 -8
  111. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  112. package/build/components/header-edit-mode/index.js +4 -1
  113. package/build/components/header-edit-mode/index.js.map +1 -1
  114. package/build/components/layout/index.js +5 -1
  115. package/build/components/layout/index.js.map +1 -1
  116. package/build/components/list/added-by.js +13 -8
  117. package/build/components/list/added-by.js.map +1 -1
  118. package/build/components/list/index.js +2 -1
  119. package/build/components/list/index.js.map +1 -1
  120. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +2 -3
  121. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  122. package/build/components/page-patterns/duplicate-menu-item.js +56 -20
  123. package/build/components/page-patterns/duplicate-menu-item.js.map +1 -1
  124. package/build/components/page-patterns/grid-item.js +48 -22
  125. package/build/components/page-patterns/grid-item.js.map +1 -1
  126. package/build/components/page-patterns/header.js +3 -7
  127. package/build/components/page-patterns/header.js.map +1 -1
  128. package/build/components/page-patterns/index.js +3 -3
  129. package/build/components/page-patterns/index.js.map +1 -1
  130. package/build/components/page-patterns/patterns-list.js +7 -7
  131. package/build/components/page-patterns/patterns-list.js.map +1 -1
  132. package/build/components/page-patterns/rename-menu-item.js +6 -5
  133. package/build/components/page-patterns/rename-menu-item.js.map +1 -1
  134. package/build/components/page-patterns/search-items.js +8 -2
  135. package/build/components/page-patterns/search-items.js.map +1 -1
  136. package/build/components/page-patterns/use-patterns.js +71 -51
  137. package/build/components/page-patterns/use-patterns.js.map +1 -1
  138. package/build/components/page-patterns/utils.js +1 -20
  139. package/build/components/page-patterns/utils.js.map +1 -1
  140. package/build/components/page-template-parts/add-new-template-part.js +3 -2
  141. package/build/components/page-template-parts/add-new-template-part.js.map +1 -1
  142. package/build/components/page-template-parts/index.js +2 -1
  143. package/build/components/page-template-parts/index.js.map +1 -1
  144. package/build/components/page-templates/index.js +3 -2
  145. package/build/components/page-templates/index.js.map +1 -1
  146. package/build/components/save-hub/index.js +2 -1
  147. package/build/components/save-hub/index.js.map +1 -1
  148. package/build/components/secondary-sidebar/list-view-sidebar.js +24 -17
  149. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  150. package/build/components/sidebar-edit-mode/page-panels/edit-template.js +53 -26
  151. package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  152. package/build/components/sidebar-edit-mode/page-panels/hooks.js +65 -0
  153. package/build/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -0
  154. package/build/components/sidebar-edit-mode/page-panels/index.js +1 -4
  155. package/build/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
  156. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +2 -1
  157. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  158. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +56 -0
  159. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -0
  160. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js +91 -0
  161. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -0
  162. package/build/components/sidebar-edit-mode/settings-header/index.js +2 -6
  163. package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  164. package/build/components/sidebar-edit-mode/template-panel/index.js +11 -9
  165. package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  166. package/build/components/sidebar-edit-mode/template-panel/last-revision.js +6 -4
  167. package/build/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -1
  168. package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js +218 -0
  169. package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -0
  170. package/build/components/sidebar-navigation-screen/index.js +6 -4
  171. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  172. package/build/components/sidebar-navigation-screen-details-footer/index.js +32 -4
  173. package/build/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
  174. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +4 -2
  175. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -1
  176. package/build/components/sidebar-navigation-screen-global-styles/index.js +4 -31
  177. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  178. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js +2 -1
  179. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -1
  180. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +2 -1
  181. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  182. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +3 -2
  183. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  184. package/build/components/sidebar-navigation-screen-page/index.js +3 -3
  185. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
  186. package/build/components/sidebar-navigation-screen-page/page-details.js +2 -1
  187. package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  188. package/build/components/sidebar-navigation-screen-pages/index.js +5 -4
  189. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  190. package/build/components/sidebar-navigation-screen-pattern/index.js +20 -9
  191. package/build/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  192. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +3 -2
  193. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
  194. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -1
  195. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  196. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +2 -1
  197. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
  198. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +41 -11
  199. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  200. package/build/components/sidebar-navigation-screen-patterns/index.js +9 -37
  201. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  202. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +44 -5
  203. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  204. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +7 -2
  205. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
  206. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -1
  207. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  208. package/build/components/sidebar-navigation-screen-template/home-template-details.js +2 -1
  209. package/build/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
  210. package/build/components/sidebar-navigation-screen-template/index.js +2 -2
  211. package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
  212. package/build/components/sidebar-navigation-screen-templates/index.js +5 -4
  213. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  214. package/build/components/sidebar-navigation-screen-templates-browse/index.js +3 -2
  215. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  216. package/build/components/start-template-options/index.js +20 -2
  217. package/build/components/start-template-options/index.js.map +1 -1
  218. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -4
  219. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  220. package/build/components/sync-state-with-url/use-sync-path-with-url.js +4 -3
  221. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  222. package/build/components/template-actions/index.js +8 -4
  223. package/build/components/template-actions/index.js.map +1 -1
  224. package/build/components/template-actions/rename-menu-item.js +9 -3
  225. package/build/components/template-actions/rename-menu-item.js.map +1 -1
  226. package/build/components/welcome-guide/styles.js +2 -2
  227. package/build/components/welcome-guide/styles.js.map +1 -1
  228. package/build/hooks/commands/use-edit-mode-commands.js +4 -3
  229. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  230. package/build/hooks/navigation-menu-edit.js +2 -1
  231. package/build/hooks/navigation-menu-edit.js.map +1 -1
  232. package/build/hooks/push-changes-to-global-styles/index.js +5 -37
  233. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  234. package/build/hooks/template-part-edit.js +2 -1
  235. package/build/hooks/template-part-edit.js.map +1 -1
  236. package/build/store/actions.js +38 -14
  237. package/build/store/actions.js.map +1 -1
  238. package/build/store/constants.js +1 -9
  239. package/build/store/constants.js.map +1 -1
  240. package/build/store/private-actions.js +21 -1
  241. package/build/store/private-actions.js.map +1 -1
  242. package/build/store/private-selectors.js +23 -0
  243. package/build/store/private-selectors.js.map +1 -1
  244. package/build/store/reducer.js +19 -1
  245. package/build/store/reducer.js.map +1 -1
  246. package/build/store/selectors.js +3 -2
  247. package/build/store/selectors.js.map +1 -1
  248. package/build/utils/constants.js +64 -2
  249. package/build/utils/constants.js.map +1 -1
  250. package/build/utils/is-template-removable.js +6 -1
  251. package/build/utils/is-template-removable.js.map +1 -1
  252. package/build/utils/is-template-revertable.js +6 -1
  253. package/build/utils/is-template-revertable.js.map +1 -1
  254. package/build/utils/template-part-create.js +6 -1
  255. package/build/utils/template-part-create.js.map +1 -1
  256. package/build-module/components/add-new-pattern/index.js +69 -8
  257. package/build-module/components/add-new-pattern/index.js.map +1 -1
  258. package/build-module/components/add-new-template/index.js +3 -2
  259. package/build-module/components/add-new-template/index.js.map +1 -1
  260. package/build-module/components/add-new-template/new-template.js +6 -1
  261. package/build-module/components/add-new-template/new-template.js.map +1 -1
  262. package/build-module/components/add-new-template/utils.js +6 -1
  263. package/build-module/components/add-new-template/utils.js.map +1 -1
  264. package/build-module/components/app/index.js +2 -7
  265. package/build-module/components/app/index.js.map +1 -1
  266. package/build-module/components/block-editor/back-button.js +3 -2
  267. package/build-module/components/block-editor/back-button.js.map +1 -1
  268. package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js +65 -0
  269. package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +1 -0
  270. package/build-module/components/block-editor/block-editor-provider/index.js +23 -0
  271. package/build-module/components/block-editor/block-editor-provider/index.js.map +1 -0
  272. package/build-module/components/block-editor/{providers → block-editor-provider}/navigation-block-editor-provider.js +2 -1
  273. package/build-module/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +1 -0
  274. package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js +70 -0
  275. package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +1 -0
  276. package/build-module/components/block-editor/editor-canvas.js +21 -17
  277. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  278. package/build-module/components/block-editor/index.js +1 -8
  279. package/build-module/components/block-editor/index.js.map +1 -1
  280. package/build-module/components/block-editor/site-editor-canvas.js +5 -7
  281. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
  282. package/build-module/components/block-editor/use-site-editor-settings.js +8 -4
  283. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  284. package/build-module/components/canvas-loader/index.js +18 -1
  285. package/build-module/components/canvas-loader/index.js.map +1 -1
  286. package/build-module/components/create-template-part-modal/index.js +8 -12
  287. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  288. package/build-module/components/editor/index.js +7 -9
  289. package/build-module/components/editor/index.js.map +1 -1
  290. package/build-module/components/global-styles/dimensions-panel.js +5 -4
  291. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  292. package/build-module/components/global-styles/font-families.js +58 -0
  293. package/build-module/components/global-styles/font-families.js.map +1 -0
  294. package/build-module/components/global-styles/font-family-item.js +40 -0
  295. package/build-module/components/global-styles/font-family-item.js.map +1 -0
  296. package/build-module/components/global-styles/font-library-modal/collection-font-details.js +40 -0
  297. package/build-module/components/global-styles/font-library-modal/collection-font-details.js.map +1 -0
  298. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js +45 -0
  299. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -0
  300. package/build-module/components/global-styles/font-library-modal/confirm-delete-dialog.js +23 -0
  301. package/build-module/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +1 -0
  302. package/build-module/components/global-styles/font-library-modal/context.js +300 -0
  303. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -0
  304. package/build-module/components/global-styles/font-library-modal/font-card.js +52 -0
  305. package/build-module/components/global-styles/font-library-modal/font-card.js.map +1 -0
  306. package/build-module/components/global-styles/font-library-modal/font-collection.js +164 -0
  307. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -0
  308. package/build-module/components/global-styles/font-library-modal/font-demo.js +79 -0
  309. package/build-module/components/global-styles/font-library-modal/font-demo.js.map +1 -0
  310. package/build-module/components/global-styles/font-library-modal/font-variant.js +42 -0
  311. package/build-module/components/global-styles/font-library-modal/font-variant.js.map +1 -0
  312. package/build-module/components/global-styles/font-library-modal/fonts-grid.js +47 -0
  313. package/build-module/components/global-styles/font-library-modal/fonts-grid.js.map +1 -0
  314. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +33 -0
  315. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -0
  316. package/build-module/components/global-styles/font-library-modal/index.js +57 -0
  317. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -0
  318. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +120 -0
  319. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -0
  320. package/build-module/components/global-styles/font-library-modal/library-font-card.js +31 -0
  321. package/build-module/components/global-styles/font-library-modal/library-font-card.js.map +1 -0
  322. package/build-module/components/global-styles/font-library-modal/library-font-details.js +35 -0
  323. package/build-module/components/global-styles/font-library-modal/library-font-details.js.map +1 -0
  324. package/build-module/components/global-styles/font-library-modal/library-font-variant.js +50 -0
  325. package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -0
  326. package/build-module/components/global-styles/font-library-modal/local-fonts.js +135 -0
  327. package/build-module/components/global-styles/font-library-modal/local-fonts.js.map +1 -0
  328. package/build-module/components/global-styles/font-library-modal/resolvers.js +42 -0
  329. package/build-module/components/global-styles/font-library-modal/resolvers.js.map +1 -0
  330. package/build-module/components/global-styles/font-library-modal/tab-layout.js +37 -0
  331. package/build-module/components/global-styles/font-library-modal/tab-layout.js.map +1 -0
  332. package/build-module/components/global-styles/font-library-modal/utils/constants.js +21 -0
  333. package/build-module/components/global-styles/font-library-modal/utils/constants.js.map +1 -0
  334. package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js +15 -0
  335. package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -0
  336. package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js +13 -0
  337. package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -0
  338. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +52 -0
  339. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -0
  340. package/build-module/components/global-styles/font-library-modal/utils/index.js +141 -0
  341. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -0
  342. package/build-module/components/global-styles/font-library-modal/utils/make-families-from-faces.js +16 -0
  343. package/build-module/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +1 -0
  344. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js +68 -0
  345. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -0
  346. package/build-module/components/global-styles/font-library-modal/utils/sort-font-faces.js +30 -0
  347. package/build-module/components/global-styles/font-library-modal/utils/sort-font-faces.js.map +1 -0
  348. package/build-module/components/global-styles/font-library-modal/utils/toggleFont.js +86 -0
  349. package/build-module/components/global-styles/font-library-modal/utils/toggleFont.js.map +1 -0
  350. package/build-module/components/global-styles/global-styles-provider.js +7 -12
  351. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  352. package/build-module/components/global-styles/screen-block.js +34 -21
  353. package/build-module/components/global-styles/screen-block.js.map +1 -1
  354. package/build-module/components/global-styles/screen-revisions/index.js +1 -3
  355. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  356. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +0 -1
  357. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  358. package/build-module/components/global-styles/screen-typography.js +6 -74
  359. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  360. package/build-module/components/global-styles/style-variations-container.js +3 -5
  361. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  362. package/build-module/components/global-styles/typogrphy-elements.js +87 -0
  363. package/build-module/components/global-styles/typogrphy-elements.js.map +1 -0
  364. package/build-module/components/header-edit-mode/document-actions/index.js +9 -8
  365. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  366. package/build-module/components/header-edit-mode/index.js +4 -1
  367. package/build-module/components/header-edit-mode/index.js.map +1 -1
  368. package/build-module/components/layout/index.js +5 -1
  369. package/build-module/components/layout/index.js.map +1 -1
  370. package/build-module/components/list/added-by.js +13 -8
  371. package/build-module/components/list/added-by.js.map +1 -1
  372. package/build-module/components/list/index.js +2 -1
  373. package/build-module/components/list/index.js.map +1 -1
  374. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +2 -3
  375. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  376. package/build-module/components/page-patterns/duplicate-menu-item.js +55 -20
  377. package/build-module/components/page-patterns/duplicate-menu-item.js.map +1 -1
  378. package/build-module/components/page-patterns/grid-item.js +49 -23
  379. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  380. package/build-module/components/page-patterns/header.js +3 -7
  381. package/build-module/components/page-patterns/header.js.map +1 -1
  382. package/build-module/components/page-patterns/index.js +3 -3
  383. package/build-module/components/page-patterns/index.js.map +1 -1
  384. package/build-module/components/page-patterns/patterns-list.js +7 -7
  385. package/build-module/components/page-patterns/patterns-list.js.map +1 -1
  386. package/build-module/components/page-patterns/rename-menu-item.js +6 -5
  387. package/build-module/components/page-patterns/rename-menu-item.js.map +1 -1
  388. package/build-module/components/page-patterns/search-items.js +8 -2
  389. package/build-module/components/page-patterns/search-items.js.map +1 -1
  390. package/build-module/components/page-patterns/use-patterns.js +71 -52
  391. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  392. package/build-module/components/page-patterns/utils.js +0 -11
  393. package/build-module/components/page-patterns/utils.js.map +1 -1
  394. package/build-module/components/page-template-parts/add-new-template-part.js +3 -2
  395. package/build-module/components/page-template-parts/add-new-template-part.js.map +1 -1
  396. package/build-module/components/page-template-parts/index.js +2 -1
  397. package/build-module/components/page-template-parts/index.js.map +1 -1
  398. package/build-module/components/page-templates/index.js +3 -2
  399. package/build-module/components/page-templates/index.js.map +1 -1
  400. package/build-module/components/save-hub/index.js +2 -1
  401. package/build-module/components/save-hub/index.js.map +1 -1
  402. package/build-module/components/secondary-sidebar/list-view-sidebar.js +26 -19
  403. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  404. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +54 -29
  405. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  406. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js +55 -0
  407. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -0
  408. package/build-module/components/sidebar-edit-mode/page-panels/index.js +1 -4
  409. package/build-module/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
  410. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +2 -1
  411. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  412. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +49 -0
  413. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -0
  414. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js +85 -0
  415. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -0
  416. package/build-module/components/sidebar-edit-mode/settings-header/index.js +2 -6
  417. package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  418. package/build-module/components/sidebar-edit-mode/template-panel/index.js +12 -10
  419. package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  420. package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js +8 -6
  421. package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -1
  422. package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js +209 -0
  423. package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -0
  424. package/build-module/components/sidebar-navigation-screen/index.js +6 -4
  425. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  426. package/build-module/components/sidebar-navigation-screen-details-footer/index.js +32 -5
  427. package/build-module/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
  428. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +4 -2
  429. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -1
  430. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +6 -33
  431. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  432. package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js +2 -1
  433. package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -1
  434. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +3 -1
  435. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  436. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +3 -2
  437. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  438. package/build-module/components/sidebar-navigation-screen-page/index.js +3 -3
  439. package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
  440. package/build-module/components/sidebar-navigation-screen-page/page-details.js +2 -1
  441. package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  442. package/build-module/components/sidebar-navigation-screen-pages/index.js +5 -4
  443. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  444. package/build-module/components/sidebar-navigation-screen-pattern/index.js +21 -10
  445. package/build-module/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  446. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +3 -2
  447. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
  448. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -1
  449. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  450. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +2 -1
  451. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
  452. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +41 -11
  453. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  454. package/build-module/components/sidebar-navigation-screen-patterns/index.js +12 -40
  455. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  456. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +44 -5
  457. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  458. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +7 -2
  459. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
  460. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +3 -2
  461. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  462. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js +2 -1
  463. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
  464. package/build-module/components/sidebar-navigation-screen-template/index.js +2 -2
  465. package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
  466. package/build-module/components/sidebar-navigation-screen-templates/index.js +5 -4
  467. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  468. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +3 -2
  469. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  470. package/build-module/components/start-template-options/index.js +20 -2
  471. package/build-module/components/start-template-options/index.js.map +1 -1
  472. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -4
  473. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  474. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +4 -3
  475. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  476. package/build-module/components/template-actions/index.js +8 -4
  477. package/build-module/components/template-actions/index.js.map +1 -1
  478. package/build-module/components/template-actions/rename-menu-item.js +9 -3
  479. package/build-module/components/template-actions/rename-menu-item.js.map +1 -1
  480. package/build-module/components/welcome-guide/styles.js +2 -2
  481. package/build-module/components/welcome-guide/styles.js.map +1 -1
  482. package/build-module/hooks/commands/use-edit-mode-commands.js +4 -3
  483. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  484. package/build-module/hooks/navigation-menu-edit.js +2 -1
  485. package/build-module/hooks/navigation-menu-edit.js.map +1 -1
  486. package/build-module/hooks/push-changes-to-global-styles/index.js +5 -37
  487. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  488. package/build-module/hooks/template-part-edit.js +2 -1
  489. package/build-module/hooks/template-part-edit.js.map +1 -1
  490. package/build-module/store/actions.js +39 -16
  491. package/build-module/store/actions.js.map +1 -1
  492. package/build-module/store/constants.js +0 -4
  493. package/build-module/store/constants.js.map +1 -1
  494. package/build-module/store/private-actions.js +19 -0
  495. package/build-module/store/private-actions.js.map +1 -1
  496. package/build-module/store/private-selectors.js +22 -0
  497. package/build-module/store/private-selectors.js.map +1 -1
  498. package/build-module/store/reducer.js +18 -1
  499. package/build-module/store/reducer.js.map +1 -1
  500. package/build-module/store/selectors.js +3 -3
  501. package/build-module/store/selectors.js.map +1 -1
  502. package/build-module/utils/constants.js +51 -1
  503. package/build-module/utils/constants.js.map +1 -1
  504. package/build-module/utils/is-template-removable.js +6 -1
  505. package/build-module/utils/is-template-removable.js.map +1 -1
  506. package/build-module/utils/is-template-revertable.js +6 -1
  507. package/build-module/utils/is-template-revertable.js.map +1 -1
  508. package/build-module/utils/template-part-create.js +6 -1
  509. package/build-module/utils/template-part-create.js.map +1 -1
  510. package/build-style/style-rtl.css +267 -37
  511. package/build-style/style.css +267 -37
  512. package/lib/inflate.js +4082 -0
  513. package/lib/lib-font.browser.js +3831 -0
  514. package/lib/unbrotli.js +2679 -0
  515. package/package.json +40 -40
  516. package/src/components/add-new-pattern/index.js +86 -8
  517. package/src/components/add-new-template/index.js +3 -2
  518. package/src/components/add-new-template/new-template.js +6 -1
  519. package/src/components/add-new-template/utils.js +12 -3
  520. package/src/components/app/index.js +9 -12
  521. package/src/components/block-editor/back-button.js +6 -2
  522. package/src/components/block-editor/block-editor-provider/default-block-editor-provider.js +70 -0
  523. package/src/components/block-editor/block-editor-provider/index.js +29 -0
  524. package/src/components/block-editor/{providers → block-editor-provider}/navigation-block-editor-provider.js +2 -1
  525. package/src/components/block-editor/block-editor-provider/test/use-page-content-blocks.js +87 -0
  526. package/src/components/block-editor/block-editor-provider/use-page-content-blocks.js +77 -0
  527. package/src/components/block-editor/editor-canvas.js +31 -19
  528. package/src/components/block-editor/index.js +1 -14
  529. package/src/components/block-editor/site-editor-canvas.js +7 -12
  530. package/src/components/block-editor/style.scss +88 -1
  531. package/src/components/block-editor/use-site-editor-settings.js +26 -19
  532. package/src/components/canvas-loader/index.js +12 -1
  533. package/src/components/canvas-loader/style.scss +1 -1
  534. package/src/components/create-template-part-modal/index.js +11 -12
  535. package/src/components/editor/index.js +9 -10
  536. package/src/components/global-styles/dimensions-panel.js +8 -4
  537. package/src/components/global-styles/font-families.js +71 -0
  538. package/src/components/global-styles/font-family-item.js +44 -0
  539. package/src/components/global-styles/font-library-modal/collection-font-details.js +56 -0
  540. package/src/components/global-styles/font-library-modal/collection-font-variant.js +45 -0
  541. package/src/components/global-styles/font-library-modal/confirm-delete-dialog.js +33 -0
  542. package/src/components/global-styles/font-library-modal/context.js +378 -0
  543. package/src/components/global-styles/font-library-modal/font-card.js +75 -0
  544. package/src/components/global-styles/font-library-modal/font-collection.js +257 -0
  545. package/src/components/global-styles/font-library-modal/font-demo.js +83 -0
  546. package/src/components/global-styles/font-library-modal/font-variant.js +53 -0
  547. package/src/components/global-styles/font-library-modal/fonts-grid.js +55 -0
  548. package/src/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +50 -0
  549. package/src/components/global-styles/font-library-modal/index.js +67 -0
  550. package/src/components/global-styles/font-library-modal/installed-fonts.js +174 -0
  551. package/src/components/global-styles/font-library-modal/library-font-card.js +33 -0
  552. package/src/components/global-styles/font-library-modal/library-font-details.js +45 -0
  553. package/src/components/global-styles/font-library-modal/library-font-variant.js +54 -0
  554. package/src/components/global-styles/font-library-modal/local-fonts.js +160 -0
  555. package/src/components/global-styles/font-library-modal/resolvers.js +45 -0
  556. package/src/components/global-styles/font-library-modal/style.scss +139 -0
  557. package/src/components/global-styles/font-library-modal/tab-layout.js +50 -0
  558. package/src/components/global-styles/font-library-modal/utils/constants.js +23 -0
  559. package/src/components/global-styles/font-library-modal/utils/filter-fonts.js +18 -0
  560. package/src/components/global-styles/font-library-modal/utils/fonts-outline.js +21 -0
  561. package/src/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +58 -0
  562. package/src/components/global-styles/font-library-modal/utils/index.js +153 -0
  563. package/src/components/global-styles/font-library-modal/utils/make-families-from-faces.js +15 -0
  564. package/src/components/global-styles/font-library-modal/utils/preview-styles.js +86 -0
  565. package/src/components/global-styles/font-library-modal/utils/sort-font-faces.js +33 -0
  566. package/src/components/global-styles/font-library-modal/utils/test/filter-fonts.spec.js +69 -0
  567. package/src/components/global-styles/font-library-modal/utils/test/fonts-outline.spec.js +109 -0
  568. package/src/components/global-styles/font-library-modal/utils/test/getDisplaySrcFromFontFace.spec.js +53 -0
  569. package/src/components/global-styles/font-library-modal/utils/test/getFontFaceVariantName.spec.js +30 -0
  570. package/src/components/global-styles/font-library-modal/utils/test/getIntersectingFontFaces.spec.js +240 -0
  571. package/src/components/global-styles/font-library-modal/utils/test/isUrlEncoded.spec.js +31 -0
  572. package/src/components/global-styles/font-library-modal/utils/test/makeFamiliesFromFaces.spec.js +57 -0
  573. package/src/components/global-styles/font-library-modal/utils/test/makeFormDataFromFontFamilies.spec.js +62 -0
  574. package/src/components/global-styles/font-library-modal/utils/test/mergeFontFaces.spec.js +56 -0
  575. package/src/components/global-styles/font-library-modal/utils/test/mergeFontFamilies.spec.js +108 -0
  576. package/src/components/global-styles/font-library-modal/utils/test/preview-styles.spec.js +161 -0
  577. package/src/components/global-styles/font-library-modal/utils/test/setUIValuesNeeded.spec.js +41 -0
  578. package/src/components/global-styles/font-library-modal/utils/test/sort-font-faces.js +74 -0
  579. package/src/components/global-styles/font-library-modal/utils/test/toggleFont.spec.js +141 -0
  580. package/src/components/global-styles/font-library-modal/utils/toggleFont.js +90 -0
  581. package/src/components/global-styles/global-styles-provider.js +2 -7
  582. package/src/components/global-styles/screen-block.js +42 -20
  583. package/src/components/global-styles/screen-revisions/index.js +0 -2
  584. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +0 -1
  585. package/src/components/global-styles/screen-typography.js +9 -95
  586. package/src/components/global-styles/style-variations-container.js +0 -2
  587. package/src/components/global-styles/typogrphy-elements.js +110 -0
  588. package/src/components/header-edit-mode/document-actions/index.js +17 -8
  589. package/src/components/header-edit-mode/index.js +2 -1
  590. package/src/components/layout/index.js +10 -1
  591. package/src/components/list/added-by.js +29 -11
  592. package/src/components/list/index.js +7 -1
  593. package/src/components/list/style.scss +2 -0
  594. package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +2 -8
  595. package/src/components/page-patterns/duplicate-menu-item.js +67 -24
  596. package/src/components/page-patterns/grid-item.js +80 -33
  597. package/src/components/page-patterns/header.js +3 -12
  598. package/src/components/page-patterns/index.js +3 -3
  599. package/src/components/page-patterns/patterns-list.js +7 -7
  600. package/src/components/page-patterns/rename-menu-item.js +18 -7
  601. package/src/components/page-patterns/search-items.js +20 -2
  602. package/src/components/page-patterns/style.scss +1 -5
  603. package/src/components/page-patterns/use-patterns.js +217 -127
  604. package/src/components/page-patterns/utils.js +0 -19
  605. package/src/components/page-template-parts/add-new-template-part.js +5 -2
  606. package/src/components/page-template-parts/index.js +2 -1
  607. package/src/components/page-templates/index.js +3 -2
  608. package/src/components/save-hub/index.js +2 -1
  609. package/src/components/secondary-sidebar/list-view-sidebar.js +31 -26
  610. package/src/components/sidebar-edit-mode/page-panels/edit-template.js +94 -52
  611. package/src/components/sidebar-edit-mode/page-panels/hooks.js +88 -0
  612. package/src/components/sidebar-edit-mode/page-panels/index.js +0 -4
  613. package/src/components/sidebar-edit-mode/page-panels/page-summary.js +2 -0
  614. package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +44 -0
  615. package/src/components/sidebar-edit-mode/page-panels/style.scss +46 -9
  616. package/src/components/sidebar-edit-mode/page-panels/swap-template-button.js +82 -0
  617. package/src/components/sidebar-edit-mode/settings-header/index.js +4 -7
  618. package/src/components/sidebar-edit-mode/template-panel/index.js +28 -24
  619. package/src/components/sidebar-edit-mode/template-panel/last-revision.js +19 -15
  620. package/src/components/sidebar-edit-mode/template-panel/pattern-categories.js +277 -0
  621. package/src/components/sidebar-navigation-screen/index.js +4 -9
  622. package/src/components/sidebar-navigation-screen/style.scss +7 -1
  623. package/src/components/sidebar-navigation-screen-details-footer/index.js +38 -10
  624. package/src/components/sidebar-navigation-screen-details-footer/style.scss +10 -3
  625. package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +2 -0
  626. package/src/components/sidebar-navigation-screen-global-styles/index.js +6 -44
  627. package/src/components/sidebar-navigation-screen-navigation-menu/edit-button.js +2 -1
  628. package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +3 -1
  629. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +3 -2
  630. package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +0 -4
  631. package/src/components/sidebar-navigation-screen-page/index.js +3 -3
  632. package/src/components/sidebar-navigation-screen-page/page-details.js +2 -1
  633. package/src/components/sidebar-navigation-screen-pages/index.js +5 -4
  634. package/src/components/sidebar-navigation-screen-pattern/index.js +22 -8
  635. package/src/components/sidebar-navigation-screen-pattern/style.scss +0 -3
  636. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +8 -2
  637. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +7 -1
  638. package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +2 -1
  639. package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +63 -20
  640. package/src/components/sidebar-navigation-screen-patterns/index.js +20 -51
  641. package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +61 -6
  642. package/src/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +12 -2
  643. package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +3 -5
  644. package/src/components/sidebar-navigation-screen-template/home-template-details.js +2 -1
  645. package/src/components/sidebar-navigation-screen-template/index.js +2 -4
  646. package/src/components/sidebar-navigation-screen-templates/index.js +5 -4
  647. package/src/components/sidebar-navigation-screen-templates-browse/index.js +6 -2
  648. package/src/components/start-template-options/index.js +39 -2
  649. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +10 -4
  650. package/src/components/sync-state-with-url/use-sync-path-with-url.js +8 -3
  651. package/src/components/template-actions/index.js +15 -8
  652. package/src/components/template-actions/rename-menu-item.js +21 -5
  653. package/src/components/welcome-guide/styles.js +2 -2
  654. package/src/hooks/commands/use-edit-mode-commands.js +4 -3
  655. package/src/hooks/navigation-menu-edit.js +2 -1
  656. package/src/hooks/push-changes-to-global-styles/index.js +6 -49
  657. package/src/hooks/template-part-edit.js +2 -1
  658. package/src/store/actions.js +56 -22
  659. package/src/store/constants.js +0 -5
  660. package/src/store/private-actions.js +19 -0
  661. package/src/store/private-selectors.js +22 -0
  662. package/src/store/reducer.js +18 -0
  663. package/src/store/selectors.js +6 -3
  664. package/src/store/test/reducer.js +18 -0
  665. package/src/style.scss +1 -1
  666. package/src/utils/constants.js +54 -3
  667. package/src/utils/is-template-removable.js +8 -1
  668. package/src/utils/is-template-revertable.js +8 -1
  669. package/src/utils/template-part-create.js +6 -1
  670. package/build/components/block-editor/get-block-editor-provider.js +0 -35
  671. package/build/components/block-editor/get-block-editor-provider.js.map +0 -1
  672. package/build/components/block-editor/providers/default-block-editor-provider.js +0 -49
  673. package/build/components/block-editor/providers/default-block-editor-provider.js.map +0 -1
  674. package/build/components/block-editor/providers/navigation-block-editor-provider.js.map +0 -1
  675. package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js +0 -30
  676. package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +0 -1
  677. package/build-module/components/block-editor/get-block-editor-provider.js +0 -28
  678. package/build-module/components/block-editor/get-block-editor-provider.js.map +0 -1
  679. package/build-module/components/block-editor/providers/default-block-editor-provider.js +0 -41
  680. package/build-module/components/block-editor/providers/default-block-editor-provider.js.map +0 -1
  681. package/build-module/components/block-editor/providers/navigation-block-editor-provider.js.map +0 -1
  682. package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js +0 -23
  683. package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +0 -1
  684. package/src/components/block-editor/get-block-editor-provider.js +0 -29
  685. package/src/components/block-editor/providers/default-block-editor-provider.js +0 -44
  686. package/src/components/sidebar-navigation-screen-global-styles/style.scss +0 -12
  687. package/src/components/sidebar-navigation-screen-patterns/use-my-patterns.js +0 -24
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_components","_coreData","_data","_icons","_i18n","TEMPLATE_POST_TYPE_NAMES","useAddedBy","postType","postId","useSelect","select","getTheme","getPlugin","getEntityRecord","getMedia","getUser","getEditedEntityRecord","coreStore","template","includes","type","has_theme_file","origin","source","icon","themeIcon","text","theme","name","rendered","isCustomized","pluginIcon","author","siteData","globeIcon","imageUrl","site_logo","source_url","undefined","user","authorIcon","avatar_urls","nickname","AvatarImage","isImageLoaded","setIsImageLoaded","useState","createElement","className","classnames","onLoad","alt","src","AddedBy","__experimentalHStack","alignment","Icon","_x"],"sources":["@wordpress/edit-site/src/components/list/added-by.js"],"sourcesContent":["// @ts-check\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Icon, __experimentalHStack as HStack } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport {\n\tcommentAuthorAvatar as authorIcon,\n\tlayout as themeIcon,\n\tplugins as pluginIcon,\n\tglobe as globeIcon,\n} from '@wordpress/icons';\nimport { _x } from '@wordpress/i18n';\n\n/** @typedef {'wp_template'|'wp_template_part'} TemplateType */\n\n/** @type {TemplateType} */\nconst TEMPLATE_POST_TYPE_NAMES = [ 'wp_template', 'wp_template_part' ];\n\n/**\n * @typedef {'theme'|'plugin'|'site'|'user'} AddedByType\n *\n * @typedef AddedByData\n * @type {Object}\n * @property {AddedByType} type The type of the data.\n * @property {JSX.Element} icon The icon to display.\n * @property {string} [imageUrl] The optional image URL to display.\n * @property {string} [text] The text to display.\n * @property {boolean} isCustomized Whether the template has been customized.\n *\n * @param {TemplateType} postType The template post type.\n * @param {number} postId The template post id.\n * @return {AddedByData} The added by object or null.\n */\nexport function useAddedBy( postType, postId ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetTheme,\n\t\t\t\tgetPlugin,\n\t\t\t\tgetEntityRecord,\n\t\t\t\tgetMedia,\n\t\t\t\tgetUser,\n\t\t\t\tgetEditedEntityRecord,\n\t\t\t} = select( coreStore );\n\t\t\tconst template = 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\tif ( TEMPLATE_POST_TYPE_NAMES.includes( template.type ) ) {\n\t\t\t\t// Added by theme.\n\t\t\t\t// Template originally provided by a theme, but customized by a user.\n\t\t\t\t// Templates originally didn't have the 'origin' field so identify\n\t\t\t\t// older customized templates by checking for no origin and a 'theme'\n\t\t\t\t// or 'custom' source.\n\t\t\t\tif (\n\t\t\t\t\ttemplate.has_theme_file &&\n\t\t\t\t\t( template.origin === 'theme' ||\n\t\t\t\t\t\t( ! template.origin &&\n\t\t\t\t\t\t\t[ 'theme', 'custom' ].includes(\n\t\t\t\t\t\t\t\ttemplate.source\n\t\t\t\t\t\t\t) ) )\n\t\t\t\t) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'theme',\n\t\t\t\t\t\ticon: themeIcon,\n\t\t\t\t\t\ttext:\n\t\t\t\t\t\t\tgetTheme( template.theme )?.name?.rendered ||\n\t\t\t\t\t\t\ttemplate.theme,\n\t\t\t\t\t\tisCustomized: template.source === 'custom',\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\t// Added by plugin.\n\t\t\t\tif ( template.has_theme_file && template.origin === 'plugin' ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'plugin',\n\t\t\t\t\t\ticon: pluginIcon,\n\t\t\t\t\t\ttext:\n\t\t\t\t\t\t\tgetPlugin( template.theme )?.name || template.theme,\n\t\t\t\t\t\tisCustomized: template.source === 'custom',\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\t// Added by site.\n\t\t\t\t// Template was created from scratch, but has no author. Author support\n\t\t\t\t// was only added to templates in WordPress 5.9. Fallback to showing the\n\t\t\t\t// site logo and title.\n\t\t\t\tif (\n\t\t\t\t\t! template.has_theme_file &&\n\t\t\t\t\ttemplate.source === 'custom' &&\n\t\t\t\t\t! template.author\n\t\t\t\t) {\n\t\t\t\t\tconst siteData = getEntityRecord(\n\t\t\t\t\t\t'root',\n\t\t\t\t\t\t'__unstableBase'\n\t\t\t\t\t);\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'site',\n\t\t\t\t\t\ticon: globeIcon,\n\t\t\t\t\t\timageUrl: siteData?.site_logo\n\t\t\t\t\t\t\t? getMedia( siteData.site_logo )?.source_url\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\ttext: siteData?.name,\n\t\t\t\t\t\tisCustomized: false,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Added by user.\n\t\t\tconst user = getUser( template.author );\n\t\t\treturn {\n\t\t\t\ttype: 'user',\n\t\t\t\ticon: authorIcon,\n\t\t\t\timageUrl: user?.avatar_urls?.[ 48 ],\n\t\t\t\ttext: user?.nickname,\n\t\t\t\tisCustomized: false,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n}\n\n/**\n * @param {Object} props\n * @param {string} props.imageUrl\n */\nfunction AvatarImage( { imageUrl } ) {\n\tconst [ isImageLoaded, setIsImageLoaded ] = useState( false );\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames( 'edit-site-list-added-by__avatar', {\n\t\t\t\t'is-loaded': isImageLoaded,\n\t\t\t} ) }\n\t\t>\n\t\t\t<img\n\t\t\t\tonLoad={ () => setIsImageLoaded( true ) }\n\t\t\t\talt=\"\"\n\t\t\t\tsrc={ imageUrl }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\n/**\n * @param {Object} props\n * @param {TemplateType} props.postType The template post type.\n * @param {number} props.postId The template post id.\n */\nexport default function AddedBy( { postType, postId } ) {\n\tconst { text, icon, imageUrl, isCustomized } = useAddedBy(\n\t\tpostType,\n\t\tpostId\n\t);\n\n\treturn (\n\t\t<HStack alignment=\"left\">\n\t\t\t{ imageUrl ? (\n\t\t\t\t<AvatarImage imageUrl={ imageUrl } />\n\t\t\t) : (\n\t\t\t\t<div className=\"edit-site-list-added-by__icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<span>\n\t\t\t\t{ text }\n\t\t\t\t{ isCustomized && (\n\t\t\t\t\t<span className=\"edit-site-list-added-by__customized-info\">\n\t\t\t\t\t\t{ postType === 'wp_template'\n\t\t\t\t\t\t\t? _x( 'Customized', 'template' )\n\t\t\t\t\t\t\t: _x( 'Customized', 'template part' ) }\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t</span>\n\t\t</HStack>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_components","_coreData","_data","_icons","_i18n","_constants","TEMPLATE_POST_TYPE_NAMES","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","useAddedBy","postType","postId","useSelect","select","getTheme","getPlugin","getEntityRecord","getMedia","getUser","getEditedEntityRecord","coreStore","template","includes","type","has_theme_file","origin","TEMPLATE_ORIGINS","theme","custom","source","icon","themeIcon","text","name","rendered","isCustomized","plugin","pluginIcon","author","siteData","globeIcon","imageUrl","site_logo","source_url","undefined","user","authorIcon","avatar_urls","nickname","AvatarImage","isImageLoaded","setIsImageLoaded","useState","createElement","className","classnames","onLoad","alt","src","AddedBy","__experimentalHStack","alignment","Icon","_x"],"sources":["@wordpress/edit-site/src/components/list/added-by.js"],"sourcesContent":["// @ts-check\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Icon, __experimentalHStack as HStack } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport {\n\tcommentAuthorAvatar as authorIcon,\n\tlayout as themeIcon,\n\tplugins as pluginIcon,\n\tglobe as globeIcon,\n} from '@wordpress/icons';\nimport { _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_ORIGINS,\n} from '../../utils/constants';\n\n/** @typedef {'wp_template'|'wp_template_part'} TemplateType */\n\n/** @type {TemplateType} */\nconst TEMPLATE_POST_TYPE_NAMES = [\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n];\n\n/**\n * @typedef {'theme'|'plugin'|'site'|'user'} AddedByType\n *\n * @typedef AddedByData\n * @type {Object}\n * @property {AddedByType} type The type of the data.\n * @property {JSX.Element} icon The icon to display.\n * @property {string} [imageUrl] The optional image URL to display.\n * @property {string} [text] The text to display.\n * @property {boolean} isCustomized Whether the template has been customized.\n *\n * @param {TemplateType} postType The template post type.\n * @param {number} postId The template post id.\n * @return {AddedByData} The added by object or null.\n */\nexport function useAddedBy( postType, postId ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetTheme,\n\t\t\t\tgetPlugin,\n\t\t\t\tgetEntityRecord,\n\t\t\t\tgetMedia,\n\t\t\t\tgetUser,\n\t\t\t\tgetEditedEntityRecord,\n\t\t\t} = select( coreStore );\n\t\t\tconst template = 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\tif ( TEMPLATE_POST_TYPE_NAMES.includes( template.type ) ) {\n\t\t\t\t// Added by theme.\n\t\t\t\t// Template originally provided by a theme, but customized by a user.\n\t\t\t\t// Templates originally didn't have the 'origin' field so identify\n\t\t\t\t// older customized templates by checking for no origin and a 'theme'\n\t\t\t\t// or 'custom' source.\n\t\t\t\tif (\n\t\t\t\t\ttemplate.has_theme_file &&\n\t\t\t\t\t( template.origin === TEMPLATE_ORIGINS.theme ||\n\t\t\t\t\t\t( ! template.origin &&\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\tTEMPLATE_ORIGINS.theme,\n\t\t\t\t\t\t\t\tTEMPLATE_ORIGINS.custom,\n\t\t\t\t\t\t\t].includes( template.source ) ) )\n\t\t\t\t) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'theme',\n\t\t\t\t\t\ticon: themeIcon,\n\t\t\t\t\t\ttext:\n\t\t\t\t\t\t\tgetTheme( template.theme )?.name?.rendered ||\n\t\t\t\t\t\t\ttemplate.theme,\n\t\t\t\t\t\tisCustomized:\n\t\t\t\t\t\t\ttemplate.source === TEMPLATE_ORIGINS.custom,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\t// Added by plugin.\n\t\t\t\tif (\n\t\t\t\t\ttemplate.has_theme_file &&\n\t\t\t\t\ttemplate.origin === TEMPLATE_ORIGINS.plugin\n\t\t\t\t) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: TEMPLATE_ORIGINS.plugin,\n\t\t\t\t\t\ticon: pluginIcon,\n\t\t\t\t\t\ttext:\n\t\t\t\t\t\t\tgetPlugin( template.theme )?.name || template.theme,\n\t\t\t\t\t\tisCustomized:\n\t\t\t\t\t\t\ttemplate.source === TEMPLATE_ORIGINS.custom,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\t// Added by site.\n\t\t\t\t// Template was created from scratch, but has no author. Author support\n\t\t\t\t// was only added to templates in WordPress 5.9. Fallback to showing the\n\t\t\t\t// site logo and title.\n\t\t\t\tif (\n\t\t\t\t\t! template.has_theme_file &&\n\t\t\t\t\ttemplate.source === TEMPLATE_ORIGINS.custom &&\n\t\t\t\t\t! template.author\n\t\t\t\t) {\n\t\t\t\t\tconst siteData = getEntityRecord(\n\t\t\t\t\t\t'root',\n\t\t\t\t\t\t'__unstableBase'\n\t\t\t\t\t);\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'site',\n\t\t\t\t\t\ticon: globeIcon,\n\t\t\t\t\t\timageUrl: siteData?.site_logo\n\t\t\t\t\t\t\t? getMedia( siteData.site_logo )?.source_url\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\ttext: siteData?.name,\n\t\t\t\t\t\tisCustomized: false,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Added by user.\n\t\t\tconst user = getUser( template.author );\n\t\t\treturn {\n\t\t\t\ttype: 'user',\n\t\t\t\ticon: authorIcon,\n\t\t\t\timageUrl: user?.avatar_urls?.[ 48 ],\n\t\t\t\ttext: user?.nickname,\n\t\t\t\tisCustomized: false,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n}\n\n/**\n * @param {Object} props\n * @param {string} props.imageUrl\n */\nfunction AvatarImage( { imageUrl } ) {\n\tconst [ isImageLoaded, setIsImageLoaded ] = useState( false );\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames( 'edit-site-list-added-by__avatar', {\n\t\t\t\t'is-loaded': isImageLoaded,\n\t\t\t} ) }\n\t\t>\n\t\t\t<img\n\t\t\t\tonLoad={ () => setIsImageLoaded( true ) }\n\t\t\t\talt=\"\"\n\t\t\t\tsrc={ imageUrl }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\n/**\n * @param {Object} props\n * @param {TemplateType} props.postType The template post type.\n * @param {number} props.postId The template post id.\n */\nexport default function AddedBy( { postType, postId } ) {\n\tconst { text, icon, imageUrl, isCustomized } = useAddedBy(\n\t\tpostType,\n\t\tpostId\n\t);\n\n\treturn (\n\t\t<HStack alignment=\"left\">\n\t\t\t{ imageUrl ? (\n\t\t\t\t<AvatarImage imageUrl={ imageUrl } />\n\t\t\t) : (\n\t\t\t\t<div className=\"edit-site-list-added-by__icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<span>\n\t\t\t\t{ text }\n\t\t\t\t{ isCustomized && (\n\t\t\t\t\t<span className=\"edit-site-list-added-by__customized-info\">\n\t\t\t\t\t\t{ postType === TEMPLATE_POST_TYPE\n\t\t\t\t\t\t\t? _x( 'Customized', 'template' )\n\t\t\t\t\t\t\t: _x( 'Customized', 'template part' ) }\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t</span>\n\t\t</HStack>\n\t);\n}\n"],"mappings":"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"}
@@ -18,6 +18,7 @@ var _header = _interopRequireDefault(require("./header"));
18
18
  var _table = _interopRequireDefault(require("./table"));
19
19
  var _useTitle = _interopRequireDefault(require("../routes/use-title"));
20
20
  var _lockUnlock = require("../../lock-unlock");
21
+ var _constants = require("../../utils/constants");
21
22
  /**
22
23
  * WordPress dependencies
23
24
  */
@@ -35,7 +36,7 @@ function List() {
35
36
  path
36
37
  }
37
38
  } = useLocation();
38
- const templateType = path === '/wp_template/all' ? 'wp_template' : 'wp_template_part';
39
+ const templateType = path === '/wp_template/all' ? _constants.TEMPLATE_POST_TYPE : _constants.TEMPLATE_PART_POST_TYPE;
39
40
  (0, _useRegisterShortcuts.default)();
40
41
  const {
41
42
  previousShortcut,
@@ -1 +1 @@
1
- {"version":3,"names":["_coreData","require","_data","_interface","_i18n","_keyboardShortcuts","_editor","_router","_useRegisterShortcuts","_interopRequireDefault","_header","_table","_useTitle","_lockUnlock","useLocation","unlock","routerPrivateApis","List","params","path","templateType","useRegisterShortcuts","previousShortcut","nextShortcut","useSelect","select","keyboardShortcutsStore","getAllShortcutKeyCombinations","postType","coreStore","getPostType","useTitle","labels","name","itemsListLabel","items_list","detailedRegionLabels","header","sprintf","__","body","undefined","_element","createElement","InterfaceSkeleton","className","default","notices","EditorSnackbars","content","shortcuts","previous","next"],"sources":["@wordpress/edit-site/src/components/list/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { InterfaceSkeleton } from '@wordpress/interface';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { EditorSnackbars } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport useRegisterShortcuts from './use-register-shortcuts';\nimport Header from './header';\nimport Table from './table';\nimport useTitle from '../routes/use-title';\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nexport default function List() {\n\tconst {\n\t\tparams: { path },\n\t} = useLocation();\n\tconst templateType =\n\t\tpath === '/wp_template/all' ? 'wp_template' : 'wp_template_part';\n\n\tuseRegisterShortcuts();\n\n\tconst { previousShortcut, nextShortcut } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tpreviousShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-site/previous-region' ),\n\t\t\tnextShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-site/next-region' ),\n\t\t};\n\t}, [] );\n\n\tconst postType = useSelect(\n\t\t( select ) => select( coreStore ).getPostType( templateType ),\n\t\t[ templateType ]\n\t);\n\n\tuseTitle( postType?.labels?.name );\n\n\t// `postType` could load in asynchronously. Only provide the detailed region labels if\n\t// the postType has loaded, otherwise `InterfaceSkeleton` will fallback to the defaults.\n\tconst itemsListLabel = postType?.labels?.items_list;\n\tconst detailedRegionLabels = postType\n\t\t? {\n\t\t\t\theader: sprintf(\n\t\t\t\t\t// translators: %s - the name of the page, 'Header' as in the header area of that page.\n\t\t\t\t\t__( '%s - Header' ),\n\t\t\t\t\titemsListLabel\n\t\t\t\t),\n\t\t\t\tbody: sprintf(\n\t\t\t\t\t// translators: %s - the name of the page, 'Content' as in the content area of that page.\n\t\t\t\t\t__( '%s - Content' ),\n\t\t\t\t\titemsListLabel\n\t\t\t\t),\n\t\t }\n\t\t: undefined;\n\n\treturn (\n\t\t<InterfaceSkeleton\n\t\t\tclassName=\"edit-site-list\"\n\t\t\tlabels={ detailedRegionLabels }\n\t\t\theader={ <Header templateType={ templateType } /> }\n\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\tcontent={ <Table templateType={ templateType } /> }\n\t\t\tshortcuts={ {\n\t\t\t\tprevious: previousShortcut,\n\t\t\t\tnext: nextShortcut,\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AAKA,IAAAO,qBAAA,GAAAC,sBAAA,CAAAR,OAAA;AACA,IAAAS,OAAA,GAAAD,sBAAA,CAAAR,OAAA;AACA,IAAAU,MAAA,GAAAF,sBAAA,CAAAR,OAAA;AACA,IAAAW,SAAA,GAAAH,sBAAA,CAAAR,OAAA;AACA,IAAAY,WAAA,GAAAZ,OAAA;AAlBA;AACA;AACA;;AASA;AACA;AACA;;AAOA,MAAM;EAAEa;AAAY,CAAC,GAAG,IAAAC,kBAAM,EAAEC,mBAAkB,CAAC;AAEpC,SAASC,IAAIA,CAAA,EAAG;EAC9B,MAAM;IACLC,MAAM,EAAE;MAAEC;IAAK;EAChB,CAAC,GAAGL,WAAW,CAAC,CAAC;EACjB,MAAMM,YAAY,GACjBD,IAAI,KAAK,kBAAkB,GAAG,aAAa,GAAG,kBAAkB;EAEjE,IAAAE,6BAAoB,EAAC,CAAC;EAEtB,MAAM;IAAEC,gBAAgB;IAAEC;EAAa,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACnE,OAAO;MACNH,gBAAgB,EAAEG,MAAM,CACvBC,wBACD,CAAC,CAACC,6BAA6B,CAAE,gCAAiC,CAAC;MACnEJ,YAAY,EAAEE,MAAM,CACnBC,wBACD,CAAC,CAACC,6BAA6B,CAAE,4BAA6B;IAC/D,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMC,QAAQ,GAAG,IAAAJ,eAAS,EACvBC,MAAM,IAAMA,MAAM,CAAEI,eAAU,CAAC,CAACC,WAAW,CAAEV,YAAa,CAAC,EAC7D,CAAEA,YAAY,CACf,CAAC;EAED,IAAAW,iBAAQ,EAAEH,QAAQ,EAAEI,MAAM,EAAEC,IAAK,CAAC;;EAElC;EACA;EACA,MAAMC,cAAc,GAAGN,QAAQ,EAAEI,MAAM,EAAEG,UAAU;EACnD,MAAMC,oBAAoB,GAAGR,QAAQ,GAClC;IACAS,MAAM,EAAE,IAAAC,aAAO;IACd;IACA,IAAAC,QAAE,EAAE,aAAc,CAAC,EACnBL,cACD,CAAC;IACDM,IAAI,EAAE,IAAAF,aAAO;IACZ;IACA,IAAAC,QAAE,EAAE,cAAe,CAAC,EACpBL,cACD;EACA,CAAC,GACDO,SAAS;EAEZ,OACC,IAAAC,QAAA,CAAAC,aAAA,EAACxC,UAAA,CAAAyC,iBAAiB;IACjBC,SAAS,EAAC,gBAAgB;IAC1Bb,MAAM,EAAGI,oBAAsB;IAC/BC,MAAM,EAAG,IAAAK,QAAA,CAAAC,aAAA,EAACjC,OAAA,CAAAoC,OAAM;MAAC1B,YAAY,EAAGA;IAAc,CAAE,CAAG;IACnD2B,OAAO,EAAG,IAAAL,QAAA,CAAAC,aAAA,EAACrC,OAAA,CAAA0C,eAAe,MAAE,CAAG;IAC/BC,OAAO,EAAG,IAAAP,QAAA,CAAAC,aAAA,EAAChC,MAAA,CAAAmC,OAAK;MAAC1B,YAAY,EAAGA;IAAc,CAAE,CAAG;IACnD8B,SAAS,EAAG;MACXC,QAAQ,EAAE7B,gBAAgB;MAC1B8B,IAAI,EAAE7B;IACP;EAAG,CACH,CAAC;AAEJ"}
1
+ {"version":3,"names":["_coreData","require","_data","_interface","_i18n","_keyboardShortcuts","_editor","_router","_useRegisterShortcuts","_interopRequireDefault","_header","_table","_useTitle","_lockUnlock","_constants","useLocation","unlock","routerPrivateApis","List","params","path","templateType","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","useRegisterShortcuts","previousShortcut","nextShortcut","useSelect","select","keyboardShortcutsStore","getAllShortcutKeyCombinations","postType","coreStore","getPostType","useTitle","labels","name","itemsListLabel","items_list","detailedRegionLabels","header","sprintf","__","body","undefined","_element","createElement","InterfaceSkeleton","className","default","notices","EditorSnackbars","content","shortcuts","previous","next"],"sources":["@wordpress/edit-site/src/components/list/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { InterfaceSkeleton } from '@wordpress/interface';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { EditorSnackbars } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport useRegisterShortcuts from './use-register-shortcuts';\nimport Header from './header';\nimport Table from './table';\nimport useTitle from '../routes/use-title';\nimport { unlock } from '../../lock-unlock';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nexport default function List() {\n\tconst {\n\t\tparams: { path },\n\t} = useLocation();\n\tconst templateType =\n\t\tpath === '/wp_template/all'\n\t\t\t? TEMPLATE_POST_TYPE\n\t\t\t: TEMPLATE_PART_POST_TYPE;\n\n\tuseRegisterShortcuts();\n\n\tconst { previousShortcut, nextShortcut } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tpreviousShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-site/previous-region' ),\n\t\t\tnextShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-site/next-region' ),\n\t\t};\n\t}, [] );\n\n\tconst postType = useSelect(\n\t\t( select ) => select( coreStore ).getPostType( templateType ),\n\t\t[ templateType ]\n\t);\n\n\tuseTitle( postType?.labels?.name );\n\n\t// `postType` could load in asynchronously. Only provide the detailed region labels if\n\t// the postType has loaded, otherwise `InterfaceSkeleton` will fallback to the defaults.\n\tconst itemsListLabel = postType?.labels?.items_list;\n\tconst detailedRegionLabels = postType\n\t\t? {\n\t\t\t\theader: sprintf(\n\t\t\t\t\t// translators: %s - the name of the page, 'Header' as in the header area of that page.\n\t\t\t\t\t__( '%s - Header' ),\n\t\t\t\t\titemsListLabel\n\t\t\t\t),\n\t\t\t\tbody: sprintf(\n\t\t\t\t\t// translators: %s - the name of the page, 'Content' as in the content area of that page.\n\t\t\t\t\t__( '%s - Content' ),\n\t\t\t\t\titemsListLabel\n\t\t\t\t),\n\t\t }\n\t\t: undefined;\n\n\treturn (\n\t\t<InterfaceSkeleton\n\t\t\tclassName=\"edit-site-list\"\n\t\t\tlabels={ detailedRegionLabels }\n\t\t\theader={ <Header templateType={ templateType } /> }\n\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\tcontent={ <Table templateType={ templateType } /> }\n\t\t\tshortcuts={ {\n\t\t\t\tprevious: previousShortcut,\n\t\t\t\tnext: nextShortcut,\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AAKA,IAAAO,qBAAA,GAAAC,sBAAA,CAAAR,OAAA;AACA,IAAAS,OAAA,GAAAD,sBAAA,CAAAR,OAAA;AACA,IAAAU,MAAA,GAAAF,sBAAA,CAAAR,OAAA;AACA,IAAAW,SAAA,GAAAH,sBAAA,CAAAR,OAAA;AACA,IAAAY,WAAA,GAAAZ,OAAA;AACA,IAAAa,UAAA,GAAAb,OAAA;AAnBA;AACA;AACA;;AASA;AACA;AACA;;AAWA,MAAM;EAAEc;AAAY,CAAC,GAAG,IAAAC,kBAAM,EAAEC,mBAAkB,CAAC;AAEpC,SAASC,IAAIA,CAAA,EAAG;EAC9B,MAAM;IACLC,MAAM,EAAE;MAAEC;IAAK;EAChB,CAAC,GAAGL,WAAW,CAAC,CAAC;EACjB,MAAMM,YAAY,GACjBD,IAAI,KAAK,kBAAkB,GACxBE,6BAAkB,GAClBC,kCAAuB;EAE3B,IAAAC,6BAAoB,EAAC,CAAC;EAEtB,MAAM;IAAEC,gBAAgB;IAAEC;EAAa,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACnE,OAAO;MACNH,gBAAgB,EAAEG,MAAM,CACvBC,wBACD,CAAC,CAACC,6BAA6B,CAAE,gCAAiC,CAAC;MACnEJ,YAAY,EAAEE,MAAM,CACnBC,wBACD,CAAC,CAACC,6BAA6B,CAAE,4BAA6B;IAC/D,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMC,QAAQ,GAAG,IAAAJ,eAAS,EACvBC,MAAM,IAAMA,MAAM,CAAEI,eAAU,CAAC,CAACC,WAAW,CAAEZ,YAAa,CAAC,EAC7D,CAAEA,YAAY,CACf,CAAC;EAED,IAAAa,iBAAQ,EAAEH,QAAQ,EAAEI,MAAM,EAAEC,IAAK,CAAC;;EAElC;EACA;EACA,MAAMC,cAAc,GAAGN,QAAQ,EAAEI,MAAM,EAAEG,UAAU;EACnD,MAAMC,oBAAoB,GAAGR,QAAQ,GAClC;IACAS,MAAM,EAAE,IAAAC,aAAO;IACd;IACA,IAAAC,QAAE,EAAE,aAAc,CAAC,EACnBL,cACD,CAAC;IACDM,IAAI,EAAE,IAAAF,aAAO;IACZ;IACA,IAAAC,QAAE,EAAE,cAAe,CAAC,EACpBL,cACD;EACA,CAAC,GACDO,SAAS;EAEZ,OACC,IAAAC,QAAA,CAAAC,aAAA,EAAC3C,UAAA,CAAA4C,iBAAiB;IACjBC,SAAS,EAAC,gBAAgB;IAC1Bb,MAAM,EAAGI,oBAAsB;IAC/BC,MAAM,EAAG,IAAAK,QAAA,CAAAC,aAAA,EAACpC,OAAA,CAAAuC,OAAM;MAAC5B,YAAY,EAAGA;IAAc,CAAE,CAAG;IACnD6B,OAAO,EAAG,IAAAL,QAAA,CAAAC,aAAA,EAACxC,OAAA,CAAA6C,eAAe,MAAE,CAAG;IAC/BC,OAAO,EAAG,IAAAP,QAAA,CAAAC,aAAA,EAACnC,MAAA,CAAAsC,OAAK;MAAC5B,YAAY,EAAGA;IAAc,CAAE,CAAG;IACnDgC,SAAS,EAAG;MACXC,QAAQ,EAAE7B,gBAAgB;MAC1B8B,IAAI,EAAE7B;IACP;EAAG,CACH,CAAC;AAEJ"}
@@ -9,6 +9,7 @@ var _element = require("@wordpress/element");
9
9
  var _compose = require("@wordpress/compose");
10
10
  var _hooks = require("@wordpress/hooks");
11
11
  var _blockEditor = require("@wordpress/block-editor");
12
+ var _constants = require("../../utils/constants");
12
13
  /**
13
14
  * WordPress dependencies
14
15
  */
@@ -17,8 +18,6 @@ var _blockEditor = require("@wordpress/block-editor");
17
18
  * Internal dependencies
18
19
  */
19
20
 
20
- const PAGE_CONTENT_BLOCK_TYPES = ['core/post-title', 'core/post-featured-image', 'core/post-content'];
21
-
22
21
  /**
23
22
  * Component that when rendered, makes it so that the site editor allows only
24
23
  * page content to be edited.
@@ -40,7 +39,7 @@ function useDisableNonPageContentBlocks() {
40
39
  }
41
40
  const withDisableNonPageContentBlocks = (0, _compose.createHigherOrderComponent)(BlockEdit => props => {
42
41
  const isDescendentOfQueryLoop = props.context.queryId !== undefined;
43
- const isPageContent = PAGE_CONTENT_BLOCK_TYPES.includes(props.name) && !isDescendentOfQueryLoop;
42
+ const isPageContent = _constants.PAGE_CONTENT_BLOCK_TYPES[props.name] && !isDescendentOfQueryLoop;
44
43
  const mode = isPageContent ? 'contentOnly' : undefined;
45
44
  (0, _blockEditor.useBlockEditingMode)(mode);
46
45
  return (0, _element.createElement)(BlockEdit, {
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_compose","_hooks","_blockEditor","PAGE_CONTENT_BLOCK_TYPES","DisableNonPageContentBlocks","useDisableNonPageContentBlocks","useBlockEditingMode","useEffect","addFilter","withDisableNonPageContentBlocks","removeFilter","createHigherOrderComponent","BlockEdit","props","isDescendentOfQueryLoop","context","queryId","undefined","isPageContent","includes","name","mode","createElement"],"sources":["@wordpress/edit-site/src/components/page-content-focus-manager/disable-non-page-content-blocks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { addFilter, removeFilter } from '@wordpress/hooks';\nimport { useBlockEditingMode } from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\n\nconst PAGE_CONTENT_BLOCK_TYPES = [\n\t'core/post-title',\n\t'core/post-featured-image',\n\t'core/post-content',\n];\n\n/**\n * Component that when rendered, makes it so that the site editor allows only\n * page content to be edited.\n */\nexport default function DisableNonPageContentBlocks() {\n\tuseDisableNonPageContentBlocks();\n\treturn null;\n}\n\n/**\n * Disables non-content blocks using the `useBlockEditingMode` hook.\n */\nexport function useDisableNonPageContentBlocks() {\n\tuseBlockEditingMode( 'disabled' );\n\tuseEffect( () => {\n\t\taddFilter(\n\t\t\t'editor.BlockEdit',\n\t\t\t'core/edit-site/disable-non-content-blocks',\n\t\t\twithDisableNonPageContentBlocks\n\t\t);\n\t\treturn () =>\n\t\t\tremoveFilter(\n\t\t\t\t'editor.BlockEdit',\n\t\t\t\t'core/edit-site/disable-non-content-blocks'\n\t\t\t);\n\t}, [] );\n}\n\nconst withDisableNonPageContentBlocks = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst isDescendentOfQueryLoop = props.context.queryId !== undefined;\n\t\tconst isPageContent =\n\t\t\tPAGE_CONTENT_BLOCK_TYPES.includes( props.name ) &&\n\t\t\t! isDescendentOfQueryLoop;\n\t\tconst mode = isPageContent ? 'contentOnly' : undefined;\n\t\tuseBlockEditingMode( mode );\n\t\treturn <BlockEdit { ...props } />;\n\t},\n\t'withDisableNonPageContentBlocks'\n);\n"],"mappings":";;;;;;;AAMA,IAAAA,QAAA,GAAAC,OAAA;AAHA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AALA;AACA;AACA;;AAMA;AACA;AACA;;AAEA,MAAMI,wBAAwB,GAAG,CAChC,iBAAiB,EACjB,0BAA0B,EAC1B,mBAAmB,CACnB;;AAED;AACA;AACA;AACA;AACe,SAASC,2BAA2BA,CAAA,EAAG;EACrDC,8BAA8B,CAAC,CAAC;EAChC,OAAO,IAAI;AACZ;;AAEA;AACA;AACA;AACO,SAASA,8BAA8BA,CAAA,EAAG;EAChD,IAAAC,gCAAmB,EAAE,UAAW,CAAC;EACjC,IAAAC,kBAAS,EAAE,MAAM;IAChB,IAAAC,gBAAS,EACR,kBAAkB,EAClB,2CAA2C,EAC3CC,+BACD,CAAC;IACD,OAAO,MACN,IAAAC,mBAAY,EACX,kBAAkB,EAClB,2CACD,CAAC;EACH,CAAC,EAAE,EAAG,CAAC;AACR;AAEA,MAAMD,+BAA+B,GAAG,IAAAE,mCAA0B,EAC/DC,SAAS,IAAQC,KAAK,IAAM;EAC7B,MAAMC,uBAAuB,GAAGD,KAAK,CAACE,OAAO,CAACC,OAAO,KAAKC,SAAS;EACnE,MAAMC,aAAa,GAClBf,wBAAwB,CAACgB,QAAQ,CAAEN,KAAK,CAACO,IAAK,CAAC,IAC/C,CAAEN,uBAAuB;EAC1B,MAAMO,IAAI,GAAGH,aAAa,GAAG,aAAa,GAAGD,SAAS;EACtD,IAAAX,gCAAmB,EAAEe,IAAK,CAAC;EAC3B,OAAO,IAAAvB,QAAA,CAAAwB,aAAA,EAACV,SAAS;IAAA,GAAMC;EAAK,CAAI,CAAC;AAClC,CAAC,EACD,iCACD,CAAC"}
1
+ {"version":3,"names":["_element","require","_compose","_hooks","_blockEditor","_constants","DisableNonPageContentBlocks","useDisableNonPageContentBlocks","useBlockEditingMode","useEffect","addFilter","withDisableNonPageContentBlocks","removeFilter","createHigherOrderComponent","BlockEdit","props","isDescendentOfQueryLoop","context","queryId","undefined","isPageContent","PAGE_CONTENT_BLOCK_TYPES","name","mode","createElement"],"sources":["@wordpress/edit-site/src/components/page-content-focus-manager/disable-non-page-content-blocks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { addFilter, removeFilter } from '@wordpress/hooks';\nimport { useBlockEditingMode } from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { PAGE_CONTENT_BLOCK_TYPES } from '../../utils/constants';\n\n/**\n * Component that when rendered, makes it so that the site editor allows only\n * page content to be edited.\n */\nexport default function DisableNonPageContentBlocks() {\n\tuseDisableNonPageContentBlocks();\n\treturn null;\n}\n\n/**\n * Disables non-content blocks using the `useBlockEditingMode` hook.\n */\nexport function useDisableNonPageContentBlocks() {\n\tuseBlockEditingMode( 'disabled' );\n\tuseEffect( () => {\n\t\taddFilter(\n\t\t\t'editor.BlockEdit',\n\t\t\t'core/edit-site/disable-non-content-blocks',\n\t\t\twithDisableNonPageContentBlocks\n\t\t);\n\t\treturn () =>\n\t\t\tremoveFilter(\n\t\t\t\t'editor.BlockEdit',\n\t\t\t\t'core/edit-site/disable-non-content-blocks'\n\t\t\t);\n\t}, [] );\n}\n\nconst withDisableNonPageContentBlocks = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst isDescendentOfQueryLoop = props.context.queryId !== undefined;\n\t\tconst isPageContent =\n\t\t\tPAGE_CONTENT_BLOCK_TYPES[ props.name ] && ! isDescendentOfQueryLoop;\n\t\tconst mode = isPageContent ? 'contentOnly' : undefined;\n\t\tuseBlockEditingMode( mode );\n\t\treturn <BlockEdit { ...props } />;\n\t},\n\t'withDisableNonPageContentBlocks'\n);\n"],"mappings":";;;;;;;AAMA,IAAAA,QAAA,GAAAC,OAAA;AAHA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAMA,IAAAI,UAAA,GAAAJ,OAAA;AAXA;AACA;AACA;;AAMA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACe,SAASK,2BAA2BA,CAAA,EAAG;EACrDC,8BAA8B,CAAC,CAAC;EAChC,OAAO,IAAI;AACZ;;AAEA;AACA;AACA;AACO,SAASA,8BAA8BA,CAAA,EAAG;EAChD,IAAAC,gCAAmB,EAAE,UAAW,CAAC;EACjC,IAAAC,kBAAS,EAAE,MAAM;IAChB,IAAAC,gBAAS,EACR,kBAAkB,EAClB,2CAA2C,EAC3CC,+BACD,CAAC;IACD,OAAO,MACN,IAAAC,mBAAY,EACX,kBAAkB,EAClB,2CACD,CAAC;EACH,CAAC,EAAE,EAAG,CAAC;AACR;AAEA,MAAMD,+BAA+B,GAAG,IAAAE,mCAA0B,EAC/DC,SAAS,IAAQC,KAAK,IAAM;EAC7B,MAAMC,uBAAuB,GAAGD,KAAK,CAACE,OAAO,CAACC,OAAO,KAAKC,SAAS;EACnE,MAAMC,aAAa,GAClBC,mCAAwB,CAAEN,KAAK,CAACO,IAAI,CAAE,IAAI,CAAEN,uBAAuB;EACpE,MAAMO,IAAI,GAAGH,aAAa,GAAG,aAAa,GAAGD,SAAS;EACtD,IAAAX,gCAAmB,EAAEe,IAAK,CAAC;EAC3B,OAAO,IAAAvB,QAAA,CAAAwB,aAAA,EAACV,SAAS;IAAA,GAAMC;EAAK,CAAI,CAAC;AAClC,CAAC,EACD,iCACD,CAAC"}
@@ -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 */
@@ -63,7 +69,7 @@ function DuplicateMenuItem({
63
69
  area,
64
70
  content
65
71
  } = item.templatePart;
66
- const result = await saveEntityRecord('postType', 'wp_template_part', {
72
+ const result = await saveEntityRecord('postType', _constants.TEMPLATE_PART_POST_TYPE, {
67
73
  slug,
68
74
  title,
69
75
  content,
@@ -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,29 +99,59 @@ 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
- (0, _i18n.__)('%s (Copy)'), item.title);
101
- const result = await saveEntityRecord('postType', 'wp_block', {
102
- content: isThemePattern ? item.content : item.reusableBlock.content,
134
+ (0, _i18n.__)('%s (Copy)'), item.title || item.name);
135
+ const categories = await getCategories(item.categories || []);
136
+ const result = await saveEntityRecord('postType', _constants.PATTERN_TYPES.user, {
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
  });
109
145
  createSuccessNotice((0, _i18n.sprintf)(
110
146
  // translators: %s: The new pattern's title e.g. 'Call to action (copy)'.
111
- (0, _i18n.__)('"%s" duplicated.'), item.title), {
147
+ (0, _i18n.__)('"%s" duplicated.'), item.title || item.name), {
112
148
  type: 'snackbar',
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","TEMPLATE_PART_POST_TYPE","throwOnError","id","push","postType","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","user","status","wp_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_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\tTEMPLATE_PART_POST_TYPE,\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 || item.name\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\tPATTERN_TYPES.user,\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 || item.name\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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"}
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _element = require("@wordpress/element");
9
9
  var _classnames = _interopRequireDefault(require("classnames"));
10
+ var _downloadjs = _interopRequireDefault(require("downloadjs"));
11
+ var _changeCase = require("change-case");
10
12
  var _blockEditor = require("@wordpress/block-editor");
11
13
  var _components = require("@wordpress/components");
12
14
  var _data = require("@wordpress/data");
@@ -16,9 +18,10 @@ var _notices = require("@wordpress/notices");
16
18
  var _reusableBlocks = require("@wordpress/reusable-blocks");
17
19
  var _renameMenuItem = _interopRequireDefault(require("./rename-menu-item"));
18
20
  var _duplicateMenuItem = _interopRequireDefault(require("./duplicate-menu-item"));
19
- var _utils = require("./utils");
21
+ var _constants = require("../../utils/constants");
20
22
  var _store = require("../../store");
21
23
  var _link = require("../routes/link");
24
+ var _lockUnlock = require("../../lock-unlock");
22
25
  /**
23
26
  * External dependencies
24
27
  */
@@ -31,6 +34,9 @@ var _link = require("../routes/link");
31
34
  * Internal dependencies
32
35
  */
33
36
 
37
+ const {
38
+ useGlobalStyle
39
+ } = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
34
40
  const templatePartIcons = {
35
41
  header: _icons.header,
36
42
  footer: _icons.footer,
@@ -43,6 +49,7 @@ function GridItem({
43
49
  }) {
44
50
  const descriptionId = (0, _element.useId)();
45
51
  const [isDeleteDialogOpen, setIsDeleteDialogOpen] = (0, _element.useState)(false);
52
+ const [backgroundColor] = useGlobalStyle('color.background');
46
53
  const {
47
54
  removeTemplate
48
55
  } = (0, _data.useDispatch)(_store.store);
@@ -53,16 +60,16 @@ function GridItem({
53
60
  createErrorNotice,
54
61
  createSuccessNotice
55
62
  } = (0, _data.useDispatch)(_notices.store);
56
- const isUserPattern = item.type === _utils.USER_PATTERNS;
57
- const isNonUserPattern = item.type === _utils.PATTERNS;
58
- const isTemplatePart = item.type === _utils.TEMPLATE_PARTS;
63
+ const isUserPattern = item.type === _constants.PATTERN_TYPES.user;
64
+ const isNonUserPattern = item.type === _constants.PATTERN_TYPES.theme;
65
+ const isTemplatePart = item.type === _constants.TEMPLATE_PART_POST_TYPE;
59
66
  const {
60
67
  onClick
61
68
  } = (0, _link.useLink)({
62
69
  postType: item.type,
63
70
  postId: isUserPattern ? item.id : item.name,
64
71
  categoryId,
65
- categoryType: item.type
72
+ categoryType: isTemplatePart ? item.type : _constants.PATTERN_TYPES.theme
66
73
  });
67
74
  const isEmpty = !item.blocks?.length;
68
75
  const patternClassNames = (0, _classnames.default)('edit-site-patterns__pattern', {
@@ -89,6 +96,15 @@ function GridItem({
89
96
  }
90
97
  };
91
98
  const deleteItem = () => isTemplatePart ? removeTemplate(item) : deletePattern();
99
+ const exportAsJSON = () => {
100
+ const json = {
101
+ __file: item.type,
102
+ title: item.title || item.name,
103
+ content: item.patternBlock.content.raw,
104
+ syncStatus: item.patternBlock.wp_pattern_sync_status
105
+ };
106
+ return (0, _downloadjs.default)(JSON.stringify(json, null, 2), `${(0, _changeCase.paramCase)(item.title || item.name)}.json`, 'application/json');
107
+ };
92
108
 
93
109
  // Only custom patterns or custom template parts can be renamed or deleted.
94
110
  const isCustomPattern = isUserPattern || isTemplatePart && item.isCustom;
@@ -103,11 +119,19 @@ function GridItem({
103
119
  if (isNonUserPattern) {
104
120
  ariaDescriptions.push((0, _i18n.__)('Theme & plugin patterns cannot be edited.'));
105
121
  }
106
- const itemIcon = templatePartIcons[categoryId] || (item.syncStatus === _utils.SYNC_TYPES.full ? _icons.symbol : undefined);
122
+ let itemIcon;
123
+ if (!isUserPattern && templatePartIcons[categoryId]) {
124
+ itemIcon = templatePartIcons[categoryId];
125
+ } else {
126
+ itemIcon = item.syncStatus === _constants.PATTERN_SYNC_TYPES.full ? _icons.symbol : undefined;
127
+ }
107
128
  const confirmButtonText = hasThemeFile ? (0, _i18n.__)('Clear') : (0, _i18n.__)('Delete');
108
129
  const confirmPrompt = hasThemeFile ? (0, _i18n.__)('Are you sure you want to clear these customizations?') : (0, _i18n.sprintf)(
109
130
  // translators: %s: The pattern or template part's title e.g. 'Call to action'.
110
- (0, _i18n.__)('Are you sure you want to delete "%s"?'), item.title);
131
+ (0, _i18n.__)('Are you sure you want to delete "%s"?'), item.title || item.name);
132
+ const additionalStyles = !backgroundColor ? [{
133
+ css: 'body { background: #fff; }'
134
+ }] : undefined;
111
135
  return (0, _element.createElement)("li", {
112
136
  className: patternClassNames
113
137
  }, (0, _element.createElement)("button", {
@@ -117,12 +141,13 @@ function GridItem({
117
141
  ,
118
142
  id: `edit-site-patterns-${item.name}`,
119
143
  ...props,
120
- onClick: item.type !== _utils.PATTERNS ? onClick : undefined,
121
- "aria-disabled": item.type !== _utils.PATTERNS ? 'false' : 'true',
144
+ onClick: item.type !== _constants.PATTERN_TYPES.theme ? onClick : undefined,
145
+ "aria-disabled": item.type !== _constants.PATTERN_TYPES.theme ? 'false' : 'true',
122
146
  "aria-label": item.title,
123
147
  "aria-describedby": ariaDescriptions.length ? ariaDescriptions.map((_, index) => `${descriptionId}-${index}`).join(' ') : undefined
124
- }, isEmpty && (0, _i18n.__)('Empty pattern'), !isEmpty && (0, _element.createElement)(_blockEditor.BlockPreview, {
125
- blocks: item.blocks
148
+ }, isEmpty && isTemplatePart && (0, _i18n.__)('Empty template part'), isEmpty && !isTemplatePart && (0, _i18n.__)('Empty pattern'), !isEmpty && (0, _element.createElement)(_blockEditor.BlockPreview, {
149
+ blocks: item.blocks,
150
+ additionalStyles: additionalStyles
126
151
  })), ariaDescriptions.map((ariaDescription, index) => (0, _element.createElement)("div", {
127
152
  key: index,
128
153
  hidden: true,
@@ -136,16 +161,16 @@ function GridItem({
136
161
  spacing: 3,
137
162
  className: "edit-site-patterns__pattern-title"
138
163
  }, itemIcon && !isNonUserPattern && (0, _element.createElement)(_components.Tooltip, {
139
- position: "top center",
164
+ placement: "top",
140
165
  text: (0, _i18n.__)('Editing this pattern will also update anywhere it is used')
141
- }, (0, _element.createElement)("span", null, (0, _element.createElement)(_icons.Icon, {
166
+ }, (0, _element.createElement)(_icons.Icon, {
142
167
  className: "edit-site-patterns__pattern-icon",
143
168
  icon: itemIcon
144
- }))), (0, _element.createElement)(_components.Flex, {
169
+ })), (0, _element.createElement)(_components.Flex, {
145
170
  as: "span",
146
171
  gap: 0,
147
172
  justify: "left"
148
- }, item.type === _utils.PATTERNS ? item.title : (0, _element.createElement)(_components.__experimentalHeading, {
173
+ }, item.type === _constants.PATTERN_TYPES.theme ? item.title : (0, _element.createElement)(_components.__experimentalHeading, {
149
174
  level: 5
150
175
  }, (0, _element.createElement)(_components.Button, {
151
176
  variant: "link",
@@ -154,15 +179,14 @@ function GridItem({
154
179
  // See https://github.com/WordPress/gutenberg/pull/51898#discussion_r1243399243.
155
180
  ,
156
181
  tabIndex: "-1"
157
- }, item.title)), item.type === _utils.PATTERNS && (0, _element.createElement)(_components.Tooltip, {
158
- position: "top center",
182
+ }, item.title || item.name)), item.type === _constants.PATTERN_TYPES.theme && (0, _element.createElement)(_components.Tooltip, {
183
+ placement: "top",
159
184
  text: (0, _i18n.__)('This pattern cannot be edited.')
160
- }, (0, _element.createElement)("span", {
161
- className: "edit-site-patterns__pattern-lock-icon"
162
185
  }, (0, _element.createElement)(_icons.Icon, {
186
+ className: "edit-site-patterns__pattern-lock-icon",
163
187
  icon: _icons.lockSmall,
164
188
  size: 24
165
- }))))), (0, _element.createElement)(_components.DropdownMenu, {
189
+ })))), (0, _element.createElement)(_components.DropdownMenu, {
166
190
  icon: _icons.moreVertical,
167
191
  label: (0, _i18n.__)('Actions'),
168
192
  className: "edit-site-patterns__dropdown",
@@ -183,8 +207,10 @@ function GridItem({
183
207
  categoryId: categoryId,
184
208
  item: item,
185
209
  onClose: onClose,
186
- label: isNonUserPattern ? (0, _i18n.__)('Copy to My patterns') : (0, _i18n.__)('Duplicate')
187
- }), isCustomPattern && (0, _element.createElement)(_components.MenuItem, {
210
+ label: (0, _i18n.__)('Duplicate')
211
+ }), item.type === _constants.PATTERN_TYPES.user && (0, _element.createElement)(_components.MenuItem, {
212
+ onClick: () => exportAsJSON()
213
+ }, (0, _i18n.__)('Export as JSON')), isCustomPattern && (0, _element.createElement)(_components.MenuItem, {
188
214
  isDestructive: !hasThemeFile,
189
215
  onClick: () => setIsDeleteDialogOpen(true)
190
216
  }, hasThemeFile ? (0, _i18n.__)('Clear customizations') : (0, _i18n.__)('Delete'))))), isDeleteDialogOpen && (0, _element.createElement)(_components.__experimentalConfirmDialog, {