@wordpress/edit-site 5.18.0 → 5.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (427) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-pattern/index.js +62 -1
  3. package/build/components/add-new-pattern/index.js.map +1 -1
  4. package/build/components/add-new-template/index.js +3 -2
  5. package/build/components/add-new-template/index.js.map +1 -1
  6. package/build/components/add-new-template/new-template.js +6 -1
  7. package/build/components/add-new-template/new-template.js.map +1 -1
  8. package/build/components/add-new-template/utils.js +6 -1
  9. package/build/components/add-new-template/utils.js.map +1 -1
  10. package/build/components/app/index.js +2 -7
  11. package/build/components/app/index.js.map +1 -1
  12. package/build/components/block-editor/back-button.js +3 -2
  13. package/build/components/block-editor/back-button.js.map +1 -1
  14. package/build/components/block-editor/editor-canvas.js +20 -16
  15. package/build/components/block-editor/editor-canvas.js.map +1 -1
  16. package/build/components/block-editor/site-editor-canvas.js +1 -3
  17. package/build/components/block-editor/site-editor-canvas.js.map +1 -1
  18. package/build/components/block-editor/use-site-editor-settings.js +8 -4
  19. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  20. package/build/components/canvas-loader/index.js +18 -1
  21. package/build/components/canvas-loader/index.js.map +1 -1
  22. package/build/components/editor/index.js +3 -8
  23. package/build/components/editor/index.js.map +1 -1
  24. package/build/components/global-styles/dimensions-panel.js +5 -4
  25. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  26. package/build/components/global-styles/font-families.js +68 -0
  27. package/build/components/global-styles/font-families.js.map +1 -0
  28. package/build/components/global-styles/font-family-item.js +47 -0
  29. package/build/components/global-styles/font-family-item.js.map +1 -0
  30. package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js +31 -0
  31. package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +1 -0
  32. package/build/components/global-styles/font-library-modal/context.js +285 -0
  33. package/build/components/global-styles/font-library-modal/context.js.map +1 -0
  34. package/build/components/global-styles/font-library-modal/font-card.js +58 -0
  35. package/build/components/global-styles/font-library-modal/font-card.js.map +1 -0
  36. package/build/components/global-styles/font-library-modal/font-demo.js +69 -0
  37. package/build/components/global-styles/font-library-modal/font-demo.js.map +1 -0
  38. package/build/components/global-styles/font-library-modal/font-variant.js +51 -0
  39. package/build/components/global-styles/font-library-modal/font-variant.js.map +1 -0
  40. package/build/components/global-styles/font-library-modal/fonts-grid.js +54 -0
  41. package/build/components/global-styles/font-library-modal/fonts-grid.js.map +1 -0
  42. package/build/components/global-styles/font-library-modal/index.js +47 -0
  43. package/build/components/global-styles/font-library-modal/index.js.map +1 -0
  44. package/build/components/global-styles/font-library-modal/installed-fonts.js +128 -0
  45. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -0
  46. package/build/components/global-styles/font-library-modal/library-font-card.js +44 -0
  47. package/build/components/global-styles/font-library-modal/library-font-card.js.map +1 -0
  48. package/build/components/global-styles/font-library-modal/library-font-details.js +43 -0
  49. package/build/components/global-styles/font-library-modal/library-font-details.js.map +1 -0
  50. package/build/components/global-styles/font-library-modal/library-font-variant.js +59 -0
  51. package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -0
  52. package/build/components/global-styles/font-library-modal/local-fonts.js +143 -0
  53. package/build/components/global-styles/font-library-modal/local-fonts.js.map +1 -0
  54. package/build/components/global-styles/font-library-modal/resolvers.js +37 -0
  55. package/build/components/global-styles/font-library-modal/resolvers.js.map +1 -0
  56. package/build/components/global-styles/font-library-modal/tab-layout.js +45 -0
  57. package/build/components/global-styles/font-library-modal/tab-layout.js.map +1 -0
  58. package/build/components/global-styles/font-library-modal/utils/constants.js +37 -0
  59. package/build/components/global-styles/font-library-modal/utils/constants.js.map +1 -0
  60. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +58 -0
  61. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -0
  62. package/build/components/global-styles/font-library-modal/utils/index.js +205 -0
  63. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -0
  64. package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js +22 -0
  65. package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +1 -0
  66. package/build/components/global-styles/font-library-modal/utils/toggleFont.js +92 -0
  67. package/build/components/global-styles/font-library-modal/utils/toggleFont.js.map +1 -0
  68. package/build/components/global-styles/global-styles-provider.js +7 -12
  69. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  70. package/build/components/global-styles/screen-block.js +34 -21
  71. package/build/components/global-styles/screen-block.js.map +1 -1
  72. package/build/components/global-styles/screen-revisions/index.js +1 -3
  73. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  74. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +0 -1
  75. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  76. package/build/components/global-styles/screen-typography.js +4 -72
  77. package/build/components/global-styles/screen-typography.js.map +1 -1
  78. package/build/components/global-styles/style-variations-container.js +3 -5
  79. package/build/components/global-styles/style-variations-container.js.map +1 -1
  80. package/build/components/global-styles/typogrphy-elements.js +96 -0
  81. package/build/components/global-styles/typogrphy-elements.js.map +1 -0
  82. package/build/components/page-patterns/duplicate-menu-item.js +52 -16
  83. package/build/components/page-patterns/duplicate-menu-item.js.map +1 -1
  84. package/build/components/page-patterns/grid-item.js +46 -20
  85. package/build/components/page-patterns/grid-item.js.map +1 -1
  86. package/build/components/page-patterns/header.js +3 -7
  87. package/build/components/page-patterns/header.js.map +1 -1
  88. package/build/components/page-patterns/index.js +3 -3
  89. package/build/components/page-patterns/index.js.map +1 -1
  90. package/build/components/page-patterns/patterns-list.js +7 -7
  91. package/build/components/page-patterns/patterns-list.js.map +1 -1
  92. package/build/components/page-patterns/rename-menu-item.js +6 -5
  93. package/build/components/page-patterns/rename-menu-item.js.map +1 -1
  94. package/build/components/page-patterns/search-items.js +8 -2
  95. package/build/components/page-patterns/search-items.js.map +1 -1
  96. package/build/components/page-patterns/use-patterns.js +53 -27
  97. package/build/components/page-patterns/use-patterns.js.map +1 -1
  98. package/build/components/page-patterns/utils.js +1 -20
  99. package/build/components/page-patterns/utils.js.map +1 -1
  100. package/build/components/sidebar-edit-mode/page-panels/edit-template.js +33 -24
  101. package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  102. package/build/components/sidebar-edit-mode/page-panels/hooks.js +64 -0
  103. package/build/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -0
  104. package/build/components/sidebar-edit-mode/page-panels/index.js +1 -4
  105. package/build/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
  106. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +2 -1
  107. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  108. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +56 -0
  109. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -0
  110. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js +91 -0
  111. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -0
  112. package/build/components/sidebar-edit-mode/template-panel/index.js +11 -9
  113. package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  114. package/build/components/sidebar-edit-mode/template-panel/last-revision.js +6 -4
  115. package/build/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -1
  116. package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js +211 -0
  117. package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -0
  118. package/build/components/sidebar-navigation-screen/index.js +6 -4
  119. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  120. package/build/components/sidebar-navigation-screen-details-footer/index.js +32 -4
  121. package/build/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
  122. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +4 -2
  123. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -1
  124. package/build/components/sidebar-navigation-screen-global-styles/index.js +4 -31
  125. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  126. package/build/components/sidebar-navigation-screen-page/index.js +3 -3
  127. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
  128. package/build/components/sidebar-navigation-screen-pattern/index.js +18 -8
  129. package/build/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  130. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +34 -5
  131. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  132. package/build/components/sidebar-navigation-screen-patterns/index.js +7 -35
  133. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  134. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +38 -4
  135. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  136. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -1
  137. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  138. package/build/components/sidebar-navigation-screen-template/index.js +2 -2
  139. package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
  140. package/build/components/sidebar-navigation-screen-templates/index.js +1 -1
  141. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  142. package/build/components/template-actions/index.js +7 -4
  143. package/build/components/template-actions/index.js.map +1 -1
  144. package/build/components/template-actions/rename-menu-item.js +3 -2
  145. package/build/components/template-actions/rename-menu-item.js.map +1 -1
  146. package/build/components/welcome-guide/styles.js +2 -2
  147. package/build/components/welcome-guide/styles.js.map +1 -1
  148. package/build/hooks/push-changes-to-global-styles/index.js +5 -37
  149. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  150. package/build/store/actions.js +29 -6
  151. package/build/store/actions.js.map +1 -1
  152. package/build/utils/constants.js +45 -2
  153. package/build/utils/constants.js.map +1 -1
  154. package/build/utils/is-template-removable.js +6 -1
  155. package/build/utils/is-template-removable.js.map +1 -1
  156. package/build/utils/is-template-revertable.js +6 -1
  157. package/build/utils/is-template-revertable.js.map +1 -1
  158. package/build-module/components/add-new-pattern/index.js +66 -5
  159. package/build-module/components/add-new-pattern/index.js.map +1 -1
  160. package/build-module/components/add-new-template/index.js +3 -2
  161. package/build-module/components/add-new-template/index.js.map +1 -1
  162. package/build-module/components/add-new-template/new-template.js +6 -1
  163. package/build-module/components/add-new-template/new-template.js.map +1 -1
  164. package/build-module/components/add-new-template/utils.js +6 -1
  165. package/build-module/components/add-new-template/utils.js.map +1 -1
  166. package/build-module/components/app/index.js +2 -7
  167. package/build-module/components/app/index.js.map +1 -1
  168. package/build-module/components/block-editor/back-button.js +3 -2
  169. package/build-module/components/block-editor/back-button.js.map +1 -1
  170. package/build-module/components/block-editor/editor-canvas.js +21 -17
  171. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  172. package/build-module/components/block-editor/site-editor-canvas.js +3 -5
  173. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
  174. package/build-module/components/block-editor/use-site-editor-settings.js +8 -4
  175. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  176. package/build-module/components/canvas-loader/index.js +18 -1
  177. package/build-module/components/canvas-loader/index.js.map +1 -1
  178. package/build-module/components/editor/index.js +3 -8
  179. package/build-module/components/editor/index.js.map +1 -1
  180. package/build-module/components/global-styles/dimensions-panel.js +5 -4
  181. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  182. package/build-module/components/global-styles/font-families.js +58 -0
  183. package/build-module/components/global-styles/font-families.js.map +1 -0
  184. package/build-module/components/global-styles/font-family-item.js +40 -0
  185. package/build-module/components/global-styles/font-family-item.js.map +1 -0
  186. package/build-module/components/global-styles/font-library-modal/confirm-delete-dialog.js +23 -0
  187. package/build-module/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +1 -0
  188. package/build-module/components/global-styles/font-library-modal/context.js +276 -0
  189. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -0
  190. package/build-module/components/global-styles/font-library-modal/font-card.js +49 -0
  191. package/build-module/components/global-styles/font-library-modal/font-card.js.map +1 -0
  192. package/build-module/components/global-styles/font-library-modal/font-demo.js +62 -0
  193. package/build-module/components/global-styles/font-library-modal/font-demo.js.map +1 -0
  194. package/build-module/components/global-styles/font-library-modal/font-variant.js +42 -0
  195. package/build-module/components/global-styles/font-library-modal/font-variant.js.map +1 -0
  196. package/build-module/components/global-styles/font-library-modal/fonts-grid.js +47 -0
  197. package/build-module/components/global-styles/font-library-modal/fonts-grid.js.map +1 -0
  198. package/build-module/components/global-styles/font-library-modal/index.js +38 -0
  199. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -0
  200. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +120 -0
  201. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -0
  202. package/build-module/components/global-styles/font-library-modal/library-font-card.js +36 -0
  203. package/build-module/components/global-styles/font-library-modal/library-font-card.js.map +1 -0
  204. package/build-module/components/global-styles/font-library-modal/library-font-details.js +34 -0
  205. package/build-module/components/global-styles/font-library-modal/library-font-details.js.map +1 -0
  206. package/build-module/components/global-styles/font-library-modal/library-font-variant.js +50 -0
  207. package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -0
  208. package/build-module/components/global-styles/font-library-modal/local-fonts.js +135 -0
  209. package/build-module/components/global-styles/font-library-modal/local-fonts.js.map +1 -0
  210. package/build-module/components/global-styles/font-library-modal/resolvers.js +28 -0
  211. package/build-module/components/global-styles/font-library-modal/resolvers.js.map +1 -0
  212. package/build-module/components/global-styles/font-library-modal/tab-layout.js +37 -0
  213. package/build-module/components/global-styles/font-library-modal/tab-layout.js.map +1 -0
  214. package/build-module/components/global-styles/font-library-modal/utils/constants.js +26 -0
  215. package/build-module/components/global-styles/font-library-modal/utils/constants.js.map +1 -0
  216. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +52 -0
  217. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -0
  218. package/build-module/components/global-styles/font-library-modal/utils/index.js +190 -0
  219. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -0
  220. package/build-module/components/global-styles/font-library-modal/utils/make-families-from-faces.js +16 -0
  221. package/build-module/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +1 -0
  222. package/build-module/components/global-styles/font-library-modal/utils/toggleFont.js +86 -0
  223. package/build-module/components/global-styles/font-library-modal/utils/toggleFont.js.map +1 -0
  224. package/build-module/components/global-styles/global-styles-provider.js +7 -12
  225. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  226. package/build-module/components/global-styles/screen-block.js +34 -21
  227. package/build-module/components/global-styles/screen-block.js.map +1 -1
  228. package/build-module/components/global-styles/screen-revisions/index.js +1 -3
  229. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  230. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +0 -1
  231. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  232. package/build-module/components/global-styles/screen-typography.js +6 -74
  233. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  234. package/build-module/components/global-styles/style-variations-container.js +3 -5
  235. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  236. package/build-module/components/global-styles/typogrphy-elements.js +87 -0
  237. package/build-module/components/global-styles/typogrphy-elements.js.map +1 -0
  238. package/build-module/components/page-patterns/duplicate-menu-item.js +51 -16
  239. package/build-module/components/page-patterns/duplicate-menu-item.js.map +1 -1
  240. package/build-module/components/page-patterns/grid-item.js +47 -21
  241. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  242. package/build-module/components/page-patterns/header.js +3 -7
  243. package/build-module/components/page-patterns/header.js.map +1 -1
  244. package/build-module/components/page-patterns/index.js +3 -3
  245. package/build-module/components/page-patterns/index.js.map +1 -1
  246. package/build-module/components/page-patterns/patterns-list.js +7 -7
  247. package/build-module/components/page-patterns/patterns-list.js.map +1 -1
  248. package/build-module/components/page-patterns/rename-menu-item.js +6 -5
  249. package/build-module/components/page-patterns/rename-menu-item.js.map +1 -1
  250. package/build-module/components/page-patterns/search-items.js +8 -2
  251. package/build-module/components/page-patterns/search-items.js.map +1 -1
  252. package/build-module/components/page-patterns/use-patterns.js +54 -28
  253. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  254. package/build-module/components/page-patterns/utils.js +0 -11
  255. package/build-module/components/page-patterns/utils.js.map +1 -1
  256. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +34 -27
  257. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  258. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js +54 -0
  259. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -0
  260. package/build-module/components/sidebar-edit-mode/page-panels/index.js +1 -4
  261. package/build-module/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
  262. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +2 -1
  263. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  264. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +49 -0
  265. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -0
  266. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js +85 -0
  267. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -0
  268. package/build-module/components/sidebar-edit-mode/template-panel/index.js +12 -10
  269. package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  270. package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js +8 -6
  271. package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -1
  272. package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js +202 -0
  273. package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -0
  274. package/build-module/components/sidebar-navigation-screen/index.js +6 -4
  275. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  276. package/build-module/components/sidebar-navigation-screen-details-footer/index.js +32 -5
  277. package/build-module/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
  278. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +4 -2
  279. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -1
  280. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +6 -33
  281. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  282. package/build-module/components/sidebar-navigation-screen-page/index.js +3 -3
  283. package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
  284. package/build-module/components/sidebar-navigation-screen-pattern/index.js +19 -9
  285. package/build-module/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  286. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +34 -5
  287. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  288. package/build-module/components/sidebar-navigation-screen-patterns/index.js +10 -38
  289. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  290. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +38 -4
  291. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  292. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +3 -2
  293. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  294. package/build-module/components/sidebar-navigation-screen-template/index.js +2 -2
  295. package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
  296. package/build-module/components/sidebar-navigation-screen-templates/index.js +1 -1
  297. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  298. package/build-module/components/template-actions/index.js +7 -4
  299. package/build-module/components/template-actions/index.js.map +1 -1
  300. package/build-module/components/template-actions/rename-menu-item.js +3 -2
  301. package/build-module/components/template-actions/rename-menu-item.js.map +1 -1
  302. package/build-module/components/welcome-guide/styles.js +2 -2
  303. package/build-module/components/welcome-guide/styles.js.map +1 -1
  304. package/build-module/hooks/push-changes-to-global-styles/index.js +5 -37
  305. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  306. package/build-module/store/actions.js +30 -7
  307. package/build-module/store/actions.js.map +1 -1
  308. package/build-module/utils/constants.js +35 -1
  309. package/build-module/utils/constants.js.map +1 -1
  310. package/build-module/utils/is-template-removable.js +6 -1
  311. package/build-module/utils/is-template-removable.js.map +1 -1
  312. package/build-module/utils/is-template-revertable.js +6 -1
  313. package/build-module/utils/is-template-revertable.js.map +1 -1
  314. package/build-style/style-rtl.css +244 -37
  315. package/build-style/style.css +244 -37
  316. package/lib/inflate.js +4082 -0
  317. package/lib/lib-font.browser.js +3831 -0
  318. package/lib/unbrotli.js +2679 -0
  319. package/package.json +40 -40
  320. package/src/components/add-new-pattern/index.js +83 -5
  321. package/src/components/add-new-template/index.js +3 -2
  322. package/src/components/add-new-template/new-template.js +6 -1
  323. package/src/components/add-new-template/utils.js +12 -3
  324. package/src/components/app/index.js +9 -12
  325. package/src/components/block-editor/back-button.js +6 -2
  326. package/src/components/block-editor/editor-canvas.js +31 -19
  327. package/src/components/block-editor/site-editor-canvas.js +2 -10
  328. package/src/components/block-editor/style.scss +88 -1
  329. package/src/components/block-editor/use-site-editor-settings.js +26 -19
  330. package/src/components/canvas-loader/index.js +12 -1
  331. package/src/components/canvas-loader/style.scss +1 -1
  332. package/src/components/editor/index.js +3 -8
  333. package/src/components/global-styles/dimensions-panel.js +8 -4
  334. package/src/components/global-styles/font-families.js +71 -0
  335. package/src/components/global-styles/font-family-item.js +44 -0
  336. package/src/components/global-styles/font-library-modal/confirm-delete-dialog.js +33 -0
  337. package/src/components/global-styles/font-library-modal/context.js +347 -0
  338. package/src/components/global-styles/font-library-modal/font-card.js +70 -0
  339. package/src/components/global-styles/font-library-modal/font-demo.js +57 -0
  340. package/src/components/global-styles/font-library-modal/font-variant.js +53 -0
  341. package/src/components/global-styles/font-library-modal/fonts-grid.js +55 -0
  342. package/src/components/global-styles/font-library-modal/index.js +42 -0
  343. package/src/components/global-styles/font-library-modal/installed-fonts.js +174 -0
  344. package/src/components/global-styles/font-library-modal/library-font-card.js +40 -0
  345. package/src/components/global-styles/font-library-modal/library-font-details.js +46 -0
  346. package/src/components/global-styles/font-library-modal/library-font-variant.js +54 -0
  347. package/src/components/global-styles/font-library-modal/local-fonts.js +160 -0
  348. package/src/components/global-styles/font-library-modal/resolvers.js +29 -0
  349. package/src/components/global-styles/font-library-modal/style.scss +113 -0
  350. package/src/components/global-styles/font-library-modal/tab-layout.js +50 -0
  351. package/src/components/global-styles/font-library-modal/utils/constants.js +31 -0
  352. package/src/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +58 -0
  353. package/src/components/global-styles/font-library-modal/utils/index.js +213 -0
  354. package/src/components/global-styles/font-library-modal/utils/make-families-from-faces.js +15 -0
  355. package/src/components/global-styles/font-library-modal/utils/test/getDisplaySrcFromFontFace.spec.js +53 -0
  356. package/src/components/global-styles/font-library-modal/utils/test/getFontFaceVariantName.spec.js +30 -0
  357. package/src/components/global-styles/font-library-modal/utils/test/getIntersectingFontFaces.spec.js +240 -0
  358. package/src/components/global-styles/font-library-modal/utils/test/getPreviewStyle.spec.js +121 -0
  359. package/src/components/global-styles/font-library-modal/utils/test/isUrlEncoded.spec.js +31 -0
  360. package/src/components/global-styles/font-library-modal/utils/test/makeFamiliesFromFaces.spec.js +57 -0
  361. package/src/components/global-styles/font-library-modal/utils/test/makeFormDataFromFontFamilies.spec.js +62 -0
  362. package/src/components/global-styles/font-library-modal/utils/test/mergeFontFaces.spec.js +56 -0
  363. package/src/components/global-styles/font-library-modal/utils/test/mergeFontFamilies.spec.js +108 -0
  364. package/src/components/global-styles/font-library-modal/utils/test/setUIValuesNeeded.spec.js +41 -0
  365. package/src/components/global-styles/font-library-modal/utils/test/toggleFont.spec.js +141 -0
  366. package/src/components/global-styles/font-library-modal/utils/toggleFont.js +90 -0
  367. package/src/components/global-styles/global-styles-provider.js +2 -7
  368. package/src/components/global-styles/screen-block.js +42 -20
  369. package/src/components/global-styles/screen-revisions/index.js +0 -2
  370. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +0 -1
  371. package/src/components/global-styles/screen-typography.js +7 -95
  372. package/src/components/global-styles/style-variations-container.js +0 -2
  373. package/src/components/global-styles/typogrphy-elements.js +110 -0
  374. package/src/components/list/style.scss +2 -0
  375. package/src/components/page-patterns/duplicate-menu-item.js +63 -20
  376. package/src/components/page-patterns/grid-item.js +77 -30
  377. package/src/components/page-patterns/header.js +3 -12
  378. package/src/components/page-patterns/index.js +3 -3
  379. package/src/components/page-patterns/patterns-list.js +7 -7
  380. package/src/components/page-patterns/rename-menu-item.js +18 -7
  381. package/src/components/page-patterns/search-items.js +14 -2
  382. package/src/components/page-patterns/style.scss +1 -5
  383. package/src/components/page-patterns/use-patterns.js +67 -33
  384. package/src/components/page-patterns/utils.js +0 -19
  385. package/src/components/sidebar-edit-mode/page-panels/edit-template.js +47 -33
  386. package/src/components/sidebar-edit-mode/page-panels/hooks.js +83 -0
  387. package/src/components/sidebar-edit-mode/page-panels/index.js +0 -4
  388. package/src/components/sidebar-edit-mode/page-panels/page-summary.js +2 -0
  389. package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +44 -0
  390. package/src/components/sidebar-edit-mode/page-panels/style.scss +41 -10
  391. package/src/components/sidebar-edit-mode/page-panels/swap-template-button.js +82 -0
  392. package/src/components/sidebar-edit-mode/template-panel/index.js +28 -24
  393. package/src/components/sidebar-edit-mode/template-panel/last-revision.js +19 -15
  394. package/src/components/sidebar-edit-mode/template-panel/pattern-categories.js +270 -0
  395. package/src/components/sidebar-navigation-screen/index.js +4 -9
  396. package/src/components/sidebar-navigation-screen/style.scss +7 -1
  397. package/src/components/sidebar-navigation-screen-details-footer/index.js +38 -10
  398. package/src/components/sidebar-navigation-screen-details-footer/style.scss +10 -3
  399. package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +2 -0
  400. package/src/components/sidebar-navigation-screen-global-styles/index.js +6 -44
  401. package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +0 -4
  402. package/src/components/sidebar-navigation-screen-page/index.js +3 -3
  403. package/src/components/sidebar-navigation-screen-pattern/index.js +20 -7
  404. package/src/components/sidebar-navigation-screen-pattern/style.scss +0 -3
  405. package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +46 -13
  406. package/src/components/sidebar-navigation-screen-patterns/index.js +14 -49
  407. package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +48 -6
  408. package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +3 -5
  409. package/src/components/sidebar-navigation-screen-template/index.js +2 -4
  410. package/src/components/sidebar-navigation-screen-templates/index.js +1 -1
  411. package/src/components/template-actions/index.js +14 -8
  412. package/src/components/template-actions/rename-menu-item.js +15 -4
  413. package/src/components/welcome-guide/styles.js +2 -2
  414. package/src/hooks/push-changes-to-global-styles/index.js +6 -49
  415. package/src/store/actions.js +39 -13
  416. package/src/store/test/actions.js +0 -1
  417. package/src/store/test/reducer.js +0 -1
  418. package/src/style.scss +1 -1
  419. package/src/utils/constants.js +38 -3
  420. package/src/utils/is-template-removable.js +8 -1
  421. package/src/utils/is-template-revertable.js +8 -1
  422. package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js +0 -30
  423. package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +0 -1
  424. package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js +0 -23
  425. package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +0 -1
  426. package/src/components/sidebar-navigation-screen-global-styles/style.scss +0 -12
  427. package/src/components/sidebar-navigation-screen-patterns/use-my-patterns.js +0 -24
@@ -1 +1 @@
1
- {"version":3,"names":["_removeAccents","_interopRequireDefault","require","_changeCase","defaultGetName","item","name","defaultGetTitle","title","defaultGetDescription","description","defaultGetKeywords","keywords","defaultHasCategory","extractWords","input","noCase","splitRegexp","stripRegexp","split","filter","Boolean","normalizeSearchInput","removeAccents","replace","toLowerCase","getNormalizedSearchTerms","exports","removeMatchingTerms","unmatchedTerms","unprocessedTerms","term","some","unprocessedTerm","includes","searchItems","items","searchInput","config","normalizedSearchTerms","onlyFilterByCategory","length","searchRankConfig","threshold","rankedItems","map","getItemSearchRank","rank","sort","rank1","rank2","searchTerm","categoryId","getName","getTitle","getDescription","getKeywords","hasCategory","normalizedSearchInput","normalizedTitle","startsWith","terms","join"],"sources":["@wordpress/edit-site/src/components/page-patterns/search-items.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\nimport { noCase } from 'change-case';\n\n// Default search helpers.\nconst defaultGetName = ( item ) => item.name || '';\nconst defaultGetTitle = ( item ) => item.title;\nconst defaultGetDescription = ( item ) => item.description || '';\nconst defaultGetKeywords = ( item ) => item.keywords || [];\nconst defaultHasCategory = () => false;\n\n/**\n * Extracts words from an input string.\n *\n * @param {string} input The input string.\n *\n * @return {Array} Words, extracted from the input string.\n */\nfunction extractWords( input = '' ) {\n\treturn noCase( input, {\n\t\tsplitRegexp: [\n\t\t\t/([\\p{Ll}\\p{Lo}\\p{N}])([\\p{Lu}\\p{Lt}])/gu, // One lowercase or digit, followed by one uppercase.\n\t\t\t/([\\p{Lu}\\p{Lt}])([\\p{Lu}\\p{Lt}][\\p{Ll}\\p{Lo}])/gu, // One uppercase followed by one uppercase and one lowercase.\n\t\t],\n\t\tstripRegexp: /(\\p{C}|\\p{P}|\\p{S})+/giu, // Anything that's not a punctuation, symbol or control/format character.\n\t} )\n\t\t.split( ' ' )\n\t\t.filter( Boolean );\n}\n\n/**\n * Sanitizes the search input string.\n *\n * @param {string} input The search input to normalize.\n *\n * @return {string} The normalized search input.\n */\nfunction normalizeSearchInput( input = '' ) {\n\t// Disregard diacritics.\n\t// Input: \"média\"\n\tinput = removeAccents( input );\n\n\t// Accommodate leading slash, matching autocomplete expectations.\n\t// Input: \"/media\"\n\tinput = input.replace( /^\\//, '' );\n\n\t// Lowercase.\n\t// Input: \"MEDIA\"\n\tinput = input.toLowerCase();\n\n\treturn input;\n}\n\n/**\n * Converts the search term into a list of normalized terms.\n *\n * @param {string} input The search term to normalize.\n *\n * @return {string[]} The normalized list of search terms.\n */\nexport const getNormalizedSearchTerms = ( input = '' ) => {\n\treturn extractWords( normalizeSearchInput( input ) );\n};\n\nconst removeMatchingTerms = ( unmatchedTerms, unprocessedTerms ) => {\n\treturn unmatchedTerms.filter(\n\t\t( term ) =>\n\t\t\t! getNormalizedSearchTerms( unprocessedTerms ).some(\n\t\t\t\t( unprocessedTerm ) => unprocessedTerm.includes( term )\n\t\t\t)\n\t);\n};\n\n/**\n * Filters an item list given a search term.\n *\n * @param {Array} items Item list\n * @param {string} searchInput Search input.\n * @param {Object} config Search Config.\n *\n * @return {Array} Filtered item list.\n */\nexport const searchItems = ( items = [], searchInput = '', config = {} ) => {\n\tconst normalizedSearchTerms = getNormalizedSearchTerms( searchInput );\n\tconst onlyFilterByCategory = ! normalizedSearchTerms.length;\n\tconst searchRankConfig = { ...config, onlyFilterByCategory };\n\n\t// If we aren't filtering on search terms, matching on category is satisfactory.\n\t// If we are, then we need more than a category match.\n\tconst threshold = onlyFilterByCategory ? 0 : 1;\n\n\tconst rankedItems = items\n\t\t.map( ( item ) => {\n\t\t\treturn [\n\t\t\t\titem,\n\t\t\t\tgetItemSearchRank( item, searchInput, searchRankConfig ),\n\t\t\t];\n\t\t} )\n\t\t.filter( ( [ , rank ] ) => rank > threshold );\n\n\t// If we didn't have terms to search on, there's no point sorting.\n\tif ( normalizedSearchTerms.length === 0 ) {\n\t\treturn rankedItems.map( ( [ item ] ) => item );\n\t}\n\n\trankedItems.sort( ( [ , rank1 ], [ , rank2 ] ) => rank2 - rank1 );\n\treturn rankedItems.map( ( [ item ] ) => item );\n};\n\n/**\n * Get the search rank for a given item and a specific search term.\n * The better the match, the higher the rank.\n * If the rank equals 0, it should be excluded from the results.\n *\n * @param {Object} item Item to filter.\n * @param {string} searchTerm Search term.\n * @param {Object} config Search Config.\n *\n * @return {number} Search Rank.\n */\nfunction getItemSearchRank( item, searchTerm, config ) {\n\tconst {\n\t\tcategoryId,\n\t\tgetName = defaultGetName,\n\t\tgetTitle = defaultGetTitle,\n\t\tgetDescription = defaultGetDescription,\n\t\tgetKeywords = defaultGetKeywords,\n\t\thasCategory = defaultHasCategory,\n\t\tonlyFilterByCategory,\n\t} = config;\n\n\tlet rank = hasCategory( item, categoryId ) ? 1 : 0;\n\n\t// If an item doesn't belong to the current category or we don't have\n\t// search terms to filter by, return the initial rank value.\n\tif ( ! rank || onlyFilterByCategory ) {\n\t\treturn rank;\n\t}\n\n\tconst name = getName( item );\n\tconst title = getTitle( item );\n\tconst description = getDescription( item );\n\tconst keywords = getKeywords( item );\n\n\tconst normalizedSearchInput = normalizeSearchInput( searchTerm );\n\tconst normalizedTitle = normalizeSearchInput( title );\n\n\t// Prefers exact matches\n\t// Then prefers if the beginning of the title matches the search term\n\t// name, keywords, description matches come later.\n\tif ( normalizedSearchInput === normalizedTitle ) {\n\t\trank += 30;\n\t} else if ( normalizedTitle.startsWith( normalizedSearchInput ) ) {\n\t\trank += 20;\n\t} else {\n\t\tconst terms = [ name, title, description, ...keywords ].join( ' ' );\n\t\tconst normalizedSearchTerms = extractWords( normalizedSearchInput );\n\t\tconst unmatchedTerms = removeMatchingTerms(\n\t\t\tnormalizedSearchTerms,\n\t\t\tterms\n\t\t);\n\n\t\tif ( unmatchedTerms.length === 0 ) {\n\t\t\trank += 10;\n\t\t}\n\t}\n\n\treturn rank;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_removeAccents","_interopRequireDefault","require","_changeCase","_constants","defaultGetName","item","name","defaultGetTitle","title","defaultGetDescription","description","defaultGetKeywords","keywords","defaultHasCategory","extractWords","input","noCase","splitRegexp","stripRegexp","split","filter","Boolean","normalizeSearchInput","removeAccents","replace","toLowerCase","getNormalizedSearchTerms","exports","removeMatchingTerms","unmatchedTerms","unprocessedTerms","term","some","unprocessedTerm","includes","searchItems","items","searchInput","config","normalizedSearchTerms","onlyFilterByCategory","categoryId","PATTERN_DEFAULT_CATEGORY","length","searchRankConfig","threshold","rankedItems","map","getItemSearchRank","rank","sort","rank1","rank2","searchTerm","getName","getTitle","getDescription","getKeywords","hasCategory","normalizedSearchInput","normalizedTitle","startsWith","terms","join"],"sources":["@wordpress/edit-site/src/components/page-patterns/search-items.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\nimport { noCase } from 'change-case';\n\n/**\n * Internal dependencies\n */\nimport { PATTERN_DEFAULT_CATEGORY } from '../../utils/constants';\n\n// Default search helpers.\nconst defaultGetName = ( item ) => item.name || '';\nconst defaultGetTitle = ( item ) => item.title;\nconst defaultGetDescription = ( item ) => item.description || '';\nconst defaultGetKeywords = ( item ) => item.keywords || [];\nconst defaultHasCategory = () => false;\n\n/**\n * Extracts words from an input string.\n *\n * @param {string} input The input string.\n *\n * @return {Array} Words, extracted from the input string.\n */\nfunction extractWords( input = '' ) {\n\treturn noCase( input, {\n\t\tsplitRegexp: [\n\t\t\t/([\\p{Ll}\\p{Lo}\\p{N}])([\\p{Lu}\\p{Lt}])/gu, // One lowercase or digit, followed by one uppercase.\n\t\t\t/([\\p{Lu}\\p{Lt}])([\\p{Lu}\\p{Lt}][\\p{Ll}\\p{Lo}])/gu, // One uppercase followed by one uppercase and one lowercase.\n\t\t],\n\t\tstripRegexp: /(\\p{C}|\\p{P}|\\p{S})+/giu, // Anything that's not a punctuation, symbol or control/format character.\n\t} )\n\t\t.split( ' ' )\n\t\t.filter( Boolean );\n}\n\n/**\n * Sanitizes the search input string.\n *\n * @param {string} input The search input to normalize.\n *\n * @return {string} The normalized search input.\n */\nfunction normalizeSearchInput( input = '' ) {\n\t// Disregard diacritics.\n\t// Input: \"média\"\n\tinput = removeAccents( input );\n\n\t// Accommodate leading slash, matching autocomplete expectations.\n\t// Input: \"/media\"\n\tinput = input.replace( /^\\//, '' );\n\n\t// Lowercase.\n\t// Input: \"MEDIA\"\n\tinput = input.toLowerCase();\n\n\treturn input;\n}\n\n/**\n * Converts the search term into a list of normalized terms.\n *\n * @param {string} input The search term to normalize.\n *\n * @return {string[]} The normalized list of search terms.\n */\nexport const getNormalizedSearchTerms = ( input = '' ) => {\n\treturn extractWords( normalizeSearchInput( input ) );\n};\n\nconst removeMatchingTerms = ( unmatchedTerms, unprocessedTerms ) => {\n\treturn unmatchedTerms.filter(\n\t\t( term ) =>\n\t\t\t! getNormalizedSearchTerms( unprocessedTerms ).some(\n\t\t\t\t( unprocessedTerm ) => unprocessedTerm.includes( term )\n\t\t\t)\n\t);\n};\n\n/**\n * Filters an item list given a search term.\n *\n * @param {Array} items Item list\n * @param {string} searchInput Search input.\n * @param {Object} config Search Config.\n *\n * @return {Array} Filtered item list.\n */\nexport const searchItems = ( items = [], searchInput = '', config = {} ) => {\n\tconst normalizedSearchTerms = getNormalizedSearchTerms( searchInput );\n\t// Filter patterns by category: the default category indicates that all patterns will be shown.\n\tconst onlyFilterByCategory =\n\t\tconfig.categoryId !== PATTERN_DEFAULT_CATEGORY &&\n\t\t! normalizedSearchTerms.length;\n\tconst searchRankConfig = { ...config, onlyFilterByCategory };\n\n\t// If we aren't filtering on search terms, matching on category is satisfactory.\n\t// If we are, then we need more than a category match.\n\tconst threshold = onlyFilterByCategory ? 0 : 1;\n\n\tconst rankedItems = items\n\t\t.map( ( item ) => {\n\t\t\treturn [\n\t\t\t\titem,\n\t\t\t\tgetItemSearchRank( item, searchInput, searchRankConfig ),\n\t\t\t];\n\t\t} )\n\t\t.filter( ( [ , rank ] ) => rank > threshold );\n\n\t// If we didn't have terms to search on, there's no point sorting.\n\tif ( normalizedSearchTerms.length === 0 ) {\n\t\treturn rankedItems.map( ( [ item ] ) => item );\n\t}\n\n\trankedItems.sort( ( [ , rank1 ], [ , rank2 ] ) => rank2 - rank1 );\n\treturn rankedItems.map( ( [ item ] ) => item );\n};\n\n/**\n * Get the search rank for a given item and a specific search term.\n * The better the match, the higher the rank.\n * If the rank equals 0, it should be excluded from the results.\n *\n * @param {Object} item Item to filter.\n * @param {string} searchTerm Search term.\n * @param {Object} config Search Config.\n *\n * @return {number} Search Rank.\n */\nfunction getItemSearchRank( item, searchTerm, config ) {\n\tconst {\n\t\tcategoryId,\n\t\tgetName = defaultGetName,\n\t\tgetTitle = defaultGetTitle,\n\t\tgetDescription = defaultGetDescription,\n\t\tgetKeywords = defaultGetKeywords,\n\t\thasCategory = defaultHasCategory,\n\t\tonlyFilterByCategory,\n\t} = config;\n\n\tlet rank =\n\t\tcategoryId === PATTERN_DEFAULT_CATEGORY ||\n\t\thasCategory( item, categoryId )\n\t\t\t? 1\n\t\t\t: 0;\n\n\t// If an item doesn't belong to the current category or we don't have\n\t// search terms to filter by, return the initial rank value.\n\tif ( ! rank || onlyFilterByCategory ) {\n\t\treturn rank;\n\t}\n\n\tconst name = getName( item );\n\tconst title = getTitle( item );\n\tconst description = getDescription( item );\n\tconst keywords = getKeywords( item );\n\n\tconst normalizedSearchInput = normalizeSearchInput( searchTerm );\n\tconst normalizedTitle = normalizeSearchInput( title );\n\n\t// Prefers exact matches\n\t// Then prefers if the beginning of the title matches the search term\n\t// name, keywords, description matches come later.\n\tif ( normalizedSearchInput === normalizedTitle ) {\n\t\trank += 30;\n\t} else if ( normalizedTitle.startsWith( normalizedSearchInput ) ) {\n\t\trank += 20;\n\t} else {\n\t\tconst terms = [ name, title, description, ...keywords ].join( ' ' );\n\t\tconst normalizedSearchTerms = extractWords( normalizedSearchInput );\n\t\tconst unmatchedTerms = removeMatchingTerms(\n\t\t\tnormalizedSearchTerms,\n\t\t\tterms\n\t\t);\n\n\t\tif ( unmatchedTerms.length === 0 ) {\n\t\t\trank += 10;\n\t\t}\n\t}\n\n\treturn rank;\n}\n"],"mappings":"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"}
@@ -10,6 +10,7 @@ var _coreData = require("@wordpress/core-data");
10
10
  var _editor = require("@wordpress/editor");
11
11
  var _htmlEntities = require("@wordpress/html-entities");
12
12
  var _utils = require("./utils");
13
+ var _constants = require("../../utils/constants");
13
14
  var _lockUnlock = require("../../lock-unlock");
14
15
  var _searchItems = require("./search-items");
15
16
  var _store = require("../../store");
@@ -52,7 +53,7 @@ const selectTemplatePartsAsPatterns = (select, {
52
53
  const query = {
53
54
  per_page: -1
54
55
  };
55
- const rawTemplateParts = (_getEntityRecords = getEntityRecords('postType', _utils.TEMPLATE_PARTS, query)) !== null && _getEntityRecords !== void 0 ? _getEntityRecords : EMPTY_PATTERN_LIST;
56
+ const rawTemplateParts = (_getEntityRecords = getEntityRecords('postType', _constants.TEMPLATE_PART_POST_TYPE, query)) !== null && _getEntityRecords !== void 0 ? _getEntityRecords : EMPTY_PATTERN_LIST;
56
57
  const templateParts = rawTemplateParts.map(templatePart => templatePartToPattern(templatePart));
57
58
 
58
59
  // In the case where a custom template part area has been removed we need
@@ -76,10 +77,7 @@ const selectTemplatePartsAsPatterns = (select, {
76
77
  isResolving
77
78
  };
78
79
  };
79
- const selectThemePatterns = (select, {
80
- categoryId,
81
- search = ''
82
- } = {}) => {
80
+ const selectThemePatterns = select => {
83
81
  var _settings$__experimen;
84
82
  const {
85
83
  getSettings
@@ -87,14 +85,34 @@ const selectThemePatterns = (select, {
87
85
  const settings = getSettings();
88
86
  const blockPatterns = (_settings$__experimen = settings.__experimentalAdditionalBlockPatterns) !== null && _settings$__experimen !== void 0 ? _settings$__experimen : settings.__experimentalBlockPatterns;
89
87
  const restBlockPatterns = select(_coreData.store).getBlockPatterns();
90
- let patterns = [...(blockPatterns || []), ...(restBlockPatterns || [])].filter(pattern => !_utils.CORE_PATTERN_SOURCES.includes(pattern.source)).filter(_utils.filterOutDuplicatesByName).filter(pattern => pattern.inserter !== false).map(pattern => ({
88
+ const patterns = [...(blockPatterns || []), ...(restBlockPatterns || [])].filter(pattern => !_constants.PATTERN_CORE_SOURCES.includes(pattern.source)).filter(_utils.filterOutDuplicatesByName).filter(pattern => pattern.inserter !== false).map(pattern => ({
91
89
  ...pattern,
92
90
  keywords: pattern.keywords || [],
93
- type: 'pattern',
91
+ type: _constants.PATTERN_TYPES.theme,
94
92
  blocks: (0, _blocks.parse)(pattern.content, {
95
93
  __unstableSkipMigrationLogs: true
96
94
  })
97
95
  }));
96
+ return {
97
+ patterns,
98
+ isResolving: false
99
+ };
100
+ };
101
+ const selectPatterns = (select, {
102
+ categoryId,
103
+ search = '',
104
+ syncStatus
105
+ } = {}) => {
106
+ const {
107
+ patterns: themePatterns
108
+ } = selectThemePatterns(select);
109
+ const {
110
+ patterns: userPatterns
111
+ } = selectUserPatterns(select);
112
+ let patterns = [...(themePatterns || []), ...(userPatterns || [])];
113
+ if (syncStatus) {
114
+ patterns = patterns.filter(pattern => pattern.syncStatus === syncStatus);
115
+ }
98
116
  if (categoryId) {
99
117
  patterns = (0, _searchItems.searchItems)(patterns, search, {
100
118
  categoryId,
@@ -110,17 +128,19 @@ const selectThemePatterns = (select, {
110
128
  isResolving: false
111
129
  };
112
130
  };
113
- const reusableBlockToPattern = reusableBlock => ({
114
- blocks: (0, _blocks.parse)(reusableBlock.content.raw, {
131
+ const patternBlockToPattern = (patternBlock, categories) => ({
132
+ blocks: (0, _blocks.parse)(patternBlock.content.raw, {
115
133
  __unstableSkipMigrationLogs: true
116
134
  }),
117
- categories: reusableBlock.wp_pattern,
118
- id: reusableBlock.id,
119
- name: reusableBlock.slug,
120
- syncStatus: reusableBlock.wp_pattern_sync_status || _utils.SYNC_TYPES.full,
121
- title: reusableBlock.title.raw,
122
- type: reusableBlock.type,
123
- reusableBlock
135
+ ...(patternBlock.wp_pattern_category.length > 0 && {
136
+ categories: patternBlock.wp_pattern_category.map(patternCategoryId => categories && categories.get(patternCategoryId) ? categories.get(patternCategoryId).slug : patternCategoryId)
137
+ }),
138
+ id: patternBlock.id,
139
+ name: patternBlock.slug,
140
+ syncStatus: patternBlock.wp_pattern_sync_status || _constants.PATTERN_SYNC_TYPES.full,
141
+ title: patternBlock.title.raw,
142
+ type: _constants.PATTERN_TYPES.user,
143
+ patternBlock
124
144
  });
125
145
  const selectUserPatterns = (select, {
126
146
  search = '',
@@ -128,14 +148,18 @@ const selectUserPatterns = (select, {
128
148
  } = {}) => {
129
149
  const {
130
150
  getEntityRecords,
131
- getIsResolving
151
+ getIsResolving,
152
+ getUserPatternCategories
132
153
  } = select(_coreData.store);
133
154
  const query = {
134
155
  per_page: -1
135
156
  };
136
- const records = getEntityRecords('postType', _utils.USER_PATTERNS, query);
137
- let patterns = records ? records.map(record => reusableBlockToPattern(record)) : EMPTY_PATTERN_LIST;
138
- const isResolving = getIsResolving('getEntityRecords', ['postType', _utils.USER_PATTERNS, query]);
157
+ const records = getEntityRecords('postType', _constants.PATTERN_TYPES.user, query);
158
+ const userPatternCategories = getUserPatternCategories();
159
+ const categories = new Map();
160
+ userPatternCategories.forEach(userCategory => categories.set(userCategory.id, userCategory));
161
+ let patterns = records ? records.map(record => patternBlockToPattern(record, categories)) : EMPTY_PATTERN_LIST;
162
+ const isResolving = getIsResolving('getEntityRecords', ['postType', _constants.PATTERN_TYPES.user, query]);
139
163
  if (syncStatus) {
140
164
  patterns = patterns.filter(pattern => pattern.syncStatus === syncStatus);
141
165
  }
@@ -147,25 +171,27 @@ const selectUserPatterns = (select, {
147
171
  });
148
172
  return {
149
173
  patterns,
150
- isResolving
174
+ isResolving,
175
+ categories: userPatternCategories
151
176
  };
152
177
  };
153
178
  const usePatterns = (categoryType, categoryId, {
154
179
  search = '',
155
180
  syncStatus
156
- }) => {
181
+ } = {}) => {
157
182
  return (0, _data.useSelect)(select => {
158
- if (categoryType === _utils.TEMPLATE_PARTS) {
183
+ if (categoryType === _constants.TEMPLATE_PART_POST_TYPE) {
159
184
  return selectTemplatePartsAsPatterns(select, {
160
185
  categoryId,
161
186
  search
162
187
  });
163
- } else if (categoryType === _utils.PATTERNS) {
164
- return selectThemePatterns(select, {
188
+ } else if (categoryType === _constants.PATTERN_TYPES.theme) {
189
+ return selectPatterns(select, {
165
190
  categoryId,
166
- search
191
+ search,
192
+ syncStatus
167
193
  });
168
- } else if (categoryType === _utils.USER_PATTERNS) {
194
+ } else if (categoryType === _constants.PATTERN_TYPES.user) {
169
195
  return selectUserPatterns(select, {
170
196
  search,
171
197
  syncStatus
@@ -1 +1 @@
1
- {"version":3,"names":["_blocks","require","_data","_coreData","_editor","_htmlEntities","_utils","_lockUnlock","_searchItems","_store","EMPTY_PATTERN_LIST","createTemplatePartId","theme","slug","templatePartToPattern","templatePart","blocks","parse","content","raw","__unstableSkipMigrationLogs","categories","area","description","isCustom","source","keywords","id","name","title","decodeEntities","rendered","type","selectTemplatePartsAsPatterns","select","categoryId","search","_getEntityRecords","getEntityRecords","getIsResolving","coreStore","__experimentalGetDefaultTemplatePartAreas","editorStore","query","per_page","rawTemplateParts","TEMPLATE_PARTS","templateParts","map","knownAreas","templatePartAreas","templatePartHasCategory","item","category","includes","isResolving","patterns","searchItems","hasCategory","selectThemePatterns","_settings$__experimen","getSettings","unlock","editSiteStore","settings","blockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","restBlockPatterns","getBlockPatterns","filter","pattern","CORE_PATTERN_SOURCES","filterOutDuplicatesByName","inserter","currentCategory","hasOwnProperty","reusableBlockToPattern","reusableBlock","wp_pattern","syncStatus","wp_pattern_sync_status","SYNC_TYPES","full","selectUserPatterns","records","USER_PATTERNS","record","usePatterns","categoryType","useSelect","PATTERNS","exports","_default","default"],"sources":["@wordpress/edit-site/src/components/page-patterns/use-patterns.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { parse } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport {\n\tCORE_PATTERN_SOURCES,\n\tPATTERNS,\n\tSYNC_TYPES,\n\tTEMPLATE_PARTS,\n\tUSER_PATTERNS,\n\tfilterOutDuplicatesByName,\n} from './utils';\nimport { unlock } from '../../lock-unlock';\nimport { searchItems } from './search-items';\nimport { store as editSiteStore } from '../../store';\n\nconst EMPTY_PATTERN_LIST = [];\n\nconst createTemplatePartId = ( theme, slug ) =>\n\ttheme && slug ? theme + '//' + slug : null;\n\nconst templatePartToPattern = ( templatePart ) => ( {\n\tblocks: parse( templatePart.content.raw, {\n\t\t__unstableSkipMigrationLogs: true,\n\t} ),\n\tcategories: [ templatePart.area ],\n\tdescription: templatePart.description || '',\n\tisCustom: templatePart.source === 'custom',\n\tkeywords: templatePart.keywords || [],\n\tid: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\tname: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\ttitle: decodeEntities( templatePart.title.rendered ),\n\ttype: templatePart.type,\n\ttemplatePart,\n} );\n\nconst selectTemplatePartsAsPatterns = (\n\tselect,\n\t{ categoryId, search = '' } = {}\n) => {\n\tconst { getEntityRecords, getIsResolving } = select( coreStore );\n\tconst { __experimentalGetDefaultTemplatePartAreas } = select( editorStore );\n\tconst query = { per_page: -1 };\n\tconst rawTemplateParts =\n\t\tgetEntityRecords( 'postType', TEMPLATE_PARTS, query ) ??\n\t\tEMPTY_PATTERN_LIST;\n\tconst templateParts = rawTemplateParts.map( ( templatePart ) =>\n\t\ttemplatePartToPattern( templatePart )\n\t);\n\n\t// In the case where a custom template part area has been removed we need\n\t// the current list of areas to cross check against so orphaned template\n\t// parts can be treated as uncategorized.\n\tconst knownAreas = __experimentalGetDefaultTemplatePartAreas() || [];\n\tconst templatePartAreas = knownAreas.map( ( area ) => area.area );\n\n\tconst templatePartHasCategory = ( item, category ) => {\n\t\tif ( category !== 'uncategorized' ) {\n\t\t\treturn item.templatePart.area === category;\n\t\t}\n\n\t\treturn (\n\t\t\titem.templatePart.area === category ||\n\t\t\t! templatePartAreas.includes( item.templatePart.area )\n\t\t);\n\t};\n\n\tconst isResolving = getIsResolving( 'getEntityRecords', [\n\t\t'postType',\n\t\t'wp_template_part',\n\t\tquery,\n\t] );\n\n\tconst patterns = searchItems( templateParts, search, {\n\t\tcategoryId,\n\t\thasCategory: templatePartHasCategory,\n\t} );\n\n\treturn { patterns, isResolving };\n};\n\nconst selectThemePatterns = ( select, { categoryId, search = '' } = {} ) => {\n\tconst { getSettings } = unlock( select( editSiteStore ) );\n\tconst settings = getSettings();\n\tconst blockPatterns =\n\t\tsettings.__experimentalAdditionalBlockPatterns ??\n\t\tsettings.__experimentalBlockPatterns;\n\n\tconst restBlockPatterns = select( coreStore ).getBlockPatterns();\n\n\tlet patterns = [\n\t\t...( blockPatterns || [] ),\n\t\t...( restBlockPatterns || [] ),\n\t]\n\t\t.filter(\n\t\t\t( pattern ) => ! CORE_PATTERN_SOURCES.includes( pattern.source )\n\t\t)\n\t\t.filter( filterOutDuplicatesByName )\n\t\t.filter( ( pattern ) => pattern.inserter !== false )\n\t\t.map( ( pattern ) => ( {\n\t\t\t...pattern,\n\t\t\tkeywords: pattern.keywords || [],\n\t\t\ttype: 'pattern',\n\t\t\tblocks: parse( pattern.content, {\n\t\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t} ),\n\t\t} ) );\n\n\tif ( categoryId ) {\n\t\tpatterns = searchItems( patterns, search, {\n\t\t\tcategoryId,\n\t\t\thasCategory: ( item, currentCategory ) =>\n\t\t\t\titem.categories?.includes( currentCategory ),\n\t\t} );\n\t} else {\n\t\tpatterns = searchItems( patterns, search, {\n\t\t\thasCategory: ( item ) => ! item.hasOwnProperty( 'categories' ),\n\t\t} );\n\t}\n\n\treturn { patterns, isResolving: false };\n};\n\nconst reusableBlockToPattern = ( reusableBlock ) => ( {\n\tblocks: parse( reusableBlock.content.raw, {\n\t\t__unstableSkipMigrationLogs: true,\n\t} ),\n\tcategories: reusableBlock.wp_pattern,\n\tid: reusableBlock.id,\n\tname: reusableBlock.slug,\n\tsyncStatus: reusableBlock.wp_pattern_sync_status || SYNC_TYPES.full,\n\ttitle: reusableBlock.title.raw,\n\ttype: reusableBlock.type,\n\treusableBlock,\n} );\n\nconst selectUserPatterns = ( select, { search = '', syncStatus } = {} ) => {\n\tconst { getEntityRecords, getIsResolving } = select( coreStore );\n\n\tconst query = { per_page: -1 };\n\tconst records = getEntityRecords( 'postType', USER_PATTERNS, query );\n\n\tlet patterns = records\n\t\t? records.map( ( record ) => reusableBlockToPattern( record ) )\n\t\t: EMPTY_PATTERN_LIST;\n\tconst isResolving = getIsResolving( 'getEntityRecords', [\n\t\t'postType',\n\t\tUSER_PATTERNS,\n\t\tquery,\n\t] );\n\n\tif ( syncStatus ) {\n\t\tpatterns = patterns.filter(\n\t\t\t( pattern ) => pattern.syncStatus === syncStatus\n\t\t);\n\t}\n\n\tpatterns = searchItems( patterns, search, {\n\t\t// We exit user pattern retrieval early if we aren't in the\n\t\t// catch-all category for user created patterns, so it has\n\t\t// to be in the category.\n\t\thasCategory: () => true,\n\t} );\n\n\treturn { patterns, isResolving };\n};\n\nexport const usePatterns = (\n\tcategoryType,\n\tcategoryId,\n\t{ search = '', syncStatus }\n) => {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tif ( categoryType === TEMPLATE_PARTS ) {\n\t\t\t\treturn selectTemplatePartsAsPatterns( select, {\n\t\t\t\t\tcategoryId,\n\t\t\t\t\tsearch,\n\t\t\t\t} );\n\t\t\t} else if ( categoryType === PATTERNS ) {\n\t\t\t\treturn selectThemePatterns( select, { categoryId, search } );\n\t\t\t} else if ( categoryType === USER_PATTERNS ) {\n\t\t\t\treturn selectUserPatterns( select, { search, syncStatus } );\n\t\t\t}\n\t\t\treturn { patterns: EMPTY_PATTERN_LIST, isResolving: false };\n\t\t},\n\t\t[ categoryId, categoryType, search, syncStatus ]\n\t);\n};\n\nexport default usePatterns;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_blocks","require","_data","_coreData","_editor","_htmlEntities","_utils","_constants","_lockUnlock","_searchItems","_store","EMPTY_PATTERN_LIST","createTemplatePartId","theme","slug","templatePartToPattern","templatePart","blocks","parse","content","raw","__unstableSkipMigrationLogs","categories","area","description","isCustom","source","keywords","id","name","title","decodeEntities","rendered","type","selectTemplatePartsAsPatterns","select","categoryId","search","_getEntityRecords","getEntityRecords","getIsResolving","coreStore","__experimentalGetDefaultTemplatePartAreas","editorStore","query","per_page","rawTemplateParts","TEMPLATE_PART_POST_TYPE","templateParts","map","knownAreas","templatePartAreas","templatePartHasCategory","item","category","includes","isResolving","patterns","searchItems","hasCategory","selectThemePatterns","_settings$__experimen","getSettings","unlock","editSiteStore","settings","blockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","restBlockPatterns","getBlockPatterns","filter","pattern","PATTERN_CORE_SOURCES","filterOutDuplicatesByName","inserter","PATTERN_TYPES","selectPatterns","syncStatus","themePatterns","userPatterns","selectUserPatterns","currentCategory","hasOwnProperty","patternBlockToPattern","patternBlock","wp_pattern_category","length","patternCategoryId","get","wp_pattern_sync_status","PATTERN_SYNC_TYPES","full","user","getUserPatternCategories","records","userPatternCategories","Map","forEach","userCategory","set","record","usePatterns","categoryType","useSelect","exports","_default","default"],"sources":["@wordpress/edit-site/src/components/page-patterns/use-patterns.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { parse } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { filterOutDuplicatesByName } from './utils';\nimport {\n\tPATTERN_CORE_SOURCES,\n\tPATTERN_TYPES,\n\tPATTERN_SYNC_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport { searchItems } from './search-items';\nimport { store as editSiteStore } from '../../store';\n\nconst EMPTY_PATTERN_LIST = [];\n\nconst createTemplatePartId = ( theme, slug ) =>\n\ttheme && slug ? theme + '//' + slug : null;\n\nconst templatePartToPattern = ( templatePart ) => ( {\n\tblocks: parse( templatePart.content.raw, {\n\t\t__unstableSkipMigrationLogs: true,\n\t} ),\n\tcategories: [ templatePart.area ],\n\tdescription: templatePart.description || '',\n\tisCustom: templatePart.source === 'custom',\n\tkeywords: templatePart.keywords || [],\n\tid: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\tname: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\ttitle: decodeEntities( templatePart.title.rendered ),\n\ttype: templatePart.type,\n\ttemplatePart,\n} );\n\nconst selectTemplatePartsAsPatterns = (\n\tselect,\n\t{ categoryId, search = '' } = {}\n) => {\n\tconst { getEntityRecords, getIsResolving } = select( coreStore );\n\tconst { __experimentalGetDefaultTemplatePartAreas } = select( editorStore );\n\tconst query = { per_page: -1 };\n\tconst rawTemplateParts =\n\t\tgetEntityRecords( 'postType', TEMPLATE_PART_POST_TYPE, query ) ??\n\t\tEMPTY_PATTERN_LIST;\n\tconst templateParts = rawTemplateParts.map( ( templatePart ) =>\n\t\ttemplatePartToPattern( templatePart )\n\t);\n\n\t// In the case where a custom template part area has been removed we need\n\t// the current list of areas to cross check against so orphaned template\n\t// parts can be treated as uncategorized.\n\tconst knownAreas = __experimentalGetDefaultTemplatePartAreas() || [];\n\tconst templatePartAreas = knownAreas.map( ( area ) => area.area );\n\n\tconst templatePartHasCategory = ( item, category ) => {\n\t\tif ( category !== 'uncategorized' ) {\n\t\t\treturn item.templatePart.area === category;\n\t\t}\n\n\t\treturn (\n\t\t\titem.templatePart.area === category ||\n\t\t\t! templatePartAreas.includes( item.templatePart.area )\n\t\t);\n\t};\n\n\tconst isResolving = getIsResolving( 'getEntityRecords', [\n\t\t'postType',\n\t\t'wp_template_part',\n\t\tquery,\n\t] );\n\n\tconst patterns = searchItems( templateParts, search, {\n\t\tcategoryId,\n\t\thasCategory: templatePartHasCategory,\n\t} );\n\n\treturn { patterns, isResolving };\n};\n\nconst selectThemePatterns = ( select ) => {\n\tconst { getSettings } = unlock( select( editSiteStore ) );\n\tconst settings = getSettings();\n\tconst blockPatterns =\n\t\tsettings.__experimentalAdditionalBlockPatterns ??\n\t\tsettings.__experimentalBlockPatterns;\n\n\tconst restBlockPatterns = select( coreStore ).getBlockPatterns();\n\n\tconst patterns = [\n\t\t...( blockPatterns || [] ),\n\t\t...( restBlockPatterns || [] ),\n\t]\n\t\t.filter(\n\t\t\t( pattern ) => ! PATTERN_CORE_SOURCES.includes( pattern.source )\n\t\t)\n\t\t.filter( filterOutDuplicatesByName )\n\t\t.filter( ( pattern ) => pattern.inserter !== false )\n\t\t.map( ( pattern ) => ( {\n\t\t\t...pattern,\n\t\t\tkeywords: pattern.keywords || [],\n\t\t\ttype: PATTERN_TYPES.theme,\n\t\t\tblocks: parse( pattern.content, {\n\t\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t} ),\n\t\t} ) );\n\n\treturn { patterns, isResolving: false };\n};\nconst selectPatterns = (\n\tselect,\n\t{ categoryId, search = '', syncStatus } = {}\n) => {\n\tconst { patterns: themePatterns } = selectThemePatterns( select );\n\tconst { patterns: userPatterns } = selectUserPatterns( select );\n\n\tlet patterns = [ ...( themePatterns || [] ), ...( userPatterns || [] ) ];\n\n\tif ( syncStatus ) {\n\t\tpatterns = patterns.filter(\n\t\t\t( pattern ) => pattern.syncStatus === syncStatus\n\t\t);\n\t}\n\n\tif ( categoryId ) {\n\t\tpatterns = searchItems( patterns, search, {\n\t\t\tcategoryId,\n\t\t\thasCategory: ( item, currentCategory ) =>\n\t\t\t\titem.categories?.includes( currentCategory ),\n\t\t} );\n\t} else {\n\t\tpatterns = searchItems( patterns, search, {\n\t\t\thasCategory: ( item ) => ! item.hasOwnProperty( 'categories' ),\n\t\t} );\n\t}\n\treturn { patterns, isResolving: false };\n};\n\nconst patternBlockToPattern = ( patternBlock, categories ) => ( {\n\tblocks: parse( patternBlock.content.raw, {\n\t\t__unstableSkipMigrationLogs: true,\n\t} ),\n\t...( patternBlock.wp_pattern_category.length > 0 && {\n\t\tcategories: patternBlock.wp_pattern_category.map(\n\t\t\t( patternCategoryId ) =>\n\t\t\t\tcategories && categories.get( patternCategoryId )\n\t\t\t\t\t? categories.get( patternCategoryId ).slug\n\t\t\t\t\t: patternCategoryId\n\t\t),\n\t} ),\n\tid: patternBlock.id,\n\tname: patternBlock.slug,\n\tsyncStatus: patternBlock.wp_pattern_sync_status || PATTERN_SYNC_TYPES.full,\n\ttitle: patternBlock.title.raw,\n\ttype: PATTERN_TYPES.user,\n\tpatternBlock,\n} );\n\nconst selectUserPatterns = ( select, { search = '', syncStatus } = {} ) => {\n\tconst { getEntityRecords, getIsResolving, getUserPatternCategories } =\n\t\tselect( coreStore );\n\n\tconst query = { per_page: -1 };\n\tconst records = getEntityRecords( 'postType', PATTERN_TYPES.user, query );\n\tconst userPatternCategories = getUserPatternCategories();\n\tconst categories = new Map();\n\tuserPatternCategories.forEach( ( userCategory ) =>\n\t\tcategories.set( userCategory.id, userCategory )\n\t);\n\tlet patterns = records\n\t\t? records.map( ( record ) =>\n\t\t\t\tpatternBlockToPattern( record, categories )\n\t\t )\n\t\t: EMPTY_PATTERN_LIST;\n\n\tconst isResolving = getIsResolving( 'getEntityRecords', [\n\t\t'postType',\n\t\tPATTERN_TYPES.user,\n\t\tquery,\n\t] );\n\n\tif ( syncStatus ) {\n\t\tpatterns = patterns.filter(\n\t\t\t( pattern ) => pattern.syncStatus === syncStatus\n\t\t);\n\t}\n\n\tpatterns = searchItems( patterns, search, {\n\t\t// We exit user pattern retrieval early if we aren't in the\n\t\t// catch-all category for user created patterns, so it has\n\t\t// to be in the category.\n\t\thasCategory: () => true,\n\t} );\n\n\treturn { patterns, isResolving, categories: userPatternCategories };\n};\n\nexport const usePatterns = (\n\tcategoryType,\n\tcategoryId,\n\t{ search = '', syncStatus } = {}\n) => {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tif ( categoryType === TEMPLATE_PART_POST_TYPE ) {\n\t\t\t\treturn selectTemplatePartsAsPatterns( select, {\n\t\t\t\t\tcategoryId,\n\t\t\t\t\tsearch,\n\t\t\t\t} );\n\t\t\t} else if ( categoryType === PATTERN_TYPES.theme ) {\n\t\t\t\treturn selectPatterns( select, {\n\t\t\t\t\tcategoryId,\n\t\t\t\t\tsearch,\n\t\t\t\t\tsyncStatus,\n\t\t\t\t} );\n\t\t\t} else if ( categoryType === PATTERN_TYPES.user ) {\n\t\t\t\treturn selectUserPatterns( select, { search, syncStatus } );\n\t\t\t}\n\t\t\treturn { patterns: EMPTY_PATTERN_LIST, isResolving: false };\n\t\t},\n\t\t[ categoryId, categoryType, search, syncStatus ]\n\t);\n};\n\nexport default usePatterns;\n"],"mappings":"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"}
@@ -3,26 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.filterOutDuplicatesByName = exports.USER_PATTERN_CATEGORY = exports.USER_PATTERNS = exports.TEMPLATE_PARTS = exports.SYNC_TYPES = exports.PATTERNS = exports.DEFAULT_TYPE = exports.DEFAULT_CATEGORY = exports.CORE_PATTERN_SOURCES = void 0;
7
- const DEFAULT_CATEGORY = 'my-patterns';
8
- exports.DEFAULT_CATEGORY = DEFAULT_CATEGORY;
9
- const DEFAULT_TYPE = 'wp_block';
10
- exports.DEFAULT_TYPE = DEFAULT_TYPE;
11
- const PATTERNS = 'pattern';
12
- exports.PATTERNS = PATTERNS;
13
- const TEMPLATE_PARTS = 'wp_template_part';
14
- exports.TEMPLATE_PARTS = TEMPLATE_PARTS;
15
- const USER_PATTERNS = 'wp_block';
16
- exports.USER_PATTERNS = USER_PATTERNS;
17
- const USER_PATTERN_CATEGORY = 'my-patterns';
18
- exports.USER_PATTERN_CATEGORY = USER_PATTERN_CATEGORY;
19
- const CORE_PATTERN_SOURCES = ['core', 'pattern-directory/core', 'pattern-directory/featured', 'pattern-directory/theme'];
20
- exports.CORE_PATTERN_SOURCES = CORE_PATTERN_SOURCES;
21
- const SYNC_TYPES = {
22
- full: 'fully',
23
- unsynced: 'unsynced'
24
- };
25
- exports.SYNC_TYPES = SYNC_TYPES;
6
+ exports.filterOutDuplicatesByName = void 0;
26
7
  const filterOutDuplicatesByName = (currentItem, index, items) => index === items.findIndex(item => currentItem.name === item.name);
27
8
  exports.filterOutDuplicatesByName = filterOutDuplicatesByName;
28
9
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_CATEGORY","exports","DEFAULT_TYPE","PATTERNS","TEMPLATE_PARTS","USER_PATTERNS","USER_PATTERN_CATEGORY","CORE_PATTERN_SOURCES","SYNC_TYPES","full","unsynced","filterOutDuplicatesByName","currentItem","index","items","findIndex","item","name"],"sources":["@wordpress/edit-site/src/components/page-patterns/utils.js"],"sourcesContent":["export const DEFAULT_CATEGORY = 'my-patterns';\nexport const DEFAULT_TYPE = 'wp_block';\nexport const PATTERNS = 'pattern';\nexport const TEMPLATE_PARTS = 'wp_template_part';\nexport const USER_PATTERNS = 'wp_block';\nexport const USER_PATTERN_CATEGORY = 'my-patterns';\n\nexport const CORE_PATTERN_SOURCES = [\n\t'core',\n\t'pattern-directory/core',\n\t'pattern-directory/featured',\n\t'pattern-directory/theme',\n];\n\nexport const SYNC_TYPES = {\n\tfull: 'fully',\n\tunsynced: 'unsynced',\n};\n\nexport const filterOutDuplicatesByName = ( currentItem, index, items ) =>\n\tindex === items.findIndex( ( item ) => currentItem.name === item.name );\n"],"mappings":";;;;;;AAAO,MAAMA,gBAAgB,GAAG,aAAa;AAACC,OAAA,CAAAD,gBAAA,GAAAA,gBAAA;AACvC,MAAME,YAAY,GAAG,UAAU;AAACD,OAAA,CAAAC,YAAA,GAAAA,YAAA;AAChC,MAAMC,QAAQ,GAAG,SAAS;AAACF,OAAA,CAAAE,QAAA,GAAAA,QAAA;AAC3B,MAAMC,cAAc,GAAG,kBAAkB;AAACH,OAAA,CAAAG,cAAA,GAAAA,cAAA;AAC1C,MAAMC,aAAa,GAAG,UAAU;AAACJ,OAAA,CAAAI,aAAA,GAAAA,aAAA;AACjC,MAAMC,qBAAqB,GAAG,aAAa;AAACL,OAAA,CAAAK,qBAAA,GAAAA,qBAAA;AAE5C,MAAMC,oBAAoB,GAAG,CACnC,MAAM,EACN,wBAAwB,EACxB,4BAA4B,EAC5B,yBAAyB,CACzB;AAACN,OAAA,CAAAM,oBAAA,GAAAA,oBAAA;AAEK,MAAMC,UAAU,GAAG;EACzBC,IAAI,EAAE,OAAO;EACbC,QAAQ,EAAE;AACX,CAAC;AAACT,OAAA,CAAAO,UAAA,GAAAA,UAAA;AAEK,MAAMG,yBAAyB,GAAGA,CAAEC,WAAW,EAAEC,KAAK,EAAEC,KAAK,KACnED,KAAK,KAAKC,KAAK,CAACC,SAAS,CAAIC,IAAI,IAAMJ,WAAW,CAACK,IAAI,KAAKD,IAAI,CAACC,IAAK,CAAC;AAAChB,OAAA,CAAAU,yBAAA,GAAAA,yBAAA"}
1
+ {"version":3,"names":["filterOutDuplicatesByName","currentItem","index","items","findIndex","item","name","exports"],"sources":["@wordpress/edit-site/src/components/page-patterns/utils.js"],"sourcesContent":["export const filterOutDuplicatesByName = ( currentItem, index, items ) =>\n\tindex === items.findIndex( ( item ) => currentItem.name === item.name );\n"],"mappings":";;;;;;AAAO,MAAMA,yBAAyB,GAAGA,CAAEC,WAAW,EAAEC,KAAK,EAAEC,KAAK,KACnED,KAAK,KAAKC,KAAK,CAACC,SAAS,CAAIC,IAAI,IAAMJ,WAAW,CAACK,IAAI,KAAKD,IAAI,CAACC,IAAK,CAAC;AAACC,OAAA,CAAAP,yBAAA,GAAAA,yBAAA"}
@@ -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
  });
@@ -7,12 +8,12 @@ exports.default = EditTemplate;
7
8
  var _element = require("@wordpress/element");
8
9
  var _data = require("@wordpress/data");
9
10
  var _htmlEntities = require("@wordpress/html-entities");
10
- var _blockEditor = require("@wordpress/block-editor");
11
11
  var _components = require("@wordpress/components");
12
12
  var _i18n = require("@wordpress/i18n");
13
13
  var _coreData = require("@wordpress/core-data");
14
- var _blocks = require("@wordpress/blocks");
15
14
  var _store = require("../../../store");
15
+ var _swapTemplateButton = _interopRequireDefault(require("./swap-template-button"));
16
+ var _resetDefaultTemplate = _interopRequireDefault(require("./reset-default-template"));
16
17
  /**
17
18
  * WordPress dependencies
18
19
  */
@@ -21,9 +22,12 @@ var _store = require("../../../store");
21
22
  * Internal dependencies
22
23
  */
23
24
 
25
+ const POPOVER_PROPS = {
26
+ className: 'edit-site-page-panels-edit-template__dropdown',
27
+ placement: 'bottom-start'
28
+ };
24
29
  function EditTemplate() {
25
30
  const {
26
- context,
27
31
  hasResolved,
28
32
  template
29
33
  } = (0, _data.useSelect)(select => {
@@ -47,29 +51,34 @@ function EditTemplate() {
47
51
  const {
48
52
  setHasPageContentFocus
49
53
  } = (0, _data.useDispatch)(_store.store);
50
- const blockContext = (0, _element.useMemo)(() => ({
51
- ...context,
52
- postType: null,
53
- postId: null
54
- }), [context]);
55
- const blocks = (0, _element.useMemo)(() => {
56
- var _template$blocks;
57
- return (_template$blocks = template.blocks) !== null && _template$blocks !== void 0 ? _template$blocks : template.content && typeof template.content !== 'function' ? (0, _blocks.parse)(template.content) : [];
58
- }, [template.blocks, template.content]);
59
54
  if (!hasResolved) {
60
55
  return null;
61
56
  }
62
- return (0, _element.createElement)(_components.__experimentalVStack, null, (0, _element.createElement)("div", null, (0, _htmlEntities.decodeEntities)(template.title)), (0, _element.createElement)("div", {
63
- className: "edit-site-page-panels__edit-template-preview"
64
- }, (0, _element.createElement)(_blockEditor.BlockContextProvider, {
65
- value: blockContext
66
- }, (0, _element.createElement)(_blockEditor.BlockPreview, {
67
- viewportWidth: 1024,
68
- blocks: blocks
69
- }))), (0, _element.createElement)(_components.Button, {
70
- className: "edit-site-page-panels__edit-template-button",
71
- variant: "secondary",
72
- onClick: () => setHasPageContentFocus(false)
73
- }, (0, _i18n.__)('Edit template')));
57
+ return (0, _element.createElement)(_components.__experimentalHStack, {
58
+ className: "edit-site-summary-field"
59
+ }, (0, _element.createElement)(_components.__experimentalText, {
60
+ className: "edit-site-summary-field__label"
61
+ }, (0, _i18n.__)('Template')), (0, _element.createElement)(_components.DropdownMenu, {
62
+ popoverProps: POPOVER_PROPS,
63
+ focusOnMount: true,
64
+ toggleProps: {
65
+ variant: 'tertiary',
66
+ className: 'edit-site-summary-field__trigger'
67
+ },
68
+ label: (0, _i18n.__)('Template options'),
69
+ text: (0, _htmlEntities.decodeEntities)(template.title),
70
+ icon: null
71
+ }, ({
72
+ onClose
73
+ }) => (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.MenuGroup, null, (0, _element.createElement)(_components.MenuItem, {
74
+ onClick: () => {
75
+ setHasPageContentFocus(false);
76
+ onClose();
77
+ }
78
+ }, (0, _i18n.__)('Edit template')), (0, _element.createElement)(_swapTemplateButton.default, {
79
+ onClick: onClose
80
+ })), (0, _element.createElement)(_resetDefaultTemplate.default, {
81
+ onClick: onClose
82
+ }))));
74
83
  }
75
84
  //# sourceMappingURL=edit-template.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_data","_htmlEntities","_blockEditor","_components","_i18n","_coreData","_blocks","_store","EditTemplate","context","hasResolved","template","useSelect","select","getEditedPostContext","getEditedPostType","getEditedPostId","editSiteStore","getEditedEntityRecord","hasFinishedResolution","coreStore","_context","queryArgs","setHasPageContentFocus","useDispatch","blockContext","useMemo","postType","postId","blocks","_template$blocks","content","parse","createElement","__experimentalVStack","decodeEntities","title","className","BlockContextProvider","value","BlockPreview","viewportWidth","Button","variant","onClick","__"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/edit-template.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { BlockContextProvider, BlockPreview } from '@wordpress/block-editor';\nimport { Button, __experimentalVStack as VStack } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { parse } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\n\nexport default function EditTemplate() {\n\tconst { context, hasResolved, template } = useSelect( ( select ) => {\n\t\tconst { getEditedPostContext, getEditedPostType, getEditedPostId } =\n\t\t\tselect( editSiteStore );\n\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\tselect( coreStore );\n\t\tconst _context = getEditedPostContext();\n\t\tconst queryArgs = [\n\t\t\t'postType',\n\t\t\tgetEditedPostType(),\n\t\t\tgetEditedPostId(),\n\t\t];\n\t\treturn {\n\t\t\tcontext: _context,\n\t\t\thasResolved: hasFinishedResolution(\n\t\t\t\t'getEditedEntityRecord',\n\t\t\t\tqueryArgs\n\t\t\t),\n\t\t\ttemplate: getEditedEntityRecord( ...queryArgs ),\n\t\t};\n\t}, [] );\n\n\tconst { setHasPageContentFocus } = useDispatch( editSiteStore );\n\n\tconst blockContext = useMemo(\n\t\t() => ( { ...context, postType: null, postId: null } ),\n\t\t[ context ]\n\t);\n\n\tconst blocks = useMemo(\n\t\t() =>\n\t\t\ttemplate.blocks ??\n\t\t\t( template.content && typeof template.content !== 'function'\n\t\t\t\t? parse( template.content )\n\t\t\t\t: [] ),\n\t\t[ template.blocks, template.content ]\n\t);\n\n\tif ( ! hasResolved ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<VStack>\n\t\t\t<div>{ decodeEntities( template.title ) }</div>\n\t\t\t<div className=\"edit-site-page-panels__edit-template-preview\">\n\t\t\t\t<BlockContextProvider value={ blockContext }>\n\t\t\t\t\t<BlockPreview viewportWidth={ 1024 } blocks={ blocks } />\n\t\t\t\t</BlockContextProvider>\n\t\t\t</div>\n\t\t\t<Button\n\t\t\t\tclassName=\"edit-site-page-panels__edit-template-button\"\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tonClick={ () => setHasPageContentFocus( false ) }\n\t\t\t>\n\t\t\t\t{ __( 'Edit template' ) }\n\t\t\t</Button>\n\t\t</VStack>\n\t);\n}\n"],"mappings":";;;;;;AAIA,IAAAA,QAAA,GAAAC,OAAA;AADA,IAAAC,KAAA,GAAAD,OAAA;AAEA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AAKA,IAAAQ,MAAA,GAAAR,OAAA;AAfA;AACA;AACA;;AAUA;AACA;AACA;;AAGe,SAASS,YAAYA,CAAA,EAAG;EACtC,MAAM;IAAEC,OAAO;IAAEC,WAAW;IAAEC;EAAS,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACnE,MAAM;MAAEC,oBAAoB;MAAEC,iBAAiB;MAAEC;IAAgB,CAAC,GACjEH,MAAM,CAAEI,YAAc,CAAC;IACxB,MAAM;MAAEC,qBAAqB;MAAEC;IAAsB,CAAC,GACrDN,MAAM,CAAEO,eAAU,CAAC;IACpB,MAAMC,QAAQ,GAAGP,oBAAoB,CAAC,CAAC;IACvC,MAAMQ,SAAS,GAAG,CACjB,UAAU,EACVP,iBAAiB,CAAC,CAAC,EACnBC,eAAe,CAAC,CAAC,CACjB;IACD,OAAO;MACNP,OAAO,EAAEY,QAAQ;MACjBX,WAAW,EAAES,qBAAqB,CACjC,uBAAuB,EACvBG,SACD,CAAC;MACDX,QAAQ,EAAEO,qBAAqB,CAAE,GAAGI,SAAU;IAC/C,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM;IAAEC;EAAuB,CAAC,GAAG,IAAAC,iBAAW,EAAEP,YAAc,CAAC;EAE/D,MAAMQ,YAAY,GAAG,IAAAC,gBAAO,EAC3B,OAAQ;IAAE,GAAGjB,OAAO;IAAEkB,QAAQ,EAAE,IAAI;IAAEC,MAAM,EAAE;EAAK,CAAC,CAAE,EACtD,CAAEnB,OAAO,CACV,CAAC;EAED,MAAMoB,MAAM,GAAG,IAAAH,gBAAO,EACrB;IAAA,IAAAI,gBAAA;IAAA,QAAAA,gBAAA,GACCnB,QAAQ,CAACkB,MAAM,cAAAC,gBAAA,cAAAA,gBAAA,GACbnB,QAAQ,CAACoB,OAAO,IAAI,OAAOpB,QAAQ,CAACoB,OAAO,KAAK,UAAU,GACzD,IAAAC,aAAK,EAAErB,QAAQ,CAACoB,OAAQ,CAAC,GACzB,EAAE;EAAA,CAAE,EACR,CAAEpB,QAAQ,CAACkB,MAAM,EAAElB,QAAQ,CAACoB,OAAO,CACpC,CAAC;EAED,IAAK,CAAErB,WAAW,EAAG;IACpB,OAAO,IAAI;EACZ;EAEA,OACC,IAAAZ,QAAA,CAAAmC,aAAA,EAAC9B,WAAA,CAAA+B,oBAAM,QACN,IAAApC,QAAA,CAAAmC,aAAA,eAAO,IAAAE,4BAAc,EAAExB,QAAQ,CAACyB,KAAM,CAAQ,CAAC,EAC/C,IAAAtC,QAAA,CAAAmC,aAAA;IAAKI,SAAS,EAAC;EAA8C,GAC5D,IAAAvC,QAAA,CAAAmC,aAAA,EAAC/B,YAAA,CAAAoC,oBAAoB;IAACC,KAAK,EAAGd;EAAc,GAC3C,IAAA3B,QAAA,CAAAmC,aAAA,EAAC/B,YAAA,CAAAsC,YAAY;IAACC,aAAa,EAAG,IAAM;IAACZ,MAAM,EAAGA;EAAQ,CAAE,CACnC,CAClB,CAAC,EACN,IAAA/B,QAAA,CAAAmC,aAAA,EAAC9B,WAAA,CAAAuC,MAAM;IACNL,SAAS,EAAC,6CAA6C;IACvDM,OAAO,EAAC,WAAW;IACnBC,OAAO,EAAGA,CAAA,KAAMrB,sBAAsB,CAAE,KAAM;EAAG,GAE/C,IAAAsB,QAAE,EAAE,eAAgB,CACf,CACD,CAAC;AAEX"}
1
+ {"version":3,"names":["_data","require","_htmlEntities","_components","_i18n","_coreData","_store","_swapTemplateButton","_interopRequireDefault","_resetDefaultTemplate","POPOVER_PROPS","className","placement","EditTemplate","hasResolved","template","useSelect","select","getEditedPostContext","getEditedPostType","getEditedPostId","editSiteStore","getEditedEntityRecord","hasFinishedResolution","coreStore","_context","queryArgs","context","setHasPageContentFocus","useDispatch","_element","createElement","__experimentalHStack","__experimentalText","__","DropdownMenu","popoverProps","focusOnMount","toggleProps","variant","label","text","decodeEntities","title","icon","onClose","Fragment","MenuGroup","MenuItem","onClick","default"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/edit-template.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport {\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalHStack as HStack,\n\t__experimentalText as Text,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\nimport SwapTemplateButton from './swap-template-button';\nimport ResetDefaultTemplate from './reset-default-template';\n\nconst POPOVER_PROPS = {\n\tclassName: 'edit-site-page-panels-edit-template__dropdown',\n\tplacement: 'bottom-start',\n};\n\nexport default function EditTemplate() {\n\tconst { hasResolved, template } = useSelect( ( select ) => {\n\t\tconst { getEditedPostContext, getEditedPostType, getEditedPostId } =\n\t\t\tselect( editSiteStore );\n\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\tselect( coreStore );\n\t\tconst _context = getEditedPostContext();\n\t\tconst queryArgs = [\n\t\t\t'postType',\n\t\t\tgetEditedPostType(),\n\t\t\tgetEditedPostId(),\n\t\t];\n\t\treturn {\n\t\t\tcontext: _context,\n\t\t\thasResolved: hasFinishedResolution(\n\t\t\t\t'getEditedEntityRecord',\n\t\t\t\tqueryArgs\n\t\t\t),\n\t\t\ttemplate: getEditedEntityRecord( ...queryArgs ),\n\t\t};\n\t}, [] );\n\n\tconst { setHasPageContentFocus } = useDispatch( editSiteStore );\n\n\tif ( ! hasResolved ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<HStack className=\"edit-site-summary-field\">\n\t\t\t<Text className=\"edit-site-summary-field__label\">\n\t\t\t\t{ __( 'Template' ) }\n\t\t\t</Text>\n\t\t\t<DropdownMenu\n\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\tfocusOnMount\n\t\t\t\ttoggleProps={ {\n\t\t\t\t\tvariant: 'tertiary',\n\t\t\t\t\tclassName: 'edit-site-summary-field__trigger',\n\t\t\t\t} }\n\t\t\t\tlabel={ __( 'Template options' ) }\n\t\t\t\ttext={ decodeEntities( template.title ) }\n\t\t\t\ticon={ null }\n\t\t\t>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetHasPageContentFocus( false );\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Edit template' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t<SwapTemplateButton onClick={ onClose } />\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t<ResetDefaultTemplate onClick={ onClose } />\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</DropdownMenu>\n\t\t</HStack>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAOA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AAKA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,mBAAA,GAAAC,sBAAA,CAAAP,OAAA;AACA,IAAAQ,qBAAA,GAAAD,sBAAA,CAAAP,OAAA;AApBA;AACA;AACA;;AAaA;AACA;AACA;;AAKA,MAAMS,aAAa,GAAG;EACrBC,SAAS,EAAE,+CAA+C;EAC1DC,SAAS,EAAE;AACZ,CAAC;AAEc,SAASC,YAAYA,CAAA,EAAG;EACtC,MAAM;IAAEC,WAAW;IAAEC;EAAS,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC1D,MAAM;MAAEC,oBAAoB;MAAEC,iBAAiB;MAAEC;IAAgB,CAAC,GACjEH,MAAM,CAAEI,YAAc,CAAC;IACxB,MAAM;MAAEC,qBAAqB;MAAEC;IAAsB,CAAC,GACrDN,MAAM,CAAEO,eAAU,CAAC;IACpB,MAAMC,QAAQ,GAAGP,oBAAoB,CAAC,CAAC;IACvC,MAAMQ,SAAS,GAAG,CACjB,UAAU,EACVP,iBAAiB,CAAC,CAAC,EACnBC,eAAe,CAAC,CAAC,CACjB;IACD,OAAO;MACNO,OAAO,EAAEF,QAAQ;MACjBX,WAAW,EAAES,qBAAqB,CACjC,uBAAuB,EACvBG,SACD,CAAC;MACDX,QAAQ,EAAEO,qBAAqB,CAAE,GAAGI,SAAU;IAC/C,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM;IAAEE;EAAuB,CAAC,GAAG,IAAAC,iBAAW,EAAER,YAAc,CAAC;EAE/D,IAAK,CAAEP,WAAW,EAAG;IACpB,OAAO,IAAI;EACZ;EAEA,OACC,IAAAgB,QAAA,CAAAC,aAAA,EAAC5B,WAAA,CAAA6B,oBAAM;IAACrB,SAAS,EAAC;EAAyB,GAC1C,IAAAmB,QAAA,CAAAC,aAAA,EAAC5B,WAAA,CAAA8B,kBAAI;IAACtB,SAAS,EAAC;EAAgC,GAC7C,IAAAuB,QAAE,EAAE,UAAW,CACZ,CAAC,EACP,IAAAJ,QAAA,CAAAC,aAAA,EAAC5B,WAAA,CAAAgC,YAAY;IACZC,YAAY,EAAG1B,aAAe;IAC9B2B,YAAY;IACZC,WAAW,EAAG;MACbC,OAAO,EAAE,UAAU;MACnB5B,SAAS,EAAE;IACZ,CAAG;IACH6B,KAAK,EAAG,IAAAN,QAAE,EAAE,kBAAmB,CAAG;IAClCO,IAAI,EAAG,IAAAC,4BAAc,EAAE3B,QAAQ,CAAC4B,KAAM,CAAG;IACzCC,IAAI,EAAG;EAAM,GAEX,CAAE;IAAEC;EAAQ,CAAC,KACd,IAAAf,QAAA,CAAAC,aAAA,EAAAD,QAAA,CAAAgB,QAAA,QACC,IAAAhB,QAAA,CAAAC,aAAA,EAAC5B,WAAA,CAAA4C,SAAS,QACT,IAAAjB,QAAA,CAAAC,aAAA,EAAC5B,WAAA,CAAA6C,QAAQ;IACRC,OAAO,EAAGA,CAAA,KAAM;MACfrB,sBAAsB,CAAE,KAAM,CAAC;MAC/BiB,OAAO,CAAC,CAAC;IACV;EAAG,GAED,IAAAX,QAAE,EAAE,eAAgB,CACb,CAAC,EACX,IAAAJ,QAAA,CAAAC,aAAA,EAACxB,mBAAA,CAAA2C,OAAkB;IAACD,OAAO,EAAGJ;EAAS,CAAE,CAC/B,CAAC,EACZ,IAAAf,QAAA,CAAAC,aAAA,EAACtB,qBAAA,CAAAyC,OAAoB;IAACD,OAAO,EAAGJ;EAAS,CAAE,CAC1C,CAEU,CACP,CAAC;AAEX"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useAvailableTemplates = useAvailableTemplates;
7
+ exports.useCurrentTemplateSlug = useCurrentTemplateSlug;
8
+ exports.useEditedPostContext = useEditedPostContext;
9
+ exports.useIsPostsPage = useIsPostsPage;
10
+ var _data = require("@wordpress/data");
11
+ var _element = require("@wordpress/element");
12
+ var _coreData = require("@wordpress/core-data");
13
+ var _store = require("../../../store");
14
+ /**
15
+ * WordPress dependencies
16
+ */
17
+
18
+ /**
19
+ * Internal dependencies
20
+ */
21
+
22
+ function useEditedPostContext() {
23
+ return (0, _data.useSelect)(select => select(_store.store).getEditedPostContext(), []);
24
+ }
25
+ function useIsPostsPage() {
26
+ const {
27
+ postId
28
+ } = useEditedPostContext();
29
+ return (0, _data.useSelect)(select => +postId === select(_coreData.store).getEntityRecord('root', 'site')?.page_for_posts, [postId]);
30
+ }
31
+ function useTemplates() {
32
+ return (0, _data.useSelect)(select => select(_coreData.store).getEntityRecords('postType', 'wp_template', {
33
+ per_page: -1,
34
+ post_type: 'page'
35
+ }), []);
36
+ }
37
+ function useAvailableTemplates() {
38
+ const currentTemplateSlug = useCurrentTemplateSlug();
39
+ const isPostsPage = useIsPostsPage();
40
+ const templates = useTemplates();
41
+ return (0, _element.useMemo)(() =>
42
+ // The posts page template cannot be changed.
43
+ !isPostsPage && templates?.filter(template => template.is_custom && template.slug !== currentTemplateSlug && !!template.content.raw // Skip empty templates.
44
+ ), [templates, currentTemplateSlug, isPostsPage]);
45
+ }
46
+ function useCurrentTemplateSlug() {
47
+ const {
48
+ postType,
49
+ postId
50
+ } = useEditedPostContext();
51
+ const templates = useTemplates();
52
+ const entityTemplate = (0, _data.useSelect)(select => {
53
+ const post = select(_coreData.store).getEditedEntityRecord('postType', postType, postId);
54
+ return post?.template;
55
+ }, [postType, postId]);
56
+ if (!entityTemplate) {
57
+ return;
58
+ }
59
+ // If a page has a `template` set and is not included in the list
60
+ // of the theme's templates, do not return it, in order to resolve
61
+ // to the current theme's default template.
62
+ return templates?.find(template => template.slug === entityTemplate)?.slug;
63
+ }
64
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_data","require","_element","_coreData","_store","useEditedPostContext","useSelect","select","editSiteStore","getEditedPostContext","useIsPostsPage","postId","coreStore","getEntityRecord","page_for_posts","useTemplates","getEntityRecords","per_page","post_type","useAvailableTemplates","currentTemplateSlug","useCurrentTemplateSlug","isPostsPage","templates","useMemo","filter","template","is_custom","slug","content","raw","postType","entityTemplate","post","getEditedEntityRecord","find"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\n\nexport function useEditedPostContext() {\n\treturn useSelect(\n\t\t( select ) => select( editSiteStore ).getEditedPostContext(),\n\t\t[]\n\t);\n}\n\nexport function useIsPostsPage() {\n\tconst { postId } = useEditedPostContext();\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\t+postId ===\n\t\t\tselect( coreStore ).getEntityRecord( 'root', 'site' )\n\t\t\t\t?.page_for_posts,\n\t\t[ postId ]\n\t);\n}\n\nfunction useTemplates() {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getEntityRecords( 'postType', 'wp_template', {\n\t\t\t\tper_page: -1,\n\t\t\t\tpost_type: 'page',\n\t\t\t} ),\n\t\t[]\n\t);\n}\n\nexport function useAvailableTemplates() {\n\tconst currentTemplateSlug = useCurrentTemplateSlug();\n\tconst isPostsPage = useIsPostsPage();\n\tconst templates = useTemplates();\n\treturn useMemo(\n\t\t() =>\n\t\t\t// The posts page template cannot be changed.\n\t\t\t! isPostsPage &&\n\t\t\ttemplates?.filter(\n\t\t\t\t( template ) =>\n\t\t\t\t\ttemplate.is_custom &&\n\t\t\t\t\ttemplate.slug !== currentTemplateSlug &&\n\t\t\t\t\t!! template.content.raw // Skip empty templates.\n\t\t\t),\n\t\t[ templates, currentTemplateSlug, isPostsPage ]\n\t);\n}\n\nexport function useCurrentTemplateSlug() {\n\tconst { postType, postId } = useEditedPostContext();\n\tconst templates = useTemplates();\n\tconst entityTemplate = useSelect(\n\t\t( select ) => {\n\t\t\tconst post = select( coreStore ).getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\t\t\treturn post?.template;\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tif ( ! entityTemplate ) {\n\t\treturn;\n\t}\n\t// If a page has a `template` set and is not included in the list\n\t// of the theme's templates, do not return it, in order to resolve\n\t// to the current theme's default template.\n\treturn templates?.find( ( template ) => template.slug === entityTemplate )\n\t\t?.slug;\n}\n"],"mappings":";;;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAKA,IAAAG,MAAA,GAAAH,OAAA;AAVA;AACA;AACA;;AAKA;AACA;AACA;;AAGO,SAASI,oBAAoBA,CAAA,EAAG;EACtC,OAAO,IAAAC,eAAS,EACbC,MAAM,IAAMA,MAAM,CAAEC,YAAc,CAAC,CAACC,oBAAoB,CAAC,CAAC,EAC5D,EACD,CAAC;AACF;AAEO,SAASC,cAAcA,CAAA,EAAG;EAChC,MAAM;IAAEC;EAAO,CAAC,GAAGN,oBAAoB,CAAC,CAAC;EACzC,OAAO,IAAAC,eAAS,EACbC,MAAM,IACP,CAACI,MAAM,KACPJ,MAAM,CAAEK,eAAU,CAAC,CAACC,eAAe,CAAE,MAAM,EAAE,MAAO,CAAC,EAClDC,cAAc,EAClB,CAAEH,MAAM,CACT,CAAC;AACF;AAEA,SAASI,YAAYA,CAAA,EAAG;EACvB,OAAO,IAAAT,eAAS,EACbC,MAAM,IACPA,MAAM,CAAEK,eAAU,CAAC,CAACI,gBAAgB,CAAE,UAAU,EAAE,aAAa,EAAE;IAChEC,QAAQ,EAAE,CAAC,CAAC;IACZC,SAAS,EAAE;EACZ,CAAE,CAAC,EACJ,EACD,CAAC;AACF;AAEO,SAASC,qBAAqBA,CAAA,EAAG;EACvC,MAAMC,mBAAmB,GAAGC,sBAAsB,CAAC,CAAC;EACpD,MAAMC,WAAW,GAAGZ,cAAc,CAAC,CAAC;EACpC,MAAMa,SAAS,GAAGR,YAAY,CAAC,CAAC;EAChC,OAAO,IAAAS,gBAAO,EACb;EACC;EACA,CAAEF,WAAW,IACbC,SAAS,EAAEE,MAAM,CACdC,QAAQ,IACTA,QAAQ,CAACC,SAAS,IAClBD,QAAQ,CAACE,IAAI,KAAKR,mBAAmB,IACrC,CAAC,CAAEM,QAAQ,CAACG,OAAO,CAACC,GAAG,CAAC;EAC1B,CAAC,EACF,CAAEP,SAAS,EAAEH,mBAAmB,EAAEE,WAAW,CAC9C,CAAC;AACF;AAEO,SAASD,sBAAsBA,CAAA,EAAG;EACxC,MAAM;IAAEU,QAAQ;IAAEpB;EAAO,CAAC,GAAGN,oBAAoB,CAAC,CAAC;EACnD,MAAMkB,SAAS,GAAGR,YAAY,CAAC,CAAC;EAChC,MAAMiB,cAAc,GAAG,IAAA1B,eAAS,EAC7BC,MAAM,IAAM;IACb,MAAM0B,IAAI,GAAG1B,MAAM,CAAEK,eAAU,CAAC,CAACsB,qBAAqB,CACrD,UAAU,EACVH,QAAQ,EACRpB,MACD,CAAC;IACD,OAAOsB,IAAI,EAAEP,QAAQ;EACtB,CAAC,EACD,CAAEK,QAAQ,EAAEpB,MAAM,CACnB,CAAC;EAED,IAAK,CAAEqB,cAAc,EAAG;IACvB;EACD;EACA;EACA;EACA;EACA,OAAOT,SAAS,EAAEY,IAAI,CAAIT,QAAQ,IAAMA,QAAQ,CAACE,IAAI,KAAKI,cAAe,CAAC,EACvEJ,IAAI;AACR"}
@@ -17,7 +17,6 @@ var _store = require("../../../store");
17
17
  var _sidebarCard = _interopRequireDefault(require("../sidebar-card"));
18
18
  var _pageContent = _interopRequireDefault(require("./page-content"));
19
19
  var _pageSummary = _interopRequireDefault(require("./page-summary"));
20
- var _editTemplate = _interopRequireDefault(require("./edit-template"));
21
20
  /**
22
21
  * WordPress dependencies
23
22
  */
@@ -77,8 +76,6 @@ function PagePanels() {
77
76
  postType: type
78
77
  })), (0, _element.createElement)(_components.PanelBody, {
79
78
  title: (0, _i18n.__)('Content')
80
- }, (0, _element.createElement)(_pageContent.default, null)), (0, _element.createElement)(_components.PanelBody, {
81
- title: (0, _i18n.__)('Template')
82
- }, (0, _element.createElement)(_editTemplate.default, null)));
79
+ }, (0, _element.createElement)(_pageContent.default, null)));
83
80
  }
84
81
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_icons","_i18n","_date","_data","_coreData","_htmlEntities","_store","_sidebarCard","_interopRequireDefault","_pageContent","_pageSummary","_editTemplate","PagePanels","id","type","hasResolved","status","date","password","title","modified","useSelect","select","getEditedPostContext","editSiteStore","getEditedEntityRecord","hasFinishedResolution","coreStore","context","queryArgs","postType","postId","page","_element","createElement","Fragment","PanelBody","default","decodeEntities","icon","pageIcon","description","__experimentalVStack","__experimentalText","sprintf","__","humanTimeDiff"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { page as pageIcon } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { humanTimeDiff } from '@wordpress/date';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\nimport SidebarCard from '../sidebar-card';\nimport PageContent from './page-content';\nimport PageSummary from './page-summary';\nimport EditTemplate from './edit-template';\n\nexport default function PagePanels() {\n\tconst { id, type, hasResolved, status, date, password, title, modified } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst { getEditedPostContext } = select( editSiteStore );\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst context = getEditedPostContext();\n\t\t\tconst queryArgs = [ 'postType', context.postType, context.postId ];\n\t\t\tconst page = getEditedEntityRecord( ...queryArgs );\n\t\t\treturn {\n\t\t\t\thasResolved: hasFinishedResolution(\n\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\tqueryArgs\n\t\t\t\t),\n\t\t\t\ttitle: page?.title,\n\t\t\t\tid: page?.id,\n\t\t\t\ttype: page?.type,\n\t\t\t\tstatus: page?.status,\n\t\t\t\tdate: page?.date,\n\t\t\t\tpassword: page?.password,\n\t\t\t\tmodified: page?.modified,\n\t\t\t};\n\t\t}, [] );\n\n\tif ( ! hasResolved ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<PanelBody>\n\t\t\t\t<SidebarCard\n\t\t\t\t\ttitle={ decodeEntities( title ) }\n\t\t\t\t\ticon={ pageIcon }\n\t\t\t\t\tdescription={\n\t\t\t\t\t\t<VStack>\n\t\t\t\t\t\t\t<Text>\n\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t// translators: %s: Human-readable time difference, e.g. \"2 days ago\".\n\t\t\t\t\t\t\t\t\t__( 'Last edited %s' ),\n\t\t\t\t\t\t\t\t\thumanTimeDiff( modified )\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t\t<PanelBody title={ __( 'Summary' ) }>\n\t\t\t\t<PageSummary\n\t\t\t\t\tstatus={ status }\n\t\t\t\t\tdate={ date }\n\t\t\t\t\tpassword={ password }\n\t\t\t\t\tpostId={ id }\n\t\t\t\t\tpostType={ type }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t\t<PanelBody title={ __( 'Content' ) }>\n\t\t\t\t<PageContent />\n\t\t\t</PanelBody>\n\t\t\t<PanelBody title={ __( 'Template' ) }>\n\t\t\t\t<EditTemplate />\n\t\t\t</PanelBody>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_components","require","_icons","_i18n","_date","_data","_coreData","_htmlEntities","_store","_sidebarCard","_interopRequireDefault","_pageContent","_pageSummary","PagePanels","id","type","hasResolved","status","date","password","title","modified","useSelect","select","getEditedPostContext","editSiteStore","getEditedEntityRecord","hasFinishedResolution","coreStore","context","queryArgs","postType","postId","page","_element","createElement","Fragment","PanelBody","default","decodeEntities","icon","pageIcon","description","__experimentalVStack","__experimentalText","sprintf","__","humanTimeDiff"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { page as pageIcon } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { humanTimeDiff } from '@wordpress/date';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\nimport SidebarCard from '../sidebar-card';\nimport PageContent from './page-content';\nimport PageSummary from './page-summary';\n\nexport default function PagePanels() {\n\tconst { id, type, hasResolved, status, date, password, title, modified } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst { getEditedPostContext } = select( editSiteStore );\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst context = getEditedPostContext();\n\t\t\tconst queryArgs = [ 'postType', context.postType, context.postId ];\n\t\t\tconst page = getEditedEntityRecord( ...queryArgs );\n\t\t\treturn {\n\t\t\t\thasResolved: hasFinishedResolution(\n\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\tqueryArgs\n\t\t\t\t),\n\t\t\t\ttitle: page?.title,\n\t\t\t\tid: page?.id,\n\t\t\t\ttype: page?.type,\n\t\t\t\tstatus: page?.status,\n\t\t\t\tdate: page?.date,\n\t\t\t\tpassword: page?.password,\n\t\t\t\tmodified: page?.modified,\n\t\t\t};\n\t\t}, [] );\n\n\tif ( ! hasResolved ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<PanelBody>\n\t\t\t\t<SidebarCard\n\t\t\t\t\ttitle={ decodeEntities( title ) }\n\t\t\t\t\ticon={ pageIcon }\n\t\t\t\t\tdescription={\n\t\t\t\t\t\t<VStack>\n\t\t\t\t\t\t\t<Text>\n\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t// translators: %s: Human-readable time difference, e.g. \"2 days ago\".\n\t\t\t\t\t\t\t\t\t__( 'Last edited %s' ),\n\t\t\t\t\t\t\t\t\thumanTimeDiff( modified )\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t\t<PanelBody title={ __( 'Summary' ) }>\n\t\t\t\t<PageSummary\n\t\t\t\t\tstatus={ status }\n\t\t\t\t\tdate={ date }\n\t\t\t\t\tpassword={ password }\n\t\t\t\t\tpostId={ id }\n\t\t\t\t\tpostType={ type }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t\t<PanelBody title={ __( 'Content' ) }>\n\t\t\t\t<PageContent />\n\t\t\t</PanelBody>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -9,6 +9,7 @@ var _element = require("@wordpress/element");
9
9
  var _components = require("@wordpress/components");
10
10
  var _pageStatus = _interopRequireDefault(require("./page-status"));
11
11
  var _publishDate = _interopRequireDefault(require("./publish-date"));
12
+ var _editTemplate = _interopRequireDefault(require("./edit-template"));
12
13
  /**
13
14
  * WordPress dependencies
14
15
  */
@@ -35,6 +36,6 @@ function PageSummary({
35
36
  date: date,
36
37
  postId: postId,
37
38
  postType: postType
38
- }));
39
+ }), (0, _element.createElement)(_editTemplate.default, null));
39
40
  }
40
41
  //# sourceMappingURL=page-summary.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_pageStatus","_interopRequireDefault","_publishDate","PageSummary","status","date","password","postId","postType","_element","createElement","__experimentalVStack","default"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/page-summary.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalVStack as VStack } from '@wordpress/components';\n/**\n * Internal dependencies\n */\nimport PageStatus from './page-status';\nimport PublishDate from './publish-date';\n\nexport default function PageSummary( {\n\tstatus,\n\tdate,\n\tpassword,\n\tpostId,\n\tpostType,\n} ) {\n\treturn (\n\t\t<VStack>\n\t\t\t<PageStatus\n\t\t\t\tstatus={ status }\n\t\t\t\tdate={ date }\n\t\t\t\tpassword={ password }\n\t\t\t\tpostId={ postId }\n\t\t\t\tpostType={ postType }\n\t\t\t/>\n\t\t\t<PublishDate\n\t\t\t\tstatus={ status }\n\t\t\t\tdate={ date }\n\t\t\t\tpostId={ postId }\n\t\t\t\tpostType={ postType }\n\t\t\t/>\n\t\t</VStack>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,YAAA,GAAAD,sBAAA,CAAAF,OAAA;AARA;AACA;AACA;;AAEA;AACA;AACA;;AAIe,SAASI,WAAWA,CAAE;EACpCC,MAAM;EACNC,IAAI;EACJC,QAAQ;EACRC,MAAM;EACNC;AACD,CAAC,EAAG;EACH,OACC,IAAAC,QAAA,CAAAC,aAAA,EAACZ,WAAA,CAAAa,oBAAM,QACN,IAAAF,QAAA,CAAAC,aAAA,EAACV,WAAA,CAAAY,OAAU;IACVR,MAAM,EAAGA,MAAQ;IACjBC,IAAI,EAAGA,IAAM;IACbC,QAAQ,EAAGA,QAAU;IACrBC,MAAM,EAAGA,MAAQ;IACjBC,QAAQ,EAAGA;EAAU,CACrB,CAAC,EACF,IAAAC,QAAA,CAAAC,aAAA,EAACR,YAAA,CAAAU,OAAW;IACXR,MAAM,EAAGA,MAAQ;IACjBC,IAAI,EAAGA,IAAM;IACbE,MAAM,EAAGA,MAAQ;IACjBC,QAAQ,EAAGA;EAAU,CACrB,CACM,CAAC;AAEX"}
1
+ {"version":3,"names":["_components","require","_pageStatus","_interopRequireDefault","_publishDate","_editTemplate","PageSummary","status","date","password","postId","postType","_element","createElement","__experimentalVStack","default"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/page-summary.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalVStack as VStack } from '@wordpress/components';\n/**\n * Internal dependencies\n */\nimport PageStatus from './page-status';\nimport PublishDate from './publish-date';\nimport EditTemplate from './edit-template';\n\nexport default function PageSummary( {\n\tstatus,\n\tdate,\n\tpassword,\n\tpostId,\n\tpostType,\n} ) {\n\treturn (\n\t\t<VStack>\n\t\t\t<PageStatus\n\t\t\t\tstatus={ status }\n\t\t\t\tdate={ date }\n\t\t\t\tpassword={ password }\n\t\t\t\tpostId={ postId }\n\t\t\t\tpostType={ postType }\n\t\t\t/>\n\t\t\t<PublishDate\n\t\t\t\tstatus={ status }\n\t\t\t\tdate={ date }\n\t\t\t\tpostId={ postId }\n\t\t\t\tpostType={ postType }\n\t\t\t/>\n\t\t\t<EditTemplate />\n\t\t</VStack>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,YAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,aAAA,GAAAF,sBAAA,CAAAF,OAAA;AATA;AACA;AACA;;AAEA;AACA;AACA;;AAKe,SAASK,WAAWA,CAAE;EACpCC,MAAM;EACNC,IAAI;EACJC,QAAQ;EACRC,MAAM;EACNC;AACD,CAAC,EAAG;EACH,OACC,IAAAC,QAAA,CAAAC,aAAA,EAACb,WAAA,CAAAc,oBAAM,QACN,IAAAF,QAAA,CAAAC,aAAA,EAACX,WAAA,CAAAa,OAAU;IACVR,MAAM,EAAGA,MAAQ;IACjBC,IAAI,EAAGA,IAAM;IACbC,QAAQ,EAAGA,QAAU;IACrBC,MAAM,EAAGA,MAAQ;IACjBC,QAAQ,EAAGA;EAAU,CACrB,CAAC,EACF,IAAAC,QAAA,CAAAC,aAAA,EAACT,YAAA,CAAAW,OAAW;IACXR,MAAM,EAAGA,MAAQ;IACjBC,IAAI,EAAGA,IAAM;IACbE,MAAM,EAAGA,MAAQ;IACjBC,QAAQ,EAAGA;EAAU,CACrB,CAAC,EACF,IAAAC,QAAA,CAAAC,aAAA,EAACR,aAAA,CAAAU,OAAY,MAAE,CACR,CAAC;AAEX"}